#line 3 "" #define YY_INT_ALIGNED short int /* A lexical scanner generated by flex */ #define yy_create_buffer codeYY_create_buffer #define yy_delete_buffer codeYY_delete_buffer #define yy_flex_debug codeYY_flex_debug #define yy_init_buffer codeYY_init_buffer #define yy_flush_buffer codeYY_flush_buffer #define yy_load_buffer_state codeYY_load_buffer_state #define yy_switch_to_buffer codeYY_switch_to_buffer #define yyin codeYYin #define yyleng codeYYleng #define yylex codeYYlex #define yylineno codeYYlineno #define yyout codeYYout #define yyrestart codeYYrestart #define yytext codeYYtext #define yywrap codeYYwrap #define yyalloc codeYYalloc #define yyrealloc codeYYrealloc #define yyfree codeYYfree #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 #define YY_FLEX_SUBMINOR_VERSION 37 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif /* First, we deal with platform-specific or compiler-specific issues. */ /* begin standard C headers. */ #include #include #include #include /* end standard C headers. */ /* flex integer type definitions */ #ifndef FLEXINT_H #define FLEXINT_H /* C99 systems have . Non-C99 systems may or may not. */ #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, * if you want the limit (max/min) macros for int types. */ #ifndef __STDC_LIMIT_MACROS #define __STDC_LIMIT_MACROS 1 #endif #include typedef int8_t flex_int8_t; typedef uint8_t flex_uint8_t; typedef int16_t flex_int16_t; typedef uint16_t flex_uint16_t; typedef int32_t flex_int32_t; typedef uint32_t flex_uint32_t; #else typedef signed char flex_int8_t; typedef short int flex_int16_t; typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; /* Limits of integral types. */ #ifndef INT8_MIN #define INT8_MIN (-128) #endif #ifndef INT16_MIN #define INT16_MIN (-32767-1) #endif #ifndef INT32_MIN #define INT32_MIN (-2147483647-1) #endif #ifndef INT8_MAX #define INT8_MAX (127) #endif #ifndef INT16_MAX #define INT16_MAX (32767) #endif #ifndef INT32_MAX #define INT32_MAX (2147483647) #endif #ifndef UINT8_MAX #define UINT8_MAX (255U) #endif #ifndef UINT16_MAX #define UINT16_MAX (65535U) #endif #ifndef UINT32_MAX #define UINT32_MAX (4294967295U) #endif #endif /* ! C99 */ #endif /* ! FLEXINT_H */ #ifdef __cplusplus /* The "const" storage-class-modifier is valid. */ #define YY_USE_CONST #else /* ! __cplusplus */ /* C99 requires __STDC__ to be defined as 1. */ #if defined (__STDC__) #define YY_USE_CONST #endif /* defined (__STDC__) */ #endif /* ! __cplusplus */ #ifdef YY_USE_CONST #define yyconst const #else #define yyconst #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 codeYYrestart(codeYYin ) #define YY_END_OF_BUFFER_CHAR 0 /* Size of default input buffer. */ #ifndef YY_BUF_SIZE #define YY_BUF_SIZE 262144 #endif /* The state buf must be large enough to hold one state per character in the main buffer. */ #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) #ifndef YY_TYPEDEF_YY_BUFFER_STATE #define YY_TYPEDEF_YY_BUFFER_STATE typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif #ifndef YY_TYPEDEF_YY_SIZE_T #define YY_TYPEDEF_YY_SIZE_T typedef size_t yy_size_t; #endif extern yy_size_t codeYYleng; extern FILE *codeYYin, *codeYYout; #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ { \ /* Undo effects of setting up codeYYtext. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ *yy_cp = (yy_hold_char); \ YY_RESTORE_YY_MORE_OFFSET \ (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ \ } \ while ( 0 ) #define unput(c) yyunput( c, (yytext_ptr) ) #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE 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. */ yy_size_t 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; int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ /* 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 codeYYrestart()), so that the user can continue scanning by * just pointing codeYYin at a new input file. */ #define YY_BUFFER_EOF_PENDING 2 }; #endif /* !YY_STRUCT_YY_BUFFER_STATE */ /* Stack of input buffers. */ static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ /* 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". * * Returns the top of the stack, or NULL. */ #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ : NULL) /* Same as previous macro, but useful when we know that the buffer stack is not * NULL or when we need an lvalue. For internal use only. */ #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] /* yy_hold_char holds the character lost when codeYYtext is formed. */ static char yy_hold_char; static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ yy_size_t codeYYleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ /* Flag which is used to allow codeYYwrap()'s to do buffer switches * instead of setting up a fresh codeYYin. A bit of a hack ... */ static int yy_did_buffer_switch_on_eof; void codeYYrestart (FILE *input_file ); void codeYY_switch_to_buffer (YY_BUFFER_STATE new_buffer ); YY_BUFFER_STATE codeYY_create_buffer (FILE *file,int size ); void codeYY_delete_buffer (YY_BUFFER_STATE b ); void codeYY_flush_buffer (YY_BUFFER_STATE b ); void codeYYpush_buffer_state (YY_BUFFER_STATE new_buffer ); void codeYYpop_buffer_state (void ); static void codeYYensure_buffer_stack (void ); static void codeYY_load_buffer_state (void ); static void codeYY_init_buffer (YY_BUFFER_STATE b,FILE *file ); #define YY_FLUSH_BUFFER codeYY_flush_buffer(YY_CURRENT_BUFFER ) YY_BUFFER_STATE codeYY_scan_buffer (char *base,yy_size_t size ); YY_BUFFER_STATE codeYY_scan_string (yyconst char *yy_str ); YY_BUFFER_STATE codeYY_scan_bytes (yyconst char *bytes,yy_size_t len ); void *codeYYalloc (yy_size_t ); void *codeYYrealloc (void *,yy_size_t ); void codeYYfree (void * ); #define yy_new_buffer codeYY_create_buffer #define yy_set_interactive(is_interactive) \ { \ if ( ! YY_CURRENT_BUFFER ){ \ codeYYensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ codeYY_create_buffer(codeYYin,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ } #define yy_set_bol(at_bol) \ { \ if ( ! YY_CURRENT_BUFFER ){\ codeYYensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ codeYY_create_buffer(codeYYin,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ } #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) /* Begin user sect3 */ #define codeYYwrap() 1 #define YY_SKIP_YYWRAP typedef unsigned char YY_CHAR; FILE *codeYYin = (FILE *) 0, *codeYYout = (FILE *) 0; typedef int yy_state_type; extern int codeYYlineno; int codeYYlineno = 1; extern char *codeYYtext; #define yytext_ptr codeYYtext static yy_state_type yy_get_previous_state (void ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); static int yy_get_next_buffer (void ); static void yy_fatal_error (yyconst char msg[] ); /* Done after the current pattern has been matched and before the * corresponding action - sets up codeYYtext. */ #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ codeYYleng = (size_t) (yy_cp - yy_bp); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; #define YY_NUM_RULES 215 #define YY_END_OF_BUFFER 216 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info { flex_int32_t yy_verify; flex_int32_t yy_nxt; }; static yyconst flex_int16_t yy_acclist[8068] = { 0, 102, 102, 103, 103,16434, 89, 89, 159, 159, 130, 130, 216, 214, 215, 213, 215, 1, 214, 215, 211, 214, 215, 212, 214, 215, 214, 215, 214, 215, 214, 215, 214, 215, 102, 214, 215, 105, 214, 215, 102, 211, 214, 215, 102, 212, 214, 215, 102, 214, 215, 102, 214, 215, 214, 215, 102, 214, 215, 102, 214, 215, 103, 214, 215, 106, 214, 215, 103, 211, 214, 215, 103, 212, 214, 215, 103, 214, 215, 103, 214, 215, 103, 214, 215, 103, 214, 215, 112, 115, 214, 215, 116, 213, 215, 1, 112, 115, 214, 215, 114, 115, 214, 215, 112, 115, 211, 214, 215, 112, 115, 212, 214, 215, 112, 115, 214, 215, 112, 115, 214, 215, 112, 115, 214, 215, 112, 115, 214, 215, 23, 24, 214, 215, 213, 215, 1, 23, 24, 214, 215, 23, 24, 211, 214, 215, 23, 24, 212, 214, 215, 23, 214, 215, 23, 24, 214, 215, 23, 214, 215, 23, 24, 214, 215, 23, 214, 215, 180, 214, 215, 180, 214, 215, 1, 180, 214, 215, 180, 211, 214, 215, 180, 212, 214, 215, 214, 215, 214, 215, 180, 214, 215, 180, 214, 215, 214, 215, 183, 186, 214, 215, 185, 213, 215, 1, 184, 186, 214, 215, 183, 186, 211, 214, 215, 183, 186, 212, 214, 215, 183, 186, 214, 215, 183, 186, 214, 215, 183, 186, 214, 215, 183, 186, 214, 215, 183, 186, 214, 215, 190, 193, 214, 215, 192, 213, 215, 1, 190, 193, 214, 215, 190, 193, 211, 214, 215, 190, 193, 212, 214, 215, 193, 214, 215, 190, 193, 214, 215, 190, 193, 214, 215, 190, 193, 214, 215, 190, 193, 214, 215, 79, 214, 215, 100, 214, 215, 214, 215, 101, 214, 215, 211, 214, 215, 79, 212, 214, 215, 214, 215, 9, 79, 214, 215, 124, 214, 215, 9, 79, 214, 215, 121, 214, 215, 79, 214, 215, 143, 214, 215, 117, 214, 215, 118, 214, 215, 119, 214, 215, 214, 215, 8287, 8288, 214, 215,16477,16478,16479,16480,16482, 8287, 8288, 214, 215,16477,16478,16479,16480,16482, 8287, 8288, 214, 215,16477,16478,16479,16480,16482, 8287, 8288, 214, 215,16477,16478,16479,16480,16482, 8287, 8288, 214, 215,16477,16478,16479,16480,16482, 124, 211, 214, 215, 79, 214, 215, 142, 212, 214, 215, 8287, 8288, 214, 215,16477,16478,16479,16480,16482, 8287, 8288, 214, 215, 16477,16478,16479,16480,16482, 8287, 8288, 214, 215,16477, 16478,16479,16480,16482, 8287, 8288, 214, 215,16477,16478, 16479,16480,16482, 8287, 8288, 214, 215,16477,16478,16479, 16480,16482, 8287, 8288, 214, 215,16477,16478,16479,16480, 16482, 8287, 8288, 214, 215,16477,16478,16479,16480,16482, 8287, 8288, 214, 215,16477,16478,16479,16480,16482, 8287, 8288, 214, 215,16477,16478,16479,16480,16482, 8287, 8288, 214, 215,16477,16478,16479,16480,16482, 8287, 8288, 214, 215,16477,16478,16479,16480,16482, 8287, 8288, 214, 215, 16477,16478,16479,16480,16482, 8287, 8288, 214, 215,16477, 16478,16479,16480,16482, 8287, 8288, 214, 215,16477,16478, 16479,16480,16482, 8287, 8288, 214, 215,16477,16478,16479, 16480,16482, 8287, 8288, 214, 215,16477,16478,16479,16480, 16482, 8287, 8288, 214, 215,16477,16478,16479,16480,16482, 8287, 8288, 214, 215,16477,16478,16479,16480,16482, 8287, 8288, 214, 215,16477,16478,16479,16480,16482, 8287, 8288, 214, 215,16477,16478,16479,16480,16482, 27, 214, 215, 28, 214, 215, 79, 214, 215, 214, 215, 22, 214, 215, 79, 214, 215, 157, 214, 215, 214, 215, 157, 214, 215, 157, 214, 215, 156, 211, 214, 215, 158, 212, 214, 215, 157, 214, 215, 157, 214, 215, 150, 214, 215, 157, 214, 215, 157, 214, 215, 149, 214, 215, 157, 214, 215, 157, 214, 215, 157, 214, 215, 214, 215, 148, 214, 215,16557, 148, 214, 215,16557, 148, 214, 215,16557, 148, 214, 215,16557, 157, 214, 215, 148, 214, 215,16557, 148, 214, 215,16557, 148, 214, 215,16557, 148, 214, 215,16557, 148, 214, 215, 16557, 148, 214, 215,16557, 148, 214, 215,16557, 148, 214, 215,16557, 148, 214, 215,16557, 148, 214, 215, 16557, 148, 214, 215,16557, 148, 214, 215,16557, 148, 214, 215,16557, 148, 214, 215,16557, 148, 214, 215, 16557, 148, 214, 215,16557, 148, 214, 215,16557, 148, 214, 215,16557, 148, 214, 215,16557, 148, 214, 215, 16557, 27, 151, 214, 215, 157, 214, 215, 157, 214, 215, 157, 214, 215, 194, 214, 215, 1, 194, 214, 215, 100, 194, 214, 215, 194, 214, 215, 101, 194, 214, 215, 158, 194, 212, 214, 215, 194, 214, 215, 194, 214, 215, 194, 214, 215, 194, 214, 215, 8315, 214, 215,16506,16507, 8315, 214, 215,16506,16507, 8315, 214, 215,16506,16507, 194, 211, 214, 215, 194, 214, 215, 194, 212, 214, 215, 8315, 214, 215,16506,16507, 28, 194, 214, 215, 194, 214, 215, 8315, 194, 214, 215,16506,16507, 194, 214, 215, 194, 214, 215, 214, 215, 157, 214, 215, 177, 214, 215, 148, 214, 215, 16559,16560, 148, 214, 215,16559,16560, 148, 214, 215, 16559,16560, 148, 214, 215,16559,16560, 148, 214, 215, 16559,16560, 148, 214, 215,16559,16560, 148, 214, 215, 16559,16560, 148, 214, 215,16559,16560, 148, 214, 215, 16559,16560, 148, 214, 215,16559,16560, 148, 214, 215, 16559,16560, 148, 214, 215,16559,16560, 148, 214, 215, 16559,16560, 148, 214, 215,16559,16560, 148, 214, 215, 16559,16560, 148, 214, 215,16559,16560, 148, 214, 215, 16559,16560, 148, 214, 215,16559,16560, 148, 214, 215, 16559,16560, 148, 214, 215,16559,16560, 148, 214, 215, 16559,16560, 148, 214, 215,16559,16560, 148, 214, 215, 16559,16560, 148, 214, 215,16559,16560, 151, 214, 215, 214, 215, 101, 214, 215, 169, 214, 215, 171, 214, 215, 171, 214, 215, 171, 214, 215, 171, 214, 215, 170, 214, 215, 214, 215, 214, 215, 31, 214, 215, 48, 214, 215, 30, 214, 215, 33, 41, 214, 215, 33, 41, 214, 215, 51, 214, 215, 214, 215, 36, 214, 215, 35, 213, 215, 1, 36, 214, 215, 34, 36, 211, 214, 215, 36, 212, 214, 215, 36, 214, 215, 36, 214, 215, 36, 211, 214, 215, 36, 214, 215, 36, 214, 215, 40, 214, 215, 39, 213, 215, 1, 40, 214, 215, 37, 40, 211, 214, 215, 38, 40, 212, 214, 215, 40, 214, 215, 40, 214, 215, 40, 211, 214, 215, 40, 212, 214, 215, 40, 214, 215, 40, 214, 215, 214, 215, 214, 215, 49, 214, 215, 43, 214, 215, 214, 215, 8, 213, 215, 214, 215, 9, 214, 215, 44, 214, 215, 214, 215, 47, 214, 215, 47, 214, 215, 47, 214, 215, 47, 214, 215, 47, 214, 215, 214, 215, 214, 215, 58, 211, 214, 215, 61, 214, 215, 214, 215, 54, 214, 215, 55, 214, 215, 214, 215, 53, 214, 215, 214, 215, 53, 214, 215, 53, 214, 215, 214, 215,16434, 22, 214, 215, 214, 215, 59, 211, 214, 215, 60, 212, 214, 215, 56, 214, 215, 57, 214, 215, 214, 215, 16405, 1, 214, 215,16405, 211, 214, 215,16405, 212, 214, 215,16405, 214, 215,16405, 214, 215,16405, 214, 215,16405, 214, 215,16405, 84, 214, 215, 85, 214, 215, 214, 215, 214, 215, 214, 215, 214, 215, 214, 215, 214, 215, 214, 215, 214, 215, 214, 215, 214, 215, 214, 215, 214, 215, 214, 215, 214, 215, 214, 215, 214, 215, 89, 214, 215, 214, 215, 86, 214, 215, 87, 214, 215, 87, 214, 215, 214, 215, 87, 214, 215, 87, 214, 215, 87, 214, 215, 87, 214, 215, 87, 214, 215, 87, 214, 215, 87, 214, 215, 87, 214, 215, 87, 214, 215, 87, 214, 215, 87, 214, 215, 87, 214, 215, 214, 215, 168, 214, 215, 159, 168, 214, 215, 159, 213, 215, 1, 168, 214, 215, 167, 168, 214, 215, 168, 214, 215, 168, 211, 214, 215, 168, 212, 214, 215, 168, 214, 215, 160, 168, 214, 215, 168, 214, 215, 164, 168, 214, 215, 164, 168, 214, 215, 164, 168, 214, 215, 164, 168, 214, 215, 164, 168, 214, 215, 164, 168, 214, 215, 162, 168, 214, 215, 159, 168, 214, 215, 168, 214, 215, 19, 214, 215, 20, 213, 215, 1, 19, 214, 215, 19, 214, 215, 19, 211, 214, 215, 19, 212, 214, 215, 19, 214, 215, 10, 19, 214, 215, 12, 19, 214, 215, 19, 214, 215, 18, 19, 214, 215, 18, 19, 214, 215, 18, 19, 214, 215, 18, 19, 214, 215, 18, 19, 214, 215, 18, 19, 214, 215, 18, 19, 214, 215, 18, 19, 214, 215, 18, 19, 214, 215, 18, 19, 214, 215, 18, 19, 214, 215, 18, 19, 214, 215, 18, 19, 214, 215, 18, 19, 214, 215, 19, 214, 215, 19, 214, 215, 19, 214, 215, 11, 19, 211, 214, 215, 17, 18, 19, 214, 215, 19, 214, 215, 16, 19, 212, 214, 215, 15, 18, 19, 214, 215, 15, 18, 19, 214, 215, 15, 18, 19, 214, 215, 15, 18, 19, 214, 215, 15, 18, 19, 214, 215, 15, 18, 19, 214, 215, 15, 18, 19, 214, 215, 15, 18, 19, 214, 215, 15, 18, 19, 214, 215, 15, 18, 19, 214, 215, 15, 18, 19, 214, 215, 15, 18, 19, 214, 215, 15, 18, 19, 214, 215, 15, 18, 19, 214, 215, 140, 214, 215, 141, 213, 215, 1, 140, 214, 215, 134, 140, 214, 215, 135, 140, 214, 215, 140, 214, 215, 136, 140, 211, 214, 215, 137, 140, 212, 214, 215, 140, 214, 215, 140, 214, 215, 127, 139, 140, 214, 215, 125, 140, 211, 214, 215, 126, 140, 212, 214, 215, 140, 214, 215, 140, 214, 215, 135, 140, 214, 215, 139, 140, 214, 215,16512,16513, 130, 140, 214, 215, 1, 130, 140, 214, 215, 132, 140, 214, 215, 135, 140, 214, 215, 130, 140, 211, 214, 215, 130, 140, 212, 214, 215, 130, 140, 214, 215, 130, 140, 214, 215, 130, 139, 140, 214, 215, 140, 214, 215, 130, 140, 214, 215, 130, 140, 214, 215, 214, 215, 213, 215, 1, 214, 215, 167, 214, 215, 214, 215, 166, 214, 215, 165, 214, 215, 165, 214, 215, 165, 214, 215, 165, 214, 215, 165, 214, 215, 165, 214, 215, 165, 214, 215, 165, 214, 215, 165, 214, 215, 165, 214, 215, 165, 214, 215, 165, 214, 215, 165, 214, 215, 165, 214, 215, 162, 214, 215, 214, 215, 69, 214, 215, 68, 213, 215, 1, 69, 214, 215, 69, 214, 215, 69, 211, 214, 215, 69, 212, 214, 215, 69, 214, 215, 69, 214, 215, 67, 69, 214, 215, 69, 214, 215, 69, 214, 215, 109, 110, 214, 215, 111, 213, 215, 1, 109, 110, 214, 215, 109, 110, 211, 214, 215, 110, 212, 214, 215, 109, 110, 214, 215, 109, 110, 214, 215, 109, 110, 212, 214, 215, 109, 110, 214, 215, 109, 110, 214, 215, 155, 214, 215, 154, 213, 215, 1, 155, 214, 215, 100, 155, 214, 215, 101, 155, 214, 215, 155, 211, 214, 215, 155, 212, 214, 215, 155, 214, 215, 155, 214, 215, 155, 214, 215, 155, 214, 215, 155, 214, 215, 152, 155, 214, 215, 153, 155, 214, 215, 155, 214, 215, 155, 214, 215, 208, 210, 209, 208, 210, 102, 102, 104, 208, 102, 104, 210, 105, 209, 107, 102, 102, 102, 104, 208, 102, 104, 210, 103, 103, 104, 208, 103, 104, 210, 103, 209, 103, 103, 103, 104, 208, 103, 104, 210, 112, 113, 112, 208, 112, 210, 112, 112, 112, 208, 112, 210, 24, 196, 26, 210, 24, 209, 25, 24, 26, 210, 180, 180, 181, 179, 208, 179, 210, 180, 209, 180, 179, 208, 179, 210, 183, 183, 183, 208, 183, 210, 183, 209, 182, 183, 183, 183, 208, 183, 210, 190, 189, 191, 208, 190, 191, 210, 190, 209, 190, 190, 191, 208, 190, 191, 210, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 78, 121, 8287,16477,16479, 143, 8287, 8288, 8290, 8285, 8286, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8288,16478,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8269, 8287, 8288,16459,16461,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8272, 8287, 8288,16464,16477,16478,16479,16480,16482, 8269, 8287, 8288,16459,16461,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 22, 157, 148,16557, 148,16557, 157, 158, 157, 157, 157, 172, 8365, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 74, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 8315,16506,16507, 8315, 8314, 8315, 16506,16507, 8315,16506,16507, 8315,16506,16507, 8315,16506, 16507, 148,16559,16560, 177, 8367, 8368, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 171, 171, 171, 171, 48, 51, 33, 41, 31, 48, 33, 41, 33, 41, 51, 49, 43, 43, 47, 47, 47, 47, 47, 47, 53, 53, 53, 53, 53,16434, 22, 8242, 8242,16405, 8213, 208,16405, 210,16405, 8213, 209,16405,16405, 208,16405, 210,16405, 8272,16464, 87, 89, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 159, 162, 159, 164, 164, 164, 164, 164, 164, 164, 159, 18, 18, 18, 18, 18, 18, 18, 18, 8272,16464, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 18, 17, 18, 13, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 14, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 127, 139, 134, 209, 127, 139, 139,16512,16513, 139,16512,16513, 8321, 8320, 130, 139, 130, 208, 130, 210, 138, 209, 130, 139, 131, 130, 130, 130, 208, 130, 210, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 67, 67, 109, 108, 109, 208, 109, 210, 109, 209, 109, 109, 109, 208, 109, 210, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 188, 190, 190, 190, 190, 8287, 8288,16477,16478,16479,16480,16482, 120, 120, 8289,16481, 8287, 8285, 8287,16477,16479, 8287,16477, 16479, 144, 8284,16476, 8288,16478,16480,16482, 8288,16478, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 99, 8288, 8286, 8288,16478,16480,16482,16482, 8288,16478,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8264, 8287, 8288,16456,16457,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 76, 76, 8269, 8287, 8288, 76, 8267, 76, 8290, 76, 8285, 8286, 76, 76, 76, 76, 8287, 8288,16477,16478,16479, 16480,16482, 76, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8269, 8287, 8288,16459,16461,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8272, 8287, 8288, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8272, 8287, 8288,16464,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288, 8287, 8288,16477, 16478,16479,16480,16482, 148,16557,16558, 148, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 147, 147, 147, 172, 147, 147, 8365, 147, 147, 148,16557, 147, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 146, 146, 146, 172, 146, 146, 8365, 146, 146, 146, 148,16557, 148,16557, 74, 74, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557,16506, 8315, 8315,16506,16507, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 147, 147, 147, 8367, 147, 147, 8368, 148,16559,16560, 147, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 146, 146, 146, 8367, 146, 146, 8368, 146, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 41, 33, 41, 43, 47, 47, 47, 47, 53, 53, 53, 53, 8242, 8242, 8242, 16405,16405,16405,16405,16405,16405,16405,16405,16405,16405, 16405, 8272, 8284,16476, 87, 87, 87, 87, 87, 146, 146, 146, 146, 146, 87, 146, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 164, 164, 164, 163, 164, 164, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 133, 139, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 165, 165, 165, 165, 165, 146, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 108, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 206, 207, 202, 205, 206, 200, 201, 202, 102, 206, 102, 102, 207, 102, 102, 102, 102, 102, 205, 206, 102, 200, 102, 102, 103, 206, 103, 103, 207, 103, 103, 103, 103, 103, 205, 206, 103, 200, 103, 103, 112, 206, 112, 112, 207, 112, 112, 112, 112, 112, 205, 206, 112, 200, 112, 112, 178, 207, 183, 206, 183, 183, 206, 183, 207, 183, 183, 183, 183, 183, 183, 205, 206, 183, 205, 206, 183, 200, 183, 183, 183, 188, 190, 190, 190, 190, 8287, 8288,16477,16478, 16479,16480,16482, 8289, 8287, 8287,16477,16479, 29, 8264, 16456,16457, 8269,16459,16461, 8284, 8288, 8288,16478,16480, 16482, 8288,16478,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8284,16476,16482,16482, 8288, 8288,16478,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 71, 71, 8264, 8287, 8288, 71, 71, 8265, 8290, 71, 8285, 8286, 71, 71, 71, 71, 71, 8287, 8288,16477,16478, 16479,16480,16482, 8272, 8287, 8288,16464,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8269, 8287, 8288, 8267, 8290, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8264, 8287, 8288,16456,16457,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 76, 8269, 8287, 8288, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8264, 8287, 8288,16456,16457,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 148,16557,16558, 8366, 148, 148,16557, 148,16557, 148,16557, 148,16557, 145, 145, 145, 172, 145, 145, 8365, 145, 145, 145, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 147, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557,16506,16506, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 145, 145, 145, 8367, 145, 145, 8368, 145, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 147, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 42, 33, 41, 33, 41, 43, 29, 47, 47, 47, 47, 53, 53, 53, 53, 8242, 8242, 8242, 206,16405, 8213, 206,16405, 207,16405, 16405,16405, 8213,16405,16405, 205, 206,16405, 8213, 205, 206, 200,16405,16405, 8213,16405, 8272,16464, 87, 8284, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 164, 164, 164, 164, 18, 8272,16464, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 14, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 133, 130, 206, 130, 130, 207, 130, 130, 130, 130, 130, 205, 206, 130, 200, 130, 130, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 67, 108, 109, 206, 109, 109, 207, 109, 109, 109, 109, 109, 205, 206, 109, 200, 109, 109, 204, 198, 195, 205, 201, 199, 102, 102, 205, 102, 102, 103, 103, 205, 103, 103, 112, 112, 205, 112, 112, 204, 196, 204, 198, 195, 196, 183, 182, 202, 183, 205, 183, 205, 183, 183, 182, 201, 202, 183, 183, 190, 190, 8287, 8288,16477,16478, 16479,16480,16482, 71, 8264, 71, 71, 8265, 76, 8269, 76, 8267, 76,16482,16482, 8288,16478,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8284,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8264, 8287, 8288, 8265, 8290, 8287, 8288,16477,16478,16479,16480,16482, 8264, 8287, 8288,16456,16457,16477,16478,16479,16480,16482, 8264, 8287, 8288,16456,16457,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 71, 8264, 8287, 8288, 8197, 8287, 8288, 16389,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8264, 8287, 8288,16456,16457,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 71, 70, 71, 8269, 8287, 8288,16459,16461,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8264, 8287, 8288,16456, 16457,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 148,16557, 148, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 145, 70, 145, 8365, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557,16506, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 33, 33, 41, 47, 47, 47, 47, 53, 53, 53, 53, 8242, 8242, 8242, 16405, 205,16405, 8213, 205,16405, 8213,16405, 8213, 83, 87, 87, 87, 88, 87, 87, 87, 87, 87, 87, 87, 87, 87, 164,16545, 164, 164, 164, 18, 18, 18, 18, 18, 18, 18, 18, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 15, 18, 130, 130, 205, 130, 130, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 67, 108, 109, 109, 205, 109, 109, 197, 102, 103, 112, 196, 197, 183, 182, 201, 182, 199, 70, 8264,16456,16457, 8264, 8265, 8269, 8267, 8284, 16476,16482, 8284,16476,16482,16482,16482, 8288,16478,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 6, 71, 8264, 8287, 8288, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8264, 8287, 8288, 8197, 8287, 8288, 8197, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8264, 8287, 8288,16456, 16457,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8264, 8287, 8288,16456,16457,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 70, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 71, 8264, 8287, 8288, 71, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 70, 8365, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16557, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 33, 41, 47, 47, 47, 47,16430, 53, 53, 52, 53, 53, 8242, 8242, 8242,16405, 8284,16476, 87, 88, 87, 87, 87, 87, 8353, 164, 164, 164, 164, 164, 164, 164, 18, 18, 18, 18, 15, 18, 15, 18, 15, 18, 15, 18, 130, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 108, 109, 102, 103, 112, 183, 187, 70, 8284, 8284,16476,16482, 8284,16476,16482,16482, 8288,16478,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8284,16476,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 6, 8264, 8287, 8288, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8264, 8287, 8288, 16456,16457,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8264, 8272, 8287, 8288,16456,16457,16464,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 71, 8264, 8287, 8288, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8264, 8287, 8288, 8287, 8288,16477,16478,16479, 16480,16482, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16557, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 148, 16559,16560, 148,16559,16560, 148,16559,16560, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 33, 41, 47, 45, 47, 47, 8238, 52, 53, 8242, 8242, 8242, 52,16405, 8284,16476, 87, 87, 164, 164, 164, 164, 164, 164, 164, 18, 15, 18, 130, 165, 165, 165, 165, 108, 109, 102, 102, 103, 103, 112, 112, 183, 183, 183, 188,16475, 8284,16476,16482,16482, 8288,16478,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8284, 8284,16476,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 65, 71, 65, 71, 8264, 8287, 8288, 65, 71, 65, 71, 8265, 8290, 65, 71, 8285, 8286, 65, 71, 65, 71, 65, 71, 65, 71, 65, 8287, 8288,16477,16478,16479, 16480,16482, 65, 71, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 71, 8264, 8272, 8287, 8288, 8264, 8287, 8288,16456,16457,16477,16478,16479,16480,16482, 7, 8287, 8288, 7, 8287, 8288, 8287, 8288,16477,16478, 16479,16480,16482, 8264, 8287, 8288, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8264, 8287, 8288, 16456,16457,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 2, 148,16557, 148,16557, 148, 16557, 145, 146, 145, 146, 145, 146, 172, 145, 146, 145, 146, 8365, 145, 146, 145, 146, 145, 146, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16557, 148,16559,16560, 145, 146, 145, 146, 145, 146, 8367, 145, 146, 145, 146, 8368, 145, 146, 148,16559, 16560, 148,16559,16560, 148,16559,16560, 148,16559,16560, 33, 41, 47, 53, 8242,16405, 8213,16405, 65, 164, 164, 164, 164, 164, 130, 130, 108, 109, 109, 102, 103, 112, 183, 8283,16475,16475, 8264,16456,16457, 8284, 16476,16482,16482, 8288,16478,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8287, 8288,16477,16478,16479,16480,16482, 8264, 8287, 8288, 81, 8284,16476, 8287, 8288,16477,16478,16479,16480, 16482, 8264, 8272, 8287, 8288, 71, 71, 8264, 8287, 8288, 71, 63, 71, 8265, 8290, 71, 8285, 8286, 71, 71, 71, 71, 71, 8287, 8288,16477,16478,16479,16480,16482, 4, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 65, 71, 8264, 8287, 8288, 65, 71, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16557, 148, 16559,16560, 33, 41, 47, 8242,16405, 164, 164, 164, 164, 164, 130, 108, 109, 203, 102, 203, 103, 203, 112, 203, 183, 203,16475, 3, 71, 8264, 3, 71, 8284,16476,16482,16482, 8288,16478,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479, 16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 81, 8284,16476, 81, 8284, 6, 8287, 8288, 64, 8264, 8287, 8288, 64, 8265, 8290, 8285, 8286, 64, 8265, 8290, 8287, 16477,16479, 64, 8284,16476, 8288,16478,16480,16482, 8287, 8288, 64, 8290, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480, 16482, 8264, 8287, 8288, 82, 8284,16476, 148,16557, 148, 16557, 148,16557, 148,16557, 148,16557, 148,16559,16560, 33, 41, 203,16405, 164, 164, 164, 164, 164, 130, 203, 108, 109, 203, 203, 102, 203, 103, 203, 112, 203, 183, 203, 3, 8264, 3, 8284,16476,16482,16482, 8288, 63, 8290, 8286, 8288,16478,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 90, 8287, 8288,16477,16478, 16479,16480,16482, 81, 8284, 8284,16476, 62, 8287,16477, 16479, 8287, 8285, 8287,16477,16479, 8284,16482, 8288,16478, 16480,16482, 8288, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 82, 8284,16476, 82, 8284, 90, 148,16557, 148,16557, 148,16557, 148, 16559,16560, 203,16405,16545, 164, 164, 130, 203, 108, 109, 203, 8284,16476,16482,16482, 64, 8290, 8287, 8288, 16477,16478,16479,16480,16482, 8284, 8287, 8287,16477,16479, 16482,16482,16482, 8288, 8288,16478,16480,16482, 8287, 8288, 16477,16478,16479,16480,16482, 82, 8284, 148,16557, 164, 164, 108, 8284,16476,16482,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8284,16476,16482,16482, 8287, 8288,16477, 16478,16479,16480,16482, 148,16557, 32, 42, 108, 8284, 8284,16476,16482, 8287, 8288,16477,16478,16479,16480,16482, 8284,16476, 8284, 6, 8287, 8288,16477,16478,16479,16480, 16482, 148,16557, 32, 108, 8287, 8288,16477,16478,16479, 16480,16482, 8284,16476, 8287, 8288,16477,16478,16479,16480, 16482, 148,16557, 108, 8287, 8288,16477,16478,16479,16480, 16482, 66, 108, 8287, 8288,16477,16478,16479,16480,16482, 108, 8287, 8288,16477,16478,16479,16480,16482, 108, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478, 16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477,16478,16479,16480,16482, 8287, 8288,16477, 16478,16479,16480,16482, 6, 8287, 8288 } ; static yyconst flex_int16_t yy_accept[3587] = { 0, 1, 1, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 8, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 15, 17, 20, 23, 26, 28, 30, 32, 34, 37, 40, 44, 48, 51, 54, 56, 59, 62, 65, 68, 72, 76, 79, 82, 85, 88, 92, 95, 100, 104, 109, 114, 118, 122, 126, 130, 134, 136, 141, 146, 151, 154, 158, 161, 165, 168, 171, 174, 178, 182, 186, 188, 190, 193, 196, 198, 202, 205, 210, 215, 220, 224, 228, 232, 236, 240, 244, 247, 252, 257, 262, 265, 269, 273, 277, 281, 284, 287, 289, 292, 295, 299, 301, 305, 308, 312, 315, 318, 321, 324, 327, 330, 332, 341, 350, 359, 368, 377, 381, 384, 388, 397, 406, 415, 424, 433, 442, 451, 460, 469, 478, 487, 496, 505, 514, 523, 532, 541, 550, 559, 568, 571, 574, 577, 579, 582, 585, 588, 590, 593, 596, 600, 604, 607, 610, 613, 616, 619, 622, 625, 628, 631, 633, 637, 641, 645, 649, 652, 656, 660, 664, 668, 672, 676, 680, 684, 688, 692, 696, 700, 704, 708, 712, 716, 720, 724, 728, 732, 736, 739, 742, 745, 748, 752, 756, 759, 763, 768, 771, 774, 777, 780, 785, 790, 795, 799, 802, 806, 811, 815, 818, 824, 827, 830, 832, 835, 838, 843, 848, 853, 858, 863, 868, 873, 878, 883, 888, 893, 898, 903, 908, 913, 918, 923, 928, 933, 938, 943, 948, 953, 958, 961, 963, 966, 969, 972, 975, 978, 981, 984, 986, 988, 991, 994, 997, 1001, 1005, 1008, 1010, 1013, 1016, 1020, 1025, 1029, 1032, 1035, 1039, 1042, 1045, 1048, 1051, 1055, 1060, 1065, 1068, 1071, 1075, 1079, 1082, 1085, 1087, 1089, 1092, 1095, 1097, 1100, 1102, 1105, 1108, 1110, 1113, 1116, 1119, 1122, 1125, 1127, 1129, 1133, 1136, 1138, 1141, 1144, 1146, 1149, 1151, 1154, 1157, 1160, 1163, 1165, 1169, 1173, 1176, 1179, 1182, 1186, 1190, 1194, 1197, 1200, 1203, 1206, 1209, 1212, 1214, 1216, 1218, 1220, 1222, 1224, 1226, 1228, 1230, 1232, 1234, 1236, 1238, 1240, 1242, 1244, 1247, 1249, 1252, 1255, 1258, 1260, 1263, 1266, 1269, 1272, 1275, 1278, 1281, 1284, 1287, 1290, 1293, 1296, 1298, 1301, 1305, 1308, 1312, 1316, 1319, 1323, 1327, 1330, 1334, 1337, 1341, 1345, 1349, 1353, 1357, 1361, 1365, 1369, 1372, 1375, 1378, 1382, 1385, 1389, 1393, 1396, 1400, 1404, 1407, 1411, 1415, 1419, 1423, 1427, 1431, 1435, 1439, 1443, 1447, 1451, 1455, 1459, 1463, 1466, 1469, 1472, 1477, 1482, 1485, 1490, 1495, 1500, 1505, 1510, 1515, 1520, 1525, 1530, 1535, 1540, 1545, 1550, 1555, 1560, 1563, 1566, 1570, 1574, 1578, 1581, 1586, 1591, 1594, 1597, 1602, 1607, 1612, 1615, 1618, 1622, 1628, 1632, 1637, 1641, 1645, 1650, 1655, 1659, 1663, 1668, 1671, 1675, 1679, 1681, 1683, 1686, 1689, 1691, 1694, 1697, 1700, 1703, 1706, 1709, 1712, 1715, 1718, 1721, 1724, 1727, 1730, 1733, 1736, 1739, 1741, 1744, 1747, 1751, 1754, 1758, 1762, 1765, 1768, 1772, 1775, 1778, 1782, 1785, 1790, 1795, 1799, 1803, 1807, 1812, 1816, 1820, 1823, 1826, 1830, 1834, 1838, 1842, 1846, 1849, 1852, 1855, 1858, 1861, 1865, 1869, 1872, 1875, 1875, 1875, 1876, 1877, 1878, 1878, 1878, 1879, 1880, 1881, 1884, 1887, 1889, 1890, 1891, 1892, 1895, 1898, 1899, 1902, 1905, 1907, 1908, 1909, 1912, 1915, 1916, 1917, 1919, 1921, 1922, 1923, 1925, 1927, 1928, 1928, 1928, 1929, 1929, 1931, 1933, 1934, 1934, 1935, 1937, 1938, 1939, 1939, 1940, 1942, 1944, 1946, 1947, 1949, 1951, 1952, 1953, 1955, 1957, 1959, 1960, 1960, 1961, 1962, 1964, 1966, 1967, 1968, 1970, 1973, 1975, 1976, 1977, 1979, 1982, 1989, 1996, 1996, 1996, 1996, 1996, 1996, 1997, 1998, 1998, 1998, 2001, 2001, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2004, 2004, 2005, 2007, 2007, 2014, 2014, 2014, 2014, 2021, 2028, 2028, 2035, 2035, 2035, 2035, 2039, 2039, 2039, 2046, 2053, 2060, 2067, 2074, 2081, 2088, 2095, 2102, 2109, 2116, 2123, 2133, 2140, 2147, 2154, 2161, 2168, 2175, 2182, 2189, 2196, 2203, 2210, 2217, 2224, 2231, 2240, 2250, 2257, 2264, 2271, 2278, 2285, 2292, 2299, 2306, 2313, 2320, 2327, 2334, 2341, 2348, 2355, 2362, 2369, 2376, 2383, 2390, 2397, 2404, 2411, 2418, 2425, 2432, 2439, 2446, 2453, 2460, 2467, 2474, 2481, 2488, 2488, 2488, 2495, 2495, 2496, 2496, 2496, 2497, 2499, 2501, 2502, 2502, 2502, 2502, 2503, 2504, 2505, 2506, 2506, 2506, 2506, 2506, 2506, 2506, 2506, 2506, 2506, 2506, 2507, 2507, 2508, 2510, 2510, 2510, 2512, 2514, 2516, 2518, 2520, 2522, 2524, 2526, 2528, 2530, 2532, 2534, 2536, 2538, 2540, 2542, 2544, 2546, 2548, 2550, 2552, 2554, 2556, 2558, 2560, 2562, 2564, 2566, 2568, 2570, 2572, 2575, 2577, 2579, 2581, 2583, 2585, 2587, 2589, 2591, 2593, 2595, 2597, 2599, 2601, 2603, 2605, 2607, 2609, 2611, 2613, 2615, 2617, 2619, 2621, 2623, 2625, 2627, 2629, 2631, 2633, 2635, 2638, 2638, 2639, 2639, 2640, 2643, 2643, 2643, 2643, 2646, 2646, 2646, 2646, 2646, 2646, 2649, 2649, 2649, 2652, 2655, 2656, 2656, 2656, 2657, 2657, 2658, 2661, 2664, 2667, 2670, 2673, 2676, 2679, 2682, 2685, 2688, 2691, 2694, 2697, 2700, 2703, 2706, 2709, 2712, 2715, 2718, 2721, 2724, 2727, 2730, 2733, 2736, 2739, 2742, 2745, 2748, 2751, 2754, 2757, 2760, 2763, 2766, 2769, 2772, 2775, 2778, 2781, 2784, 2787, 2790, 2793, 2796, 2799, 2802, 2805, 2808, 2811, 2814, 2817, 2820, 2823, 2826, 2829, 2832, 2835, 2838, 2841, 2844, 2845, 2846, 2847, 2848, 2848, 2849, 2850, 2852, 2853, 2854, 2854, 2854, 2856, 2856, 2856, 2858, 2859, 2859, 2859, 2860, 2861, 2861, 2862, 2862, 2863, 2863, 2864, 2865, 2866, 2867, 2868, 2868, 2869, 2869, 2869, 2870, 2870, 2870, 2870, 2871, 2872, 2873, 2874, 2875, 2875, 2875, 2876, 2877, 2878, 2879, 2881, 2883, 2885, 2886, 2887, 2889, 2891, 2891, 2891, 2891, 2891, 2891, 2891, 2891, 2893, 2893, 2893, 2893, 2893, 2893, 2893, 2893, 2893, 2893, 2893, 2893, 2893, 2894, 2895, 2895, 2895, 2895, 2896, 2896, 2896, 2896, 2897, 2897, 2897, 2897, 2897, 2898, 2899, 2900, 2901, 2902, 2903, 2904, 2905, 2906, 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2913, 2913, 2913, 2914, 2914, 2914, 2914, 2914, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2934, 2935, 2936, 2937, 2938, 2939, 2940, 2941, 2942, 2943, 2944, 2946, 2946, 2948, 2949, 2951, 2953, 2955, 2957, 2959, 2961, 2963, 2966, 2968, 2970, 2972, 2974, 2976, 2978, 2980, 2982, 2984, 2986, 2988, 2988, 2988, 2990, 2992, 2995, 2995, 2998, 2999, 3000, 3001, 3002, 3004, 3006, 3008, 3010, 3011, 3012, 3013, 3015, 3017, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3038, 3039, 3040, 3040, 3041, 3041, 3042, 3044, 3046, 3048, 3049, 3050, 3052, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3055, 3056, 3057, 3058, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085, 3086, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 3096, 3097, 3098, 3098, 3099, 3100, 3101, 3102, 3103, 3110, 3111, 3112, 3112, 3112, 3112, 3114, 3114, 3114, 3114, 3114, 3115, 3115, 3116, 3119, 3119, 3119, 3122, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3123, 3125, 3125, 3125, 3129, 3133, 3140, 3140, 3141, 3142, 3142, 3143, 3147, 3147, 3147, 3147, 3147, 3147, 3148, 3148, 3148, 3148, 3152, 3159, 3166, 3173, 3180, 3190, 3197, 3204, 3211, 3218, 3225, 3232, 3239, 3246, 3253, 3260, 3261, 3265, 3266, 3269, 3272, 3273, 3274, 3275, 3276, 3283, 3291, 3298, 3305, 3312, 3319, 3326, 3333, 3340, 3347, 3354, 3364, 3371, 3378, 3385, 3392, 3399, 3406, 3409, 3416, 3423, 3432, 3439, 3446, 3453, 3460, 3467, 3474, 3481, 3488, 3495, 3502, 3509, 3516, 3523, 3530, 3537, 3544, 3551, 3558, 3565, 3572, 3579, 3586, 3593, 3600, 3607, 3614, 3621, 3628, 3635, 3642, 3649, 3656, 3663, 3670, 3677, 3684, 3691, 3698, 3705, 3712, 3719, 3726, 3728, 3728, 3735, 3735, 3735, 3737, 3737, 3737, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3739, 3741, 3743, 3745, 3747, 3749, 3751, 3753, 3755, 3757, 3759, 3761, 3763, 3765, 3767, 3769, 3770, 3771, 3773, 3774, 3776, 3777, 3778, 3780, 3783, 3785, 3787, 3789, 3791, 3793, 3795, 3797, 3799, 3801, 3803, 3805, 3807, 3809, 3811, 3813, 3814, 3815, 3817, 3818, 3820, 3821, 3822, 3825, 3827, 3828, 3829, 3831, 3833, 3835, 3837, 3839, 3841, 3843, 3845, 3847, 3849, 3851, 3853, 3855, 3857, 3859, 3861, 3863, 3865, 3867, 3869, 3871, 3873, 3875, 3877, 3879, 3881, 3883, 3885, 3887, 3889, 3891, 3893, 3895, 3897, 3899, 3901, 3903, 3905, 3907, 3909, 3909, 3909, 3909, 3909, 3909, 3910, 3910, 3911, 3911, 3914, 3917, 3920, 3923, 3926, 3929, 3932, 3935, 3938, 3941, 3944, 3947, 3950, 3953, 3956, 3959, 3960, 3961, 3963, 3964, 3966, 3969, 3973, 3976, 3979, 3982, 3985, 3988, 3991, 3994, 3997, 4000, 4003, 4006, 4009, 4012, 4015, 4016, 4017, 4019, 4020, 4022, 4026, 4029, 4032, 4035, 4038, 4041, 4044, 4047, 4050, 4053, 4056, 4059, 4062, 4065, 4068, 4071, 4074, 4077, 4080, 4083, 4086, 4089, 4092, 4095, 4098, 4101, 4104, 4107, 4110, 4113, 4116, 4119, 4122, 4125, 4128, 4131, 4134, 4137, 4140, 4143, 4146, 4146, 4146, 4146, 4146, 4147, 4149, 4149, 4150, 4150, 4151, 4152, 4153, 4154, 4154, 4154, 4155, 4156, 4157, 4158, 4159, 4160, 4161, 4162, 4163, 4164, 4165, 4166, 4167, 4168, 4169, 4170, 4171, 4172, 4172, 4172, 4172, 4172, 4172, 4172, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4175, 4175, 4175, 4176, 4177, 4178, 4179, 4180, 4181, 4182, 4183, 4184, 4185, 4187, 4188, 4189, 4190, 4191, 4192, 4193, 4194, 4195, 4196, 4197, 4198, 4198, 4198, 4198, 4198, 4198, 4198, 4199, 4200, 4201, 4203, 4204, 4205, 4206, 4207, 4208, 4209, 4210, 4211, 4212, 4213, 4214, 4215, 4216, 4217, 4218, 4220, 4222, 4224, 4226, 4228, 4230, 4232, 4234, 4236, 4238, 4240, 4242, 4244, 4246, 4246, 4247, 4247, 4247, 4248, 4249, 4250, 4251, 4252, 4253, 4254, 4255, 4256, 4257, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4266, 4267, 4268, 4269, 4270, 4271, 4272, 4273, 4274, 4275, 4276, 4277, 4278, 4279, 4279, 4279, 4280, 4281, 4282, 4283, 4284, 4285, 4286, 4287, 4288, 4289, 4290, 4291, 4291, 4291, 4291, 4291, 4292, 4292, 4293, 4293, 4293, 4294, 4294, 4294, 4296, 4297, 4297, 4299, 4299, 4301, 4302, 4304, 4305, 4306, 4307, 4308, 4311, 4313, 4314, 4315, 4317, 4318, 4320, 4321, 4322, 4323, 4324, 4327, 4329, 4330, 4331, 4333, 4334, 4336, 4337, 4338, 4339, 4340, 4343, 4345, 4346, 4347, 4347, 4347, 4347, 4347, 4347, 4349, 4351, 4352, 4354, 4356, 4357, 4358, 4359, 4360, 4361, 4364, 4367, 4369, 4370, 4371, 4372, 4372, 4373, 4373, 4374, 4375, 4376, 4377, 4384, 4384, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4385, 4386, 4386, 4389, 4389, 4389, 4393, 4393, 4393, 4393, 4393, 4393, 4393, 4393, 4393, 4393, 4393, 4393, 4396, 4396, 4397, 4397, 4397, 4397, 4398, 4398, 4402, 4406, 4413, 4413, 4413, 4413, 4415, 4415, 4415, 4416, 4416, 4416, 4416, 4417, 4418, 4418, 4422, 4429, 4436, 4443, 4450, 4451, 4455, 4456, 4459, 4462, 4463, 4464, 4465, 4466, 4474, 4483, 4490, 4497, 4504, 4511, 4518, 4525, 4532, 4535, 4535, 4537, 4544, 4551, 4561, 4568, 4575, 4582, 4589, 4596, 4603, 4607, 4614, 4621, 4628, 4635, 4642, 4649, 4656, 4663, 4670, 4677, 4684, 4691, 4698, 4705, 4712, 4719, 4726, 4733, 4740, 4747, 4754, 4761, 4768, 4770, 4777, 4784, 4791, 4798, 4805, 4812, 4819, 4826, 4833, 4840, 4847, 4854, 4861, 4871, 4878, 4885, 4892, 4899, 4906, 4913, 4920, 4927, 4934, 4941, 4948, 4948, 4948, 4950, 4951, 4951, 4952, 4952, 4952, 4952, 4952, 4952, 4952, 4952, 4952, 4952, 4952, 4952, 4952, 4952, 4952, 4952, 4952, 4952, 4952, 4952, 4952, 4953, 4955, 4957, 4959, 4961, 4962, 4963, 4965, 4966, 4968, 4969, 4970, 4973, 4975, 4977, 4979, 4981, 4983, 4985, 4987, 4989, 4991, 4993, 4995, 4997, 4999, 5001, 5003, 5004, 5006, 5008, 5010, 5012, 5014, 5016, 5018, 5020, 5022, 5024, 5026, 5028, 5030, 5032, 5034, 5036, 5038, 5040, 5042, 5044, 5046, 5048, 5050, 5052, 5054, 5056, 5058, 5060, 5062, 5064, 5066, 5068, 5070, 5072, 5074, 5076, 5078, 5080, 5082, 5084, 5086, 5088, 5090, 5092, 5092, 5092, 5093, 5093, 5093, 5094, 5097, 5100, 5103, 5106, 5107, 5108, 5110, 5111, 5113, 5117, 5120, 5123, 5126, 5129, 5132, 5135, 5138, 5141, 5144, 5147, 5150, 5153, 5156, 5159, 5160, 5163, 5166, 5169, 5172, 5175, 5178, 5181, 5184, 5187, 5190, 5193, 5196, 5199, 5202, 5205, 5208, 5211, 5214, 5217, 5220, 5223, 5226, 5229, 5232, 5235, 5238, 5241, 5244, 5247, 5250, 5253, 5256, 5259, 5262, 5265, 5268, 5271, 5274, 5277, 5280, 5283, 5286, 5287, 5287, 5287, 5288, 5289, 5291, 5292, 5293, 5294, 5295, 5296, 5297, 5297, 5297, 5297, 5298, 5299, 5300, 5301, 5302, 5303, 5304, 5306, 5308, 5309, 5311, 5312, 5313, 5314, 5315, 5316, 5319, 5322, 5324, 5325, 5326, 5327, 5329, 5329, 5329, 5329, 5329, 5329, 5329, 5329, 5329, 5329, 5329, 5329, 5329, 5329, 5329, 5329, 5330, 5331, 5331, 5332, 5333, 5334, 5335, 5336, 5337, 5338, 5339, 5340, 5341, 5342, 5343, 5344, 5344, 5344, 5344, 5344, 5345, 5346, 5347, 5348, 5351, 5352, 5353, 5354, 5355, 5356, 5357, 5358, 5359, 5360, 5361, 5364, 5366, 5368, 5370, 5372, 5374, 5376, 5378, 5380, 5382, 5384, 5384, 5385, 5385, 5387, 5388, 5390, 5391, 5392, 5393, 5394, 5397, 5399, 5400, 5401, 5402, 5403, 5404, 5405, 5406, 5407, 5408, 5409, 5410, 5411, 5412, 5413, 5414, 5415, 5416, 5416, 5417, 5417, 5418, 5420, 5421, 5423, 5424, 5425, 5426, 5427, 5430, 5432, 5433, 5434, 5435, 5436, 5436, 5437, 5437, 5437, 5438, 5438, 5439, 5439, 5440, 5441, 5443, 5444, 5445, 5446, 5448, 5449, 5450, 5451, 5453, 5454, 5455, 5456, 5458, 5459, 5459, 5461, 5461, 5462, 5464, 5464, 5466, 5468, 5469, 5470, 5473, 5473, 5474, 5475, 5475, 5475, 5476, 5477, 5484, 5484, 5484, 5484, 5484, 5484, 5484, 5484, 5484, 5486, 5487, 5489, 5489, 5489, 5489, 5489, 5489, 5489, 5489, 5489, 5489, 5489, 5489, 5489, 5491, 5492, 5494, 5494, 5494, 5494, 5494, 5495, 5496, 5500, 5507, 5507, 5507, 5508, 5508, 5508, 5508, 5509, 5516, 5523, 5530, 5537, 5540, 5540, 5542, 5549, 5559, 5569, 5576, 5583, 5590, 5597, 5604, 5608, 5617, 5624, 5631, 5641, 5641, 5648, 5655, 5662, 5669, 5676, 5683, 5690, 5697, 5704, 5711, 5718, 5725, 5732, 5739, 5746, 5753, 5760, 5767, 5774, 5781, 5788, 5788, 5788, 5795, 5802, 5809, 5816, 5823, 5830, 5837, 5844, 5851, 5858, 5865, 5872, 5879, 5880, 5882, 5892, 5899, 5906, 5913, 5920, 5927, 5937, 5944, 5951, 5958, 5958, 5958, 5960, 5960, 5960, 5960, 5960, 5960, 5960, 5960, 5960, 5960, 5960, 5960, 5960, 5960, 5960, 5961, 5963, 5965, 5967, 5969, 5971, 5973, 5975, 5977, 5979, 5981, 5983, 5985, 5987, 5989, 5989, 5991, 5993, 5995, 5997, 5999, 6001, 6003, 6005, 6007, 6009, 6011, 6013, 6015, 6017, 6019, 6021, 6023, 6025, 6027, 6029, 6031, 6033, 6035, 6037, 6039, 6041, 6043, 6045, 6047, 6049, 6051, 6052, 6055, 6057, 6059, 6061, 6063, 6065, 6067, 6069, 6071, 6073, 6074, 6077, 6080, 6083, 6086, 6089, 6092, 6095, 6098, 6101, 6104, 6107, 6110, 6113, 6116, 6119, 6122, 6125, 6128, 6131, 6134, 6137, 6140, 6143, 6146, 6149, 6152, 6155, 6158, 6161, 6164, 6167, 6170, 6173, 6176, 6179, 6182, 6185, 6188, 6191, 6194, 6197, 6200, 6203, 6206, 6209, 6212, 6215, 6218, 6221, 6224, 6227, 6228, 6230, 6231, 6232, 6233, 6234, 6234, 6234, 6234, 6235, 6236, 6237, 6238, 6239, 6240, 6241, 6242, 6244, 6246, 6247, 6248, 6249, 6250, 6250, 6251, 6251, 6251, 6251, 6251, 6251, 6251, 6251, 6251, 6251, 6251, 6251, 6252, 6252, 6253, 6255, 6256, 6257, 6258, 6259, 6260, 6261, 6262, 6263, 6264, 6264, 6264, 6264, 6264, 6266, 6267, 6268, 6269, 6270, 6271, 6272, 6273, 6274, 6275, 6276, 6277, 6278, 6280, 6282, 6284, 6286, 6288, 6290, 6292, 6294, 6296, 6296, 6296, 6297, 6299, 6300, 6301, 6302, 6303, 6304, 6305, 6306, 6307, 6308, 6309, 6310, 6311, 6312, 6313, 6314, 6315, 6315, 6316, 6317, 6319, 6320, 6321, 6321, 6321, 6321, 6322, 6322, 6323, 6324, 6325, 6325, 6327, 6328, 6330, 6330, 6332, 6332, 6332, 6332, 6332, 6332, 6333, 6333, 6336, 6337, 6337, 6338, 6338, 6338, 6338, 6338, 6338, 6338, 6338, 6338, 6338, 6338, 6338, 6338, 6339, 6339, 6340, 6340, 6343, 6346, 6346, 6347, 6347, 6348, 6352, 6359, 6359, 6359, 6366, 6373, 6380, 6387, 6394, 6401, 6406, 6413, 6420, 6427, 6434, 6437, 6440, 6441, 6448, 6455, 6455, 6462, 6469, 6476, 6483, 6490, 6497, 6504, 6511, 6518, 6525, 6532, 6539, 6546, 6553, 6560, 6567, 6577, 6577, 6577, 6584, 6591, 6601, 6608, 6615, 6616, 6623, 6630, 6637, 6644, 6648, 6649, 6656, 6663, 6670, 6670, 6670, 6670, 6672, 6672, 6672, 6672, 6672, 6672, 6672, 6672, 6672, 6672, 6672, 6672, 6672, 6674, 6676, 6678, 6680, 6682, 6684, 6686, 6688, 6690, 6692, 6694, 6696, 6696, 6698, 6700, 6702, 6704, 6706, 6708, 6710, 6712, 6714, 6716, 6718, 6720, 6722, 6724, 6726, 6728, 6730, 6732, 6734, 6736, 6738, 6740, 6742, 6744, 6747, 6750, 6753, 6756, 6759, 6762, 6765, 6768, 6771, 6774, 6777, 6780, 6783, 6786, 6789, 6792, 6795, 6798, 6801, 6804, 6807, 6810, 6813, 6816, 6819, 6822, 6825, 6828, 6831, 6834, 6837, 6840, 6842, 6843, 6844, 6845, 6847, 6847, 6847, 6847, 6848, 6849, 6851, 6852, 6853, 6854, 6855, 6856, 6856, 6856, 6856, 6856, 6856, 6856, 6856, 6856, 6858, 6859, 6860, 6861, 6862, 6863, 6864, 6864, 6864, 6864, 6864, 6864, 6865, 6866, 6867, 6868, 6869, 6870, 6871, 6872, 6873, 6874, 6875, 6876, 6878, 6880, 6882, 6884, 6885, 6886, 6887, 6888, 6889, 6890, 6891, 6892, 6893, 6894, 6895, 6895, 6896, 6897, 6897, 6897, 6898, 6899, 6900, 6901, 6902, 6902, 6902, 6903, 6903, 6903, 6903, 6903, 6903, 6903, 6903, 6903, 6903, 6903, 6903, 6904, 6907, 6910, 6911, 6915, 6922, 6922, 6922, 6925, 6932, 6939, 6943, 6950, 6957, 6964, 6971, 6971, 6978, 6988, 6995, 7002, 7009, 7021, 7028, 7035, 7042, 7049, 7056, 7063, 7067, 7067, 7067, 7074, 7081, 7088, 7095, 7102, 7109, 7116, 7123, 7126, 7126, 7126, 7133, 7133, 7133, 7133, 7133, 7133, 7133, 7133, 7133, 7133, 7133, 7133, 7133, 7133, 7135, 7137, 7139, 7141, 7143, 7145, 7145, 7147, 7149, 7151, 7153, 7155, 7157, 7159, 7161, 7163, 7165, 7167, 7169, 7171, 7173, 7175, 7177, 7180, 7183, 7186, 7189, 7192, 7195, 7198, 7201, 7204, 7207, 7210, 7213, 7216, 7219, 7222, 7225, 7228, 7231, 7233, 7234, 7236, 7237, 7237, 7238, 7238, 7238, 7239, 7240, 7241, 7242, 7244, 7245, 7245, 7245, 7245, 7245, 7247, 7248, 7249, 7249, 7249, 7249, 7249, 7249, 7249, 7249, 7250, 7251, 7252, 7253, 7254, 7255, 7256, 7257, 7259, 7260, 7261, 7262, 7263, 7264, 7264, 7265, 7266, 7266, 7266, 7267, 7268, 7269, 7270, 7271, 7272, 7273, 7274, 7275, 7275, 7275, 7276, 7276, 7276, 7277, 7277, 7277, 7277, 7277, 7277, 7277, 7277, 7277, 7277, 7277, 7277, 7280, 7281, 7285, 7292, 7292, 7293, 7296, 7303, 7310, 7312, 7317, 7319, 7323, 7327, 7329, 7331, 7333, 7335, 7343, 7352, 7359, 7366, 7371, 7381, 7384, 7385, 7387, 7394, 7397, 7397, 7397, 7397, 7397, 7397, 7397, 7404, 7411, 7418, 7428, 7435, 7435, 7435, 7436, 7436, 7436, 7436, 7436, 7436, 7436, 7436, 7436, 7436, 7438, 7440, 7442, 7444, 7446, 7449, 7451, 7454, 7456, 7458, 7462, 7464, 7466, 7468, 7470, 7472, 7475, 7477, 7479, 7482, 7484, 7487, 7492, 7495, 7498, 7501, 7503, 7504, 7504, 7505, 7506, 7507, 7508, 7509, 7510, 7510, 7510, 7510, 7510, 7510, 7510, 7510, 7511, 7512, 7513, 7514, 7515, 7516, 7517, 7517, 7518, 7519, 7520, 7520, 7521, 7522, 7523, 7523, 7524, 7524, 7524, 7524, 7525, 7526, 7526, 7526, 7526, 7526, 7526, 7527, 7527, 7527, 7527, 7530, 7530, 7533, 7534, 7538, 7545, 7545, 7552, 7559, 7562, 7562, 7562, 7562, 7565, 7572, 7576, 7577, 7581, 7582, 7586, 7589, 7590, 7591, 7592, 7593, 7601, 7601, 7601, 7601, 7601, 7601, 7602, 7602, 7609, 7616, 7623, 7628, 7630, 7630, 7630, 7630, 7630, 7630, 7632, 7634, 7636, 7638, 7640, 7643, 7645, 7646, 7646, 7647, 7648, 7648, 7648, 7648, 7648, 7648, 7649, 7650, 7651, 7652, 7653, 7654, 7654, 7655, 7656, 7657, 7659, 7661, 7663, 7665, 7665, 7665, 7665, 7666, 7666, 7669, 7671, 7671, 7674, 7675, 7679, 7686, 7686, 7693, 7700, 7703, 7705, 7708, 7708, 7709, 7712, 7712, 7715, 7717, 7717, 7717, 7717, 7717, 7720, 7720, 7720, 7720, 7720, 7723, 7723, 7724, 7724, 7724, 7726, 7726, 7726, 7726, 7726, 7726, 7730, 7732, 7732, 7734, 7734, 7741, 7741, 7741, 7741, 7741, 7741, 7748, 7755, 7762, 7765, 7765, 7765, 7765, 7768, 7768, 7768, 7768, 7770, 7772, 7774, 7776, 7778, 7781, 7783, 7785, 7785, 7785, 7785, 7785, 7785, 7786, 7787, 7788, 7789, 7790, 7792, 7792, 7793, 7795, 7796, 7798, 7800, 7802, 7804, 7804, 7806, 7807, 7810, 7811, 7812, 7812, 7814, 7815, 7819, 7826, 7826, 7827, 7834, 7836, 7838, 7838, 7839, 7839, 7839, 7842, 7843, 7843, 7844, 7847, 7847, 7848, 7848, 7848, 7848, 7848, 7848, 7848, 7849, 7849, 7849, 7853, 7854, 7854, 7854, 7854, 7854, 7861, 7868, 7871, 7873, 7873, 7873, 7874, 7876, 7878, 7880, 7883, 7883, 7883, 7885, 7886, 7886, 7886, 7886, 7886, 7887, 7887, 7888, 7890, 7890, 7891, 7893, 7893, 7896, 7897, 7899, 7906, 7906, 7907, 7907, 7908, 7908, 7911, 7911, 7911, 7911, 7911, 7912, 7912, 7912, 7913, 7913, 7913, 7914, 7915, 7915, 7919, 7919, 7919, 7926, 7928, 7928, 7928, 7930, 7930, 7930, 7930, 7930, 7930, 7931, 7932, 7932, 7933, 7933, 7936, 7936, 7936, 7936, 7937, 7944, 7944, 7944, 7944, 7947, 7947, 7948, 7948, 7948, 7948, 7948, 7955, 7955, 7955, 7957, 7957, 7957, 7957, 7959, 7959, 7959, 7959, 7959, 7960, 7960, 7961, 7964, 7971, 7971, 7971, 7973, 7974, 7974, 7975, 7975, 7982, 7982, 7982, 7984, 7985, 7985, 7985, 7986, 7993, 7993, 7995, 7995, 8002, 8002, 8004, 8004, 8005, 8012, 8012, 8013, 8013, 8014, 8021, 8021, 8021, 8022, 8029, 8029, 8030, 8037, 8044, 8051, 8058, 8065, 8068, 8068 } ; static yyconst flex_int32_t yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 22, 22, 23, 24, 25, 26, 27, 28, 29, 1, 30, 31, 32, 33, 34, 35, 32, 36, 36, 37, 36, 38, 39, 36, 36, 40, 41, 36, 42, 43, 44, 45, 36, 46, 47, 48, 36, 49, 50, 51, 52, 53, 1, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 1, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84 } ; static yyconst flex_int32_t yy_meta[85] = { 0, 1, 2, 3, 4, 5, 1, 6, 1, 7, 1, 1, 8, 9, 10, 11, 1, 12, 13, 14, 15, 16, 16, 16, 16, 17, 18, 19, 20, 1, 1, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 24, 25, 1, 26, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 27, 1, 28, 29, 30 } ; static yyconst flex_int32_t yy_base[4190] = { 0, 0, 3, 8, 58, 63, 113, 91, 145, 131, 165, 187, 207, 215, 229, 237, 269, 287, 291, 342, 24, 426, 22, 510, 35, 594, 48, 678, 77, 762, 79, 844, 847, 852, 886, 937, 117, 1021, 118, 1104, 1108, 1188, 304, 1112, 1271, 1274, 1304, 1353, 126, 1429, 134, 1513, 151, 1597, 203, 1681, 242, 1765, 308, 1849, 317, 1933, 321, 2017, 866, 2101, 874, 2185, 882, 1132, 1338, 2267, 2348,12123,38616, 902,38616,38616,38616, 16,12114, 903, 19, 0,38616, 0, 0, 26,12112, 0, 907, 28, 0,38616, 0, 0, 49,12107, 908, 65, 0, 909, 0,12105, 0, 0, 71,12104, 913, 72, 0, 1145, 0, 0, 0, 81,12102, 6, 1138, 109, 0, 171, 0, 0, 0,12084, 140,12091, 1149, 157,12047, 1165,38616,12046,12038, 210, 40, 265, 1277, 277, 0, 1166, 0, 0, 0,12067, 168,12079, 1290, 178,38616, 38616,12007,12024, 182,38616, 878,38616,38616,12043, 1310, 184, 1307,12040,38616,38616, 2265, 2429, 2479, 68, 38, 12027,38616, 2280,38616, 21, 1304, 1109, 1309, 1258, 1270, 2257, 219, 1340, 106, 189, 1102, 1326, 2305, 281, 2308, 1327, 2272, 2240, 220,38616,38616, 1170, 2369, 857, 233, 12027,11981,12025, 7, 915,38616, 1389, 286,38616, 185, 906,38616, 302,12018, 303, 2347, 2383, 2422, 2484, 2508, 12015, 2448, 2523, 2542, 2557, 2581, 2596, 2672, 2570, 2403, 2503, 2580, 2604, 2627, 2646, 2651, 2674, 2695, 2728, 2650, 2718,38616, 850,38616, 1099,38616,38616,38616, 0,11987, 38616, 1409, 283,12010,12027, 2801, 2805, 2818,38616, 2513, 38616, 2831,38616, 2549, 2835, 1344, 855, 0, 1102,38616, 2861, 2887, 2891, 2917, 2921, 2948, 2713, 2904, 2349, 2810, 2925, 2926, 2890, 2578, 2787, 2947, 2959, 2970, 2982, 2988, 3010, 3025, 3021, 3045,38616, 0,38616,38616, 0,11988, 12021, 47,38616, 2587, 0, 2448, 1278,38616, 2681, 2958, 1284, 2739,38616, 2271,38616,38616,38616, 1167,12019,38616, 2315, 1345,38616, 2378,38616,38616,38616, 1404,12017,38616, 38616, 2424, 2273, 2614, 0,38616,11999, 2984, 2529, 0, 38616,38616, 99, 0,11961,11937,11947,11954, 2585, 0, 38616,38616,11985,38616,38616, 239, 1271,11999, 2531, 2253, 3100,38616, 2289,38616,38616,38616,38616, 232, 856, 1343, 1393, 2517, 2270, 3050, 2664,38616,38616,11971,11933, 808, 11932,11933,11938, 1281,11920,11901,11919, 863, 148,11906, 11904,11914, 0, 1364,11943,38616, 3109, 3119, 3123, 3135, 3146, 3161, 3172, 3188, 3214, 3221, 3229, 3247, 3256, 3263, 3289, 2867,38616, 3296, 3322, 3331,38616, 0,38616,38616, 2380,38616,11958, 0,11896,11880,11895,11880,11873,38616, 3345, 2470,38616, 2756,38616, 0,38616,38616, 2479,38616, 38616,11928, 0,11899,11865,11870,11829,11831, 2233,11825, 11808,11826, 2284,11810,11807,11817, 2792, 2492, 0,38616, 2602, 0,38616, 0,11836,11797,11803,11795,11795, 2275, 11791,11783,11800, 2518,11786,11777,11787,38616, 2796,38616, 38616, 0,11791,38616,38616, 2525,11830, 0,38616,38616, 2897, 2616, 0, 3153, 0, 0,38616, 0, 0, 0, 2640,11823, 3425, 0, 2923, 2718, 3419, 3444, 3454,38616, 0,38616, 0,11793,11759, 2304,11756,11757, 2325,11746, 11738, 2336, 2595,11742,11739,11750,38616, 3464,38616, 3025, 38616, 0,38616,38616, 2747,11796,11777, 3067, 2809, 0, 3089, 0, 0,11791, 2826,11789, 0, 3113, 2863,38616, 3182,38616,38616,38616,38616,38616, 2888,11779,11743,11777, 1348,38616,38616, 3207, 2912, 3242, 2918, 3092, 2419,38616, 3284, 3003, 3272, 2891, 0, 3146, 2431,38616,38616, 3310, 3043, 3313, 2986, 0, 3323, 2432, 0, 3335, 3058, 3326, 3009, 0,38616, 3351, 2597, 3349, 3127, 3355, 3123, 0, 11778, 3378,38616, 3260, 2771, 0,38616,11775, 3372, 3385, 0, 3238,11755,38616, 3367, 2807, 0, 3458, 3455, 3389, 11716, 2516, 3465, 3338,11715,38616,11758, 3477, 3185, 3503, 3505, 0, 3165, 3515, 2847, 0, 3481, 3174, 3531, 3483, 3579, 3629,11741, 1278, 3526, 3545, 2299,38616,38616, 3564, 3585, 3598, 3605, 3597, 0, 3636, 2310,11682,11686, 787, 11678, 2255,11686, 2430, 2559, 3718, 3679,38616,38616, 3655, 11682,11713, 3658, 3708, 2524, 1325,11724, 2649, 3745, 3757, 11710, 3775, 3781, 3697, 2916, 2415, 2351, 3244, 1105, 2619, 2669, 3335, 2796, 3042, 2411, 3353, 3864, 2603, 2693, 2714, 3016, 3429, 2642, 2662, 3111, 2576, 3120, 2750, 2870, 2834, 2934, 3196,11659, 264, 3212, 3169, 2965, 3256, 209, 3070, 39, 3302, 3328, 3487, 3209, 3495, 3298, 3159, 3737, 3242, 3250, 3518, 3624, 3431, 3367, 3318, 3514, 3755, 2287, 3043, 3564, 3434, 3477, 3401, 3601,11670, 3510, 3809, 3818, 3834, 3689, 3560, 3611, 3584,38616, 3893, 3924,38616, 3713, 3737, 3572,38616,38616,11692,11691, 3486,11650,11653, 3586,11643, 3596,11649, 2515, 3566, 3830,38616,11676,38616, 3948,11678, 11673, 3952, 3976, 3986, 4004, 4019, 4023, 4047, 4065, 4080, 4098, 4122, 4126, 4141, 4156, 4221, 4177, 4187, 4250, 4281, 4307, 4317, 4338, 4356, 4374, 4384, 4403, 4413, 4437, 4510, 11627, 4463, 4539, 4482, 4570, 4596, 4600, 4615, 4633, 4648, 4652, 4676, 4680, 4695, 4710, 4714, 4742, 4752, 4773, 4783, 4804, 4822, 4837, 4855, 4865, 4883, 4893, 4911, 4929, 4944, 4959, 4974, 4992, 4160, 4288, 4441, 4574,38616, 5023,11673, 11668, 4312, 5036, 5028, 5042,11670, 5055, 3840, 5066, 3898, 3919, 3928, 5082,38616, 5101, 5127,38616,11663,38616, 5131, 5150, 5168, 5186, 5207, 5225, 5243, 5264, 5283, 5301, 5320, 5347, 5351, 5377, 5381, 5446, 5407, 5411, 5465, 5486, 5530, 5534, 5560, 5564, 5590, 5609, 5627, 5645, 5718,11617, 5672, 5690, 5747, 5778, 5804, 5808, 5834, 5853, 5883, 5887, 5915, 5919, 5945, 5949, 5983, 6001, 6019, 6045, 6049, 6075, 6079, 6108, 6126, 6145, 6164, 6182, 6203, 6224, 6242, 6269, 6287, 6305, 0, 0,11682,11646, 3894, 3722, 3751, 3985, 3924, 3762, 3950,11678, 3995,11659,11673, 4014, 3769, 4117, 3967, 38616,11652,11661,11649, 4049, 0,11599, 0,11592,11585, 11588,11601, 3770, 2514,11640, 3734, 3158,11622,11621,11620, 3993, 3769, 3837, 4259,38616,11570,11562, 0, 3782, 2884, 38616, 4080, 4027,38616, 4326, 4081, 4418, 4187,11522,11491, 11504,11499,11466,11468,11468, 3978,11456,11461,11460,11452, 11445, 3609,11438,11431,11423,11419,11426,11426, 4809, 3674, 4565, 4963, 5072, 5214,11455,11446, 5290, 5616, 5339, 5498, 5657, 4494, 6209, 6324, 5990, 6333, 6337, 6407, 6426, 6436, 6341, 6442, 6468, 6475, 6479, 6505, 6517, 6512, 4627, 5157, 4075, 5774, 6317,11406,11387,11401,11390,38616, 6543, 0, 0,11389,11395,11398,11371,11381, 6554, 0, 0,11406, 11375,11386,11364,11366, 4057,11360,11362,11356,11354,11348, 3676,11344,11340,11349,11348, 4089, 4186, 4240,38616, 0, 0,11367,11337,11350,11328,11331, 0,11325,11323,11317, 11317,11309, 3755,11305,11301,11308,11308, 0,11352, 3686, 38616, 0, 4779, 5004, 5198,38616,38616, 0, 0, 3848, 2948,38616, 6634,38616, 4110, 3826, 4171, 3962, 6599, 0, 0,11323,11293,11300,11284,11271,11276, 6717,11270,11272, 11272,11261,11265,11266,11249, 3826,11245,11234, 4056,11240, 6685,11269,11259,11257, 0,11273,11272, 4247, 3222, 0, 4347, 3889, 4358, 4254,11267,11231, 4142, 4360,11254, 3987, 11194,11262, 4251, 4390,11244, 4048, 50,11252, 3634, 5861, 6092,11181, 4410, 4443, 4455, 6153, 6350, 3683, 4501, 3845, 5312, 6566,11167, 4652, 4463, 4525, 6580, 6593, 3876, 4680, 3880, 4731, 4884,11165, 3542, 4541, 4576, 4925, 5095, 3904, 3933, 3932, 4813, 4845,11220, 4093,11209, 4135, 5736, 5859, 3415, 4344, 4743, 4903, 6253, 6653, 4054, 4530, 4318, 4432, 4874, 3596, 4580, 3620, 4174, 6800,38616,11211, 5494, 6770, 6807, 4280,11196, 6889, 6833, 5269, 6826, 6870,38616, 6903, 5596, 5785, 5180, 0,11147,11163,11155,11141,11138,11133, 11127, 3455,11143,11122,11119,11116,11111,11102, 6113, 4776, 11147,11143, 5520, 6876, 6928, 6938, 7010, 7078,11157,38616, 6943, 6978,38616, 7005,11143, 6072, 7037, 7048, 7061, 6746, 5975, 6276, 6377, 7113, 1077, 2449, 3223, 3727, 7164, 3364, 4138, 2963, 3735, 3619, 4172, 3321, 4535, 3005, 4230,38616, 7247, 7183,38616,38616, 6673,11140, 6679, 7217, 2390,11113, 4264, 4265, 4007, 2327, 4295, 4324, 3758, 4299, 4331, 7300, 4383, 4153, 4413, 3657, 4431, 3842, 6391, 4011, 835, 4757, 4446, 4358, 4507, 4313, 4527, 4570, 4576, 4234, 4406, 3688, 3070, 4599, 4407, 4060, 4685, 2709, 4152, 4110, 4345, 4504, 4598, 4642, 4591, 4538, 4678, 4613, 4665, 4557, 4080, 4261, 4658, 4710, 4780, 4753, 4799, 4699, 4617, 4680, 4437, 4500, 4817, 4671, 7319, 7351, 7383,11089,11092, 7083, 5696, 5810, 5094, 6566,11071,11087,11083,11069,11063,11057,11054, 3790, 11071,11054,11056,11052,11046,11036, 4980,11084, 4993, 7133, 7205, 7388, 7403, 7463, 7263, 7422, 7498, 7535, 7553, 7563, 7581, 7599, 7614, 7618,38616, 5116,38616,11078,38616,11081, 11076, 7633, 7418, 7660, 7664, 7679, 7694, 7698, 7713, 7728, 7747, 7801, 7765, 7820, 7830, 7873, 7888, 7892,38616, 5149, 38616,11061,38616,11060,11054, 7907, 7925, 6861, 5684, 7940, 8002, 7964, 8021, 8031, 8074, 8089, 8093, 8108, 8123, 8127, 8153, 8168, 8172, 8187, 8202, 8223, 8233, 8252, 8262, 8281, 8291, 8310, 8325, 8340, 8355, 8359, 8383, 8402, 8387, 8417, 8421, 8447, 8471, 8475, 8499, 8503, 8527, 8546, 8561,11051, 6971, 7369, 7524, 7645, 8565, 6697, 6778, 7335, 7492, 8580, 8606, 8632, 8636, 8705, 8668, 8664, 8740, 8777, 8795, 8813, 8831, 8850, 8877, 8907, 8911, 6447,38616,11050,38616, 8937, 8941, 8968, 8972, 8998, 9002, 9028, 9032, 9062, 9116, 9080, 9145, 9189, 9207, 9225, 9243, 9261, 6805,38616,11044,38616, 9279, 9297, 9315, 9377, 9341, 9345, 9406, 9449, 9467, 9485, 9503, 9524, 9542, 9560, 9578, 9596, 9617, 9635, 9653, 9671, 9689, 9707, 9726, 9744, 9762, 9780, 9801, 9820, 9841, 9859, 9877, 9896, 9915, 9933, 9959, 9963, 9989, 9993,10020,10024, 10050, 0,11057,11060, 0,11018, 5122, 0,11048,11006, 10985,10995,10982,10980, 4395,10985, 4847, 4930, 5114, 4950, 0, 4853,10978, 5408, 5946, 5207, 4967, 5306, 5755, 7134, 7255, 5339, 5059, 5543,10965,10958,10955,10968,10968,10959, 4939,10955,10948,10952,10938,10936,10943,10938,10930,10939, 10925,10925,10927,10952, 6784, 5356, 7451, 9179, 9413,10054, 10062,10068,10081,10094, 6995,10951,10946, 7759,10124,10134, 10138,10143,10150,10177,10187,10193,10203,10221,10229,10236, 5249, 5608,10905,10904,10907,10890,10881,10876,10877, 0, 10887,10870,10857,10872,10865,10834,10824,10830,10815,10817, 10823,10805,10804,10807,10809,10796,10787,10801,10794,10787, 10781,10765,10750,10744,10752,10747,10745,10749,10751,10784, 38616,10778, 4938, 0, 5825, 6243,10715, 5250, 5275, 5357, 7069, 7853, 4764, 5432, 4825,10715,10707,10703,10715,10714, 0,10697,10666,10672,10658,10662,10655,10654,10657,10651, 10650,10654,10652,10651,10686,10673,10672, 5466, 5653,10604, 4911, 5325, 5397, 5739, 5916, 4922, 5069, 4932, 0, 5085, 10673, 5110,38616,10651,38616,10607,10656,38616, 0,10652, 38616,38616,10646,38616,10644, 0,10623, 0,10588, 6009, 7660, 6352, 0, 0, 6557, 6662, 0,10610, 0,10575, 5879, 7936, 5923, 0, 0, 5986, 6190, 0,10608, 0, 10572, 4023, 6617, 5049, 0, 0, 5087, 5226, 4866, 5428, 10621, 5439,10603,38616,10572, 4931, 5490,10554, 5257, 5603, 5754, 7975, 6105,10553, 6175,10547, 6214, 6313, 6451, 5676, 6521, 5122, 5019, 5193, 5232, 5260,10289, 7216, 5219, 7517, 8065,10360,10571,10442, 7784, 7959, 7357, 7593,10275, 8758, 8857, 9590,10535,10518, 7505,10535,10516,10513,10506,10488, 5261,10493,10479,10486,10467,10471, 7861, 8158, 8592, 8618, 10510, 9441,10316,10373,10389,10524,10581,10517, 6841,10495, 9806,10345,10428,10455,10489, 7919, 7971, 7867,10470,10496, 10529, 3924, 4218, 4887, 5175,38616,10631,10649,38616,38616, 8214,10492, 7030,10486,10468, 5855, 2246, 4757, 5225, 5182, 5327, 2775, 5244, 8059,10684,38616, 5083, 4976,10735, 5345, 5335, 5258, 5502, 5447, 5491,10449, 5077, 5331, 5564, 5367, 4785, 5317, 5504, 5584, 5598, 5753, 5405, 5602, 5025, 5514, 5643, 5534, 5518, 5798, 5536, 5724, 5829, 5554, 5857, 8735, 5474, 5804, 4599, 5833, 5883, 5867, 5965, 5733, 5776, 5593, 5899, 5604, 5969, 6157, 5931, 5778, 6471, 6002, 5138, 5985, 5925, 5917, 5957, 5989, 5983,10434,10429,10574, 6547,10464, 38616, 6138, 9047,10543,10430,10413, 0,10427,10414,10419, 10409,10395, 5633,10404,10388,10403,10382,10382, 0, 6230, 6293, 6844,10600,10689,10754,10665,38616, 7342,38616,10419, 38616,10409,10398,10764,10825,10795,10860,10897,10912,10927, 10931,10946,10961,10965,10989,10993,11019,11023,11047, 7534, 11057,11076,11091,11110,11120,11144,11148,11172,11176,11191, 11209,11224,11239,11243,11258,11273,11294,11309,11313,11328, 11347,11366,11376,11395,11405,11423,11442,11452,11471,11481, 11499,11514,11529,11594,11555,11565,11623,11654,11681,11691, 11709,11727,11737,11755,10307,10799,11613, 8317, 8454, 8534, 11774,11792,11813,11831,11849,10098,38616,10396,38616,11867, 11898,11927,11958,11984,12002,12020,12039,12058,12076,12097, 12115,12133,12151,12169,12187,12205,12231,12235,12261,12265, 12291,12309,12327,12345,12363,12382,12401,12419,12437,12455, 12474,12492,12510,12529,12547,12568,12594,12612,12630,12648, 12669,12696,12714,12741,12759,12777,12798,12816,12834,12852, 12870,12897,12915,12933,12951,12969,12987,38616,10403, 0, 10386,10358, 6136,10370,38616,10309,10306,10314,10302,10284, 10282,10287, 6216, 6140, 6322, 6251,10276,10273,10280, 6024, 38616, 6370, 6032, 6255, 6524,10341, 8102, 6569, 6107,38616, 6224, 6921,10335, 6955, 6612,10256,10259,10244,10234,10226, 10232,10212,10223,10223,10208,10209,10205,10204,10187, 0, 10893, 5711,10232,13045,11917,12573,12675,13128,13132,12726, 13136,13140,13145,13171,13197,13201,10175,10171,10171,10181, 10156,10146,10157,10138, 6623, 6607, 6689, 6589, 6702, 6913, 6839, 6985, 6772, 7072, 7000,10151,10134,10114,10103,10115, 10085,10098,10097,10065,10064,10049,10095,38616, 6159, 0, 10070, 0,10034, 7435, 8275, 7652, 0, 0, 7741, 7791, 13272,10009, 9995, 9973, 9971, 9980, 9953, 9955, 9920, 9931, 113, 865, 1242, 1319, 2558, 0, 2651, 2908, 2978, 0, 3190, 0, 3292, 6116, 7133, 6120, 0, 0, 6201, 6301, 38616,38616, 3478, 6492, 3588, 3697,38616, 3814,38616, 3856, 38616, 3857, 0, 7292, 7607, 4037, 0, 7400, 7731, 4107, 0, 5891, 6068, 4210,38616, 4275, 4324, 6750, 4420, 5536, 38616, 4499, 4498, 7064, 7153, 7454,38616, 4715, 7553, 7951, 6346, 4733, 6296, 6459,13355, 4739, 8553, 8695, 7120,13362, 13444, 4771, 4821, 8599, 8884,38616, 4835, 4879, 5011, 5021, 5183, 5202, 5835, 5256, 5329, 5377, 5448, 5480, 9099, 9149, 38616, 5559,12688,12882,11300,13205,13386,13526,13596, 5626, 10635,10888,11285, 5679, 9173, 9903, 6327, 5901, 6579, 6642, 13646,13390,38616, 6722,13697, 7281, 6308, 6433, 6031, 6196, 5993, 7199, 7995, 6023, 6401, 7374, 5658, 6241, 6346, 6814, 6638, 6840, 6667, 6406, 7563, 6750, 6329, 6721, 6826, 6862, 6964, 6653, 6736, 6894, 6943, 6867, 6585, 6991, 5706, 5719, 7027, 6696, 6919, 6564, 6877, 7033, 6454, 7051, 7101, 7048, 7052, 6983, 7108, 5791, 8889,13781, 7169, 6959, 7170, 7175, 6858, 8625, 7199, 7194, 6498, 5770, 5774,13008, 5899, 5897, 5934, 5969, 6012, 6057, 6078, 6152, 7041, 6158, 6186, 6235, 6272, 6366, 7752,13412,13457,13472,13487,13491,13865,13519, 13554,13569,13662,13615,13716,13737, 7204, 6431,13800,13832, 13894,13925,13949,13953,13977,13981,14005,14015,14034,14044, 14062,14072,14091,14101,14119,14134,14138,14164,14168,14183, 14202,14212,14230,14249,14259,14277,14295,14305,14324, 6505, 38616,14378,14339,14397,14407,14438,14464,14468,14483,14498, 10247,14502,14530,14556,14560,14588,14606,14627,14645,14663, 14681,14699,14766,14731,14795,14727,14838,14856,14874,14895, 14914,14932,14953,14971,14989,15007,15028,15046,15064,15082, 15103,15121,15139,15158,15177,15196,15214,15233,15252,15273, 15291,15312,15330,15384,15413,15348,15444,15471,15475,15501, 15505,15531, 6518, 9288, 6531, 6536, 6673, 6749, 6757, 6775, 6772, 7726, 7474, 7513, 7364, 6807, 6837, 6865, 7388, 6942, 38616, 7422, 6963, 7584, 6976, 6980,38616, 7000, 7061, 7060, 7069, 7098, 7086, 7135, 7144, 7145, 7139, 7172,13211, 7226, 13558,14593,15203,15535,15543,15549,15561,15278,15575,15587, 15593, 7170, 7183, 7201, 7204, 9185, 9624, 9531, 9733, 7224, 7222, 7214, 7216, 7234, 7219, 7234, 7268, 7288, 7289, 7299, 7290, 7302, 7334, 7319, 7338, 7332, 7358, 7414, 7420, 7373, 0, 7837, 7985, 7392,10332, 7401, 7389, 7411, 7424, 7441, 7444, 7429, 7446, 7465, 7473, 7488, 7525, 7544, 7557, 7510, 0, 7570, 7626, 7688, 7555, 7574,38616, 7554, 7560, 7564, 7590, 7618,38616, 7746,38616, 7622,38616, 7625, 0, 7562, 7647, 7627, 9327, 9846,10416,10557,10607,38616, 7609, 7620, 7635, 7634, 7632, 7638, 7664, 7668, 7680, 7666, 7666, 7684, 10715,10720,38616, 0,15625,15651,13545,15655, 7729,15668, 15725,15778, 7756,11934,15828, 7709, 7768, 7823, 7795, 7770, 15893, 7848, 7842, 7863, 7881, 8095,10867,15683, 7869, 7906, 7717, 7977, 7729, 7915, 7991, 7993, 7891, 8011, 8000, 7811, 7930, 8015, 8038, 8053, 8022, 8057, 8071,15944, 7804, 7825, 8091, 8072, 8208, 8116, 8102,38616, 8130, 8135, 7833, 8145, 9092, 8229, 8174, 8197, 8164, 7829, 7861, 7904,38616, 7905, 7919, 7982, 7988, 8001, 8007, 8040, 8078, 8097, 8085, 8086, 8107,15730,15788,15821,15855,15759,15898,15973,16017,16032, 16036,16051,16069, 8113,16084,16099,16114,16133,16159,16177, 16187,16205,16220,16224,16251,16261,16279,16289,16360,16313, 16323,16389,16432,16447,16451,16475,16479,16503,16524,16543, 16561,16579,16597,16616,16634,16652,16671,16692,16710,16729, 16747,16773,16777,16803,16807,16834,16861,16879,16898,16917, 16935,16956,16982,16986,17012,17016,17043,17047,17073,17091, 11200, 8142, 8137, 8164,11228, 8151, 8176, 8187, 8289, 8251, 8222, 8248, 8172, 8197, 8199, 8368, 8192, 8210, 8197, 8201, 8219, 8230, 8219, 0, 8329,15687,15719,15859,16396,16840, 17103, 8747, 8240, 8246, 8243,12536,38616, 8249, 8257, 8278, 8279, 8273, 8289, 8286, 8288, 8285, 8304, 8290, 8299, 8298, 8312, 8298, 8351, 8312, 8313, 8315, 8333, 8326, 8324, 8341, 8345, 8344, 8343, 8410, 8411, 8399, 8425, 8374, 8460, 8628, 8430, 8493,38616, 8417, 8448, 8774, 8355, 8380, 8387, 8389, 8389, 8388, 8389, 8400, 8411, 8403, 8406,15619,15888,17119, 17132,17202,17274, 8469, 0,16308,17326, 8433,17383, 8429, 8427, 8456, 8434, 8425, 8467,17434, 8519, 8455, 8531,17518, 8589, 0, 8771, 8548, 8441, 8437, 9868, 8431, 8449, 8604, 8595, 8558, 8598, 8469, 8618, 0, 8644, 9106, 8739, 8477, 0, 8840, 8477, 8463, 8491, 8507, 8522, 8526, 8518, 8537, 8545, 8560, 8576, 8574,17153,17168,17183,17207,17231,17241, 8587,17267,17293,17336,17602,17354,17399,17453,17553,17621, 17631,17675,17690,17694,17709,17727,17745,17763,17789,17793, 17820,17839,17858,17876,17932,17894,17951,17972,18015,18033, 18051,18069,18088,18114,18132,10257, 8585, 0, 8605,11547, 38616, 8616, 8611,38616, 8743, 8630, 8617, 0, 8774, 0, 8634, 8636, 8646, 8841,17366,17537, 8669, 8662, 8660, 8671, 8689, 8703, 8701, 8703, 8713, 8723, 8721, 8740, 8748, 8752, 8754, 8755, 8814, 8752, 8761, 8771, 8772, 8830, 8832, 8827, 8797, 8839, 9301, 8855, 8907, 8857, 8866, 8861, 8877, 8897, 8891, 8865, 8977, 8913, 0, 8874,18150,10433,10264, 8838, 8851, 8856, 8857, 8879, 8880, 8892, 8880, 8890,18178,18182, 18248,18315, 8940,16008,17998,18365, 8911,38616,18436,18208, 38616,38616,11354, 8936, 8995,16846, 8891, 8897, 8926, 8930, 9017,18487,11095,18264, 9216, 8971,10351, 8909, 8911, 8931, 8940, 8924, 8950, 8968, 8964, 8970,18571, 9000, 8944, 9513, 38616, 8945, 8992, 8989, 8980, 9004, 9001, 9017, 9005, 9016, 17477,18282,18331,38616, 9716,38616, 9050,38616, 9059, 9059, 13235,18375,18393,18417,18530,18454,18506,13239,10501,38616, 9061,38616,18600,18631,18657,18676,11129, 9018, 9034, 9192, 9048, 9142, 9062, 9208,38616, 9056, 9057, 9070, 9081, 9086, 9084, 9091, 9085, 9089, 9096, 9101, 9125, 9226, 9165, 9178, 9188, 9189, 9190, 9202, 9204, 9211, 9216, 9236, 9235, 9249, 9244,18688,38616,18695, 9242,11630,11721,10790,11052,12504, 9198, 9215, 9221,11649, 9210,18349,18213,18748,18818, 9278, 18868, 9241,18940, 9265, 9482, 9267,11541, 9369, 9371, 9290, 18990, 9789, 9293, 9296,19041, 9310,19125,19209,19293, 9247, 9245, 9248, 9266, 9261,38616, 9254, 9283, 9289, 9266, 9548, 9759, 9279, 9276, 9297, 9300, 9288,18705,18729,18766,18784, 18823,18861, 9954, 9297, 9318, 9343, 9427, 9340, 9342, 9349, 9352, 9367, 9349, 9352, 9372, 9356, 9363, 9417, 9432, 9434, 9428, 9477, 9479, 9497, 9536, 9584, 9517,11886,13627,13906, 9395,12046,13015, 9395,18802,18887,19377, 9424, 9442, 9444, 9498, 9644,12660,19460, 9460,38616,19531, 9898, 9461, 9464, 19582, 9494,19666,19750,38616, 9662, 0,11990,19834,19918, 20002,20086, 0,20170,16118, 0,18901, 9533,20254,20338, 9680,13416,13430,38616, 0,20422, 9429, 9423, 9435, 9608, 9439, 9458, 0, 9481,20505, 9519,10559, 9523,14830, 9494, 9514, 9514,18911,18958,19465,19494,19006,19312,11480,10447, 9503, 9511, 9526, 9514, 9527,11767,11786,12088,13653,12103, 9695, 9595, 9599, 9717, 9750, 9774, 9795, 9810, 9825, 9535, 13680,13755,19501,20441,20105,10855, 9598,20512,20563, 9592, 9605,11073, 0, 9816, 9827,10089,38616,20647,11560,20731, 18612, 9832, 0,20815,15319,15420,15833, 9599,20899,20983, 17666,21067,21151,21235,11584,21319,10366, 9559, 9561, 9943, 9581, 9604, 9588, 9869,16151, 9578, 9578, 9630,20462,21402, 19547,21406,10510, 9883,10769,12298, 9601, 9613,13836, 9619, 9626,14357, 9622, 9917, 9681, 9688, 9945, 9637,21432,21503, 9687, 9667, 9692, 9969, 9686,12065,12224,21587, 9688,21671, 21755,21838,10691, 0,12408,21921,16423,22005,22089,21439, 9978,22173, 9643, 9658, 9677, 9995, 9669, 9662,21843,10026, 0,10108, 9685, 9683, 9696, 9698, 9751, 9759, 9700,22257, 17824,10898,22341,10899, 9803, 9757,22425,22509,10921,14433, 0, 0,14534,10039, 9732, 9837, 9734, 9724,21847,10155, 10164,10171,38616,10208, 9738, 9743, 9828, 9835, 9791,10128, 10955, 9810, 9852, 9858,22593,10991,14799,10181, 9813, 9859, 9823, 9820,22676,38616,10299, 9886, 9890, 9890, 9899, 0, 9879, 0,10612,22680, 9934, 9942, 9944, 9940,11518, 9948, 9950, 9959, 9956, 9963, 9978, 9988, 9974,38616,10032, 9961, 10007,10019,10214,22752,38616,22803,22833,22863,22893,22923, 22953,22983,23013,23043,23073,23103,23133,23163,23193,23223, 23253,23283,23313,23343,23373,23403,23433,10301,23463,23492, 23521,23550,23579,10375,23608,10643,23637,23666,11013,23695, 11130,23710,11366,23739,11405,23756,11442,23771,11481,23786, 23811,23841,11555,23870,23899,23928,11639,23943,11737,23958, 11799,23987,11857,24002,11936,24032,24047,12010,24076,24106, 12225,24136,24166,12251,24181,12353,24196,24226,24256,24286, 24316,24346,24376,24406,24436,24466,24496,24525,24555,24584, 24613,24642,24671,10093,24700,24730,24759,24789,24818,24847, 24876,24905,24934,24963,24992,25022,25051,25080,25110,25139, 25168,25197,25226,25241,25270,25294,25318,25335,25359,25374, 25389,25413,25437,25452,25482,25511,25540,25570,25599,25628, 25657,25672,25687,25716,25731,25746,25776,25806,25835,25865, 25880,25910,25925,25940,25970,26000,26030,26060,26090,26120, 26150,26180,26210,26240,26270,26300,26330,26360,26390,26420, 26450,26480,26510,26540,26570,26600,26630,26660,26690,26720, 26750,26780,26810,26840,26869,26898,26927,26956,26985,27014, 27043,10146,27072,27102,27132,27162,27191,27220,27250,27279, 27309,27338,27367,27396,27425,27454,27483,27512,27541,27570, 27599,27628,27658,27688,27717,27746,27775,27804,27833,27862, 12537,27883,27907,12558,27922,27951,12580,27968,27983,27998, 28013,28043,28073,28103,28133,28163,28192,28221,28250,28279, 28309,28338,28353,28368,28383,28413,28428,28458,28488,28518, 28548,28578,28593,28617,28647,28677,28707,28737,28767,28797, 28827,28857,28887,28917,28947,28977,29007,29037,29067,29097, 29127,29157,29187,29217,29247,29277,29307,29337,29367,29397, 29427,29457,29487,29517,29547,29577,29607,29637,29667,29697, 29727,29757,29787,29817,29847,29877,29907,29937,29966,29995, 30024,30053,30082,30111,30141,30171,30200,30229,30259,30289, 30319,30348,30377,30406,30435,30464,30493,30523,30552,30581, 30610,30640,30670,30699,30728,30758,30787,30816,30845,30874, 30895,12784,30910,30925,30954,30971,30986,31001,31016,31046, 31076,31106,31136,31166,31196,31226,31256,12882,31285,31314, 31329,31358,31373,31403,31433,31463,31493,31523,31553,31583, 31598,13008,31613,31643,31673,31703,31733,31763,31793,31823, 31853,31883,31913,31943,31973,32003,32033,32063,32093,32123, 32153,32183,32213,32243,32273,32303,32333,32363,32393,32423, 32453,32483,32513,32542,32571,32600,32629,32658,32687,32716, 32745,32775,32804,32833,32862,32891,32920,32949,32964,32993, 33008,33023,33038,33068,33098,33128,33158,33188,33217,33241, 33270,33299,33314,33329,33359,33389,33419,33434,33449,33479, 33509,33539,33569,33599,33629,33659,33689,33719,33749,33779, 33809,33838,33867,33897,13130,33926,33955,33985,34014,34043, 34073,34102,34131,34160,34189,34204,34219,34234,34264,13159, 34293,34322,34337,34352,34367,34397,34412,34442,34472,34502, 34532,34562,34592,34622,34646,34675,34704,34733,34762,34792, 13213,34821,34850,34879,34908,34923,34938,34953,34983,35013, 35042,35071,35086,35101,35116,35146,35161,35191,35221,35251, 35281,35311,35341,35371,35401,35431,35461,35491,13340,35520, 35549,35578,35607,35636,35665,35695,35724,35753,35783,35812, 35841,35871,35900,35929,35944,35959,35974,36004,36034,36064, 36079,36109,36139,36169,36199,36229,36259,36289,36319,36349, 36378,36407,36436,36465,36495,36524,36553,36582,36611,36641, 36671,36701,36731,36761,36790,36819,36848,36863,36878,36908, 36923,36953,36983,37013,37043,37073,37103,37133,37162,37191, 37220,37249,37279,37309,37339,37369,37398,37427,37456,37486, 37515,37545,37575,37605,37635,37665,37695,37725,37754,37783, 37813,37843,37873,37902,37931,37960,37990,38005,38035,38065, 38095,38124,38154,38183,38212,13430,38241,38256,38286,38316, 38345,38375,38405,38435,38465,38495,38525,38555,38585 } ; static yyconst flex_int16_t yy_def[4190] = { 0, 3586, 3586, 3587, 3587, 3588, 3588, 3589, 3589, 3590, 3590, 3591, 3591, 3592, 3592, 3593, 3593, 3586, 3586, 3585, 19, 3585, 21, 3585, 23, 3585, 25, 3585, 27, 3585, 29, 3594, 3594, 3595, 3595, 3585, 35, 3585, 37, 3586, 3586, 3585, 41, 3586, 3586, 3596, 3596, 3586, 47, 3585, 49, 3585, 51, 3585, 53, 3585, 55, 3585, 57, 3585, 59, 3585, 61, 3585, 63, 3585, 65, 3585, 67, 3597, 3597, 3598, 3598, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3599, 3585, 3599, 3599, 3599, 3599, 3600, 3599, 3599, 3601, 3585, 3601, 3601, 3601, 3601, 3601, 3601, 3602, 3585, 3602, 3585, 3602, 3602, 3602, 3602, 3602, 3602, 3603, 3604, 3603, 3603, 3603, 3585, 3603, 3585, 3603, 3585, 3605, 3605, 3605, 3605, 3605, 3585, 3585, 3605, 3605, 3585, 3606, 3585, 3585, 3606, 3606, 3606, 3606, 3606, 3606, 3606, 3607, 3585, 3607, 3607, 3607, 3585, 3607, 3607, 3607, 3607, 3585, 3585, 3608, 3609, 3585, 3585, 3585, 3585, 3585, 3585, 3610, 3585, 3585, 3585, 3585, 3585, 3585, 3611, 3611, 168, 168, 168, 3585, 3612, 3585, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 3585, 3585, 3613, 3585, 3585, 3585, 3585, 3614, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3615, 3615, 3615, 3615, 3585, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3616, 3609, 3585, 3585, 3585, 3585, 3585, 3617, 3617, 3617, 3585, 3616, 3585, 3617, 3585, 3618, 3617, 3585, 3585, 3619, 3585, 3585, 3620, 3620, 3620, 3620, 3620, 3620, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 3585, 3621, 3585, 3585, 3622, 3622, 3622, 3622, 3585, 3585, 3623, 3585, 3585, 3585, 3624, 3624, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3625, 3585, 3626, 3585, 3585, 3627, 3585, 3585, 3585, 3628, 3628, 3628, 3628, 3628, 3585, 3629, 3585, 3585, 3585, 3585, 3585, 3585, 3630, 3629, 3630, 3630, 3585, 3585, 3631, 3585, 3585, 3585, 3585, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3633, 3585, 3585, 3585, 3634, 3634, 3635, 3634, 3634, 3634, 3634, 3634, 3634, 3634, 3634, 3634, 3634, 3634, 3634, 3636, 3585, 3585, 3585, 3585, 3585, 3637, 3585, 3585, 3585, 3585, 3585, 3638, 3638, 3638, 3638, 3638, 3638, 3585, 3585, 3585, 3585, 3585, 3585, 3639, 3585, 3585, 3585, 3585, 3585, 3585, 3640, 3640, 3640, 3640, 3640, 3640, 3640, 3640, 3640, 3640, 3640, 3640, 3640, 3640, 3585, 3585, 3641, 3585, 3642, 3643, 3585, 3644, 3644, 3644, 3644, 3644, 3644, 3644, 3644, 3644, 3644, 3644, 3644, 3644, 3644, 3585, 3585, 3585, 3585, 3645, 3646, 3585, 3585, 3585, 3585, 3647, 3585, 3585, 3585, 3585, 3648, 3649, 3650, 3650, 3585, 3651, 3650, 3650, 3650, 3650, 3652, 3653, 3650, 3650, 3585, 3585, 3585, 3585, 3654, 3585, 3655, 3655, 3655, 3655, 3655, 3655, 3655, 3655, 3655, 3655, 3655, 3655, 3655, 3655, 3585, 3585, 3585, 3585, 3585, 3656, 3585, 3585, 3585, 3585, 3657, 3585, 3585, 3658, 3585, 3658, 3658, 3659, 3658, 3658, 3658, 3658, 3658, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3660, 3660, 3660, 3585, 3585, 3660, 3660, 3660, 3660, 3661, 3661, 3661, 3661, 3661, 3661, 3661, 3661, 3662, 3585, 3662, 3662, 3662, 3662, 3662, 3662, 3663, 3664, 3664, 3585, 3664, 3585, 3663, 3585, 3585, 3663, 3585, 3665, 3665, 3585, 3585, 3585, 3585, 3665, 3665, 3585, 3585, 3666, 3666, 3666, 3666, 3666, 3585, 3585, 3666, 3666, 3666, 3666, 3667, 3585, 3585, 3667, 3667, 3667, 3667, 3585, 3667, 3668, 3668, 3585, 3669, 3585, 3670, 3585, 3585, 3585, 3671, 3671, 3672, 3673, 3585, 3674, 3675, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3671, 642, 3585, 3676, 3677, 642, 642, 3678, 642, 3675, 3675, 3585, 3679, 3680, 3681, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 3668, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 697, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 642, 3682, 3682, 3683, 3585, 3585, 3585, 3585, 3585, 3684, 3684, 3585, 3585, 3685, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3684, 3585, 3686, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 796, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3687, 3688, 3585, 3585, 3585, 3687, 3585, 3689, 3688, 3687, 3688, 3688, 3585, 3690, 3691, 3687, 3691, 3691, 3692, 3693, 3585, 3585, 3585, 3585, 3585, 3585, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 885, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3694, 3694, 3694, 3694, 3585, 3585, 3585, 3695, 3585, 3585, 3585, 3696, 3695, 3585, 3697, 3695, 3585, 3585, 3585, 3585, 3698, 3699, 3698, 3585, 3700, 3585, 3700, 3700, 3700, 3700, 3700, 3585, 3701, 3702, 3585, 3701, 3585, 3702, 3702, 3701, 3701, 3701, 3585, 3585, 3703, 3703, 3704, 3704, 3705, 3585, 3705, 3705, 3585, 3705, 3705, 3705, 3705, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3706, 3585, 3707, 3585, 3585, 3706, 3585, 3708, 3707, 3706, 3707, 3707, 3709, 3710, 3706, 3706, 3706, 3706, 3706, 3706, 3706, 3706, 3706, 3706, 3706, 3706, 3706, 3706, 3706, 3706, 3710, 3710, 3711, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3712, 3712, 3712, 3712, 3712, 3712, 3712, 3585, 3713, 3713, 3713, 3713, 3713, 3713, 3713, 3713, 3713, 3713, 3713, 3713, 3713, 3713, 3713, 3713, 3713, 3713, 3714, 3585, 3714, 3585, 3715, 3715, 3715, 3715, 3715, 3715, 3715, 3715, 3715, 3715, 3715, 3715, 3715, 3715, 3715, 3715, 3715, 3715, 3716, 3717, 3718, 3585, 3716, 3719, 3585, 3719, 3585, 3585, 3720, 3721, 3720, 3720, 3585, 3722, 3585, 3720, 3720, 3720, 3720, 3585, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3585, 3724, 3724, 3585, 3725, 3726, 3726, 3725, 3725, 3725, 3725, 3725, 3725, 3725, 3585, 3585, 3585, 3585, 3727, 3727, 3585, 3728, 3585, 3585, 3729, 3729, 3585, 3730, 3585, 3731, 3731, 3732, 3733, 3732, 3732, 3734, 3734, 3732, 3735, 3732, 3736, 3736, 3737, 3738, 3737, 3737, 3739, 3739, 3737, 3740, 3737, 3741, 3741, 3742, 3743, 3742, 3742, 3744, 3744, 3742, 3745, 3742, 3746, 3746, 3727, 3727, 3729, 3729, 3747, 3747, 3748, 3749, 3748, 3748, 3750, 3750, 3748, 3751, 3748, 3585, 3585, 3752, 3753, 3754, 3753, 3755, 3585, 3585, 3585, 3756, 3756, 3585, 3585, 3757, 3756, 3758, 3585, 3585, 3585, 3759, 3760, 3760, 3761, 3762, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3763, 3764, 3765, 3766, 3585, 3767, 3767, 3768, 3768, 3755, 3769, 3585, 3585, 3585, 3585, 3770, 3585, 3771, 3772, 3773, 3773, 3774, 3775, 3776, 3776, 3777, 1268, 1268, 1268, 1268, 3755, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 3585, 3585, 3585, 3585, 3585, 3763, 3585, 3764, 3767, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 3755, 1268, 1268, 1268, 1268, 1268, 1268, 1301, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 3585, 3585, 3778, 3585, 3585, 3779, 3780, 3780, 3585, 3781, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3782, 3783, 3585, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3585, 3585, 3585, 3585, 3585, 3585, 3783, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3585, 3585, 3585, 3585, 3585, 3585, 3783, 3779, 3779, 3585, 3585, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3784, 3585, 3785, 3786, 3786, 3787, 3788, 3585, 3585, 3789, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3585, 3585, 3585, 3585, 3585, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3585, 3585, 3585, 3585, 3585, 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, 3791, 3792, 3793, 3794, 3795, 3796, 3797, 3798, 3585, 3799, 3799, 3799, 3799, 3585, 3585, 3800, 3800, 3800, 3800, 3801, 3801, 3801, 3802, 3802, 3803, 3804, 3803, 3803, 3805, 3805, 3803, 3806, 3803, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3807, 3585, 3808, 3809, 3810, 3810, 3810, 3810, 3810, 3585, 3585, 3585, 3811, 3808, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3810, 3585, 3812, 3585, 3585, 3585, 3585, 3813, 3813, 3813, 3813, 3813, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3815, 3816, 3585, 3585, 3585, 3817, 3818, 3818, 3819, 3820, 3819, 3819, 3821, 3821, 3819, 3822, 3819, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3824, 3825, 3825, 3826, 3826, 3827, 3828, 3827, 3827, 3829, 3829, 3827, 3830, 3827, 3831, 3585, 3832, 3585, 3585, 3585, 3585, 3585, 3833, 3585, 3834, 3835, 3585, 3585, 3836, 3585, 3837, 3838, 3838, 3838, 3838, 3839, 3840, 3841, 3838, 3838, 3842, 3843, 3844, 3844, 3844, 3844, 3845, 3846, 3847, 3844, 3844, 3848, 3849, 3850, 3850, 3850, 3850, 3851, 3852, 3853, 3850, 3850, 3854, 3855, 3856, 3857, 3858, 3857, 3585, 3585, 3859, 3859, 3859, 3859, 3859, 3860, 3860, 3861, 3862, 3859, 3859, 3859, 3863, 3863, 3864, 3585, 3585, 3585, 3865, 3866, 3867, 3868, 3869, 3585, 3585, 3585, 3585, 3870, 3585, 3870, 3871, 3871, 3872, 3872, 3873, 3585, 3585, 3874, 3585, 3585, 3875, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3876, 3585, 3585, 3585, 3585, 3877, 3585, 3585, 3878, 3878, 3869, 3879, 3880, 3881, 3585, 3882, 3585, 3883, 3881, 3884, 3884, 3885, 3585, 3585, 3886, 1867, 1867, 1867, 1867, 3585, 3585, 3585, 3585, 3585, 3887, 3585, 3888, 3889, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1887, 3585, 3585, 1867, 1867, 3869, 1867, 1867, 1867, 1867, 1867, 1867, 1904, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1904, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1909, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 3585, 3585, 3890, 3585, 3585, 3585, 3585, 3891, 3891, 3585, 3585, 3892, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3893, 3894, 3894, 3895, 3890, 3890, 3890, 3890, 3585, 3585, 3585, 3585, 3585, 3585, 3896, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3585, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3585, 3585, 3897, 3898, 3898, 3899, 3900, 3900, 3900, 3900, 3585, 3585, 3585, 3585, 3585, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3585, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3585, 3901, 3902, 3903, 3904, 3905, 3906, 3585, 3907, 3907, 3907, 3907, 3585, 3585, 3585, 3908, 3908, 3908, 3908, 3909, 3909, 3909, 3910, 3585, 3910, 3910, 3910, 3911, 3912, 3913, 3914, 3910, 3585, 3910, 3915, 3916, 3917, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3918, 3919, 3585, 3585, 3585, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3585, 3585, 3585, 3585, 3921, 3921, 3921, 3921, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3922, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3923, 3924, 3585, 3585, 3925, 3925, 3925, 3925, 3926, 3927, 3928, 3925, 3925, 3929, 3930, 3585, 3931, 3931, 3931, 3931, 3931, 3931, 3931, 3931, 3931, 3931, 3931, 3931, 3931, 3931, 3932, 3933, 3934, 3934, 3935, 3935, 3935, 3935, 3936, 3937, 3938, 3935, 3935, 3939, 3940, 3585, 3585, 3941, 3585, 3942, 3585, 3585, 3943, 3585, 3944, 3585, 3945, 3945, 3946, 3947, 3948, 3948, 3949, 3950, 3951, 3951, 3952, 3953, 3954, 3585, 3954, 3955, 3585, 3956, 3957, 3585, 3958, 3957, 3957, 3959, 3959, 3585, 3960, 3961, 3961, 3585, 3585, 3962, 3963, 3964, 3585, 3965, 3965, 3585, 3966, 3967, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3968, 3969, 3969, 3970, 3970, 3971, 3964, 3972, 3585, 3585, 3585, 3585, 3585, 3973, 2359, 2359, 2359, 2359, 3585, 3585, 3585, 2359, 3964, 2375, 2359, 2359, 2359, 2359, 2359, 2371, 2359, 2359, 2359, 2375, 3585, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 3585, 3585, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 2359, 3585, 3974, 2375, 2359, 2359, 2359, 2359, 2359, 2375, 2359, 2359, 2359, 3585, 3585, 3975, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3976, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 2459, 3585, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3585, 3585, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3977, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3978, 3979, 3980, 3981, 3981, 3981, 3981, 3585, 3585, 3585, 3982, 3982, 3982, 3982, 3983, 3983, 3983, 3984, 3984, 3585, 3985, 3986, 3987, 3988, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3989, 3990, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3991, 3585, 3585, 3585, 3585, 3992, 3992, 3992, 3992, 3993, 3993, 3993, 3993, 3993, 3993, 3993, 3993, 3993, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3994, 3585, 3585, 3995, 3995, 3996, 3997, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3999, 4000, 4000, 4001, 4001, 4002, 4003, 3585, 3585, 4004, 3585, 3585, 4005, 4006, 4007, 4008, 3585, 4009, 3585, 4010, 3585, 3988, 4011, 3585, 3585, 3585, 4012, 4013, 4014, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 4015, 4016, 4016, 3585, 4017, 4018, 4017, 4019, 4020, 4021, 4022, 4020, 2715, 2715, 2715, 2715, 2715, 3585, 2715, 2715, 2715, 2715, 2721, 2721, 3585, 2715, 2715, 3585, 2715, 2715, 2715, 2715, 2715, 2715, 2715, 2715, 2715, 2715, 2715, 2715, 2715, 2715, 2715, 2715, 4020, 3585, 3585, 2715, 2715, 2748, 2715, 2715, 3585, 2715, 2715, 2715, 2715, 2721, 2761, 2715, 2715, 2715, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 3585, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4023, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4024, 4025, 4026, 4026, 4026, 4026, 3585, 3585, 3585, 4027, 4027, 4027, 4027, 4028, 4028, 4028, 4029, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 4030, 4031, 4032, 3585, 4032, 4032, 4032, 4032, 3585, 3585, 3585, 3585, 3585, 3585, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4034, 4034, 4034, 4034, 4035, 4035, 4035, 4035, 4036, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4038, 4038, 4039, 3585, 4040, 4041, 4042, 4043, 4044, 3585, 3585, 3585, 4045, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 4046, 4046, 4047, 4048, 4049, 4050, 4051, 4052, 4049, 2947, 3585, 2947, 2947, 2947, 2947, 3585, 2947, 4049, 2947, 2947, 2947, 4049, 2947, 2947, 2947, 2947, 2947, 2947, 2949, 3585, 3585, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2947, 2949, 2978, 3585, 2947, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 4053, 4053, 4053, 4053, 4053, 4053, 3585, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4055, 4056, 4056, 4056, 3585, 3585, 3585, 3585, 3585, 4057, 4058, 4058, 4058, 4059, 4060, 3585, 3585, 3585, 4061, 4062, 4062, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 4063, 4063, 4063, 4063, 4063, 4063, 4063, 4064, 4065, 4066, 4067, 4067, 4067, 4067, 4068, 4068, 4069, 4070, 3585, 4071, 4072, 4073, 4074, 4075, 4076, 4077, 4077, 4078, 3585, 3585, 3585, 4079, 3585, 4080, 4079, 4081, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 4082, 4083, 4084, 4085, 4086, 3585, 4087, 4085, 3116, 3585, 3585, 3585, 3585, 3585, 4088, 3585, 4089, 4090, 3116, 3116, 3116, 3116, 3119, 4085, 3131, 3585, 3133, 3116, 3131, 3585, 3585, 3585, 3585, 3585, 3585, 3116, 3116, 3116, 4085, 3116, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 4091, 4091, 4091, 3585, 3585, 3585, 3585, 3585, 3585, 4092, 4091, 4091, 4091, 4091, 4091, 4091, 4093, 3585, 3585, 3585, 3585, 3585, 4093, 4093, 4093, 4093, 4094, 4095, 3585, 4096, 4097, 4098, 4099, 4100, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 4101, 4101, 4101, 4101, 4101, 4102, 4103, 4104, 4104, 4105, 4106, 3585, 4107, 4108, 4109, 4099, 4110, 3585, 3585, 3585, 3585, 4111, 3585, 4112, 4112, 4113, 4113, 4114, 3585, 3585, 3585, 4115, 3585, 4116, 4117, 4118, 4119, 4120, 4119, 3241, 3585, 4121, 4122, 4121, 3585, 3241, 3243, 4123, 4123, 3251, 3585, 4123, 3585, 4123, 3585, 3585, 3241, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3241, 3241, 3241, 3243, 4124, 3585, 3585, 3585, 3585, 3585, 4125, 4125, 4125, 4125, 4125, 4126, 4127, 4128, 3585, 4129, 4130, 3585, 3585, 3585, 3585, 3585, 4131, 4131, 4131, 4131, 4131, 4132, 4133, 4133, 4134, 3585, 4135, 4136, 4137, 4138, 3585, 4139, 3585, 4140, 3585, 3585, 3585, 3585, 4141, 4142, 3585, 3241, 4143, 3241, 3241, 3585, 3585, 3585, 4144, 3585, 4144, 3327, 3585, 4144, 3585, 4144, 3585, 3585, 3585, 3585, 3331, 3331, 3585, 3585, 3585, 3333, 3333, 3585, 4144, 3334, 3334, 4144, 3585, 3585, 3317, 3327, 3327, 3585, 3341, 3241, 3585, 3585, 3585, 3585, 3585, 3241, 3241, 3241, 3585, 4145, 4146, 4145, 3585, 3585, 3585, 3585, 4147, 4147, 4147, 4147, 4147, 4148, 4149, 4150, 3585, 3585, 3585, 3585, 3585, 4151, 4151, 4151, 4151, 4151, 4152, 4153, 4153, 4154, 3585, 4155, 4156, 4157, 4158, 3585, 3585, 3585, 4159, 4160, 3327, 3405, 3585, 3405, 3585, 3241, 4161, 4162, 3241, 3585, 3408, 3585, 3585, 3585, 3418, 3585, 3408, 3421, 3408, 3585, 3408, 3408, 3408, 3408, 3585, 3585, 3430, 3585, 3585, 3585, 3434, 3585, 3405, 3585, 3585, 3585, 3585, 3241, 3241, 3585, 3585, 3585, 3585, 4163, 4164, 4164, 4164, 4165, 3585, 4166, 4167, 3585, 3585, 3585, 3585, 3585, 4168, 3585, 4168, 4169, 4170, 4170, 4171, 3585, 4172, 3585, 3585, 3241, 4173, 3408, 3408, 3421, 3421, 3585, 3408, 3585, 3585, 3481, 3470, 3432, 3432, 3585, 3408, 3585, 3585, 3408, 3490, 3585, 3585, 3585, 3241, 3585, 3585, 3585, 4174, 4175, 4176, 4177, 3585, 3585, 4178, 4178, 4179, 4179, 3585, 4172, 3408, 3511, 3585, 3470, 3241, 4180, 3585, 3585, 3510, 3408, 3486, 3488, 3487, 3585, 3585, 3241, 3585, 3585, 4174, 4175, 4181, 3585, 3585, 4177, 3585, 3585, 4182, 4182, 3585, 3511, 3510, 3241, 4183, 3517, 3585, 3511, 3487, 3585, 3585, 3241, 3585, 3585, 4174, 3585, 4181, 4184, 4184, 3241, 4185, 3545, 3585, 3241, 3585, 4174, 4186, 4186, 3241, 4187, 3585, 4188, 4188, 3241, 4189, 3585, 3585, 3241, 3585, 3585, 3241, 3241, 3241, 3241, 3241, 3585, 0, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585 } ; static yyconst flex_int16_t yy_nxt[38701] = { 0, 3585, 3585, 75, 76, 81, 75, 76, 81, 607, 608, 75, 76, 77, 78, 84, 77, 78, 755, 3585, 79, 85, 86, 82, 81, 3585, 198, 81, 87, 198, 80, 568, 199, 80, 573, 758, 569, 266, 88, 574, 266, 576, 245, 582, 200, 677, 577, 625, 583, 77, 81, 78, 77, 81, 78, 267, 671, 85, 89, 86, 90, 75, 76, 90, 585, 84, 75, 76, 245, 586, 935, 85, 86, 671, 685, 93, 94, 95, 91, 81, 590, 312, 81, 96, 312, 591, 594, 598, 88, 934, 622, 595, 599, 97, 101, 102, 568, 82, 103, 82, 671, 605, 1335, 671, 104, 105, 570, 85, 89, 86, 676, 106, 94, 89, 95, 98, 75, 76, 98, 338, 312, 107, 338, 312, 573, 93, 94, 95, 81, 610, 1762, 81, 1762, 99, 111, 112, 81, 82, 82, 81, 104, 671, 105, 97, 113, 114, 82, 108, 101, 102, 108, 115, 103, 431, 82, 615, 431, 957, 104, 105, 616, 116, 94, 89, 95, 109, 2652, 118, 111, 112, 118, 432, 619, 612, 716, 107, 612, 620, 113, 114, 113, 117, 114, 634, 645, 119, 613, 645, 635, 121, 75, 122, 121, 639, 104, 116, 105, 646, 640, 568, 123, 124, 125, 763, 569, 457, 1004, 126, 457, 128, 75, 122, 128, 758, 113, 117, 114, 127, 131, 132, 123, 124, 125, 458, 671, 623, 1005, 129, 133, 134, 624, 138, 131, 132, 138, 135, 123, 127, 124, 981, 141, 142, 133, 134, 457, 136, 570, 457, 573, 139, 143, 144, 145, 574, 671, 671, 123, 146, 124, 136, 622, 981, 458, 717, 133, 137, 134, 147, 626, 627, 671, 148, 141, 142, 148, 709, 746, 710, 133, 137, 134, 747, 143, 144, 145, 1289, 143, 711, 144, 149, 75, 76, 630, 81, 75, 76, 81, 631, 568, 147, 77, 78, 763, 569, 77, 78, 361, 79, 966, 361, 457, 82, 362, 457, 758, 622, 671, 80, 143, 491, 144, 80, 491, 491, 82, 671, 491, 622, 458, 764, 755, 755, 765, 1328, 363, 728, 77, 492, 78, 729, 77, 492, 78, 74, 74, 75, 76, 74, 150, 151, 74, 152, 150, 74, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 162, 162, 162, 163, 158, 164, 158, 165, 166, 167, 167, 167, 167, 167, 167, 167, 168, 169, 167, 167, 170, 171, 167, 169, 167, 167, 167, 172, 173, 174, 74, 175, 176, 177, 178, 179, 180, 181, 182, 167, 183, 167, 167, 184, 185, 186, 187, 188, 167, 189, 190, 191, 192, 193, 194, 167, 167, 167, 195, 150, 196, 197, 167, 74, 74, 75, 76, 74, 201, 151, 74, 202, 203, 204, 153, 205, 206, 207, 208, 209, 210, 74, 211, 74, 74, 74, 74, 74, 212, 213, 214, 215, 216, 217, 217, 217, 217, 217, 217, 217, 217, 218, 217, 217, 219, 220, 217, 218, 217, 217, 217, 77, 74, 78, 221, 222, 223, 224, 225, 226, 227, 228, 229, 217, 230, 217, 217, 231, 232, 233, 234, 235, 217, 236, 237, 238, 239, 240, 241, 217, 217, 217, 242, 243, 74, 244, 217, 246, 246, 75, 247, 246, 246, 248, 246, 249, 246, 246, 250, 77, 251, 252, 246, 246, 246, 246, 253, 74, 74, 74, 74, 254, 246, 246, 246, 246, 255, 256, 256, 256, 256, 256, 256, 256, 256, 257, 256, 256, 258, 256, 256, 257, 256, 256, 256, 259, 260, 261, 246, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 262, 256, 256, 256, 256, 256, 246, 246, 263, 264, 265, 74, 74, 75, 76, 74, 201, 151, 74, 268, 203, 204, 153, 205, 206, 207, 208, 209, 269, 270, 211, 74, 74, 74, 74, 74, 74, 213, 214, 215, 216, 271, 271, 271, 271, 271, 271, 271, 271, 272, 271, 271, 273, 274, 271, 272, 271, 271, 271, 77, 74, 78, 221, 275, 276, 277, 278, 279, 280, 281, 282, 271, 283, 271, 271, 284, 285, 286, 287, 288, 271, 289, 290, 291, 292, 293, 294, 271, 271, 271, 295, 243, 196, 244, 271, 74, 74, 75, 76, 74, 74, 151, 74, 296, 74, 74, 297, 77, 78, 74, 74, 74, 74, 74, 79, 74, 74, 74, 74, 74, 298, 74, 74, 74, 80, 299, 299, 299, 299, 299, 299, 299, 299, 300, 299, 299, 301, 299, 299, 300, 299, 299, 299, 77, 74, 78, 74, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 302, 299, 299, 299, 299, 299, 303, 74, 74, 74, 299, 74, 304, 75, 76, 304, 74, 74, 74, 305, 306, 306, 74, 77, 78, 306, 74, 74, 74, 74, 79, 74, 74, 74, 74, 307, 308, 74, 74, 74, 80, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 77, 74, 78, 306, 310, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 311, 74, 74, 74, 309, 314, 315, 321, 314, 315, 321, 1249, 1250, 324, 325, 316, 317, 753, 316, 317, 753, 981, 318, 326, 327, 322, 505, 991, 573, 505, 328, 992, 319, 574, 528, 319, 758, 528, 647, 671, 329, 647, 538, 981, 506, 538, 332, 324, 325, 332, 648, 320, 82, 317, 320, 1924, 317, 326, 327, 330, 539, 331, 566, 571, 333, 566, 571, 580, 588, 566, 580, 588, 566, 596, 329, 759, 596, 754, 759, 568, 567, 572, 1001, 1002, 569, 581, 589, 567, 760, 755, 2653, 597, 758, 330, 1003, 331, 74, 334, 75, 76, 334, 74, 74, 74, 335, 74, 74, 74, 77, 78, 74, 74, 74, 74, 74, 79, 74, 74, 74, 74, 74, 336, 74, 74, 74, 80, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 77, 74, 78, 74, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 74, 74, 74, 74, 337, 74, 304, 339, 76, 304, 74, 74, 74, 340, 306, 306, 74, 77, 78, 306, 341, 74, 341, 74, 79, 74, 74, 74, 74, 307, 308, 74, 342, 74, 343, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 77, 74, 78, 306, 344, 345, 344, 344, 344, 346, 344, 344, 344, 347, 344, 344, 344, 344, 344, 344, 344, 344, 344, 348, 344, 344, 344, 344, 344, 344, 344, 311, 74, 74, 74, 344, 304, 75, 76, 304, 312, 75, 76, 312, 573, 75, 76, 77, 78, 574, 763, 77, 78, 671, 79, 364, 365, 758, 82, 307, 758, 864, 79, 307, 80, 541, 542, 671, 80, 366, 609, 367, 80, 609, 671, 543, 544, 602, 603, 1882, 602, 618, 545, 77, 618, 78, 718, 77, 572, 78, 719, 77, 546, 78, 613, 604, 671, 566, 566, 572, 566, 566, 748, 748, 748, 748, 720, 690, 1290, 749, 691, 543, 568, 547, 311, 567, 567, 569, 311, 74, 349, 75, 76, 349, 74, 74, 74, 350, 74, 74, 74, 351, 78, 74, 341, 352, 341, 74, 79, 74, 74, 74, 74, 353, 74, 354, 74, 355, 356, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 77, 358, 78, 74, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 359, 357, 357, 357, 357, 357, 360, 357, 357, 357, 357, 311, 74, 74, 74, 357, 81, 75, 76, 81, 75, 369, 628, 941, 74, 628, 941, 364, 365, 948, 370, 371, 948, 1228, 82, 637, 671, 372, 637, 968, 629, 366, 1229, 367, 80, 2654, 74, 373, 671, 374, 75, 369, 374, 638, 74, 650, 650, 650, 650, 696, 370, 371, 651, 77, 969, 78, 370, 375, 371, 697, 622, 654, 654, 654, 654, 677, 74, 373, 699, 698, 700, 996, 671, 548, 541, 542, 548, 671, 701, 571, 702, 997, 571, 981, 543, 544, 370, 655, 371, 75, 76, 549, 686, 573, 671, 671, 692, 572, 574, 77, 78, 546, 687, 693, 1156, 981, 79, 694, 671, 688, 695, 689, 1010, 376, 721, 377, 80, 655, 736, 671, 543, 737, 547, 1155, 761, 2655, 653, 761, 722, 378, 712, 738, 713, 981, 723, 77, 762, 78, 739, 714, 715, 379, 380, 381, 761, 382, 383, 761, 384, 1010, 758, 385, 568, 386, 387, 981, 762, 569, 388, 389, 390, 391, 392, 74, 74, 75, 76, 74, 74, 74, 74, 393, 74, 74, 74, 77, 78, 394, 74, 74, 74, 74, 79, 74, 74, 74, 74, 395, 74, 74, 74, 396, 80, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 398, 397, 397, 397, 397, 397, 77, 399, 78, 394, 397, 397, 400, 401, 402, 397, 403, 397, 397, 404, 397, 397, 405, 397, 406, 407, 397, 397, 397, 408, 397, 409, 410, 411, 397, 397, 397, 74, 74, 74, 412, 397, 413, 414, 415, 416, 414, 413, 413, 417, 418, 413, 413, 413, 419, 420, 413, 413, 413, 413, 413, 421, 413, 413, 413, 413, 422, 422, 413, 413, 413, 423, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 419, 413, 420, 413, 424, 424, 424, 425, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 426, 424, 424, 424, 427, 428, 424, 429, 424, 424, 424, 424, 430, 413, 413, 413, 424, 433, 433, 434, 435, 433, 433, 433, 433, 436, 433, 433, 433, 437, 438, 433, 433, 433, 433, 433, 439, 433, 433, 433, 433, 440, 441, 433, 433, 433, 442, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 444, 443, 443, 443, 443, 443, 437, 433, 438, 433, 443, 443, 445, 446, 447, 443, 448, 443, 443, 449, 443, 443, 450, 443, 451, 452, 443, 443, 443, 453, 443, 454, 455, 456, 443, 443, 443, 441, 433, 433, 433, 443, 433, 433, 434, 435, 433, 433, 433, 433, 459, 433, 433, 433, 460, 438, 433, 433, 433, 433, 433, 439, 433, 433, 433, 433, 433, 441, 433, 433, 433, 442, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 437, 433, 438, 433, 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, 441, 433, 433, 433, 461, 433, 433, 434, 435, 433, 433, 433, 433, 462, 433, 433, 433, 437, 463, 433, 433, 433, 433, 433, 439, 433, 433, 433, 433, 433, 433, 433, 433, 433, 442, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 465, 464, 464, 464, 464, 464, 437, 433, 438, 433, 464, 464, 466, 467, 468, 464, 469, 464, 464, 470, 464, 464, 471, 464, 472, 473, 464, 464, 464, 474, 464, 475, 476, 477, 464, 464, 464, 433, 433, 433, 433, 464, 478, 478, 479, 480, 478, 478, 481, 478, 482, 478, 478, 483, 484, 485, 478, 478, 478, 478, 478, 486, 478, 478, 478, 478, 478, 478, 478, 478, 478, 487, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 489, 478, 490, 478, 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, 478, 478, 478, 478, 488, 478, 478, 479, 480, 478, 478, 481, 478, 493, 478, 478, 483, 484, 485, 478, 478, 478, 478, 478, 486, 478, 478, 478, 478, 478, 478, 478, 478, 478, 487, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, 489, 478, 490, 478, 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, 478, 478, 478, 478, 494, 495, 495, 479, 496, 495, 495, 497, 495, 498, 495, 495, 495, 499, 500, 495, 495, 495, 495, 495, 501, 495, 495, 495, 495, 495, 495, 495, 495, 495, 502, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 499, 504, 500, 495, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 495, 495, 495, 495, 503, 74, 507, 508, 509, 507, 74, 74, 510, 511, 74, 74, 74, 77, 78, 74, 74, 512, 74, 74, 79, 74, 74, 74, 74, 74, 512, 74, 74, 74, 80, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 514, 513, 513, 513, 513, 513, 77, 74, 78, 74, 513, 513, 515, 516, 517, 513, 518, 513, 513, 519, 513, 513, 520, 513, 521, 522, 513, 513, 513, 523, 513, 524, 525, 526, 513, 513, 513, 527, 74, 74, 74, 513, 529, 529, 530, 531, 529, 529, 529, 529, 532, 529, 529, 529, 533, 534, 529, 529, 529, 529, 529, 535, 529, 529, 529, 529, 529, 529, 529, 529, 529, 536, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 533, 529, 534, 529, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 529, 529, 529, 529, 537, 551, 552, 570, 566, 553, 671, 566, 984, 968, 554, 555, 556, 679, 679, 679, 679, 671, 557, 573, 680, 1065, 567, 671, 574, 743, 740, 570, 558, 977, 981, 1066, 647, 744, 969, 647, 681, 559, 671, 745, 560, 713, 703, 559, 648, 676, 973, 555, 571, 556, 704, 571, 657, 705, 658, 659, 706, 1252, 660, 707, 1253, 683, 708, 1087, 661, 662, 572, 663, 664, 665, 741, 671, 561, 1088, 671, 742, 1070, 1071, 562, 671, 563, 564, 551, 552, 564, 570, 553, 1363, 1072, 979, 724, 554, 555, 556, 684, 1245, 1124, 730, 725, 565, 731, 732, 751, 1125, 671, 751, 1246, 726, 752, 558, 727, 566, 733, 1128, 566, 734, 775, 735, 559, 775, 572, 560, 1132, 1129, 559, 1910, 568, 776, 555, 567, 556, 569, 777, 778, 766, 870, 767, 768, 884, 780, 769, 781, 1133, 671, 1288, 870, 770, 771, 885, 772, 773, 774, 870, 561, 870, 775, 1162, 571, 775, 562, 571, 563, 666, 667, 667, 666, 776, 671, 1173, 1184, 1162, 777, 778, 668, 669, 572, 1907, 669, 780, 670, 781, 775, 1173, 1184, 775, 672, 669, 673, 779, 940, 940, 810, 776, 811, 940, 782, 779, 777, 778, 779, 812, 813, 779, 671, 780, 779, 781, 671, 779, 1297, 674, 669, 666, 667, 667, 666, 573, 775, 1287, 1255, 775, 574, 677, 668, 669, 568, 671, 669, 776, 670, 569, 940, 784, 777, 778, 672, 669, 673, 573, 1256, 780, 775, 781, 574, 775, 675, 854, 854, 854, 854, 626, 627, 776, 855, 1883, 981, 775, 777, 778, 775, 674, 669, 566, 982, 780, 566, 781, 776, 983, 856, 968, 568, 777, 778, 783, 775, 569, 981, 775, 780, 567, 781, 860, 860, 860, 860, 776, 968, 779, 861, 775, 777, 778, 775, 857, 969, 779, 622, 780, 779, 781, 776, 814, 1268, 1393, 779, 777, 778, 779, 785, 1092, 1093, 969, 780, 775, 781, 671, 775, 963, 786, 936, 963, 1094, 936, 1394, 776, 787, 858, 788, 775, 777, 778, 775, 971, 1195, 1077, 972, 780, 1077, 781, 776, 789, 791, 937, 790, 777, 778, 950, 1195, 792, 950, 1257, 780, 793, 781, 779, 794, 807, 1079, 808, 2656, 1258, 573, 779, 870, 779, 779, 574, 671, 809, 795, 951, 779, 779, 870, 779, 779, 902, 1320, 779, 796, 870, 779, 870, 1134, 815, 1110, 1135, 1136, 816, 797, 1111, 798, 817, 799, 671, 938, 779, 938, 1137, 779, 1311, 981, 779, 800, 775, 779, 1144, 775, 818, 987, 671, 779, 819, 942, 988, 776, 942, 1291, 712, 779, 777, 778, 779, 981, 943, 779, 820, 780, 779, 781, 779, 779, 821, 671, 779, 825, 945, 1317, 822, 826, 671, 779, 840, 779, 779, 779, 779, 823, 841, 779, 824, 779, 779, 671, 779, 779, 801, 1292, 779, 1318, 671, 946, 827, 1117, 802, 828, 829, 803, 1118, 779, 804, 949, 779, 805, 949, 779, 806, 830, 779, 779, 831, 837, 832, 833, 671, 671, 834, 779, 566, 572, 779, 566, 568, 779, 937, 1312, 835, 569, 870, 779, 782, 1941, 779, 836, 842, 671, 567, 1162, 870, 843, 779, 878, 779, 779, 879, 870, 779, 870, 1313, 779, 779, 1162, 779, 779, 571, 838, 779, 571, 566, 779, 839, 566, 779, 846, 847, 847, 846, 846, 847, 847, 846, 671, 572, 1162, 848, 671, 567, 1322, 848, 938, 846, 847, 847, 846, 573, 677, 850, 1162, 851, 574, 850, 848, 851, 846, 847, 847, 846, 846, 847, 847, 846, 1148, 870, 850, 848, 851, 1149, 853, 848, 2378, 1295, 852, 870, 1222, 859, 852, 850, 671, 851, 870, 850, 903, 851, 865, 866, 870, 865, 1222, 852, 1039, 1039, 1039, 1039, 853, 867, 886, 1040, 887, 1153, 868, 869, 852, 870, 1154, 870, 852, 780, 888, 781, 865, 866, 981, 865, 865, 866, 671, 865, 1168, 677, 571, 867, 1325, 571, 568, 867, 868, 869, 1289, 569, 868, 869, 1168, 780, 981, 781, 2659, 780, 572, 781, 865, 866, 1169, 865, 865, 866, 1115, 865, 573, 1115, 871, 867, 671, 574, 1157, 867, 868, 869, 1323, 1158, 868, 869, 1324, 780, 1116, 781, 870, 780, 898, 781, 899, 865, 866, 872, 865, 1708, 870, 900, 901, 880, 870, 942, 867, 870, 942, 870, 881, 868, 869, 1708, 882, 1285, 943, 883, 780, 873, 781, 870, 671, 870, 889, 870, 870, 895, 945, 896, 2659, 955, 890, 1286, 955, 891, 870, 1179, 892, 897, 671, 893, 870, 870, 894, 870, 904, 870, 874, 572, 905, 1179, 1326, 946, 671, 951, 947, 870, 875, 907, 1190, 1180, 1897, 1163, 870, 876, 906, 877, 1164, 870, 870, 671, 566, 908, 1190, 566, 870, 910, 870, 909, 870, 913, 870, 1332, 1191, 914, 911, 870, 870, 912, 567, 915, 870, 925, 916, 917, 671, 985, 870, 870, 985, 870, 981, 1174, 1902, 870, 918, 870, 1175, 919, 870, 920, 871, 921, 571, 986, 922, 571, 1185, 1314, 870, 870, 671, 1186, 981, 870, 923, 870, 928, 870, 676, 870, 572, 924, 929, 870, 566, 926, 870, 566, 870, 1296, 927, 1159, 870, 870, 930, 974, 671, 671, 974, 931, 1160, 975, 567, 870, 1012, 1013, 1013, 1012, 1151, 671, 870, 1151, 870, 572, 1012, 1013, 1013, 1012, 1019, 1019, 1019, 1019, 1201, 976, 671, 1020, 1152, 1015, 1334, 1016, 1012, 1013, 1013, 1012, 1161, 1196, 1201, 1015, 1935, 1016, 1197, 1012, 1013, 1013, 1012, 1170, 1202, 1018, 1104, 1104, 1104, 1104, 1017, 1015, 1171, 1016, 1012, 1013, 1013, 1012, 1220, 1221, 1017, 1220, 1015, 671, 1016, 1012, 1013, 1013, 1012, 1106, 1319, 938, 671, 1321, 968, 566, 1017, 1015, 566, 1016, 1163, 1012, 1013, 1013, 1012, 1223, 1172, 1017, 1015, 1327, 1016, 1213, 1327, 567, 1023, 1107, 1214, 1022, 1024, 969, 571, 2272, 1017, 571, 1015, 1025, 1016, 1012, 1013, 1013, 1012, 671, 1344, 1017, 1012, 1013, 1013, 1012, 572, 1741, 1026, 671, 1012, 1013, 1013, 1012, 622, 1331, 1027, 1017, 1015, 612, 1016, 1741, 612, 566, 1028, 1015, 566, 1016, 1012, 1013, 1013, 1012, 613, 1015, 1029, 1016, 671, 1012, 1013, 1013, 1012, 567, 603, 1017, 1012, 1013, 1013, 1012, 671, 671, 1017, 1015, 671, 1016, 1203, 1340, 1329, 1165, 1017, 1204, 1015, 1030, 1016, 1032, 1330, 571, 1166, 1015, 571, 1016, 1012, 1013, 1013, 1012, 1031, 1884, 1017, 1042, 1042, 1043, 1042, 1167, 671, 572, 671, 1017, 1350, 1033, 1034, 1289, 671, 580, 1017, 1015, 580, 1016, 671, 1351, 1176, 1035, 1161, 1333, 1036, 1049, 1042, 1043, 1049, 1177, 1181, 581, 1037, 1187, 1043, 1043, 1043, 1043, 588, 1182, 1017, 588, 1188, 567, 1178, 1212, 1038, 2660, 1057, 1042, 1043, 1057, 596, 1044, 1343, 596, 589, 1189, 1192, 1212, 671, 1336, 1198, 1172, 671, 1045, 572, 1193, 671, 1046, 597, 1199, 1047, 1183, 1205, 609, 1183, 1048, 609, 1044, 671, 602, 603, 1206, 602, 1358, 1200, 1337, 1044, 622, 671, 1045, 1168, 572, 1899, 1046, 1168, 671, 1047, 604, 1045, 1194, 1044, 1048, 1046, 1194, 1168, 1047, 1293, 1294, 1168, 671, 1048, 1298, 1045, 671, 1169, 1161, 1046, 1299, 1169, 1047, 1043, 1043, 1043, 1043, 1048, 1108, 1108, 671, 1108, 1108, 1108, 1289, 1108, 1357, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1119, 1043, 1043, 1119, 1108, 1108, 1108, 1108, 1108, 1108, 1043, 1043, 1043, 1043, 618, 1207, 671, 618, 567, 622, 1141, 1043, 1043, 1141, 1208, 1209, 1368, 613, 1108, 1044, 1108, 1108, 572, 628, 1210, 2284, 628, 637, 572, 1167, 637, 1045, 1809, 1224, 671, 1046, 671, 1356, 1047, 671, 1366, 629, 1315, 1048, 1044, 638, 1316, 1224, 1161, 1108, 1108, 1108, 1108, 1215, 1044, 1218, 1045, 1225, 1211, 622, 1046, 1850, 1216, 1047, 1044, 1159, 1045, 1851, 1048, 1218, 1046, 622, 645, 1047, 1160, 645, 1045, 1217, 1048, 1219, 1046, 1165, 671, 1047, 1383, 646, 1367, 1338, 1048, 1758, 1166, 1230, 671, 1757, 1230, 1384, 1211, 622, 1231, 622, 671, 1341, 1339, 1232, 646, 1167, 753, 1342, 1161, 753, 650, 650, 650, 650, 1233, 671, 1372, 651, 761, 671, 1359, 761, 1352, 671, 1161, 666, 667, 667, 666, 1360, 762, 3585, 3585, 3585, 3585, 2667, 668, 669, 3585, 1235, 669, 1353, 670, 1758, 1237, 1238, 1238, 1237, 672, 669, 673, 1241, 1241, 1241, 1241, 1757, 1239, 753, 1242, 1239, 753, 670, 654, 654, 654, 654, 754, 1764, 1239, 671, 1364, 1395, 1236, 674, 669, 666, 667, 667, 666, 1763, 1365, 1396, 679, 679, 679, 679, 668, 669, 655, 680, 669, 653, 670, 1239, 1376, 1377, 1387, 1388, 672, 669, 673, 1259, 1259, 1259, 1259, 681, 671, 1369, 651, 671, 1370, 1390, 3585, 1626, 1391, 1261, 1261, 754, 655, 1898, 1262, 1262, 1354, 674, 669, 667, 667, 667, 667, 671, 683, 1263, 1627, 1010, 1226, 751, 668, 669, 751, 1355, 669, 752, 670, 1282, 1282, 1282, 1282, 671, 672, 669, 1283, 1703, 1703, 572, 1264, 1264, 1264, 1264, 1765, 759, 1765, 1265, 759, 684, 666, 667, 667, 666, 941, 1921, 1010, 941, 760, 674, 669, 668, 669, 681, 671, 669, 1680, 670, 653, 1379, 1261, 1934, 1379, 672, 669, 1016, 1380, 679, 679, 679, 679, 1381, 760, 948, 680, 1681, 948, 2668, 683, 3585, 3585, 3585, 3585, 1774, 941, 1774, 3585, 941, 674, 669, 681, 948, 963, 671, 948, 963, 1267, 1271, 1272, 1272, 1271, 671, 3585, 1278, 1278, 1278, 1278, 1885, 668, 1273, 1279, 684, 1273, 713, 968, 683, 1345, 1346, 671, 1347, 1275, 1273, 1276, 1348, 671, 1595, 681, 3585, 1596, 1361, 1349, 748, 748, 748, 748, 1694, 671, 2289, 749, 969, 3585, 3585, 3585, 3585, 1599, 1277, 1273, 3585, 684, 1362, 1913, 683, 775, 713, 1695, 775, 1373, 1374, 1374, 1373, 3585, 1709, 860, 860, 860, 860, 1710, 668, 669, 861, 938, 669, 1982, 1602, 1705, 780, 1603, 781, 1983, 2291, 669, 1016, 968, 1706, 1281, 1300, 1301, 1302, 1302, 1301, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1303, 1304, 1300, 1300, 1304, 1300, 1305, 1300, 669, 1728, 969, 671, 1306, 1304, 1307, 1300, 1300, 1300, 775, 936, 1707, 775, 936, 860, 860, 860, 860, 1742, 1729, 776, 861, 1600, 1743, 713, 777, 778, 1300, 1308, 1304, 1300, 2669, 780, 937, 781, 3585, 3585, 3585, 3585, 1776, 775, 1776, 3585, 775, 1497, 1498, 1498, 1497, 940, 940, 1764, 776, 1309, 940, 1763, 848, 777, 778, 1300, 1300, 1300, 1300, 1310, 780, 775, 781, 942, 775, 775, 942, 1785, 775, 1785, 677, 1787, 776, 1787, 943, 671, 776, 777, 778, 1714, 950, 777, 778, 950, 780, 938, 781, 940, 780, 775, 781, 1621, 775, 1714, 1621, 1796, 1378, 1796, 942, 775, 776, 942, 775, 1715, 951, 777, 778, 2367, 942, 943, 776, 942, 780, 3585, 781, 777, 778, 775, 1755, 943, 775, 945, 780, 1798, 781, 1798, 810, 942, 776, 968, 942, 945, 775, 777, 778, 775, 775, 1758, 943, 775, 780, 1757, 781, 776, 1607, 981, 946, 776, 777, 778, 945, 1400, 777, 778, 969, 780, 946, 781, 1607, 780, 775, 781, 955, 775, 671, 955, 1597, 981, 671, 1401, 1621, 776, 1598, 1621, 3585, 946, 777, 778, 775, 1755, 572, 775, 1587, 780, 1909, 781, 951, 1402, 1661, 776, 1923, 1661, 1403, 775, 777, 778, 775, 1604, 981, 981, 1404, 780, 1077, 781, 776, 1077, 1605, 1608, 2670, 777, 778, 775, 1609, 1016, 775, 622, 780, 671, 781, 3585, 981, 981, 776, 1115, 1804, 1079, 1115, 777, 778, 1732, 949, 1405, 1733, 949, 780, 775, 781, 671, 775, 775, 1606, 1116, 775, 1939, 1406, 1816, 776, 1816, 572, 1407, 776, 777, 778, 937, 775, 777, 778, 775, 780, 1749, 781, 3585, 780, 1954, 781, 776, 1804, 671, 1749, 775, 777, 778, 775, 846, 847, 847, 846, 780, 2671, 781, 776, 1408, 1409, 1750, 848, 777, 778, 1410, 1711, 1943, 775, 1411, 780, 775, 781, 671, 850, 1712, 851, 1077, 775, 776, 1077, 775, 1613, 981, 777, 778, 938, 671, 671, 776, 1713, 780, 1896, 781, 777, 778, 1613, 1412, 1919, 852, 1079, 780, 603, 781, 1413, 981, 1614, 671, 1942, 1707, 1414, 1415, 1416, 1415, 1415, 1416, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1417, 1415, 1415, 1415, 1415, 1418, 1419, 1415, 1077, 712, 1424, 1077, 1420, 1415, 1421, 1415, 1415, 1415, 775, 1738, 1826, 775, 1826, 1759, 671, 1425, 1747, 974, 1739, 776, 974, 1079, 1759, 975, 777, 778, 1415, 1415, 1415, 1415, 1747, 780, 671, 781, 603, 572, 671, 1167, 1829, 775, 1748, 1829, 775, 2368, 1903, 976, 854, 854, 854, 854, 776, 1422, 1740, 855, 1932, 777, 778, 1415, 1415, 1415, 1415, 1423, 780, 671, 781, 775, 671, 671, 775, 856, 1492, 1492, 1492, 1492, 1908, 775, 776, 855, 775, 713, 1426, 777, 778, 2308, 985, 1955, 776, 985, 780, 981, 781, 777, 778, 856, 857, 938, 775, 671, 780, 775, 781, 671, 986, 1758, 1757, 1151, 1427, 776, 1151, 1914, 1428, 981, 777, 778, 775, 671, 1911, 775, 857, 780, 1744, 781, 1751, 1152, 622, 776, 671, 858, 1429, 1745, 777, 778, 775, 671, 1928, 775, 1751, 780, 1912, 781, 1430, 1915, 775, 776, 1746, 775, 1752, 671, 777, 778, 1811, 858, 1760, 776, 1819, 780, 1819, 781, 777, 778, 671, 775, 1431, 1740, 775, 780, 1760, 781, 1926, 1758, 1757, 775, 776, 1757, 775, 1944, 1169, 777, 778, 2673, 1610, 981, 776, 1432, 780, 671, 781, 777, 778, 1611, 1220, 1221, 1433, 1220, 780, 775, 781, 1918, 775, 846, 847, 847, 846, 981, 1612, 1771, 776, 1434, 671, 671, 848, 777, 778, 2150, 1771, 671, 1757, 1772, 780, 2151, 781, 775, 850, 1606, 775, 1782, 1435, 1920, 1938, 1178, 1436, 1772, 776, 671, 1782, 1933, 1437, 777, 778, 671, 775, 1180, 1404, 775, 780, 1922, 781, 852, 671, 1189, 712, 776, 1039, 1039, 1039, 1039, 777, 778, 2311, 1040, 1764, 1763, 712, 780, 1763, 781, 1438, 1439, 1440, 1439, 1439, 1440, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1441, 1439, 1439, 1439, 1439, 1442, 1443, 1439, 1783, 1447, 1764, 1763, 1444, 1439, 1445, 1439, 1439, 1439, 1448, 1449, 1449, 1448, 1783, 671, 1793, 622, 1452, 671, 1763, 776, 671, 1963, 1191, 1793, 777, 778, 1439, 1439, 1439, 1439, 1289, 780, 1927, 781, 1019, 1019, 1019, 1019, 1200, 775, 671, 1020, 775, 847, 847, 847, 847, 1818, 671, 1794, 776, 671, 1929, 1824, 848, 777, 778, 1439, 1439, 1439, 1439, 1446, 780, 1794, 781, 775, 850, 1824, 775, 775, 671, 1450, 775, 1202, 1900, 1901, 776, 1225, 1948, 1451, 776, 777, 778, 671, 775, 777, 778, 775, 780, 671, 781, 852, 780, 1953, 781, 776, 1039, 1039, 1039, 1039, 777, 778, 775, 1040, 671, 775, 671, 780, 1930, 781, 1453, 671, 671, 776, 1931, 1022, 1947, 775, 777, 778, 775, 775, 1758, 1757, 775, 780, 671, 781, 776, 1454, 671, 1757, 776, 777, 778, 1936, 1945, 777, 778, 1937, 780, 2413, 781, 1404, 780, 775, 781, 1455, 775, 775, 1764, 1763, 775, 1951, 1940, 671, 776, 1940, 1961, 1763, 776, 777, 778, 1456, 775, 777, 778, 775, 780, 1757, 781, 671, 780, 1457, 781, 776, 1946, 1458, 671, 775, 777, 778, 775, 775, 671, 2317, 775, 780, 1952, 781, 776, 671, 1956, 671, 776, 777, 778, 1763, 671, 777, 778, 1753, 780, 1965, 781, 1753, 780, 1949, 781, 1460, 1459, 775, 671, 1789, 775, 1461, 1812, 1462, 592, 1950, 1962, 775, 776, 671, 775, 1812, 1327, 777, 778, 1327, 2681, 2327, 776, 1960, 780, 1289, 781, 777, 778, 1463, 1217, 1464, 775, 1465, 780, 775, 781, 1466, 1104, 1104, 1104, 1104, 775, 776, 1467, 775, 1261, 1261, 777, 778, 622, 1262, 1262, 776, 671, 780, 671, 781, 777, 778, 671, 1106, 1263, 775, 1468, 780, 775, 781, 1012, 1013, 1013, 1012, 1925, 603, 776, 713, 1799, 1469, 1958, 777, 778, 775, 671, 671, 775, 1799, 780, 1107, 781, 1857, 1470, 1015, 776, 1016, 1472, 1957, 775, 777, 778, 775, 1800, 2248, 671, 2248, 780, 603, 781, 776, 1801, 1471, 2391, 1473, 777, 778, 775, 1261, 1017, 775, 1959, 780, 671, 781, 1801, 1474, 775, 776, 2305, 775, 1964, 968, 777, 778, 1802, 1820, 1821, 776, 1820, 780, 601, 781, 777, 778, 775, 601, 1753, 775, 1475, 780, 1753, 781, 2685, 1822, 775, 776, 969, 775, 592, 2689, 777, 778, 1476, 1790, 2250, 776, 2250, 780, 1813, 781, 777, 778, 775, 1758, 2157, 775, 1477, 780, 1479, 781, 2158, 2153, 1813, 776, 1757, 1478, 671, 1761, 777, 778, 775, 1761, 1219, 775, 782, 780, 2690, 781, 1480, 1789, 1621, 776, 811, 1621, 592, 775, 777, 778, 775, 2238, 1808, 1481, 622, 780, 968, 781, 776, 2369, 2239, 2239, 775, 777, 778, 775, 1012, 1013, 1013, 1012, 780, 1758, 781, 776, 1482, 2166, 968, 775, 777, 778, 775, 969, 622, 1990, 1483, 780, 1990, 781, 776, 1634, 1991, 1016, 1484, 777, 778, 775, 775, 2166, 775, 775, 780, 969, 781, 2278, 2154, 2278, 776, 1104, 1104, 1104, 1104, 777, 778, 2280, 1017, 2280, 1485, 671, 780, 780, 781, 781, 1486, 1758, 2156, 1487, 846, 847, 847, 846, 1106, 854, 854, 854, 854, 1757, 1488, 848, 855, 846, 847, 847, 846, 2381, 677, 3585, 3585, 3585, 3585, 850, 848, 851, 3585, 2289, 856, 1489, 1107, 2288, 1493, 1493, 1493, 1493, 850, 1764, 851, 1494, 671, 2173, 3585, 846, 847, 847, 846, 1764, 852, 1013, 1013, 1013, 1013, 857, 848, 856, 2399, 2691, 1763, 865, 866, 852, 865, 2173, 2692, 1764, 850, 3585, 851, 1763, 867, 1969, 1634, 1761, 1969, 868, 869, 1761, 865, 866, 857, 865, 780, 853, 781, 592, 858, 1970, 1971, 867, 1790, 852, 671, 775, 868, 869, 775, 1017, 671, 942, 3585, 780, 942, 781, 866, 866, 2388, 866, 865, 866, 943, 865, 2321, 1496, 968, 867, 780, 2322, 781, 867, 868, 869, 945, 2380, 868, 869, 775, 865, 866, 775, 865, 780, 677, 781, 3585, 3585, 3585, 3585, 867, 969, 2282, 3585, 2282, 868, 869, 865, 866, 946, 865, 780, 780, 781, 781, 671, 2155, 2143, 867, 1840, 1841, 1841, 1840, 868, 869, 865, 866, 2285, 865, 2285, 780, 1239, 781, 2289, 1239, 2431, 867, 1104, 1104, 1104, 1104, 868, 869, 1239, 898, 2288, 865, 866, 780, 865, 781, 981, 671, 1012, 1013, 1013, 1012, 867, 1829, 671, 1106, 1829, 868, 869, 865, 866, 2291, 865, 1239, 780, 2290, 781, 1764, 981, 2693, 867, 1015, 1500, 1016, 2370, 868, 869, 865, 866, 1763, 865, 1107, 780, 1661, 781, 1758, 1661, 2376, 867, 1757, 1501, 1757, 2694, 868, 869, 2291, 1017, 671, 865, 866, 780, 865, 781, 1837, 1837, 1837, 1837, 2290, 1016, 867, 1838, 1502, 2164, 2245, 868, 869, 671, 865, 866, 1503, 865, 780, 2245, 781, 1637, 1637, 1637, 1637, 867, 2375, 671, 1020, 1757, 868, 869, 865, 866, 1713, 865, 622, 780, 1504, 781, 2310, 2167, 981, 867, 1753, 1753, 2379, 2697, 868, 869, 2167, 865, 866, 1753, 865, 780, 1778, 781, 2385, 2342, 2275, 584, 867, 2343, 981, 1612, 1505, 868, 869, 2275, 1019, 1019, 1019, 1019, 780, 981, 781, 1020, 865, 866, 1506, 865, 865, 866, 1746, 865, 671, 2192, 1507, 867, 2192, 1753, 2246, 867, 868, 869, 671, 981, 868, 869, 671, 780, 1022, 781, 671, 780, 2246, 781, 865, 866, 2193, 865, 865, 866, 671, 865, 1715, 2392, 2377, 867, 2698, 1508, 1509, 867, 868, 869, 2384, 2389, 868, 869, 1510, 780, 2276, 781, 1511, 780, 671, 781, 865, 866, 1753, 865, 865, 866, 2161, 865, 2276, 2383, 2171, 867, 2171, 1022, 2162, 867, 868, 869, 1748, 980, 868, 869, 603, 780, 2699, 781, 1764, 780, 2161, 781, 1763, 1513, 1763, 603, 1289, 1512, 671, 1514, 1415, 1515, 1516, 1415, 1515, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1517, 1415, 1415, 1415, 1415, 1518, 1519, 1415, 865, 866, 1753, 865, 1420, 1415, 1421, 1415, 1415, 1415, 2397, 867, 1522, 1753, 2271, 1763, 868, 869, 1523, 1145, 671, 865, 866, 780, 865, 781, 626, 627, 1415, 1415, 1415, 1415, 867, 3585, 3585, 3585, 3585, 868, 869, 1227, 3585, 2306, 2700, 2306, 780, 2386, 781, 671, 1828, 1828, 1828, 1828, 2309, 1520, 2309, 1859, 1860, 1860, 1859, 1415, 1415, 1415, 1415, 1521, 671, 865, 866, 1524, 865, 865, 866, 1525, 865, 622, 1828, 671, 867, 671, 1861, 2411, 867, 868, 869, 981, 1526, 868, 869, 671, 780, 2685, 781, 671, 780, 1289, 781, 865, 866, 712, 865, 865, 866, 2400, 865, 1862, 1828, 981, 867, 671, 2393, 671, 867, 868, 869, 2403, 3585, 868, 869, 1862, 780, 622, 781, 2402, 780, 2405, 781, 865, 866, 671, 865, 2674, 1527, 1241, 1241, 1241, 1241, 1528, 867, 671, 1242, 1758, 1757, 868, 869, 1661, 865, 866, 1661, 865, 780, 2408, 781, 1012, 1013, 1013, 1012, 867, 2174, 671, 2174, 1530, 868, 869, 865, 866, 1529, 865, 671, 780, 1016, 781, 2390, 671, 1270, 867, 1015, 671, 1016, 671, 868, 869, 865, 866, 2420, 865, 2394, 780, 1811, 781, 1028, 1753, 1531, 867, 1012, 1013, 1013, 1012, 868, 869, 2422, 1017, 1753, 1145, 2395, 780, 2398, 781, 2272, 865, 866, 1532, 865, 1820, 1821, 1533, 1820, 1634, 671, 1016, 867, 1449, 1449, 1449, 1449, 868, 869, 865, 866, 1534, 865, 1822, 780, 1379, 781, 1504, 1379, 2446, 867, 2714, 1380, 2447, 1017, 868, 869, 1381, 760, 2731, 2192, 2401, 780, 2192, 781, 1535, 1439, 1536, 1537, 1439, 1536, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1538, 1439, 1439, 1439, 1439, 1539, 1540, 1439, 1753, 1753, 1542, 1761, 1444, 1439, 1445, 1439, 1439, 1439, 865, 866, 1806, 865, 1761, 2271, 1543, 621, 2311, 2312, 1145, 867, 2168, 981, 1544, 671, 868, 869, 1439, 1439, 1439, 1439, 2749, 780, 671, 781, 2168, 1042, 1042, 1043, 1042, 865, 866, 2406, 865, 981, 1614, 1807, 3585, 3585, 3585, 3585, 867, 2750, 671, 3585, 2418, 868, 869, 1439, 1439, 1439, 1439, 1541, 780, 1811, 781, 865, 866, 2396, 865, 865, 866, 3585, 865, 1545, 3585, 671, 867, 671, 3585, 2756, 867, 868, 869, 3585, 3585, 868, 869, 1753, 780, 1044, 781, 1753, 780, 1753, 781, 865, 866, 671, 865, 2241, 2766, 1045, 2419, 671, 1108, 1046, 867, 2767, 1047, 2427, 1546, 868, 869, 1048, 865, 866, 1327, 865, 780, 1327, 781, 1753, 1753, 1753, 1753, 867, 2404, 1753, 671, 1547, 868, 869, 671, 621, 1753, 1767, 2412, 780, 1808, 781, 575, 1758, 1757, 1504, 865, 866, 2407, 865, 865, 866, 1757, 865, 2695, 2289, 671, 867, 671, 2288, 1548, 867, 868, 869, 2696, 2414, 868, 869, 671, 780, 1807, 781, 1753, 780, 2374, 781, 1289, 1549, 865, 866, 1761, 865, 865, 866, 671, 865, 2415, 2289, 2288, 867, 1757, 1761, 1145, 867, 868, 869, 2288, 2272, 868, 869, 671, 780, 1550, 781, 671, 780, 1551, 781, 865, 866, 1753, 865, 865, 866, 2161, 865, 2421, 712, 671, 867, 2716, 1989, 980, 867, 868, 869, 671, 2163, 868, 869, 1977, 780, 671, 781, 2288, 780, 2161, 781, 1876, 1876, 1876, 1876, 1553, 1552, 1345, 1877, 865, 866, 1554, 865, 1764, 1763, 2433, 1012, 1013, 1013, 1012, 867, 671, 1763, 2770, 1555, 868, 869, 865, 866, 671, 865, 2426, 780, 671, 781, 1556, 1758, 1757, 867, 1015, 1757, 1016, 2416, 868, 869, 865, 866, 671, 865, 671, 780, 2771, 781, 671, 2434, 981, 867, 2417, 2423, 671, 1763, 868, 869, 981, 1017, 713, 671, 1557, 780, 2432, 781, 865, 866, 1558, 865, 865, 866, 981, 865, 2725, 1559, 1641, 867, 1757, 2435, 981, 867, 868, 869, 671, 1560, 868, 869, 2375, 780, 2291, 781, 671, 780, 2290, 781, 865, 866, 2729, 865, 865, 866, 2772, 865, 1261, 1261, 1561, 867, 1289, 1870, 1870, 867, 868, 869, 1753, 1753, 868, 869, 1753, 780, 1871, 781, 1564, 780, 1562, 781, 575, 2289, 2288, 865, 866, 1768, 865, 981, 1259, 1259, 1259, 1259, 1758, 1565, 867, 651, 2289, 1563, 2773, 868, 869, 865, 866, 1757, 865, 2774, 780, 2288, 781, 981, 1566, 942, 867, 1972, 942, 1753, 1972, 868, 869, 1567, 865, 866, 943, 865, 780, 1381, 781, 1261, 2316, 1761, 1761, 867, 1887, 1761, 945, 1887, 868, 869, 968, 865, 866, 1767, 865, 780, 1701, 781, 575, 1568, 2424, 2425, 867, 626, 627, 2639, 2639, 868, 869, 865, 866, 946, 865, 1569, 780, 969, 781, 2564, 2291, 2290, 867, 653, 1570, 2573, 1571, 868, 869, 2290, 1761, 1764, 865, 866, 780, 865, 781, 2775, 1012, 1013, 1013, 1012, 1763, 867, 1764, 1763, 1572, 2778, 868, 869, 899, 871, 622, 865, 866, 780, 865, 781, 981, 1990, 1573, 1015, 1990, 1016, 867, 671, 1991, 2290, 968, 868, 869, 865, 866, 1753, 865, 2779, 780, 1753, 781, 1753, 981, 712, 867, 1761, 1761, 1108, 1017, 868, 869, 981, 2242, 1818, 1574, 969, 780, 1806, 781, 2572, 865, 866, 621, 865, 1575, 968, 1639, 1282, 1282, 1282, 1282, 867, 671, 981, 1283, 1576, 868, 869, 865, 866, 2780, 865, 1753, 780, 3585, 781, 2732, 3585, 2289, 867, 969, 3585, 1815, 2291, 868, 869, 865, 866, 2579, 865, 2288, 780, 1577, 781, 2290, 2317, 2318, 867, 1043, 1043, 1043, 1043, 868, 869, 2575, 1012, 1013, 1013, 1012, 780, 1578, 781, 2781, 1579, 1012, 1013, 1013, 1012, 1012, 1013, 1013, 1012, 1012, 1013, 1013, 1012, 968, 1580, 1015, 671, 1016, 2679, 1761, 1761, 2289, 2288, 1761, 1015, 2288, 1016, 2679, 1015, 1818, 1016, 575, 1015, 1581, 1016, 671, 1768, 671, 969, 1044, 1017, 2723, 2680, 981, 1640, 3585, 3585, 3585, 3585, 1017, 2574, 1045, 3585, 1017, 671, 1046, 2163, 1017, 1047, 1327, 667, 667, 1327, 1048, 2738, 981, 1761, 2715, 2288, 1289, 668, 1643, 1651, 1642, 1439, 1644, 1645, 1645, 1644, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1012, 1013, 1013, 1012, 1646, 1439, 1647, 1439, 1439, 1439, 1012, 1013, 1013, 1012, 1977, 671, 1012, 1013, 1013, 1012, 671, 866, 866, 1015, 866, 1016, 2291, 2290, 1439, 1648, 1439, 1439, 867, 1015, 2291, 1016, 1289, 868, 869, 1015, 1289, 1016, 1012, 1013, 1013, 1012, 2290, 671, 1017, 1012, 1013, 1013, 1012, 1012, 1013, 1013, 1012, 2794, 1017, 1439, 1439, 1439, 1439, 1649, 1017, 1015, 2664, 1016, 671, 2664, 2724, 1028, 1015, 2320, 1016, 1650, 1015, 1652, 1016, 1012, 1013, 1013, 1012, 671, 2665, 1289, 1012, 1013, 1013, 1012, 1017, 1012, 1013, 1013, 1012, 1820, 1821, 1017, 1820, 1758, 2428, 1017, 1015, 2166, 1016, 2429, 2769, 1654, 1653, 1015, 2430, 1016, 671, 1822, 1015, 945, 1016, 1049, 1042, 1043, 1049, 1969, 1656, 2765, 1969, 2166, 1655, 1017, 1057, 1042, 1043, 1057, 1764, 1763, 1017, 567, 1763, 1970, 1971, 1017, 1972, 1753, 1753, 1972, 2289, 1660, 572, 1380, 2583, 1657, 1753, 1658, 1381, 584, 1659, 1761, 1761, 2852, 1779, 1973, 1973, 1973, 1973, 3585, 1761, 2853, 3585, 1778, 1761, 1761, 2583, 1044, 584, 1119, 1043, 1043, 1119, 1761, 671, 1763, 584, 3585, 1044, 1045, 3585, 1779, 1621, 1046, 1753, 1621, 1047, 567, 2287, 671, 1045, 1048, 2287, 1621, 1046, 671, 1621, 1047, 1761, 713, 592, 2717, 1048, 1108, 1108, 592, 1108, 1108, 1108, 2747, 1108, 1761, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1044, 1761, 1761, 2622, 1108, 1108, 1108, 1108, 1108, 1108, 2291, 2290, 1045, 621, 2290, 2586, 1046, 2621, 1808, 1047, 1259, 1259, 1259, 1259, 1048, 671, 2620, 651, 1108, 671, 1108, 1108, 1141, 1043, 1043, 1141, 3585, 1261, 1261, 3585, 671, 2718, 1262, 1262, 2068, 2068, 2068, 2068, 1815, 3585, 572, 2069, 3585, 1263, 671, 2719, 1289, 2290, 2742, 1108, 1108, 1108, 1108, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 671, 2854, 1289, 1044, 1439, 1439, 1439, 1439, 1439, 1439, 1873, 1873, 1873, 1873, 2664, 1045, 2752, 2664, 653, 1046, 2623, 668, 1047, 1261, 1065, 671, 671, 1048, 1439, 1439, 1439, 1439, 2665, 681, 1230, 1875, 3585, 1230, 2720, 3585, 671, 1231, 1497, 1498, 1498, 1497, 1232, 646, 1637, 1637, 1637, 1637, 2743, 848, 671, 2190, 2739, 1233, 683, 1439, 1439, 1439, 1439, 1721, 666, 667, 667, 666, 2855, 866, 866, 3585, 866, 2856, 3585, 668, 669, 2737, 3585, 669, 867, 670, 1235, 3585, 3585, 868, 869, 672, 669, 673, 1237, 1238, 1238, 1237, 3585, 2857, 2858, 1836, 1836, 1836, 1836, 2626, 1239, 3585, 1231, 1239, 3585, 670, 775, 3585, 3585, 775, 674, 669, 1239, 1236, 1261, 1261, 671, 3585, 3585, 1870, 1870, 2863, 1827, 1448, 1449, 1449, 1448, 1022, 671, 780, 1871, 781, 1238, 1238, 1238, 1238, 2733, 1239, 1264, 1264, 1264, 1264, 671, 3585, 1239, 1265, 780, 1239, 781, 670, 3585, 1830, 1831, 1831, 1830, 2864, 1239, 2624, 1231, 712, 671, 681, 2734, 1232, 671, 1237, 1238, 1238, 1237, 671, 1832, 1832, 1832, 1832, 1833, 3585, 1236, 1239, 3585, 671, 1239, 1239, 670, 1261, 1764, 2760, 683, 2865, 2173, 1239, 3585, 3585, 3585, 3585, 712, 2740, 671, 3585, 2746, 1835, 1863, 1864, 1864, 1863, 1267, 1271, 1272, 1272, 1271, 981, 2173, 668, 1273, 3585, 1239, 1273, 668, 1273, 2291, 684, 1273, 671, 2585, 672, 1273, 673, 2289, 2744, 1275, 1273, 1016, 981, 1236, 2065, 2065, 2065, 2065, 1289, 3585, 2291, 1272, 1272, 1272, 1272, 2585, 671, 1065, 3585, 674, 1273, 3585, 668, 1273, 1277, 1273, 1273, 856, 1013, 1013, 1013, 1013, 671, 3585, 1275, 1273, 3585, 671, 1271, 1272, 1272, 1271, 3585, 1863, 1864, 1864, 1863, 2745, 2758, 668, 1273, 1634, 857, 1273, 668, 1273, 671, 2741, 1273, 1277, 1273, 1275, 1273, 1276, 671, 2867, 672, 1273, 673, 2625, 1872, 1872, 1872, 1872, 1261, 1261, 1017, 680, 2748, 1262, 1262, 1278, 1278, 1278, 1278, 2754, 1277, 1273, 1279, 996, 1263, 674, 1273, 681, 3585, 3585, 3585, 3585, 626, 627, 671, 3585, 2628, 1761, 681, 3585, 671, 1761, 3585, 1761, 1866, 666, 667, 667, 666, 2241, 775, 3585, 683, 775, 1108, 671, 668, 669, 671, 671, 669, 776, 670, 683, 2776, 2751, 777, 778, 672, 669, 673, 712, 2753, 780, 2777, 781, 3585, 1261, 713, 622, 1879, 1880, 1880, 1879, 1761, 684, 2375, 2329, 2868, 1867, 2329, 668, 1273, 674, 669, 1273, 1281, 2627, 2869, 1232, 775, 2287, 1761, 775, 1273, 1016, 2170, 996, 671, 3585, 1968, 776, 2287, 1145, 2162, 671, 777, 778, 1145, 980, 996, 2289, 2288, 780, 996, 781, 712, 2755, 2170, 1273, 1886, 1887, 1888, 1888, 1887, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1889, 1890, 1886, 1886, 1890, 1886, 1891, 1886, 1905, 1905, 1905, 1905, 1892, 1890, 1893, 1886, 1886, 1886, 996, 1906, 669, 2870, 2871, 669, 2726, 670, 2316, 2726, 1993, 2872, 775, 672, 669, 775, 671, 671, 1886, 1894, 1890, 1886, 671, 776, 1264, 1264, 1264, 1264, 777, 778, 2873, 1265, 1289, 1227, 2759, 780, 2757, 781, 674, 669, 2874, 671, 1828, 1828, 1828, 1828, 671, 681, 2882, 1886, 1886, 1886, 1886, 1895, 1904, 1905, 1905, 1904, 2763, 2883, 2409, 2764, 779, 1761, 2884, 1906, 669, 2170, 1828, 669, 775, 670, 683, 775, 2793, 980, 2410, 672, 669, 1016, 2163, 776, 2885, 2895, 1994, 1065, 777, 778, 1887, 2170, 1267, 1887, 2896, 780, 1065, 781, 1065, 1065, 1828, 1065, 2289, 2288, 674, 669, 2288, 684, 1300, 1301, 1302, 1302, 1916, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1303, 1304, 1300, 1300, 1304, 1300, 1305, 1300, 1373, 1374, 1374, 1373, 1306, 1304, 1307, 1300, 1300, 1300, 1404, 668, 669, 2722, 2897, 669, 1498, 1498, 1498, 1498, 2898, 2288, 2899, 775, 669, 1016, 775, 848, 1300, 1308, 1304, 1300, 1374, 1374, 1374, 1374, 1087, 1917, 1837, 1837, 1837, 1837, 2900, 668, 669, 1838, 780, 669, 781, 669, 1492, 1492, 1492, 1492, 1087, 1887, 669, 855, 1887, 1300, 1300, 1300, 1300, 1310, 1373, 1374, 1374, 1373, 968, 775, 1087, 1087, 775, 856, 981, 668, 669, 1087, 2901, 669, 776, 669, 2289, 2288, 775, 777, 778, 775, 669, 1016, 2902, 2288, 780, 969, 781, 776, 981, 2862, 857, 775, 777, 778, 775, 775, 2289, 1701, 775, 780, 2583, 781, 776, 1701, 2903, 669, 776, 777, 778, 1758, 2730, 777, 778, 1757, 780, 1757, 781, 2904, 780, 2866, 781, 2288, 2583, 858, 1637, 1637, 1637, 1637, 2675, 2676, 1128, 1020, 1995, 2909, 1996, 1997, 1998, 1997, 1997, 1998, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1999, 1997, 1997, 1997, 1997, 2000, 2001, 1997, 1128, 1757, 2910, 2005, 2002, 1997, 2003, 1997, 1997, 1997, 1497, 1498, 1498, 1497, 2645, 968, 775, 1128, 1128, 775, 2316, 848, 1128, 2334, 2335, 2335, 2334, 776, 1997, 1997, 1997, 1997, 777, 778, 2336, 1830, 1831, 1831, 1830, 780, 969, 781, 1493, 1493, 1493, 1493, 2860, 1232, 2911, 1494, 1022, 2912, 775, 775, 968, 775, 775, 2913, 2326, 1997, 1997, 1997, 1997, 2004, 776, 856, 1144, 2915, 2006, 777, 778, 775, 2291, 2290, 775, 780, 780, 781, 781, 969, 2915, 775, 776, 2327, 775, 2861, 2916, 777, 778, 2289, 857, 2917, 776, 2667, 780, 2918, 781, 777, 778, 775, 2288, 2919, 775, 2291, 780, 2920, 781, 2585, 2468, 811, 776, 3585, 3585, 3585, 3585, 777, 778, 775, 3585, 2320, 775, 671, 780, 1496, 781, 2007, 2291, 2290, 776, 2585, 2290, 2921, 775, 777, 778, 775, 775, 2673, 2735, 775, 780, 2675, 781, 776, 2677, 2291, 2736, 776, 777, 778, 810, 775, 777, 778, 775, 780, 2290, 781, 2924, 780, 2924, 781, 776, 3585, 3585, 3585, 3585, 777, 778, 2008, 3585, 2289, 2926, 2290, 780, 2288, 781, 2288, 775, 2287, 2287, 775, 775, 2287, 2011, 775, 3585, 2009, 2010, 776, 2927, 575, 2012, 776, 777, 778, 575, 775, 777, 778, 775, 780, 2928, 781, 2013, 780, 2664, 781, 776, 2664, 2929, 3585, 775, 777, 778, 775, 775, 2930, 2288, 775, 780, 2931, 781, 776, 2665, 2932, 2287, 776, 777, 778, 2014, 775, 777, 778, 775, 780, 2933, 781, 811, 780, 2934, 781, 776, 2925, 3585, 2925, 775, 777, 778, 775, 2291, 2290, 2685, 2935, 780, 2936, 781, 776, 2937, 2290, 1764, 1404, 777, 778, 1763, 775, 1763, 968, 775, 780, 775, 781, 2016, 775, 1858, 2015, 776, 1637, 1637, 1637, 1637, 777, 778, 775, 1020, 1270, 775, 2922, 780, 2954, 781, 671, 969, 780, 776, 781, 1289, 2290, 2018, 777, 778, 2017, 2328, 2328, 2328, 2328, 780, 1763, 781, 1231, 2291, 671, 622, 2955, 2290, 2859, 2290, 2019, 1415, 1416, 1415, 1415, 2020, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1417, 1415, 1415, 1415, 1415, 1418, 1419, 1415, 775, 2022, 2948, 775, 1420, 1415, 1421, 1415, 1415, 1415, 775, 776, 671, 775, 671, 712, 777, 778, 2289, 2290, 1022, 776, 2288, 780, 2288, 781, 777, 778, 1415, 1415, 1415, 1415, 1289, 780, 1761, 781, 2968, 2021, 1761, 671, 1761, 2349, 2350, 2350, 2349, 1236, 1108, 2365, 2365, 2365, 2365, 2242, 2351, 775, 2023, 671, 775, 2961, 668, 1415, 1415, 1415, 1415, 1423, 776, 2288, 2024, 671, 775, 777, 778, 775, 775, 1289, 2969, 775, 780, 2976, 781, 776, 2982, 1761, 2950, 776, 777, 778, 671, 775, 777, 778, 775, 780, 671, 781, 2951, 780, 2983, 781, 776, 1876, 1876, 1876, 1876, 777, 778, 775, 1877, 671, 775, 2953, 780, 2769, 781, 671, 713, 2952, 776, 2287, 2287, 2025, 775, 777, 778, 775, 2026, 671, 2287, 1289, 780, 584, 781, 776, 2677, 2678, 584, 671, 777, 778, 811, 1836, 1836, 1836, 1836, 780, 775, 781, 1231, 775, 2984, 2956, 671, 3585, 3585, 3585, 3585, 776, 2287, 2287, 3585, 671, 777, 778, 713, 2985, 2287, 2962, 2291, 780, 621, 781, 2290, 2027, 2290, 621, 671, 2727, 2728, 2728, 2727, 2320, 2028, 1439, 1440, 1439, 1439, 1440, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1441, 1439, 1439, 1439, 1439, 1442, 1443, 1439, 775, 810, 2314, 775, 1444, 1439, 1445, 1439, 1439, 1439, 775, 776, 2290, 775, 671, 713, 777, 778, 2986, 1236, 671, 776, 2957, 780, 2958, 781, 777, 778, 1439, 1439, 1439, 1439, 2987, 780, 671, 781, 671, 2029, 1904, 1905, 1905, 1904, 2959, 671, 1831, 1831, 1831, 1831, 2960, 1906, 2963, 2988, 2030, 775, 671, 2989, 775, 2748, 671, 1439, 1439, 1439, 1439, 1446, 776, 671, 2031, 2326, 775, 777, 778, 775, 775, 2990, 2726, 775, 780, 2726, 781, 776, 2964, 671, 2287, 776, 777, 778, 2581, 775, 777, 778, 775, 780, 2327, 781, 980, 780, 671, 781, 776, 980, 671, 1289, 775, 777, 778, 775, 775, 2965, 2581, 775, 780, 2991, 781, 776, 671, 671, 2032, 776, 777, 778, 2971, 2966, 777, 778, 2033, 780, 2970, 781, 2409, 780, 1977, 781, 775, 2992, 671, 775, 2993, 1860, 1860, 1860, 1860, 2034, 2994, 776, 2410, 671, 3001, 775, 777, 778, 775, 775, 2974, 2036, 775, 780, 2035, 781, 776, 671, 2352, 2973, 776, 777, 778, 2975, 775, 777, 778, 775, 780, 1289, 781, 671, 780, 3037, 781, 776, 671, 2037, 2977, 775, 777, 778, 775, 1862, 3038, 1887, 671, 780, 1887, 781, 776, 1259, 1259, 1259, 1259, 777, 778, 3039, 651, 3042, 775, 2038, 780, 775, 781, 671, 2979, 3043, 2039, 2979, 775, 776, 712, 775, 1289, 671, 777, 778, 3044, 2040, 3046, 776, 968, 780, 2041, 781, 777, 778, 3047, 775, 3048, 3585, 775, 780, 996, 781, 2972, 2981, 671, 775, 776, 3050, 775, 996, 2042, 777, 778, 969, 968, 3051, 776, 968, 780, 2287, 781, 777, 778, 2287, 775, 2287, 3052, 775, 780, 3053, 781, 1108, 2043, 996, 775, 776, 1108, 775, 653, 969, 777, 778, 969, 3057, 2882, 776, 3058, 780, 2044, 781, 777, 778, 1404, 775, 2861, 968, 775, 780, 3064, 781, 2068, 2068, 2068, 2068, 776, 3045, 2287, 2069, 775, 777, 778, 775, 2192, 3065, 2045, 2192, 780, 3066, 781, 776, 969, 3067, 3068, 775, 777, 778, 775, 3069, 2861, 2046, 2047, 780, 3070, 781, 776, 2193, 1065, 1065, 775, 777, 778, 775, 775, 3071, 1065, 775, 780, 1087, 781, 776, 1087, 3072, 1087, 776, 777, 778, 981, 3073, 777, 778, 1128, 780, 1125, 781, 2048, 780, 775, 781, 2049, 775, 775, 1133, 1134, 775, 3049, 3074, 1128, 776, 981, 3075, 2050, 776, 777, 778, 3076, 775, 777, 778, 775, 780, 3077, 781, 2052, 780, 2051, 781, 776, 1128, 3079, 3079, 775, 777, 778, 775, 775, 3080, 3082, 775, 780, 2053, 781, 776, 1751, 3092, 1857, 776, 777, 778, 3081, 3100, 777, 778, 3101, 780, 3102, 781, 1751, 780, 2685, 781, 775, 3093, 3094, 775, 3093, 2056, 2054, 3585, 3585, 3585, 3585, 776, 3103, 3104, 3585, 3081, 777, 778, 3081, 3105, 3106, 2055, 3107, 780, 775, 781, 1404, 775, 775, 3108, 2057, 775, 3088, 1270, 3116, 776, 713, 1857, 671, 776, 777, 778, 671, 671, 777, 778, 3136, 780, 3081, 781, 671, 780, 775, 781, 3142, 775, 775, 1289, 1289, 775, 3117, 3081, 3084, 776, 671, 671, 2058, 776, 777, 778, 2383, 1289, 777, 778, 3143, 780, 671, 781, 3147, 780, 775, 781, 3149, 775, 2059, 1289, 2982, 1498, 1498, 1498, 1498, 776, 1989, 2060, 3090, 3091, 777, 778, 848, 775, 3152, 3135, 775, 780, 3135, 781, 2684, 2684, 2684, 2684, 776, 810, 3153, 1231, 775, 777, 778, 775, 2066, 2066, 2066, 2066, 780, 2061, 781, 776, 3129, 3154, 671, 848, 777, 778, 2062, 865, 866, 1977, 865, 780, 3130, 781, 671, 856, 3155, 851, 867, 1859, 1860, 1860, 1859, 868, 869, 2063, 2686, 2687, 2687, 2686, 780, 671, 781, 865, 866, 3156, 865, 2688, 3157, 3145, 857, 671, 2352, 3158, 867, 1860, 1860, 1860, 1860, 868, 869, 2064, 2761, 2762, 2762, 2761, 780, 3081, 781, 865, 866, 1236, 865, 865, 866, 3081, 865, 1862, 2352, 3159, 867, 3160, 671, 1989, 867, 868, 869, 2071, 671, 868, 869, 671, 780, 2855, 781, 3132, 780, 671, 781, 3144, 3146, 865, 866, 1862, 865, 865, 866, 3188, 865, 3044, 1289, 671, 867, 3081, 3086, 2072, 867, 868, 869, 3189, 3148, 868, 869, 3048, 780, 3191, 781, 3050, 780, 2587, 781, 2074, 2328, 2328, 2328, 2328, 712, 671, 996, 1231, 2073, 1997, 2075, 2076, 1997, 2075, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 2077, 1997, 1997, 1997, 1997, 2078, 2079, 1997, 3196, 3197, 3198, 2081, 2002, 1997, 2003, 1997, 1997, 1997, 1504, 1940, 667, 667, 1940, 2979, 865, 866, 2979, 865, 3199, 3200, 668, 1043, 1043, 1043, 1043, 867, 1997, 1997, 1997, 1997, 868, 869, 1840, 1841, 1841, 1840, 3201, 780, 3585, 781, 968, 3202, 3203, 3204, 1239, 3133, 3134, 1239, 3133, 3205, 1236, 865, 866, 3193, 865, 3095, 1239, 1997, 1997, 1997, 1997, 2080, 867, 2409, 3206, 969, 2082, 868, 869, 865, 866, 3096, 865, 3190, 780, 3193, 781, 3207, 2616, 2410, 867, 1239, 2616, 1065, 1087, 868, 869, 865, 866, 1733, 865, 2645, 780, 3081, 781, 3081, 3098, 3194, 867, 1048, 1128, 671, 2645, 868, 869, 865, 866, 899, 865, 3211, 780, 3211, 781, 3081, 3150, 2192, 867, 3150, 2192, 3151, 3082, 868, 869, 2083, 865, 866, 3214, 865, 780, 3099, 781, 1841, 1841, 1841, 1841, 867, 3081, 3209, 2193, 3151, 868, 869, 3215, 1239, 3216, 3081, 1239, 780, 3217, 781, 3213, 865, 866, 3081, 865, 1239, 898, 2925, 2687, 2687, 2687, 2687, 867, 1259, 1259, 1259, 1259, 868, 869, 2688, 651, 3098, 626, 3218, 780, 2084, 781, 3231, 3219, 3232, 1239, 865, 866, 3081, 865, 865, 866, 3220, 865, 3088, 3220, 3081, 867, 2685, 2085, 2086, 867, 868, 869, 3090, 3091, 868, 869, 2087, 780, 3221, 781, 2685, 780, 3233, 781, 865, 866, 622, 865, 865, 866, 3234, 865, 3090, 3091, 2685, 867, 2685, 3235, 1270, 867, 868, 869, 3081, 3086, 868, 869, 674, 780, 671, 781, 2088, 780, 3242, 781, 671, 865, 866, 653, 865, 865, 866, 3261, 865, 3262, 3093, 3094, 867, 3093, 671, 3248, 867, 868, 869, 2375, 3263, 868, 869, 2089, 780, 3264, 781, 3265, 780, 671, 781, 865, 866, 671, 865, 865, 866, 3266, 865, 3246, 3246, 3272, 867, 3273, 1262, 1262, 867, 868, 869, 3268, 3249, 868, 869, 3249, 780, 3247, 781, 899, 780, 1289, 781, 865, 866, 3269, 865, 865, 866, 671, 865, 1504, 3267, 671, 867, 671, 671, 1016, 867, 868, 869, 3274, 1972, 868, 869, 1972, 780, 1977, 781, 1380, 780, 1977, 781, 2091, 1381, 3275, 2090, 865, 866, 1977, 865, 1973, 1973, 1973, 1973, 671, 1289, 1977, 867, 1977, 3246, 3276, 778, 868, 869, 865, 866, 1397, 865, 2093, 780, 1399, 781, 869, 3284, 3285, 867, 2978, 2979, 2979, 2978, 868, 869, 2092, 2701, 2702, 2702, 2701, 780, 3286, 781, 2978, 2979, 2979, 2978, 2703, 3082, 2882, 2882, 2094, 1415, 1515, 1516, 1415, 2095, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1517, 1415, 1415, 1415, 1415, 1518, 1519, 1415, 3288, 2097, 3289, 3290, 1420, 1415, 1421, 1415, 1415, 1415, 865, 866, 3193, 865, 2702, 2702, 2702, 2702, 3291, 3292, 3293, 867, 2980, 3294, 3295, 2703, 868, 869, 1415, 1415, 1415, 1415, 3296, 780, 3193, 781, 2980, 2096, 2365, 2365, 2365, 2365, 3297, 3298, 1012, 1013, 1013, 1012, 3300, 668, 2886, 2886, 2886, 2886, 865, 866, 3194, 865, 3300, 1415, 1415, 1415, 1415, 1521, 2098, 867, 3081, 1634, 3301, 1016, 868, 869, 865, 866, 2887, 865, 2887, 780, 981, 781, 968, 3135, 667, 867, 3135, 3302, 3287, 3303, 868, 869, 865, 866, 1017, 865, 3304, 780, 3081, 781, 3081, 3305, 981, 867, 626, 3213, 2888, 969, 868, 869, 865, 866, 2099, 865, 2861, 780, 3220, 781, 2889, 3220, 3306, 867, 2890, 2891, 3307, 2892, 868, 869, 865, 866, 1048, 865, 3226, 780, 3221, 781, 3311, 3260, 3234, 867, 2100, 3081, 3209, 2685, 868, 869, 865, 866, 2101, 865, 622, 780, 3082, 781, 3314, 942, 1270, 867, 942, 3322, 3321, 3322, 868, 869, 865, 866, 943, 865, 3326, 780, 3081, 781, 3336, 3081, 3326, 867, 899, 3357, 945, 671, 868, 869, 865, 866, 3358, 865, 3359, 780, 3326, 781, 3360, 3361, 3265, 867, 1259, 1259, 1259, 1259, 868, 869, 3334, 651, 3370, 946, 671, 780, 3362, 781, 865, 866, 3364, 865, 865, 866, 3371, 865, 3081, 3084, 2851, 867, 1977, 671, 1977, 867, 868, 869, 3363, 671, 868, 869, 2102, 780, 3372, 781, 3038, 780, 3324, 781, 3249, 3324, 3044, 3249, 2103, 1439, 1536, 1537, 1439, 1536, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1538, 1439, 1439, 1439, 1439, 1539, 1540, 1439, 1016, 2105, 3048, 898, 1444, 1439, 1445, 1439, 1439, 1439, 865, 866, 653, 865, 3381, 3382, 3383, 1012, 1013, 1013, 1012, 867, 3384, 3385, 3386, 3387, 868, 869, 1439, 1439, 1439, 1439, 3388, 780, 3389, 781, 981, 2104, 3390, 3391, 1015, 3393, 1016, 3393, 671, 2354, 2354, 2354, 2354, 3380, 3394, 3400, 2355, 865, 866, 2685, 865, 1270, 981, 1439, 1439, 1439, 1439, 1541, 867, 1017, 2106, 3410, 681, 868, 869, 865, 866, 3412, 865, 3326, 780, 3336, 781, 3326, 2194, 3395, 867, 3396, 3395, 3438, 3396, 868, 869, 865, 866, 3360, 865, 683, 780, 3439, 781, 3246, 3246, 671, 867, 3397, 1262, 1262, 3397, 868, 869, 865, 866, 3326, 865, 2357, 780, 3247, 781, 3441, 2107, 3150, 867, 671, 3150, 3334, 3151, 868, 869, 2679, 1281, 2108, 865, 866, 780, 865, 781, 3442, 2679, 3585, 3585, 3585, 3585, 867, 3398, 3443, 3151, 3398, 868, 869, 865, 866, 3326, 865, 3444, 780, 3365, 781, 3444, 3365, 671, 867, 2109, 3585, 3349, 3585, 868, 869, 865, 866, 3246, 865, 3446, 780, 3447, 781, 3413, 671, 1977, 867, 2110, 3366, 3456, 2111, 868, 869, 865, 866, 3457, 865, 3458, 780, 3399, 781, 2616, 3399, 3459, 867, 1840, 1841, 1841, 1840, 868, 869, 865, 866, 3460, 865, 3466, 780, 1239, 781, 3466, 1239, 3468, 867, 3440, 3585, 3336, 3440, 868, 869, 1239, 2112, 1270, 865, 866, 780, 865, 781, 3480, 3472, 3585, 3585, 3585, 3585, 867, 3493, 3494, 2113, 622, 868, 869, 865, 866, 3360, 865, 1239, 780, 2114, 781, 1289, 3414, 3497, 867, 3414, 3585, 3498, 3585, 868, 869, 865, 866, 3495, 865, 1399, 780, 671, 781, 3503, 3416, 671, 867, 3416, 2115, 2193, 3456, 868, 869, 865, 866, 3417, 865, 671, 780, 2116, 781, 3504, 3437, 3505, 867, 3437, 2893, 3506, 3508, 868, 869, 865, 866, 3354, 865, 3508, 780, 3464, 781, 3509, 3464, 3336, 867, 2117, 3585, 1270, 3515, 868, 869, 865, 866, 3517, 865, 3429, 780, 3524, 781, 3525, 775, 3467, 867, 775, 3467, 3527, 3528, 868, 869, 2118, 865, 866, 1504, 865, 780, 3526, 781, 3585, 3585, 3585, 3585, 867, 671, 780, 3535, 781, 868, 869, 865, 866, 3536, 865, 671, 780, 3395, 781, 3386, 3395, 3386, 867, 3538, 3585, 2119, 3585, 868, 869, 865, 866, 3538, 865, 3539, 780, 1270, 781, 3368, 3368, 2120, 867, 3396, 1262, 1262, 3396, 868, 869, 865, 866, 2121, 865, 3549, 780, 3369, 781, 3551, 3328, 3552, 867, 3328, 2894, 3456, 3397, 868, 869, 3397, 3456, 3335, 865, 866, 780, 865, 781, 2362, 2363, 2363, 2362, 3398, 3585, 867, 3398, 3325, 2122, 3414, 868, 869, 3414, 865, 866, 2123, 865, 780, 3399, 781, 3474, 3399, 2364, 3474, 867, 3422, 3557, 2124, 3422, 868, 869, 3542, 3368, 3557, 865, 866, 780, 865, 781, 2684, 2684, 2684, 2684, 3475, 2125, 867, 1231, 683, 2126, 3234, 868, 869, 865, 866, 3558, 865, 1270, 780, 3325, 781, 3561, 3137, 3496, 867, 3137, 3496, 622, 671, 868, 869, 865, 866, 3563, 865, 671, 780, 3500, 781, 1977, 3500, 2127, 867, 3550, 3501, 3566, 2193, 868, 869, 3566, 865, 866, 3328, 865, 780, 3328, 781, 2365, 2365, 2365, 2365, 867, 671, 3335, 1270, 1504, 868, 869, 668, 865, 866, 3464, 865, 780, 3464, 781, 3567, 3325, 3138, 2128, 867, 1236, 3139, 3562, 671, 868, 869, 865, 866, 3360, 865, 3140, 780, 3571, 781, 3141, 2129, 3440, 867, 3467, 3440, 3571, 3467, 868, 869, 1270, 1504, 3575, 942, 3575, 780, 942, 781, 865, 866, 671, 865, 865, 866, 943, 865, 1270, 3578, 3474, 867, 2130, 3474, 3572, 867, 868, 869, 945, 3491, 868, 869, 3491, 780, 3578, 781, 1270, 780, 2651, 781, 865, 866, 1128, 865, 865, 866, 3496, 865, 2409, 3496, 2131, 867, 3576, 946, 3325, 867, 868, 869, 3581, 3379, 868, 869, 2650, 780, 2410, 781, 671, 780, 3579, 781, 2132, 865, 866, 2649, 865, 865, 866, 3500, 865, 2133, 3500, 671, 867, 671, 3530, 2648, 867, 868, 869, 2647, 3548, 868, 869, 3548, 780, 1128, 781, 3582, 780, 898, 781, 865, 866, 3583, 865, 1012, 1013, 1013, 1012, 2646, 671, 2134, 867, 1012, 1013, 1013, 1012, 868, 869, 1012, 1013, 1013, 1012, 2135, 780, 3580, 781, 2136, 1015, 671, 1016, 2645, 1012, 1013, 1013, 1012, 1015, 2640, 1016, 2242, 3416, 671, 1015, 3416, 1016, 1012, 1013, 1013, 1012, 866, 866, 3417, 866, 1017, 671, 1015, 1701, 1016, 1244, 3532, 867, 1017, 3532, 1244, 2137, 868, 869, 1017, 1634, 2637, 1016, 3533, 2196, 2636, 1028, 1012, 1013, 1013, 1012, 3540, 1017, 2635, 3540, 2195, 2197, 1012, 1013, 1013, 1012, 1012, 1013, 1013, 1012, 1017, 1012, 1013, 1013, 1012, 1015, 2634, 1016, 1012, 1013, 1013, 1012, 2633, 3585, 1087, 1015, 3585, 1016, 1244, 1015, 3585, 1016, 3532, 1244, 1015, 3532, 1016, 2632, 2631, 3532, 1017, 1015, 3532, 1016, 3554, 1012, 1013, 1013, 1012, 3548, 1017, 3554, 3548, 1087, 1017, 1012, 1013, 1013, 1012, 1017, 1028, 1012, 1013, 1013, 1012, 2630, 1017, 2199, 1015, 2198, 1016, 1012, 1013, 1013, 1012, 2629, 3532, 2619, 1015, 3532, 1016, 2618, 3584, 2617, 1015, 3584, 1016, 2200, 3533, 1012, 1013, 1013, 1012, 1017, 1015, 2616, 1016, 1012, 1013, 1013, 1012, 2615, 2614, 1017, 1012, 1013, 1013, 1012, 2613, 1017, 2201, 2202, 1015, 2612, 1016, 1498, 1498, 1498, 1498, 1017, 1015, 2203, 1016, 2600, 2598, 942, 848, 1015, 942, 1016, 2597, 2204, 3228, 3228, 3228, 3228, 943, 1017, 2596, 3229, 2595, 2594, 2593, 2329, 1028, 1017, 2329, 2592, 945, 2205, 1231, 996, 1017, 671, 2591, 1232, 2206, 666, 667, 667, 666, 2590, 2330, 2330, 2330, 2330, 1233, 3532, 668, 669, 3532, 2589, 669, 946, 670, 2065, 2065, 2065, 2065, 3554, 672, 669, 673, 996, 1863, 1864, 1864, 1863, 641, 641, 2588, 1235, 3187, 641, 2587, 668, 1273, 641, 856, 1273, 1043, 1043, 1043, 1043, 1764, 674, 669, 672, 1273, 1016, 1758, 2578, 2577, 1872, 1872, 1872, 1872, 2576, 2571, 3137, 680, 2570, 3137, 857, 1236, 2569, 2568, 2325, 1830, 1831, 1831, 1830, 674, 1273, 3437, 1231, 681, 3437, 2567, 2566, 1232, 1864, 1864, 1864, 1864, 3354, 2565, 1832, 1832, 1832, 1832, 1833, 668, 1273, 2905, 953, 1273, 1863, 1864, 1864, 1863, 683, 756, 756, 672, 1273, 2906, 756, 668, 1273, 2907, 756, 1273, 2908, 946, 3138, 1835, 945, 1048, 3139, 672, 1273, 673, 2138, 2334, 2335, 2335, 2334, 3140, 674, 1273, 869, 3141, 1399, 684, 2336, 1873, 1873, 1873, 1873, 1397, 3227, 3227, 3227, 3227, 674, 1273, 668, 3095, 1236, 1830, 1831, 1831, 1830, 778, 3455, 2452, 1231, 3455, 681, 981, 2451, 1232, 1873, 1873, 1873, 1873, 2450, 2449, 1832, 1832, 1832, 1832, 1833, 668, 2448, 2445, 2444, 1879, 1880, 1880, 1879, 981, 2443, 683, 2442, 681, 2441, 1875, 668, 1273, 2440, 2439, 1273, 1264, 1264, 1264, 1264, 1835, 1971, 2437, 1265, 1273, 1016, 1880, 1880, 1880, 1880, 2436, 866, 866, 683, 866, 2387, 671, 668, 1273, 681, 3453, 1273, 867, 3453, 3099, 674, 2361, 868, 869, 1273, 1273, 3454, 2361, 1236, 1863, 1864, 1864, 1863, 1270, 1879, 1880, 1880, 1879, 2353, 683, 668, 1273, 2348, 2347, 1273, 668, 1273, 2346, 1972, 1273, 1273, 1972, 672, 1273, 673, 1380, 2345, 1267, 1273, 1016, 1381, 2344, 2686, 2687, 2687, 2686, 2341, 1973, 1973, 1973, 1973, 2340, 684, 2688, 2339, 3368, 3368, 674, 1273, 775, 1262, 1262, 775, 1273, 2338, 2358, 666, 667, 667, 666, 776, 3369, 2337, 2333, 2332, 777, 778, 668, 669, 1835, 622, 669, 780, 670, 781, 775, 622, 622, 775, 672, 669, 673, 2687, 2687, 2687, 2687, 776, 3569, 3569, 3569, 3569, 777, 778, 2688, 2359, 622, 1804, 2308, 780, 2300, 781, 1790, 2296, 1779, 674, 669, 2371, 2372, 2372, 2371, 2363, 2363, 2363, 2363, 3368, 2292, 1768, 2373, 669, 2438, 2291, 669, 1764, 670, 2372, 2372, 2372, 2372, 2289, 672, 669, 1016, 1758, 681, 2286, 2373, 669, 844, 844, 669, 775, 670, 844, 775, 1755, 2454, 844, 672, 669, 2284, 2273, 776, 2269, 2269, 674, 669, 777, 778, 683, 1905, 1905, 1905, 1905, 780, 775, 781, 3512, 775, 2266, 3512, 1906, 669, 674, 669, 669, 776, 670, 3354, 2265, 2264, 777, 778, 672, 669, 1128, 2263, 2262, 780, 2261, 781, 2701, 2702, 2702, 2701, 2260, 2702, 2702, 2702, 2702, 2259, 2258, 2703, 2257, 2256, 2255, 2457, 2703, 674, 669, 1886, 2382, 1888, 1888, 2382, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1889, 1890, 1886, 1886, 1890, 1886, 1891, 1886, 775, 1128, 2455, 775, 1892, 1890, 1893, 1886, 1886, 1886, 775, 776, 2254, 775, 2253, 3455, 777, 778, 3455, 2252, 981, 776, 1128, 780, 2251, 781, 777, 778, 1886, 1894, 1890, 1886, 2243, 780, 1701, 781, 3228, 3228, 3228, 3228, 1701, 775, 981, 3229, 775, 2066, 2066, 2066, 2066, 2236, 1087, 2235, 776, 2234, 2233, 2232, 848, 777, 778, 1886, 1886, 1886, 1886, 1895, 780, 2231, 781, 2230, 856, 2456, 1439, 1440, 1439, 1439, 1440, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1441, 1439, 1439, 1439, 1439, 1442, 1443, 1439, 2229, 1087, 2228, 857, 1444, 1439, 1445, 1439, 1439, 1439, 2227, 3406, 1087, 811, 3406, 2226, 775, 2225, 1065, 775, 2224, 2223, 3354, 2727, 2728, 2728, 2727, 776, 1439, 1439, 1439, 1439, 777, 778, 668, 2222, 3325, 2458, 2221, 780, 2220, 781, 2219, 2218, 2362, 2363, 2363, 2362, 1065, 1012, 1013, 1013, 1012, 775, 3512, 3512, 775, 3512, 3512, 1439, 1439, 1439, 1439, 1446, 776, 3354, 3354, 681, 775, 777, 778, 775, 1015, 2217, 1016, 811, 780, 3546, 781, 776, 3546, 2216, 1065, 775, 777, 778, 775, 775, 3354, 2215, 775, 780, 683, 781, 776, 2214, 2213, 1017, 776, 777, 778, 2212, 775, 777, 778, 775, 780, 2211, 781, 2210, 780, 3546, 781, 776, 3546, 2209, 2208, 775, 777, 778, 775, 775, 3354, 1404, 775, 780, 2207, 781, 776, 1636, 1635, 1017, 776, 777, 778, 2189, 996, 777, 778, 2459, 780, 2188, 781, 2460, 780, 775, 781, 3546, 775, 775, 3546, 2187, 775, 2186, 2185, 2184, 776, 2183, 3354, 2461, 776, 777, 778, 2182, 2181, 777, 778, 2180, 780, 996, 781, 2179, 780, 2462, 781, 775, 2178, 2177, 775, 775, 2463, 2176, 775, 996, 2175, 2464, 776, 2159, 863, 863, 776, 777, 778, 863, 2152, 777, 778, 863, 780, 2149, 781, 2148, 780, 775, 781, 2465, 775, 2147, 3585, 3585, 3585, 3585, 2146, 775, 776, 3585, 775, 2145, 2466, 777, 778, 953, 946, 2140, 776, 2138, 780, 869, 781, 777, 778, 1404, 775, 869, 1491, 775, 780, 1399, 781, 1397, 1261, 1261, 2467, 776, 778, 1262, 1262, 775, 777, 778, 775, 3133, 3134, 667, 3133, 780, 1263, 781, 776, 1399, 1397, 778, 668, 777, 778, 2469, 775, 1399, 1989, 775, 780, 1988, 781, 1987, 810, 1986, 775, 776, 1985, 775, 1984, 1981, 777, 778, 1980, 942, 1979, 776, 942, 780, 1978, 781, 777, 778, 1977, 1976, 943, 2470, 1975, 780, 775, 781, 1967, 775, 775, 932, 932, 775, 945, 1261, 932, 776, 1966, 671, 932, 776, 777, 778, 2471, 674, 777, 778, 1277, 780, 1270, 781, 1858, 780, 775, 781, 1636, 775, 775, 946, 1857, 775, 1856, 1855, 1854, 776, 1404, 3283, 2472, 776, 777, 778, 1853, 775, 777, 778, 775, 780, 1852, 781, 1849, 780, 942, 781, 776, 942, 1848, 1847, 1846, 777, 778, 775, 1845, 943, 775, 2473, 780, 1844, 781, 2474, 1843, 1235, 776, 1227, 1803, 945, 775, 777, 778, 775, 3040, 3040, 3040, 3040, 780, 1803, 781, 776, 1791, 2475, 1780, 775, 777, 778, 775, 775, 2477, 2476, 775, 780, 946, 781, 776, 3041, 1769, 1764, 776, 777, 778, 1754, 775, 777, 778, 775, 780, 1758, 781, 1756, 780, 1754, 781, 776, 3036, 1155, 677, 775, 777, 778, 775, 1737, 1737, 2478, 1735, 780, 1144, 781, 776, 2363, 2363, 2363, 2363, 777, 778, 2479, 1144, 2480, 775, 2481, 780, 775, 781, 1734, 3585, 3585, 3585, 3585, 1731, 776, 3041, 3585, 681, 775, 777, 778, 775, 775, 1730, 1727, 775, 780, 1726, 781, 776, 1725, 1724, 3585, 776, 777, 778, 2482, 775, 777, 778, 775, 780, 683, 781, 1723, 780, 1722, 781, 776, 2483, 1128, 1720, 1719, 777, 778, 2484, 775, 3585, 1718, 775, 780, 1717, 781, 1259, 1259, 1259, 1259, 776, 1716, 1128, 651, 1701, 777, 778, 2485, 775, 1699, 1698, 775, 780, 1697, 781, 2486, 1696, 1693, 775, 776, 1692, 775, 1691, 3585, 777, 778, 1404, 939, 939, 776, 1690, 780, 939, 781, 777, 778, 939, 775, 1087, 1689, 775, 780, 1688, 781, 1687, 1686, 1087, 775, 776, 1685, 775, 1684, 1683, 777, 778, 1682, 1679, 1678, 776, 2487, 780, 1677, 781, 777, 778, 775, 952, 952, 775, 1676, 780, 952, 781, 1065, 1675, 952, 776, 653, 1674, 2488, 1673, 777, 778, 1672, 775, 1065, 1671, 775, 780, 1670, 781, 2489, 1669, 1668, 775, 776, 1667, 775, 1666, 1665, 777, 778, 1664, 956, 956, 776, 2490, 780, 956, 781, 777, 778, 956, 775, 1663, 1636, 775, 780, 810, 781, 1635, 2491, 3453, 775, 776, 3453, 775, 1633, 1632, 777, 778, 1631, 1630, 3454, 776, 2492, 780, 1629, 781, 777, 778, 775, 964, 964, 775, 945, 780, 964, 781, 1628, 2493, 964, 776, 1625, 2494, 1624, 775, 777, 778, 775, 3569, 3569, 3569, 3569, 780, 1623, 781, 776, 1622, 996, 946, 775, 777, 778, 775, 1620, 1619, 2496, 2495, 780, 1618, 781, 776, 3323, 1860, 1860, 3323, 777, 778, 3040, 3040, 3040, 3040, 1617, 780, 2497, 781, 775, 1616, 1615, 775, 996, 3325, 3585, 3325, 3325, 1861, 775, 776, 3325, 775, 3585, 3041, 777, 778, 2498, 1009, 1009, 776, 977, 780, 1009, 781, 777, 778, 1009, 3325, 3585, 3325, 3325, 780, 1862, 781, 3325, 2499, 1997, 1998, 1997, 1997, 1998, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1999, 1997, 1997, 1997, 1997, 2500, 2501, 1997, 2066, 2066, 2066, 2066, 2002, 1997, 2003, 1997, 1997, 1997, 775, 848, 3041, 775, 3585, 970, 2502, 3308, 3308, 3308, 3308, 776, 2503, 856, 3095, 851, 777, 778, 1997, 1997, 1997, 1997, 969, 780, 970, 781, 3312, 3313, 2335, 3312, 1594, 775, 1593, 1592, 775, 1050, 1050, 2336, 857, 1591, 1050, 1590, 776, 953, 1050, 1588, 953, 777, 778, 1997, 1997, 1997, 1997, 2004, 780, 2504, 781, 1585, 775, 1584, 2505, 775, 1582, 934, 677, 2506, 870, 869, 775, 776, 857, 775, 1491, 852, 777, 778, 779, 1399, 1397, 776, 778, 780, 1392, 781, 777, 778, 775, 1389, 3099, 775, 1386, 780, 1385, 781, 758, 758, 1404, 776, 3227, 3227, 3227, 3227, 777, 778, 775, 3095, 1371, 775, 671, 780, 683, 781, 1270, 674, 775, 776, 2507, 775, 671, 1254, 777, 778, 1251, 1248, 1247, 776, 1404, 780, 1227, 781, 777, 778, 775, 1058, 1058, 775, 626, 780, 1058, 781, 622, 622, 1058, 776, 1043, 1043, 1043, 1043, 777, 778, 614, 865, 866, 607, 865, 780, 603, 781, 2508, 677, 1155, 570, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 1150, 865, 1147, 780, 2509, 781, 1144, 570, 3099, 867, 1140, 1139, 2510, 1138, 868, 869, 1131, 811, 1130, 865, 866, 780, 865, 781, 1076, 1076, 1127, 2888, 1126, 1076, 867, 1123, 1122, 1076, 1112, 868, 869, 865, 866, 2889, 865, 1101, 780, 2890, 781, 1100, 2892, 1097, 867, 1096, 2512, 1048, 3461, 868, 869, 865, 866, 1095, 865, 1091, 780, 1090, 781, 1089, 1086, 2513, 867, 1085, 1084, 1083, 3585, 868, 869, 865, 866, 1082, 865, 1075, 780, 1074, 781, 1073, 1080, 1080, 867, 1069, 1068, 1080, 2514, 868, 869, 1080, 3308, 3308, 3308, 3308, 780, 1067, 781, 3095, 1064, 1063, 2515, 1439, 1536, 1537, 1439, 1536, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1538, 1439, 1439, 1439, 1439, 1539, 1540, 1439, 1012, 1013, 1013, 1012, 1444, 1439, 1445, 1439, 1439, 1439, 865, 866, 1062, 865, 1061, 1060, 570, 1278, 1278, 1278, 1278, 867, 1056, 1015, 2945, 1016, 868, 869, 1439, 1439, 1439, 1439, 1055, 780, 1054, 781, 1053, 2516, 1098, 1098, 681, 865, 866, 1098, 865, 1052, 570, 1098, 1017, 1011, 3099, 1008, 867, 1007, 1006, 1000, 999, 868, 869, 1439, 1439, 1439, 1439, 1541, 780, 683, 781, 865, 866, 998, 865, 2602, 899, 3325, 3585, 3325, 3325, 995, 867, 994, 3325, 993, 990, 868, 869, 865, 866, 989, 865, 970, 780, 965, 781, 962, 961, 960, 867, 959, 1281, 953, 899, 868, 869, 865, 866, 570, 865, 570, 780, 677, 781, 934, 1103, 1103, 867, 570, 845, 1103, 644, 868, 869, 1103, 865, 866, 758, 865, 780, 755, 781, 3401, 3402, 2687, 3401, 867, 758, 757, 755, 1504, 868, 869, 2688, 865, 866, 678, 865, 780, 656, 781, 3476, 1841, 3477, 3476, 867, 649, 3325, 644, 1504, 868, 869, 865, 866, 642, 865, 2517, 780, 3325, 781, 636, 633, 622, 867, 3585, 3585, 3585, 3585, 868, 869, 622, 622, 617, 865, 866, 780, 865, 781, 614, 3585, 3585, 3585, 3585, 606, 867, 570, 593, 2518, 587, 868, 869, 865, 866, 578, 865, 570, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 2519, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 2520, 781, 3585, 3585, 3386, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 2521, 781, 3585, 3585, 3585, 867, 3463, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 2522, 868, 869, 865, 866, 1504, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 2523, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 3477, 1841, 3477, 3477, 780, 3585, 781, 865, 866, 3585, 865, 865, 866, 3585, 865, 3585, 898, 3325, 867, 2468, 1109, 1109, 867, 868, 869, 1109, 3585, 868, 869, 1109, 780, 3585, 781, 2524, 780, 3585, 781, 865, 866, 3585, 865, 865, 866, 3585, 865, 3585, 1120, 1120, 867, 3585, 3585, 1120, 867, 868, 869, 1120, 3585, 868, 869, 3585, 780, 3585, 781, 3585, 780, 3585, 781, 865, 866, 3585, 865, 3585, 2525, 3585, 2886, 2886, 2886, 2886, 867, 3585, 3585, 3585, 2526, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 2887, 3585, 2887, 868, 869, 865, 866, 3585, 865, 2527, 780, 3585, 781, 1504, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 2528, 868, 869, 865, 866, 3585, 865, 3585, 780, 3062, 781, 3585, 1142, 1142, 867, 3585, 1048, 1142, 2529, 868, 869, 1142, 865, 866, 3585, 865, 780, 3585, 781, 3585, 3585, 3585, 2530, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 865, 866, 3585, 865, 780, 3585, 781, 3325, 3585, 3325, 3325, 867, 3585, 2531, 3325, 2532, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 2533, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 2534, 3585, 3585, 868, 869, 2535, 865, 866, 3585, 865, 780, 3585, 781, 3585, 3585, 3585, 3585, 867, 3585, 3585, 3585, 2536, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3309, 3309, 3309, 3309, 868, 869, 865, 866, 3585, 865, 3585, 780, 3223, 781, 3585, 3223, 3585, 867, 3585, 3585, 2537, 3585, 868, 869, 3223, 865, 866, 3585, 865, 780, 3585, 781, 2886, 2886, 2886, 2886, 867, 2538, 3585, 3585, 2539, 868, 869, 865, 866, 3585, 865, 3585, 780, 3223, 781, 3585, 1583, 1583, 867, 3585, 2887, 1583, 2887, 868, 869, 1583, 2540, 3585, 865, 866, 780, 865, 781, 1012, 1013, 1013, 1012, 1586, 1586, 867, 3585, 3585, 1586, 3585, 868, 869, 1586, 3585, 3585, 2541, 3059, 780, 3585, 781, 865, 866, 1015, 865, 1016, 1589, 1589, 3585, 3060, 1504, 1589, 867, 3061, 3062, 1589, 3063, 868, 869, 865, 866, 1048, 865, 3585, 780, 3585, 781, 3585, 1017, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 2603, 781, 2542, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3323, 1860, 1860, 3323, 868, 869, 3585, 2543, 3585, 865, 866, 780, 865, 781, 3585, 1012, 1013, 1013, 1012, 3585, 867, 2544, 3585, 2352, 3585, 868, 869, 3585, 2354, 2354, 2354, 2354, 780, 3585, 781, 2704, 865, 866, 1015, 865, 1016, 898, 3585, 3585, 2545, 3585, 3585, 867, 1862, 3585, 3585, 681, 868, 869, 865, 866, 3585, 865, 3585, 780, 2546, 781, 3585, 1017, 3585, 867, 1012, 1013, 1013, 1012, 868, 869, 3585, 3585, 3585, 2547, 683, 780, 3585, 781, 3585, 865, 866, 3585, 865, 3585, 1028, 3585, 3585, 1015, 3585, 1016, 867, 3585, 2706, 3585, 2548, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 1281, 867, 3585, 3585, 3585, 1017, 868, 869, 865, 866, 2549, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 2550, 3585, 1028, 865, 866, 780, 865, 781, 2141, 2141, 3585, 3585, 3585, 2141, 867, 3585, 3585, 2141, 2551, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 2552, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 2553, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 2354, 2354, 2354, 2354, 868, 869, 3585, 2355, 2554, 3585, 3585, 780, 3585, 781, 3585, 865, 866, 3585, 865, 2191, 2191, 3585, 2555, 681, 2191, 2556, 867, 3585, 2191, 3585, 2557, 868, 869, 865, 866, 2558, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 683, 868, 869, 865, 866, 1504, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 2357, 868, 869, 865, 866, 3585, 865, 2559, 780, 3585, 781, 3585, 3585, 3585, 867, 1281, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 1504, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 2560, 3585, 3585, 775, 3585, 780, 775, 781, 3585, 3585, 3402, 3402, 2687, 3402, 776, 3585, 3585, 2561, 3585, 2768, 2769, 2688, 2267, 2267, 3585, 3585, 780, 2267, 781, 3585, 3585, 2267, 3585, 2562, 3585, 3585, 3585, 3585, 899, 1439, 1644, 1645, 1645, 1644, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1014, 1014, 1014, 1014, 1646, 1439, 1647, 1439, 1439, 1439, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1439, 1648, 1439, 1439, 1014, 1014, 1014, 1014, 1014, 2601, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1439, 1439, 1439, 1439, 1649, 1012, 1013, 1013, 1012, 1012, 1013, 1013, 1012, 1012, 1013, 1013, 1012, 1012, 1013, 1013, 1012, 3585, 1012, 1013, 1013, 1012, 2705, 2705, 1015, 3585, 1016, 2705, 1015, 3585, 1016, 2705, 1015, 3585, 1016, 3585, 1015, 3585, 1016, 3585, 3585, 1015, 3585, 1016, 1012, 1013, 1013, 1012, 3585, 1017, 3585, 2875, 2875, 1017, 3585, 3585, 2875, 1017, 3585, 2605, 2875, 1017, 3585, 3585, 2607, 2606, 1017, 1015, 2604, 1016, 1012, 1013, 1013, 1012, 1012, 1013, 1013, 1012, 2707, 2707, 2707, 2707, 3585, 2608, 1012, 1013, 1013, 1012, 3585, 668, 3585, 3585, 1017, 1015, 3585, 1016, 3585, 1015, 3585, 1016, 3585, 2352, 2609, 2709, 3585, 2946, 2946, 1015, 775, 1016, 2946, 775, 865, 866, 2946, 865, 3585, 3585, 1017, 776, 3585, 3585, 1017, 867, 777, 778, 1862, 3585, 868, 869, 3585, 780, 1017, 781, 3585, 780, 3585, 781, 3585, 3585, 3585, 2610, 3585, 2611, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1439, 1121, 1121, 1121, 1121, 1439, 1439, 1439, 1439, 1439, 1439, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1439, 1439, 1439, 1439, 1121, 1121, 1121, 1121, 1121, 2644, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1439, 1439, 1439, 1439, 1721, 666, 667, 667, 666, 3097, 3097, 3585, 2329, 3585, 3097, 2329, 668, 669, 3097, 1231, 669, 2682, 2683, 3585, 1232, 3585, 3585, 3585, 672, 669, 673, 2330, 2330, 2330, 2330, 1233, 2707, 2707, 2707, 2707, 2372, 2372, 2372, 2372, 3585, 3585, 3585, 668, 3585, 3585, 3585, 2373, 669, 674, 669, 669, 3585, 670, 3585, 2352, 1235, 2709, 775, 672, 669, 775, 3352, 667, 3353, 3352, 3585, 3585, 3585, 776, 3585, 3585, 3585, 3354, 777, 778, 3353, 667, 3353, 3353, 1862, 780, 3585, 781, 674, 669, 3585, 3354, 3585, 1236, 1830, 1831, 1831, 1830, 3585, 3502, 3502, 1231, 3585, 2710, 3502, 3325, 1232, 775, 3502, 3585, 775, 3585, 3585, 1832, 1832, 1832, 1832, 1833, 776, 3585, 3585, 3585, 775, 777, 778, 775, 3585, 3585, 3585, 3585, 780, 3585, 781, 776, 2782, 3585, 3585, 775, 777, 778, 775, 775, 1835, 3585, 775, 780, 3585, 781, 776, 3585, 3585, 3585, 776, 777, 778, 3585, 3585, 777, 778, 3585, 780, 3585, 781, 2783, 780, 3585, 781, 3585, 3585, 775, 3585, 3585, 775, 3585, 2784, 1236, 1863, 1864, 1864, 1863, 776, 3585, 3585, 3585, 3585, 777, 778, 668, 1273, 2785, 3585, 1273, 780, 2787, 781, 2707, 2707, 2707, 2707, 672, 1273, 673, 3585, 2786, 775, 3585, 668, 775, 1012, 1013, 1013, 1012, 3585, 3585, 3585, 776, 3585, 3585, 2352, 775, 777, 778, 775, 3585, 674, 1273, 3585, 780, 3585, 781, 776, 1015, 3585, 1016, 2789, 777, 778, 3585, 3585, 3585, 3585, 3585, 780, 1862, 781, 2711, 666, 667, 667, 666, 3585, 3585, 3585, 3585, 3585, 3585, 1017, 668, 669, 3585, 2876, 669, 3585, 670, 3585, 775, 3585, 2790, 775, 672, 669, 673, 3585, 3585, 3585, 1404, 776, 3309, 3309, 3309, 3309, 777, 778, 3585, 3585, 3585, 2712, 3585, 780, 3223, 781, 3585, 3223, 3585, 674, 669, 2371, 2372, 2372, 2371, 3585, 3223, 3585, 3462, 3462, 3462, 3462, 2373, 669, 3585, 3585, 669, 775, 670, 2887, 775, 3585, 3585, 3585, 672, 669, 1016, 3585, 776, 3585, 2791, 3223, 3585, 777, 778, 3401, 3402, 2687, 3401, 3585, 780, 3585, 781, 3585, 3585, 3585, 2688, 3585, 3585, 674, 669, 1886, 2721, 1888, 1888, 2721, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1889, 1890, 1886, 1886, 1890, 1886, 1891, 1886, 775, 3585, 810, 775, 1892, 1890, 1893, 1886, 1886, 1886, 3585, 776, 3585, 3585, 3585, 3585, 777, 778, 3585, 3585, 3585, 775, 3585, 780, 775, 781, 3585, 3585, 1886, 1894, 1890, 1886, 776, 3585, 3585, 3585, 3585, 777, 778, 3402, 3402, 2687, 3402, 3585, 780, 3585, 781, 3585, 3585, 3585, 2688, 3585, 3585, 3585, 2792, 3585, 3585, 3585, 3585, 1886, 1886, 1886, 1886, 1895, 1300, 1301, 1302, 1302, 1301, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1303, 1304, 1300, 1300, 1304, 1300, 1305, 1300, 775, 3585, 1404, 775, 1306, 1304, 1307, 1300, 1300, 1300, 3585, 776, 3585, 3585, 3585, 3585, 777, 778, 3585, 3585, 3585, 3585, 3585, 780, 3585, 781, 3585, 3585, 1300, 1308, 1304, 1300, 775, 3585, 3585, 775, 3462, 3462, 3462, 3462, 3585, 3585, 3585, 776, 3585, 3585, 3585, 2887, 777, 778, 3585, 713, 3585, 3585, 2795, 780, 3585, 781, 3585, 1300, 1300, 1300, 1300, 1310, 1997, 1998, 1997, 1997, 1998, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1999, 1997, 1997, 1997, 1997, 2000, 2001, 1997, 3585, 3585, 3585, 1404, 2002, 1997, 2003, 1997, 1997, 1997, 775, 3585, 3585, 775, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 776, 3309, 3309, 3309, 3309, 777, 778, 1997, 1997, 1997, 1997, 2788, 780, 3223, 781, 3585, 3223, 3585, 3585, 3585, 775, 3585, 3585, 775, 3585, 3223, 3585, 3585, 3585, 3585, 3585, 776, 3585, 3585, 3585, 3585, 777, 778, 1997, 1997, 1997, 1997, 2004, 780, 775, 781, 3585, 775, 775, 2796, 3223, 775, 3585, 3585, 3585, 776, 3585, 3585, 3585, 776, 777, 778, 3585, 3585, 777, 778, 3585, 780, 3585, 781, 3585, 780, 775, 781, 3585, 775, 775, 3585, 3585, 775, 3585, 3585, 3585, 776, 3585, 3585, 3585, 776, 777, 778, 3585, 1404, 777, 778, 3585, 780, 3585, 781, 3585, 780, 775, 781, 3585, 775, 2797, 3585, 3585, 3585, 3585, 3585, 775, 776, 3585, 775, 3585, 3585, 777, 778, 3585, 1404, 3585, 776, 3585, 780, 3585, 781, 777, 778, 1404, 775, 3585, 3585, 775, 780, 3585, 781, 3585, 3585, 3585, 775, 776, 2798, 775, 3585, 3585, 777, 778, 3585, 3585, 3585, 776, 3585, 780, 3585, 781, 777, 778, 775, 3585, 3585, 775, 3585, 780, 2799, 781, 3585, 3585, 775, 776, 3585, 775, 3585, 3585, 777, 778, 3585, 3585, 2800, 776, 3585, 780, 3585, 781, 777, 778, 3585, 775, 3585, 3585, 775, 780, 3585, 781, 3585, 3585, 3585, 775, 776, 3585, 775, 2801, 3585, 777, 778, 3585, 3585, 3585, 776, 3585, 780, 810, 781, 777, 778, 775, 3585, 3585, 775, 3585, 780, 3585, 781, 3585, 3585, 3585, 776, 3585, 2803, 2802, 775, 777, 778, 775, 775, 3585, 3585, 775, 780, 3585, 781, 776, 3585, 3585, 3585, 776, 777, 778, 3585, 3585, 777, 778, 3585, 780, 3585, 781, 3585, 780, 2804, 781, 775, 3585, 3585, 775, 775, 3585, 3585, 775, 2805, 2806, 3585, 776, 3585, 3585, 3585, 776, 777, 778, 3585, 775, 777, 778, 775, 780, 1404, 781, 3585, 780, 3585, 781, 776, 3585, 3585, 3585, 3585, 777, 778, 3585, 775, 3585, 3585, 775, 780, 3585, 781, 2807, 3585, 3585, 775, 776, 3585, 775, 3585, 3585, 777, 778, 2808, 3585, 3585, 776, 1404, 780, 3585, 781, 777, 778, 775, 3585, 3585, 775, 3585, 780, 3585, 781, 3585, 3585, 3585, 776, 3585, 3585, 3585, 3585, 777, 778, 811, 775, 3585, 3585, 775, 780, 3585, 781, 3585, 810, 3585, 775, 776, 3585, 775, 3585, 3585, 777, 778, 3585, 3585, 3585, 776, 3585, 780, 3585, 781, 777, 778, 775, 3585, 3585, 775, 3585, 780, 810, 781, 3585, 3585, 1404, 776, 3585, 3585, 3585, 3585, 777, 778, 775, 3585, 3585, 775, 3585, 780, 3585, 781, 2809, 3585, 775, 776, 3585, 775, 3585, 3585, 777, 778, 3585, 3585, 3585, 776, 810, 780, 3585, 781, 777, 778, 3585, 775, 3585, 3585, 775, 780, 3585, 781, 3585, 3585, 3585, 3585, 776, 3585, 3585, 3585, 775, 777, 778, 775, 3585, 3585, 3585, 3585, 780, 1404, 781, 776, 3585, 3585, 3585, 811, 777, 778, 3462, 3462, 3462, 3462, 3585, 780, 3585, 781, 3585, 3585, 3585, 2887, 3585, 3585, 3585, 3585, 3585, 2810, 3585, 2811, 1415, 1416, 1415, 1415, 1416, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1417, 1415, 1415, 1415, 1415, 1418, 1419, 1415, 775, 3585, 2812, 775, 1420, 1415, 1421, 1415, 1415, 1415, 775, 776, 3585, 775, 3585, 3585, 777, 778, 3585, 3585, 3585, 776, 3585, 780, 3585, 781, 777, 778, 1415, 1415, 1415, 1415, 3585, 780, 3585, 781, 3520, 2365, 3520, 3520, 3585, 775, 3585, 3585, 775, 3585, 3585, 3354, 3585, 3585, 3585, 811, 776, 3585, 3585, 3585, 2813, 777, 778, 1415, 1415, 1415, 1415, 1423, 780, 1404, 781, 775, 3585, 3585, 775, 775, 3585, 3585, 775, 3585, 3585, 3585, 776, 3585, 3585, 3585, 776, 777, 778, 3585, 775, 777, 778, 775, 780, 3585, 781, 2814, 780, 3585, 781, 776, 3585, 3585, 3585, 775, 777, 778, 775, 865, 866, 3585, 865, 780, 3585, 781, 776, 3585, 3585, 3585, 867, 777, 778, 3585, 3585, 868, 869, 2816, 780, 3585, 781, 3585, 780, 3585, 781, 3585, 2815, 865, 866, 3585, 865, 3547, 2363, 3547, 3547, 3585, 3585, 3585, 867, 3585, 2817, 3585, 3326, 868, 869, 3585, 2818, 3585, 3585, 3585, 780, 3585, 781, 865, 866, 3585, 865, 865, 866, 3585, 865, 3585, 3585, 3585, 867, 3585, 3585, 3585, 867, 868, 869, 2819, 3585, 868, 869, 3585, 780, 3585, 781, 3585, 780, 3585, 781, 2820, 3585, 865, 866, 3585, 865, 3585, 2877, 1013, 1013, 2877, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 2821, 865, 3585, 780, 2822, 781, 3585, 3585, 1015, 867, 1016, 3585, 3585, 3585, 868, 869, 3585, 3585, 2823, 865, 866, 780, 865, 781, 3585, 3585, 3585, 3585, 3585, 3585, 867, 3585, 2824, 1017, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 2825, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 2826, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 1504, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 3585, 898, 3585, 3585, 780, 3585, 781, 3585, 3585, 865, 866, 3585, 865, 865, 866, 3585, 865, 2827, 3585, 3585, 867, 3585, 3585, 3585, 867, 868, 869, 3585, 3585, 868, 869, 3585, 780, 3585, 781, 3585, 780, 3585, 781, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1504, 1997, 2075, 2076, 1997, 2075, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 2077, 1997, 1997, 1997, 1997, 2078, 2079, 1997, 2829, 3585, 2830, 3585, 2002, 1997, 2003, 1997, 1997, 1997, 865, 866, 3585, 865, 3547, 2363, 3547, 3547, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3326, 868, 869, 1997, 1997, 1997, 1997, 3585, 780, 3585, 781, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 2828, 3445, 1860, 1860, 3445, 3585, 3585, 3585, 3585, 865, 866, 3585, 865, 3585, 3585, 1997, 1997, 1997, 1997, 2080, 867, 1504, 3585, 3585, 1861, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 1862, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 3585, 3585, 865, 866, 780, 865, 781, 3585, 3585, 3585, 3585, 3585, 3585, 867, 3585, 3585, 1504, 3585, 868, 869, 3585, 865, 866, 2831, 865, 780, 3585, 781, 3585, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 1504, 3585, 3585, 868, 869, 3585, 1504, 3585, 865, 866, 780, 865, 781, 3585, 3585, 3585, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 2832, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 2833, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 2834, 3585, 3585, 868, 869, 3585, 3585, 3585, 865, 866, 780, 865, 781, 3585, 3585, 3585, 3585, 3585, 3585, 867, 3585, 3585, 2835, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 898, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 2836, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 2837, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 3585, 3585, 865, 866, 780, 865, 781, 3585, 3585, 3585, 3585, 3585, 3585, 867, 3585, 3585, 2838, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 2839, 2840, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 1504, 865, 866, 3585, 865, 780, 3585, 781, 3585, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 865, 866, 3585, 865, 780, 3585, 781, 3585, 3585, 3585, 3585, 867, 3585, 3585, 3585, 2841, 868, 869, 1504, 865, 866, 3585, 865, 780, 3585, 781, 1012, 1013, 1013, 1012, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 899, 3585, 867, 1015, 3585, 1016, 3585, 868, 869, 898, 865, 866, 3585, 865, 780, 3585, 781, 3585, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 1017, 865, 866, 3585, 865, 780, 3585, 781, 1028, 3585, 3585, 3585, 867, 3585, 3585, 3585, 898, 868, 869, 3585, 1504, 3585, 865, 866, 780, 865, 781, 1012, 1013, 1013, 1012, 3585, 3585, 867, 3585, 3585, 1504, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 1015, 867, 1016, 3585, 3585, 3585, 868, 869, 3585, 898, 3585, 865, 866, 780, 865, 781, 3585, 3585, 3427, 1860, 3427, 3427, 867, 3585, 3585, 1017, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 1028, 781, 3585, 3585, 3585, 867, 3479, 3585, 1504, 3585, 868, 869, 865, 866, 899, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 3429, 3585, 3585, 3585, 780, 3585, 781, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 2842, 2843, 1415, 1515, 1516, 1415, 1515, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1517, 1415, 1415, 1415, 1415, 1518, 1519, 1415, 3585, 2845, 3585, 3585, 1420, 1415, 1421, 1415, 1415, 1415, 865, 866, 3585, 865, 3585, 3585, 3585, 3426, 1860, 3427, 3426, 867, 3585, 3585, 3585, 3585, 868, 869, 1415, 1415, 1415, 1415, 3585, 780, 3585, 781, 3585, 3585, 3585, 3585, 3479, 865, 866, 3585, 865, 3585, 3585, 3585, 3585, 3585, 3585, 899, 867, 3585, 3585, 3585, 3585, 868, 869, 1415, 1415, 1415, 1415, 1521, 780, 3429, 781, 3585, 865, 866, 2844, 865, 865, 866, 3585, 865, 3585, 3585, 3585, 867, 3585, 3585, 3585, 867, 868, 869, 3585, 3585, 868, 869, 3585, 780, 3585, 781, 3585, 780, 1504, 781, 865, 866, 3585, 865, 865, 866, 3585, 865, 3585, 3585, 3585, 867, 3585, 3585, 3585, 867, 868, 869, 3585, 3585, 868, 869, 2846, 780, 3585, 781, 3585, 780, 3585, 781, 865, 866, 3585, 865, 1012, 1013, 1013, 1012, 3585, 2847, 3585, 867, 1012, 1013, 1013, 1012, 868, 869, 1012, 1013, 1013, 1012, 2848, 780, 3585, 781, 3585, 1015, 3585, 1016, 1012, 1013, 1013, 1012, 2849, 1015, 3585, 1016, 3585, 3585, 3585, 1015, 3585, 1016, 1012, 1013, 1013, 1012, 3585, 3585, 3585, 2850, 1017, 1015, 3585, 1016, 1012, 1013, 1013, 1012, 1017, 3585, 1012, 1013, 1013, 1012, 1017, 1015, 3585, 1016, 3585, 3585, 3585, 1028, 3585, 2878, 3585, 3585, 1017, 1015, 3585, 1016, 3585, 1028, 3585, 1015, 3585, 1016, 2938, 2707, 2707, 2938, 1017, 3585, 2938, 2707, 2707, 2938, 3585, 668, 3585, 1028, 3585, 3585, 1017, 668, 3585, 3585, 3585, 2879, 1017, 2352, 3585, 2881, 3585, 3585, 2880, 1861, 3585, 2709, 2938, 2707, 2707, 2938, 2707, 2707, 2707, 2707, 3585, 3585, 3585, 668, 3585, 3585, 3585, 668, 1862, 2707, 2707, 2707, 2707, 3585, 1862, 1861, 3585, 2709, 3585, 2352, 668, 2709, 3585, 3585, 2728, 2728, 2728, 2728, 1012, 1013, 1013, 1012, 2352, 3585, 2709, 668, 669, 3585, 3585, 669, 1862, 670, 3585, 3585, 1862, 3585, 3585, 672, 669, 3585, 3585, 1015, 3585, 1016, 3585, 3585, 3585, 1862, 3585, 2940, 2877, 1013, 1013, 2877, 3585, 2941, 1863, 1864, 1864, 1863, 3585, 775, 674, 669, 775, 3585, 1017, 668, 1273, 3585, 3585, 1273, 776, 1634, 3585, 1016, 3585, 777, 778, 672, 1273, 673, 3585, 1028, 780, 3585, 781, 3585, 3585, 3585, 775, 3585, 3585, 775, 3585, 3585, 3585, 3585, 1017, 3585, 3585, 776, 3585, 3585, 674, 1273, 777, 778, 2942, 666, 667, 667, 666, 780, 3585, 781, 3585, 3585, 3585, 775, 668, 669, 775, 3585, 669, 2995, 670, 3585, 3585, 3585, 776, 3585, 672, 669, 673, 777, 778, 3585, 3585, 3585, 3585, 2943, 780, 3585, 781, 3585, 3585, 1404, 3585, 3585, 3585, 3585, 775, 3585, 3585, 775, 3585, 674, 669, 666, 667, 667, 666, 776, 3427, 1860, 3427, 3427, 777, 778, 668, 669, 3585, 3585, 669, 780, 670, 781, 3585, 3585, 3585, 3585, 672, 669, 673, 3585, 775, 3479, 1404, 775, 1012, 1013, 1013, 1012, 3585, 3585, 3585, 776, 3585, 3585, 3585, 3585, 777, 778, 3585, 3585, 2996, 674, 669, 780, 3585, 781, 3429, 1015, 3585, 1016, 3585, 3585, 3585, 2938, 2707, 2707, 2938, 2947, 2949, 2372, 2372, 2949, 3585, 775, 668, 3585, 775, 3585, 3585, 2373, 669, 3585, 1017, 669, 776, 670, 1861, 3585, 2709, 777, 778, 672, 669, 1016, 3585, 3585, 780, 3585, 781, 3585, 1404, 3585, 3585, 1028, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1862, 3585, 3585, 3585, 3585, 674, 669, 1886, 2967, 1888, 1888, 2967, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1889, 1890, 1886, 1886, 1890, 1886, 1891, 1886, 810, 3585, 3585, 3585, 1892, 1890, 1893, 1886, 1886, 1886, 775, 3585, 3585, 775, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 776, 3585, 3585, 3585, 3585, 777, 778, 1886, 1894, 1890, 1886, 3585, 780, 3585, 781, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3114, 1873, 1873, 3114, 3585, 3585, 3585, 3585, 3585, 775, 3585, 668, 775, 3585, 1886, 1886, 1886, 1886, 1895, 2997, 776, 3585, 3585, 681, 775, 777, 778, 775, 775, 3585, 3585, 775, 780, 3585, 781, 776, 3585, 3585, 3585, 776, 777, 778, 3585, 775, 777, 778, 775, 780, 683, 781, 3585, 780, 3585, 781, 776, 3585, 3585, 3585, 3585, 777, 778, 775, 3585, 3585, 775, 3585, 780, 3585, 781, 3585, 3585, 3585, 776, 3585, 3585, 3585, 775, 777, 778, 775, 3585, 2998, 2999, 3585, 780, 3585, 781, 776, 3585, 3585, 3585, 775, 777, 778, 775, 811, 3585, 3585, 3585, 780, 3585, 781, 776, 3000, 3585, 3585, 775, 777, 778, 775, 3426, 1860, 3427, 3426, 780, 3585, 781, 776, 3585, 3585, 3585, 3326, 777, 778, 3585, 775, 3585, 3585, 775, 780, 3585, 781, 3585, 3428, 3585, 811, 776, 811, 3585, 3585, 3585, 777, 778, 3445, 1860, 1860, 3445, 3585, 780, 3585, 781, 775, 3585, 3585, 775, 3585, 3585, 3002, 3429, 3585, 1404, 3585, 776, 3585, 3585, 3585, 2352, 777, 778, 775, 3585, 3585, 775, 3585, 780, 3585, 781, 3003, 3585, 775, 776, 3585, 775, 3585, 3585, 777, 778, 3585, 3585, 3585, 776, 1862, 780, 3585, 781, 777, 778, 775, 3585, 3585, 775, 3585, 780, 3585, 781, 3585, 3585, 1404, 776, 3585, 3585, 3585, 775, 777, 778, 775, 775, 3585, 3585, 775, 780, 3004, 781, 776, 3585, 3585, 3585, 776, 777, 778, 3585, 3585, 777, 778, 3585, 780, 3585, 781, 3585, 780, 3585, 781, 3585, 775, 3585, 3585, 775, 3585, 3005, 3585, 3585, 3585, 3585, 775, 776, 3585, 775, 3585, 3585, 777, 778, 3585, 3585, 3006, 776, 3585, 780, 3007, 781, 777, 778, 775, 3585, 3585, 775, 3585, 780, 3585, 781, 3585, 3585, 775, 776, 3585, 775, 1404, 3585, 777, 778, 3585, 3585, 3585, 776, 3585, 780, 3585, 781, 777, 778, 1404, 3114, 1873, 1873, 3114, 780, 775, 781, 3585, 775, 3585, 3585, 668, 3585, 3585, 3585, 775, 776, 3585, 775, 3585, 3585, 777, 778, 2364, 3008, 1875, 776, 3009, 780, 3585, 781, 777, 778, 3585, 3585, 3585, 3585, 3585, 780, 3585, 781, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 683, 3585, 3010, 1997, 1998, 1997, 1997, 1998, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1999, 1997, 1997, 1997, 1997, 2000, 2001, 1997, 3012, 3585, 3585, 3585, 2002, 1997, 2003, 1997, 1997, 1997, 775, 3585, 3585, 775, 3585, 3013, 3585, 1012, 1013, 1013, 1012, 776, 3585, 3585, 3585, 3585, 777, 778, 1997, 1997, 1997, 1997, 3011, 780, 3585, 781, 3585, 3585, 3585, 3585, 1015, 3585, 1016, 3585, 3487, 1873, 3487, 3487, 3585, 3585, 3585, 3585, 3585, 775, 3585, 3354, 775, 3585, 3585, 1997, 1997, 1997, 1997, 2004, 776, 1017, 3014, 3348, 775, 777, 778, 775, 775, 3055, 3585, 775, 780, 3585, 781, 776, 3585, 3585, 3585, 776, 777, 778, 3585, 3585, 777, 778, 3585, 780, 3349, 781, 3585, 780, 775, 781, 3585, 775, 775, 3585, 3585, 775, 3585, 3585, 3585, 776, 3585, 3585, 1404, 776, 777, 778, 3585, 3585, 777, 778, 3585, 780, 3585, 781, 3585, 780, 775, 781, 3585, 775, 3016, 3585, 3585, 3585, 3015, 3585, 3585, 776, 3585, 3585, 3585, 3585, 777, 778, 3585, 3585, 3585, 865, 866, 780, 865, 781, 3585, 3585, 3585, 3585, 3585, 3585, 867, 3585, 3585, 1404, 3585, 868, 869, 3017, 865, 866, 3585, 865, 780, 3585, 781, 3585, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 810, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3018, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 1504, 868, 869, 3019, 865, 866, 3585, 865, 780, 3585, 781, 3585, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 1504, 868, 869, 865, 866, 1504, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 865, 866, 3585, 865, 780, 3585, 781, 3585, 3585, 3585, 898, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 3585, 3585, 865, 866, 780, 865, 781, 3585, 3585, 3585, 3585, 3585, 3585, 867, 3585, 3585, 3020, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 899, 3585, 3585, 868, 869, 3585, 865, 866, 3021, 865, 780, 3585, 781, 3585, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 3585, 3585, 899, 899, 780, 3585, 781, 865, 866, 3585, 865, 865, 866, 3585, 865, 3585, 3585, 3585, 867, 3585, 3585, 3585, 867, 868, 869, 3585, 3585, 868, 869, 3022, 780, 3585, 781, 3585, 780, 1504, 781, 865, 866, 3585, 865, 865, 866, 3585, 865, 3585, 3585, 3585, 867, 3585, 3585, 3585, 867, 868, 869, 3585, 3585, 868, 869, 3023, 780, 3585, 781, 3585, 780, 3585, 781, 1504, 865, 866, 3585, 865, 3585, 3585, 1012, 1013, 1013, 1012, 3585, 867, 1264, 1264, 1264, 1264, 868, 869, 3585, 1265, 3585, 3024, 3585, 780, 3585, 781, 3585, 865, 866, 1015, 865, 1016, 3585, 3585, 3585, 681, 3585, 3585, 867, 3585, 3585, 3585, 3025, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 1017, 3585, 867, 3585, 3585, 3585, 683, 868, 869, 3585, 865, 866, 3026, 865, 780, 3056, 781, 3585, 3585, 3585, 3585, 867, 3585, 3585, 1267, 3585, 868, 869, 3027, 865, 866, 3585, 865, 780, 3585, 781, 3585, 3585, 3585, 684, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 1504, 3585, 3585, 868, 869, 3585, 1504, 3585, 865, 866, 780, 865, 781, 3585, 3585, 3585, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 3585, 3585, 3585, 3585, 780, 3585, 781, 865, 866, 3585, 865, 865, 866, 3028, 865, 3585, 3029, 3585, 867, 3585, 3585, 3585, 867, 868, 869, 3585, 3585, 868, 869, 3585, 780, 3585, 781, 3585, 780, 3585, 781, 865, 866, 3585, 865, 865, 866, 3585, 865, 3585, 3585, 3030, 867, 3585, 3585, 3585, 867, 868, 869, 3585, 3585, 868, 869, 3585, 780, 3585, 781, 3585, 780, 3585, 781, 3032, 865, 866, 3585, 865, 865, 866, 3585, 865, 3585, 3585, 3031, 867, 3585, 3585, 3585, 867, 868, 869, 3585, 3585, 868, 869, 3585, 780, 3585, 781, 1504, 780, 3585, 781, 865, 866, 3585, 865, 3585, 3585, 3585, 3033, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3034, 3585, 3585, 867, 1012, 1013, 1013, 1012, 868, 869, 3585, 1504, 3585, 3585, 3585, 780, 3585, 781, 3585, 3585, 2938, 2707, 2707, 2938, 3585, 3585, 3585, 1015, 3585, 1016, 3585, 668, 3585, 2707, 2707, 2707, 2707, 3035, 3585, 3585, 3585, 3585, 3585, 1861, 668, 2709, 3585, 3585, 3585, 3585, 3585, 3585, 1017, 3585, 775, 3585, 2352, 775, 2709, 3585, 3585, 3585, 3585, 898, 3585, 776, 3585, 3585, 1862, 775, 777, 778, 775, 3585, 3585, 1028, 3109, 780, 3585, 781, 776, 1862, 3585, 3585, 775, 777, 778, 775, 3585, 3585, 3585, 3585, 780, 3585, 781, 776, 3585, 3585, 3585, 3585, 777, 778, 3110, 1863, 1864, 1864, 1863, 780, 775, 781, 1404, 775, 3585, 3585, 668, 1273, 3585, 3585, 1273, 776, 3585, 3585, 3585, 3585, 777, 778, 672, 1273, 673, 3585, 3585, 780, 775, 781, 3585, 775, 3161, 3585, 3585, 3585, 1404, 3585, 775, 776, 3585, 775, 3585, 3585, 777, 778, 3585, 674, 1273, 776, 3585, 780, 3585, 781, 777, 778, 3585, 3585, 3585, 3585, 811, 780, 3585, 781, 775, 3585, 3585, 775, 3585, 3585, 3111, 666, 667, 667, 666, 776, 3585, 3585, 3585, 3162, 777, 778, 668, 669, 3585, 3585, 669, 780, 670, 781, 775, 3585, 3585, 775, 672, 669, 673, 3585, 3585, 3585, 3585, 776, 3585, 3585, 3585, 3585, 777, 778, 3585, 1404, 3585, 3585, 3585, 780, 3585, 781, 3585, 3585, 3585, 674, 669, 3585, 3112, 666, 667, 667, 666, 3585, 3585, 1404, 3585, 3585, 3585, 775, 668, 669, 775, 3585, 669, 3585, 670, 3585, 3585, 3585, 776, 3585, 672, 669, 673, 777, 778, 775, 3585, 1404, 775, 3585, 780, 3585, 781, 3585, 3585, 3585, 776, 1012, 1013, 1013, 1012, 777, 778, 3585, 3585, 674, 669, 3585, 780, 3585, 781, 3585, 3585, 1289, 2949, 2372, 2372, 2949, 3585, 3585, 1015, 3163, 1016, 3585, 3585, 2373, 669, 3585, 3585, 669, 775, 670, 3585, 775, 3585, 3585, 3585, 672, 669, 1016, 3585, 776, 3585, 3585, 3585, 1017, 777, 778, 3585, 3585, 3585, 3585, 1028, 780, 1404, 781, 3585, 3585, 3585, 3585, 3585, 3585, 674, 669, 3118, 3119, 3120, 3120, 3119, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3121, 3122, 3118, 3118, 3122, 3118, 3123, 3118, 775, 3585, 1404, 775, 3124, 3122, 3125, 3118, 3118, 3118, 3585, 776, 3585, 3585, 3585, 3585, 777, 778, 3585, 3585, 3585, 3585, 3585, 780, 775, 781, 3585, 775, 3118, 3126, 3122, 3118, 3127, 3585, 3585, 776, 3585, 3585, 3585, 3585, 777, 778, 3585, 3585, 3585, 3585, 3585, 780, 3585, 781, 3585, 3585, 3585, 3585, 3585, 3585, 3172, 3585, 3585, 3118, 3118, 3118, 3118, 3128, 1886, 3131, 1888, 1888, 3131, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1889, 1890, 1886, 1886, 1890, 1886, 1891, 1886, 1012, 1013, 1013, 1012, 1892, 1890, 1893, 1886, 1886, 1886, 3277, 3585, 3585, 3585, 3585, 3585, 775, 3585, 3585, 775, 3585, 3585, 3585, 1015, 3585, 1016, 3585, 776, 1886, 1894, 1890, 1886, 777, 778, 3585, 3585, 3585, 3585, 3585, 780, 3585, 781, 3585, 3585, 3585, 3585, 3585, 3585, 1017, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 2602, 3585, 3585, 1886, 1886, 1886, 1886, 1895, 3164, 3165, 3164, 3164, 3165, 3164, 3164, 3164, 3164, 3164, 3164, 3164, 3166, 3164, 3164, 3164, 3164, 3167, 3168, 3164, 775, 1404, 3585, 775, 3169, 3164, 3170, 3164, 3164, 3164, 775, 776, 3585, 775, 3585, 3585, 777, 778, 3585, 3585, 3585, 776, 3585, 780, 3585, 781, 777, 778, 3164, 3164, 3164, 3164, 3585, 780, 3585, 781, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3325, 3585, 3325, 3325, 3585, 3585, 3585, 3325, 3585, 775, 3585, 3585, 775, 3585, 3164, 3164, 3164, 3164, 3171, 3174, 776, 3585, 3173, 3325, 775, 777, 778, 775, 775, 3585, 3585, 775, 780, 3585, 781, 776, 3585, 3585, 3585, 776, 777, 778, 3585, 775, 777, 778, 775, 780, 3325, 781, 3585, 780, 3585, 781, 776, 3585, 3585, 3585, 3585, 777, 778, 775, 3585, 3585, 775, 3585, 780, 3585, 781, 3585, 3585, 3585, 776, 3585, 3175, 3585, 3585, 777, 778, 775, 1404, 3325, 775, 3585, 780, 3585, 781, 3585, 3585, 3585, 776, 3585, 3585, 3176, 3585, 777, 778, 865, 866, 1404, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 810, 3585, 3585, 3585, 780, 3585, 781, 865, 866, 3585, 865, 865, 866, 3585, 865, 3585, 3585, 3585, 867, 1404, 3585, 3585, 867, 868, 869, 3585, 3585, 868, 869, 3585, 780, 3585, 781, 3585, 780, 3585, 781, 1504, 865, 866, 3585, 865, 3511, 2707, 3512, 3511, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3471, 868, 869, 3585, 865, 866, 3585, 865, 780, 3585, 781, 3585, 3479, 3585, 899, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 865, 866, 1504, 865, 780, 3585, 781, 3585, 3585, 3585, 3585, 867, 3585, 3585, 3429, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 1504, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 1504, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 3585, 3585, 3585, 3585, 780, 3585, 781, 3585, 1504, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3177, 3164, 3178, 3179, 3164, 3178, 3164, 3164, 3164, 3164, 3164, 3164, 3164, 3180, 3164, 3164, 3164, 3164, 3181, 3182, 3164, 865, 866, 3585, 865, 3169, 3164, 3170, 3164, 3164, 3164, 3585, 867, 1504, 3585, 3585, 3585, 868, 869, 3585, 3585, 3585, 865, 866, 780, 865, 781, 3585, 3585, 3164, 3164, 3164, 3164, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 3585, 3585, 3585, 3585, 780, 3585, 781, 3114, 1873, 1873, 3114, 3585, 3585, 3585, 3585, 3585, 1504, 3585, 668, 3164, 3164, 3164, 3164, 3183, 865, 866, 3585, 865, 3585, 3585, 2364, 3585, 1875, 3585, 3585, 867, 3585, 3184, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 683, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3585, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 3585, 3585, 3585, 1504, 868, 869, 3585, 865, 866, 3585, 865, 780, 3585, 781, 3585, 3585, 3585, 3185, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 1504, 3585, 3585, 3585, 780, 3585, 781, 865, 866, 3585, 865, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 865, 866, 3186, 865, 3585, 780, 3585, 781, 3585, 3585, 3585, 867, 1504, 3585, 3585, 3585, 868, 869, 3222, 3222, 3222, 3222, 3585, 780, 3585, 781, 3585, 3585, 3585, 3585, 3223, 3585, 3585, 3223, 3585, 3585, 3585, 898, 3585, 3585, 3585, 3225, 3223, 3585, 3585, 3585, 2938, 2707, 2707, 2938, 2707, 2707, 2707, 2707, 3585, 3585, 1504, 668, 3585, 3585, 3585, 668, 3585, 3585, 3585, 3585, 3226, 3223, 3585, 1861, 3585, 2709, 3585, 2352, 3585, 2709, 2372, 2372, 2372, 2372, 3585, 2707, 2707, 2707, 2707, 3585, 3585, 2373, 669, 3585, 3585, 669, 668, 670, 1862, 3585, 3585, 3585, 1862, 672, 669, 3585, 3237, 3585, 2352, 3585, 2709, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3236, 1863, 1864, 1864, 1863, 3585, 3585, 3585, 3585, 674, 669, 3585, 668, 1273, 1862, 3585, 1273, 3134, 3134, 667, 3134, 3585, 3585, 3585, 672, 1273, 673, 3585, 668, 669, 3585, 3585, 669, 3585, 670, 775, 3585, 3316, 775, 3585, 672, 669, 3585, 3585, 3585, 3585, 776, 3585, 3585, 674, 1273, 777, 778, 3585, 3585, 3585, 3585, 3585, 780, 3585, 781, 3585, 3585, 3585, 3585, 674, 669, 3238, 666, 667, 667, 666, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 668, 669, 3585, 3585, 669, 775, 670, 3585, 775, 3585, 3278, 3585, 672, 669, 673, 3585, 776, 3585, 3585, 3585, 3239, 777, 778, 2938, 2707, 2707, 2938, 3585, 780, 3585, 781, 3585, 3585, 3585, 668, 3585, 3585, 674, 669, 666, 667, 667, 666, 3585, 3585, 3585, 1861, 3585, 2709, 775, 668, 669, 775, 3585, 669, 3585, 670, 3585, 3585, 3585, 776, 1404, 672, 669, 673, 777, 778, 775, 3585, 3585, 775, 1862, 780, 3585, 781, 3315, 3585, 3585, 776, 3585, 3585, 3585, 3585, 777, 778, 3585, 3585, 674, 669, 3585, 780, 775, 781, 3585, 775, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 776, 3585, 1404, 3585, 3585, 777, 778, 3241, 3243, 2372, 2372, 3243, 780, 3585, 781, 3585, 3585, 3585, 3585, 2373, 669, 3585, 3585, 669, 3585, 670, 775, 3585, 3585, 775, 3585, 672, 669, 3244, 3279, 3585, 3585, 776, 3585, 3585, 3585, 3280, 777, 778, 3585, 3585, 3585, 3585, 3585, 780, 3585, 781, 3585, 3585, 3585, 3585, 674, 669, 3250, 3251, 1888, 3252, 3251, 3250, 3250, 3250, 3250, 3250, 3250, 3250, 3253, 3254, 3250, 3250, 3254, 3250, 3255, 3250, 865, 866, 3585, 865, 3256, 3254, 3257, 3250, 3250, 3250, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 1404, 3585, 3585, 3585, 780, 775, 781, 3585, 775, 3250, 3258, 3254, 3250, 3585, 3585, 3585, 776, 3585, 3585, 3585, 3585, 777, 778, 3585, 3585, 3585, 3585, 3585, 780, 3585, 781, 3585, 3585, 3585, 3585, 3585, 3585, 1504, 3585, 3585, 3250, 3250, 3250, 3250, 3259, 3118, 3270, 3120, 3120, 3270, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3121, 3122, 3118, 3118, 3122, 3118, 3123, 3118, 3281, 3585, 3585, 3585, 3124, 3122, 3271, 3118, 3118, 3118, 865, 866, 3585, 865, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 867, 3421, 1238, 3422, 3421, 868, 869, 3118, 3126, 3122, 3118, 3127, 780, 3423, 781, 3585, 3423, 3585, 3331, 3585, 865, 866, 3585, 865, 3585, 3423, 3585, 3585, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 3118, 3118, 3118, 3118, 3128, 780, 3585, 781, 865, 866, 3585, 865, 3423, 3585, 3585, 3585, 3585, 3585, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 865, 866, 3585, 865, 780, 3585, 781, 3585, 3585, 3585, 1504, 867, 3222, 3222, 3222, 3222, 868, 869, 3585, 3222, 3222, 3222, 3222, 780, 3223, 781, 3585, 3223, 3585, 775, 3585, 3223, 775, 3585, 3223, 3225, 3223, 3585, 3585, 3585, 776, 3282, 3225, 3223, 3585, 777, 778, 3585, 3585, 3585, 3585, 3585, 780, 775, 781, 3585, 775, 3585, 3585, 3585, 3226, 3223, 3585, 3585, 776, 3585, 3585, 3226, 3223, 777, 778, 1504, 1863, 1864, 1864, 1863, 780, 3585, 781, 3585, 3585, 3585, 3585, 668, 1273, 3585, 3585, 1273, 3585, 3585, 775, 3585, 3585, 775, 3585, 672, 1273, 673, 3585, 3585, 3373, 776, 3585, 3585, 3585, 3374, 777, 778, 775, 3585, 3585, 775, 3585, 780, 3585, 781, 3585, 3585, 3585, 776, 674, 1273, 3585, 3585, 777, 778, 2938, 2707, 2707, 2938, 3585, 780, 3585, 781, 3585, 3585, 3585, 668, 3585, 3585, 3585, 3317, 666, 667, 667, 666, 3375, 775, 3585, 1861, 775, 2709, 3585, 668, 669, 3585, 3585, 669, 776, 670, 3585, 3585, 3585, 777, 778, 672, 669, 673, 3585, 3585, 780, 3585, 781, 3585, 1862, 3585, 3585, 3585, 3376, 3585, 3585, 3318, 3585, 3585, 3585, 865, 866, 3585, 865, 3585, 674, 669, 666, 667, 667, 666, 867, 3403, 3585, 3585, 3585, 868, 869, 668, 669, 3585, 3585, 669, 780, 670, 781, 2707, 2707, 2707, 2707, 672, 669, 673, 3585, 3585, 3585, 3585, 668, 3585, 3377, 3325, 3585, 3325, 3325, 3585, 3585, 3585, 3325, 3585, 2352, 775, 2709, 3585, 775, 3585, 674, 669, 3585, 3585, 3585, 3585, 776, 3585, 3325, 3585, 3585, 777, 778, 3585, 3585, 3585, 3585, 3585, 780, 1862, 3448, 3585, 3378, 3320, 3243, 2372, 2372, 3243, 3585, 3585, 3585, 3585, 3585, 3325, 3585, 2373, 669, 3404, 3585, 669, 3585, 670, 775, 3585, 3585, 775, 3585, 672, 669, 3244, 3585, 1266, 3585, 776, 3585, 3585, 3585, 3585, 777, 778, 3585, 3585, 3585, 3585, 3585, 780, 3325, 781, 3585, 3585, 3585, 3585, 674, 669, 3327, 2372, 3328, 3327, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3329, 3330, 3585, 3585, 3330, 775, 3331, 3585, 775, 3585, 3585, 3585, 3332, 3330, 3333, 3585, 776, 3585, 3585, 3585, 3585, 777, 778, 3585, 3585, 3585, 3585, 3449, 780, 3585, 781, 3585, 3585, 3585, 3585, 3585, 3585, 3334, 3330, 3325, 3337, 1259, 3337, 3337, 3325, 3325, 3325, 3338, 3325, 3325, 3325, 3326, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3585, 3451, 3585, 3325, 3325, 3325, 3325, 3325, 3325, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 3325, 3325, 3325, 3325, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 3325, 3325, 3325, 3339, 3340, 3341, 3341, 3585, 3341, 3341, 3341, 3325, 3341, 3341, 3341, 3341, 3341, 3342, 3343, 3341, 3341, 3341, 3344, 3344, 3325, 1260, 1260, 1260, 1260, 3341, 3341, 3341, 3341, 3345, 3341, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 3341, 3341, 3341, 3341, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 3325, 3341, 3343, 3341, 3341, 3325, 3346, 1264, 3346, 3346, 3325, 3325, 3325, 3347, 3325, 3325, 3325, 3326, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3585, 3585, 3585, 3348, 3325, 3325, 3325, 3325, 3325, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 3325, 3349, 3325, 3325, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1267, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 3325, 3325, 3325, 3350, 3351, 3325, 3352, 3585, 3353, 3352, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3354, 3330, 3325, 3325, 3330, 3325, 3331, 3325, 865, 866, 3585, 865, 3332, 3330, 3355, 3325, 3325, 3325, 3585, 867, 3585, 3585, 3585, 3585, 868, 869, 3585, 3585, 3585, 3585, 3585, 780, 3585, 781, 3585, 3585, 3325, 3334, 3330, 3325, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 671, 3585, 3585, 3585, 3452, 3585, 3585, 3325, 3325, 3325, 3325, 3356, 3325, 3405, 1864, 3406, 3405, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3407, 3408, 3325, 3325, 3408, 3325, 3325, 3325, 1865, 1865, 1865, 1865, 3332, 3408, 3355, 3325, 3325, 3325, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 3325, 3334, 3408, 3325, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 3325, 3325, 3325, 3325, 3409, 3324, 667, 667, 3324, 3585, 775, 3585, 3585, 775, 3585, 3585, 668, 669, 3585, 3585, 669, 776, 670, 3585, 3585, 3585, 777, 778, 672, 669, 1016, 3585, 3585, 780, 3585, 781, 3585, 3585, 3585, 775, 3585, 3585, 775, 3585, 3585, 3585, 2938, 2707, 2707, 2938, 776, 3585, 3585, 674, 669, 777, 778, 668, 3585, 2409, 3585, 3585, 780, 3585, 781, 3585, 3585, 3585, 3585, 1861, 3585, 2709, 3585, 3585, 3585, 2410, 3327, 2372, 3328, 3327, 3585, 3450, 3585, 3585, 3585, 3585, 3585, 3329, 3330, 3585, 3585, 3330, 775, 3331, 1862, 775, 3585, 3585, 3585, 3332, 3330, 3333, 3585, 776, 3585, 3585, 3585, 3585, 777, 778, 3373, 3585, 3469, 3585, 3585, 780, 3585, 781, 3585, 3585, 3585, 3585, 3585, 3585, 3334, 3330, 3325, 3337, 1259, 3337, 3337, 3325, 3325, 3325, 3338, 3325, 3325, 3325, 3326, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 1404, 3585, 3585, 3325, 3325, 3325, 3325, 3325, 3325, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 3325, 3325, 3325, 3325, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, 3325, 3325, 3325, 3339, 3340, 3343, 3343, 3585, 3343, 3343, 3343, 3325, 3343, 3343, 3343, 3343, 3343, 3342, 3343, 3343, 3343, 3343, 3325, 3325, 3325, 1261, 1261, 1261, 1261, 3343, 3343, 3343, 3343, 3415, 3343, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 3343, 3343, 3343, 3343, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 3325, 3343, 3343, 3343, 3343, 3325, 3346, 1264, 3346, 3346, 3325, 3325, 3325, 3347, 3325, 3325, 3325, 3326, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3585, 3585, 3585, 3348, 3325, 3325, 3325, 3325, 3325, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 3325, 3349, 3325, 3325, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1267, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 3325, 3325, 3325, 3350, 3351, 3325, 3418, 1241, 3418, 3418, 3325, 3325, 3325, 3419, 3325, 3325, 3325, 3326, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3585, 3585, 3585, 3325, 3325, 3325, 3325, 3325, 3325, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 3325, 3325, 3325, 3325, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 3325, 3325, 3325, 3325, 3420, 3325, 3421, 1238, 3422, 3421, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3326, 3423, 3325, 3325, 3423, 3325, 3331, 3325, 1240, 1240, 1240, 1240, 3325, 3423, 3325, 3325, 3325, 3325, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 3325, 3325, 3423, 3325, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 3325, 3325, 3325, 3325, 3424, 3341, 3341, 3585, 3341, 3341, 3341, 3325, 3341, 3341, 3341, 3341, 3341, 3342, 3343, 3341, 3341, 3341, 3344, 3344, 3325, 1260, 1260, 1260, 1260, 3341, 3341, 3341, 3341, 3345, 3341, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 3341, 3341, 3341, 3341, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 3325, 3341, 3343, 3341, 3341, 1261, 1261, 3585, 1261, 1261, 1261, 3585, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 3585, 3585, 3585, 3405, 1864, 3406, 3405, 1261, 1261, 1261, 1261, 1636, 1261, 3585, 3471, 3408, 3585, 3585, 3408, 3585, 3325, 3585, 3585, 3585, 3585, 3585, 3585, 3408, 3585, 3585, 3585, 1261, 1261, 1261, 1261, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3408, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1261, 1261, 1261, 1261, 3344, 3344, 3585, 3344, 3344, 3344, 3325, 3344, 3344, 3344, 3344, 3344, 3326, 3325, 3344, 3344, 3344, 3344, 3344, 3325, 1262, 1262, 1262, 1262, 3344, 3344, 3344, 3344, 3425, 3344, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 3344, 3344, 3344, 3344, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 3325, 3344, 3325, 3344, 3344, 3325, 3430, 1278, 3430, 3430, 3325, 3325, 3325, 3431, 3325, 3325, 3325, 3326, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3585, 3585, 3585, 3348, 3325, 3325, 3325, 3325, 3325, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 3325, 3349, 3325, 3325, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 3325, 3325, 3325, 3432, 3433, 3325, 3434, 1282, 3434, 3434, 3325, 3325, 3325, 3435, 3325, 3325, 3325, 3326, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3585, 3585, 3585, 3325, 3325, 3325, 3325, 3325, 3325, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 3325, 3325, 3325, 3325, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 3325, 3325, 3325, 3325, 3436, 3325, 3352, 3585, 3353, 3352, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3354, 3330, 3325, 3325, 3330, 3325, 3331, 3325, 2707, 2707, 2707, 2707, 3332, 3330, 3355, 3325, 3325, 3325, 3585, 668, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 775, 3585, 2352, 775, 2709, 3585, 3585, 3325, 3334, 3330, 3325, 776, 3585, 3585, 3585, 3585, 777, 778, 3585, 3585, 3585, 3585, 3585, 780, 3585, 781, 3585, 1862, 3585, 3585, 3585, 671, 3585, 3585, 3585, 3585, 3585, 3585, 3325, 3325, 3325, 3325, 3356, 3365, 2372, 2372, 3365, 3585, 3470, 3585, 3325, 3585, 3325, 3325, 2373, 669, 3585, 3585, 669, 3585, 670, 3326, 3325, 3585, 3585, 3325, 672, 669, 3366, 3585, 3585, 3373, 3585, 3325, 3325, 3325, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 674, 669, 3585, 3585, 3585, 3585, 3585, 3325, 3325, 3325, 3437, 1864, 3406, 3437, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3354, 3408, 3325, 3325, 3408, 3325, 3325, 3325, 1865, 1865, 1865, 1865, 3332, 3408, 3355, 3325, 3325, 3325, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 3325, 3334, 3408, 3325, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 3325, 3325, 3325, 3325, 3409, 3325, 3418, 1241, 3418, 3418, 3325, 3325, 3325, 3419, 3325, 3325, 3325, 3326, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3585, 3585, 3585, 3325, 3325, 3325, 3325, 3325, 3325, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 3325, 3325, 3325, 3325, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 3325, 3325, 3325, 3325, 3420, 3325, 3476, 1841, 3477, 3476, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3326, 3423, 3325, 3325, 3423, 3325, 3325, 3325, 1842, 1842, 1842, 1842, 3325, 3423, 3325, 3325, 3325, 3325, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 3325, 3325, 3423, 3325, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 3325, 3325, 3325, 3325, 3478, 3325, 3421, 1238, 3422, 3421, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3326, 3423, 3325, 3325, 3423, 3325, 3331, 3325, 1240, 1240, 1240, 1240, 3325, 3423, 3325, 3325, 3325, 3325, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 3325, 3325, 3423, 3325, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 3325, 3325, 3325, 3325, 3424, 3325, 3481, 2354, 3481, 3481, 3325, 3325, 3325, 3482, 3325, 3325, 3325, 3326, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3585, 3585, 3585, 3348, 3325, 3325, 3325, 3325, 3325, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 3325, 3349, 3325, 3325, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2357, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 3325, 3325, 3325, 3432, 3483, 3325, 3430, 1278, 3430, 3430, 3325, 3325, 3325, 3431, 3325, 3325, 3325, 3326, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3585, 3585, 3585, 3348, 3325, 3325, 3325, 3325, 3325, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 3325, 3349, 3325, 3325, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 3325, 3325, 3325, 3432, 3433, 3325, 3484, 1876, 3484, 3484, 3325, 3325, 3325, 3485, 3325, 3325, 3325, 3326, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3585, 3585, 3585, 3325, 3325, 3325, 3325, 3325, 3325, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 3325, 3325, 3325, 3325, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 3325, 3325, 3325, 3325, 3486, 3325, 3487, 1873, 3487, 3487, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3354, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 1874, 1874, 1874, 1874, 3348, 3325, 3488, 3325, 3325, 3325, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 3325, 3349, 3325, 3325, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 3325, 3325, 3325, 3325, 3489, 3325, 3434, 1282, 3434, 3434, 3325, 3325, 3325, 3435, 3325, 3325, 3325, 3326, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3585, 3585, 3585, 3325, 3325, 3325, 3325, 3325, 3325, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 3325, 3325, 3325, 3325, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 3325, 3325, 3325, 3325, 3436, 3325, 3490, 1880, 3491, 3490, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3354, 3408, 3325, 3325, 3408, 3325, 3325, 3325, 1881, 1881, 1881, 1881, 3325, 3408, 3333, 3325, 3325, 3325, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 3325, 3325, 3408, 3325, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 3325, 3325, 3325, 3325, 3492, 775, 3585, 3585, 775, 865, 866, 3585, 865, 3585, 3585, 3585, 776, 3585, 3585, 3585, 867, 777, 778, 3585, 3585, 868, 869, 3585, 780, 3585, 781, 3585, 780, 3585, 781, 2938, 2707, 2707, 2938, 3585, 3585, 3585, 3490, 1880, 3491, 3490, 668, 3585, 3585, 3585, 3585, 3585, 3585, 3354, 3408, 3585, 3499, 3408, 1861, 3585, 2709, 3585, 3585, 3585, 1504, 3585, 3408, 3333, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1862, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3408, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3510, 3325, 3511, 2707, 3512, 3511, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3407, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 2708, 2708, 2708, 2708, 3479, 3325, 3513, 3325, 3325, 3325, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 3325, 3429, 3325, 3325, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 2708, 3325, 3325, 3325, 3325, 3514, 3325, 3476, 1841, 3477, 3476, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3326, 3423, 3325, 3325, 3423, 3325, 3325, 3325, 1842, 1842, 1842, 1842, 3325, 3423, 3325, 3325, 3325, 3325, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 3325, 3325, 3423, 3325, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 3325, 3325, 3325, 3325, 3478, 3325, 3481, 2354, 3481, 3481, 3325, 3325, 3325, 3518, 3325, 3325, 3325, 3326, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3585, 3585, 3585, 3348, 3325, 3325, 3325, 3325, 3325, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 3325, 3349, 3325, 3325, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2706, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 3325, 3325, 3325, 3432, 3519, 3325, 3481, 2354, 3481, 3481, 3325, 3325, 3325, 3482, 3325, 3325, 3325, 3326, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3585, 3585, 3585, 3348, 3325, 3325, 3325, 3325, 3325, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 3325, 3349, 3325, 3325, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2357, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2356, 3325, 3325, 3325, 3432, 3483, 3325, 3585, 3325, 3325, 3585, 775, 3585, 3325, 775, 775, 3585, 3585, 775, 3585, 3585, 3585, 776, 3585, 3585, 3585, 776, 777, 778, 3325, 3585, 777, 778, 3585, 780, 3585, 781, 3585, 780, 3585, 781, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3325, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3529, 3585, 3553, 3585, 3585, 3585, 3585, 2356, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3325, 3325, 3520, 2365, 3520, 3520, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3354, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 2366, 2366, 2366, 2366, 3325, 3325, 3325, 3325, 3325, 3325, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 3325, 3325, 3325, 3325, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2366, 3325, 3325, 3325, 3325, 3521, 3522, 3522, 3585, 3522, 3522, 3522, 3325, 3522, 3522, 3522, 3522, 3522, 3326, 3325, 3522, 3522, 3522, 3522, 3522, 3325, 1870, 1870, 1870, 1870, 3522, 3522, 3522, 3522, 3523, 3522, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 3522, 3522, 3522, 3522, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 3325, 3522, 3325, 3522, 3522, 3325, 3487, 1873, 3487, 3487, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3354, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 1874, 1874, 1874, 1874, 3348, 3325, 3488, 3325, 3325, 3325, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 3325, 3349, 3325, 3325, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 3325, 3325, 3325, 3325, 3489, 3325, 3490, 1880, 3491, 3490, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3354, 3408, 3325, 3325, 3408, 3325, 3325, 3325, 1881, 1881, 1881, 1881, 3325, 3408, 3333, 3325, 3325, 3325, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 3325, 3325, 3408, 3325, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 3325, 3325, 3325, 3325, 3492, 3325, 3540, 2707, 3512, 3540, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3407, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3585, 3585, 3585, 3428, 3325, 3513, 3325, 3325, 3325, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3325, 3429, 3325, 3325, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3325, 3325, 3325, 3325, 3541, 3344, 3344, 3585, 3344, 3344, 3344, 3325, 3344, 3344, 3344, 3344, 3344, 3326, 3325, 3344, 3344, 3344, 3344, 3344, 3325, 1262, 1262, 1262, 1262, 3344, 3344, 3344, 3344, 3425, 3344, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 3344, 3344, 3344, 3344, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 3325, 3344, 3325, 3344, 3344, 3325, 3325, 3585, 3325, 3325, 3325, 3325, 3325, 3544, 3325, 3325, 3325, 3326, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3585, 3585, 3585, 3325, 3325, 3325, 3325, 3325, 3325, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 2875, 3325, 3325, 3325, 3325, 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, 2875, 3325, 3325, 3325, 3325, 3545, 3325, 3325, 3585, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3326, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3585, 3585, 3585, 3325, 3325, 3325, 3325, 3325, 3325, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 3325, 3325, 3325, 3325, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2705, 3325, 3325, 3325, 3325, 3519, 3325, 3474, 3585, 3325, 3474, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3326, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3054, 3054, 3054, 3054, 3475, 3325, 3325, 3325, 3325, 3325, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3325, 3325, 3325, 3325, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3325, 3325, 3325, 3325, 3560, 775, 3585, 3585, 775, 775, 3585, 3585, 775, 3585, 3585, 3585, 776, 3585, 3585, 3585, 776, 777, 778, 3585, 3585, 777, 778, 3585, 780, 3585, 781, 3585, 780, 3585, 781, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3564, 3585, 3585, 3585, 3585, 3373, 3584, 667, 667, 3584, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 668, 669, 3585, 3585, 669, 3585, 670, 3585, 3585, 3585, 3585, 3585, 672, 669, 1016, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 674, 669, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 575, 575, 3585, 3585, 575, 3585, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 3585, 575, 575, 575, 575, 575, 575, 579, 579, 3585, 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, 584, 584, 3585, 3585, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 592, 592, 3585, 592, 592, 3585, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 600, 600, 3585, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 3585, 600, 600, 600, 600, 600, 600, 600, 600, 3585, 600, 600, 600, 600, 600, 600, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 611, 611, 3585, 611, 611, 611, 611, 611, 611, 611, 3585, 611, 611, 611, 3585, 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 621, 621, 3585, 3585, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 632, 632, 3585, 632, 632, 632, 632, 632, 632, 632, 3585, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 643, 643, 3585, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 652, 652, 652, 652, 3585, 652, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 652, 652, 3585, 3585, 3585, 652, 3585, 3585, 652, 652, 671, 671, 671, 671, 3585, 3585, 3585, 671, 671, 3585, 671, 3585, 671, 3585, 671, 671, 671, 671, 3585, 671, 671, 3585, 671, 671, 671, 3585, 3585, 3585, 671, 682, 682, 682, 682, 3585, 682, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 682, 3585, 3585, 3585, 682, 682, 3585, 682, 3585, 682, 3585, 3585, 682, 682, 750, 750, 750, 750, 3585, 750, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 750, 750, 3585, 3585, 3585, 750, 3585, 3585, 3585, 750, 779, 3585, 3585, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 779, 3585, 779, 779, 3585, 779, 3585, 779, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 849, 849, 849, 849, 3585, 3585, 3585, 849, 3585, 3585, 3585, 3585, 3585, 3585, 849, 849, 3585, 849, 3585, 849, 849, 3585, 849, 3585, 849, 3585, 3585, 3585, 849, 862, 862, 862, 862, 3585, 862, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 862, 862, 3585, 3585, 3585, 862, 3585, 3585, 3585, 862, 870, 870, 3585, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 870, 3585, 870, 870, 3585, 870, 3585, 870, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 933, 3585, 3585, 3585, 3585, 933, 933, 3585, 3585, 3585, 933, 3585, 3585, 3585, 933, 944, 3585, 3585, 944, 3585, 3585, 3585, 944, 3585, 3585, 3585, 3585, 3585, 3585, 944, 944, 3585, 3585, 3585, 944, 944, 3585, 944, 3585, 944, 3585, 3585, 3585, 944, 954, 3585, 954, 3585, 3585, 3585, 3585, 954, 954, 3585, 3585, 3585, 954, 3585, 3585, 3585, 954, 958, 3585, 3585, 3585, 3585, 958, 958, 3585, 3585, 3585, 958, 3585, 3585, 3585, 958, 967, 967, 3585, 3585, 3585, 967, 967, 3585, 967, 3585, 967, 3585, 3585, 3585, 967, 978, 978, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 978, 978, 3585, 3585, 3585, 978, 3585, 3585, 3585, 978, 980, 980, 3585, 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, 1014, 1014, 1014, 1014, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1014, 1014, 3585, 1014, 3585, 1014, 1014, 3585, 1014, 3585, 1014, 3585, 3585, 3585, 1014, 1021, 1021, 1021, 1021, 3585, 1021, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1021, 1021, 3585, 3585, 3585, 1021, 3585, 3585, 1021, 1021, 1041, 1041, 1041, 1041, 3585, 1041, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1041, 1041, 3585, 3585, 3585, 1041, 3585, 3585, 3585, 1041, 1051, 3585, 3585, 3585, 3585, 1051, 1051, 3585, 3585, 3585, 1051, 3585, 3585, 3585, 1051, 1059, 3585, 3585, 3585, 3585, 1059, 1059, 3585, 3585, 3585, 1059, 3585, 3585, 3585, 1059, 1078, 3585, 3585, 1078, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1078, 1078, 3585, 3585, 3585, 1078, 1078, 3585, 3585, 3585, 1078, 3585, 3585, 3585, 1078, 1081, 3585, 3585, 3585, 3585, 1081, 1081, 3585, 3585, 3585, 1081, 3585, 3585, 3585, 1081, 1099, 1099, 3585, 1099, 3585, 1099, 1099, 3585, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1102, 3585, 3585, 3585, 3585, 1102, 1102, 3585, 3585, 3585, 1102, 3585, 3585, 3585, 1102, 1105, 1105, 1105, 1105, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1105, 1105, 3585, 3585, 3585, 1105, 1105, 3585, 3585, 1105, 1105, 3585, 3585, 3585, 1105, 1108, 1108, 3585, 1108, 1108, 3585, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 1113, 1113, 3585, 1113, 1113, 3585, 3585, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 3585, 1113, 1113, 1113, 1113, 1113, 1113, 1114, 1114, 3585, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1121, 3585, 3585, 3585, 3585, 1121, 1121, 3585, 3585, 3585, 1121, 3585, 3585, 3585, 1121, 1143, 1143, 3585, 3585, 3585, 1143, 1143, 3585, 3585, 3585, 1143, 3585, 3585, 3585, 1143, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1146, 3585, 1146, 1146, 3585, 1146, 1146, 1146, 3585, 3585, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 3585, 1146, 1146, 1146, 1146, 1146, 1146, 575, 575, 3585, 3585, 575, 3585, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 3585, 575, 575, 575, 575, 575, 575, 584, 584, 3585, 3585, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 592, 592, 3585, 592, 592, 3585, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 600, 600, 3585, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 3585, 600, 600, 600, 600, 600, 600, 600, 600, 3585, 600, 600, 600, 600, 600, 600, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 611, 611, 3585, 611, 611, 611, 611, 611, 611, 611, 3585, 611, 611, 611, 3585, 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 621, 621, 3585, 3585, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 632, 632, 3585, 632, 632, 632, 632, 632, 632, 632, 3585, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 671, 671, 671, 671, 3585, 3585, 3585, 671, 671, 3585, 671, 3585, 671, 3585, 671, 671, 671, 671, 3585, 671, 671, 3585, 671, 671, 671, 3585, 3585, 3585, 671, 643, 643, 3585, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 643, 1234, 3585, 3585, 1234, 3585, 1234, 3585, 3585, 1234, 1234, 3585, 3585, 3585, 3585, 3585, 1234, 3585, 3585, 3585, 1234, 1234, 3585, 1234, 3585, 1234, 3585, 3585, 1234, 1234, 652, 652, 652, 652, 3585, 652, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 652, 652, 3585, 3585, 3585, 652, 3585, 3585, 652, 652, 1240, 1240, 1240, 1240, 3585, 3585, 3585, 3585, 1240, 3585, 1240, 3585, 1240, 3585, 1240, 3585, 1240, 3585, 3585, 1240, 1240, 3585, 3585, 1240, 1240, 3585, 3585, 3585, 1240, 1243, 1243, 1243, 1243, 3585, 1243, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1243, 1243, 3585, 3585, 3585, 1243, 3585, 3585, 3585, 1243, 682, 682, 682, 682, 3585, 682, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 682, 3585, 3585, 3585, 682, 682, 3585, 682, 3585, 682, 3585, 3585, 682, 682, 1260, 1260, 3585, 1260, 1260, 3585, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 3585, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 3585, 1260, 1260, 1260, 1266, 1266, 1266, 1266, 3585, 1266, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1266, 3585, 3585, 3585, 1266, 1266, 3585, 1266, 3585, 1266, 3585, 3585, 1266, 1266, 1269, 3585, 1269, 1269, 3585, 1269, 1269, 1269, 1269, 3585, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 1269, 3585, 1269, 1269, 1269, 1269, 1269, 1269, 1274, 1274, 1274, 1274, 3585, 3585, 3585, 1274, 1274, 3585, 1274, 3585, 3585, 3585, 1274, 1274, 1274, 1274, 3585, 1274, 1274, 3585, 1274, 1274, 1274, 3585, 3585, 3585, 1274, 1280, 1280, 1280, 1280, 3585, 1280, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1280, 3585, 3585, 3585, 1280, 1280, 3585, 1280, 3585, 1280, 3585, 3585, 1280, 1280, 1284, 1284, 1284, 1284, 3585, 1284, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1284, 1284, 3585, 3585, 3585, 1284, 3585, 3585, 3585, 1284, 750, 750, 750, 750, 3585, 750, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 750, 750, 3585, 3585, 3585, 750, 3585, 3585, 3585, 750, 1375, 1375, 1375, 1375, 3585, 3585, 3585, 1375, 1375, 3585, 1375, 3585, 3585, 3585, 1375, 3585, 1375, 1375, 3585, 1375, 1375, 3585, 3585, 1375, 1375, 3585, 3585, 3585, 1375, 779, 3585, 3585, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 779, 3585, 779, 779, 3585, 779, 3585, 779, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 1382, 3585, 3585, 1382, 3585, 1382, 3585, 3585, 1382, 1382, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1382, 1382, 3585, 3585, 3585, 1382, 3585, 3585, 3585, 1382, 1398, 1398, 3585, 1398, 1398, 1398, 1398, 1398, 3585, 3585, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 3585, 1398, 1398, 1398, 3585, 1398, 3585, 1398, 3585, 3585, 1398, 1398, 849, 849, 849, 849, 3585, 3585, 3585, 849, 3585, 3585, 3585, 3585, 3585, 3585, 849, 849, 3585, 849, 3585, 849, 849, 3585, 849, 3585, 849, 3585, 3585, 3585, 849, 844, 844, 844, 844, 3585, 844, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 844, 3585, 3585, 3585, 844, 844, 3585, 844, 3585, 844, 3585, 3585, 844, 844, 1490, 1490, 3585, 1490, 1490, 3585, 1490, 1490, 3585, 3585, 1490, 1490, 1490, 1490, 3585, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 3585, 3585, 1490, 1490, 1495, 1495, 1495, 1495, 3585, 1495, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1495, 3585, 3585, 3585, 1495, 1495, 3585, 1495, 3585, 1495, 3585, 3585, 1495, 1495, 862, 862, 862, 862, 3585, 862, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 862, 862, 3585, 3585, 3585, 862, 3585, 3585, 3585, 862, 1499, 1499, 1499, 1499, 3585, 3585, 3585, 1499, 3585, 3585, 3585, 3585, 3585, 3585, 1499, 3585, 3585, 3585, 3585, 1499, 1499, 3585, 3585, 3585, 1499, 3585, 3585, 3585, 1499, 870, 870, 3585, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 870, 3585, 870, 870, 3585, 870, 3585, 870, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 933, 3585, 3585, 3585, 3585, 933, 933, 3585, 3585, 3585, 933, 3585, 3585, 3585, 933, 944, 3585, 3585, 944, 3585, 3585, 3585, 944, 3585, 3585, 3585, 3585, 3585, 3585, 944, 944, 3585, 3585, 3585, 944, 944, 3585, 944, 3585, 944, 3585, 3585, 3585, 944, 1583, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1583, 1583, 3585, 3585, 3585, 1583, 3585, 3585, 3585, 1583, 1586, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1586, 1586, 3585, 3585, 3585, 1586, 3585, 3585, 3585, 1586, 954, 3585, 954, 3585, 3585, 3585, 3585, 954, 954, 3585, 3585, 3585, 954, 3585, 3585, 3585, 954, 1589, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1589, 1589, 3585, 3585, 3585, 1589, 3585, 3585, 3585, 1589, 958, 3585, 3585, 3585, 3585, 958, 958, 3585, 3585, 3585, 958, 3585, 3585, 3585, 958, 967, 967, 3585, 3585, 3585, 967, 967, 3585, 967, 3585, 967, 3585, 3585, 3585, 967, 964, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 964, 964, 3585, 3585, 3585, 964, 3585, 3585, 3585, 964, 978, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 978, 978, 3585, 3585, 3585, 978, 3585, 3585, 3585, 978, 1601, 3585, 3585, 3585, 3585, 1601, 1601, 3585, 3585, 3585, 1601, 3585, 3585, 3585, 1601, 980, 980, 3585, 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, 1014, 1014, 1014, 1014, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1014, 1014, 3585, 1014, 3585, 1014, 1014, 3585, 1014, 3585, 1014, 3585, 3585, 3585, 1014, 1021, 1021, 1021, 1021, 3585, 1021, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1021, 1021, 3585, 3585, 3585, 1021, 3585, 3585, 1021, 1021, 1261, 1261, 3585, 1261, 1261, 3585, 1261, 1261, 1261, 1261, 1261, 1261, 3585, 3585, 3585, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 3585, 1261, 1261, 1261, 1638, 1638, 1638, 1638, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1638, 1638, 3585, 1638, 3585, 1638, 1638, 3585, 1638, 3585, 1638, 3585, 3585, 3585, 1638, 1041, 1041, 1041, 1041, 3585, 1041, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1041, 1041, 3585, 3585, 3585, 1041, 3585, 3585, 3585, 1041, 1662, 3585, 3585, 1662, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1662, 3585, 3585, 1662, 3585, 1662, 1662, 3585, 3585, 3585, 1662, 3585, 3585, 3585, 1662, 1051, 3585, 3585, 3585, 3585, 1051, 1051, 3585, 3585, 3585, 1051, 3585, 3585, 3585, 1051, 1059, 3585, 3585, 3585, 3585, 1059, 1059, 3585, 3585, 3585, 1059, 3585, 3585, 3585, 1059, 1078, 3585, 3585, 1078, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1078, 1078, 3585, 3585, 3585, 1078, 1078, 3585, 3585, 3585, 1078, 3585, 3585, 3585, 1078, 1081, 3585, 3585, 3585, 3585, 1081, 1081, 3585, 3585, 3585, 1081, 3585, 3585, 3585, 1081, 1102, 3585, 3585, 3585, 3585, 1102, 1102, 3585, 3585, 3585, 1102, 3585, 3585, 3585, 1102, 1700, 1700, 3585, 1700, 3585, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 3585, 1700, 1700, 1700, 1700, 1700, 1700, 1702, 1702, 3585, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1105, 1105, 1105, 1105, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1105, 1105, 3585, 3585, 3585, 1105, 1105, 3585, 3585, 1105, 1105, 3585, 3585, 3585, 1105, 1108, 1108, 3585, 1108, 1108, 3585, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 1704, 3585, 3585, 3585, 3585, 1704, 1704, 3585, 3585, 3585, 1704, 3585, 3585, 3585, 1704, 1113, 1113, 3585, 1113, 1113, 3585, 3585, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 3585, 1113, 1113, 1113, 1113, 1113, 1113, 1121, 3585, 3585, 3585, 3585, 1121, 1121, 3585, 3585, 3585, 1121, 3585, 3585, 3585, 1121, 1143, 1143, 3585, 3585, 3585, 1143, 1143, 3585, 3585, 3585, 1143, 3585, 3585, 3585, 1143, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1736, 3585, 1736, 1736, 3585, 1736, 1736, 1736, 3585, 3585, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 3585, 1736, 1736, 1736, 1736, 1736, 1736, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 3585, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 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, 1757, 1757, 1757, 1757, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 3585, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 575, 575, 3585, 3585, 575, 3585, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 3585, 575, 575, 575, 575, 575, 575, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 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, 1773, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 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, 1777, 1777, 1777, 1777, 584, 584, 3585, 3585, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 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, 1781, 1781, 1781, 1781, 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, 1784, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 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, 1788, 1788, 1788, 1788, 592, 592, 3585, 592, 592, 3585, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 621, 621, 3585, 3585, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 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, 1814, 1814, 1814, 1814, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 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, 1823, 632, 632, 3585, 632, 632, 632, 632, 632, 632, 632, 3585, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 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, 1825, 1825, 1825, 1825, 671, 671, 671, 671, 3585, 3585, 3585, 671, 671, 3585, 671, 3585, 671, 3585, 671, 671, 671, 671, 3585, 671, 671, 3585, 671, 671, 671, 3585, 3585, 3585, 671, 1234, 3585, 3585, 1234, 3585, 1234, 3585, 3585, 1234, 1234, 3585, 3585, 3585, 3585, 3585, 1234, 3585, 3585, 3585, 1234, 1234, 3585, 1234, 3585, 1234, 3585, 3585, 1234, 1234, 1834, 1834, 1834, 1834, 3585, 1834, 3585, 3585, 1834, 3585, 3585, 3585, 3585, 3585, 1834, 1834, 3585, 3585, 3585, 1834, 1834, 3585, 1834, 3585, 1834, 3585, 3585, 1834, 1834, 1839, 1839, 1839, 1839, 3585, 1839, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1839, 1839, 3585, 3585, 3585, 1839, 3585, 3585, 3585, 1839, 1240, 1240, 1240, 1240, 3585, 3585, 3585, 3585, 1240, 3585, 1240, 3585, 1240, 3585, 1240, 3585, 1240, 3585, 3585, 1240, 1240, 3585, 3585, 1240, 1240, 3585, 3585, 3585, 1240, 1243, 1243, 1243, 1243, 3585, 1243, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1243, 1243, 3585, 3585, 3585, 1243, 3585, 3585, 3585, 1243, 1842, 1842, 1842, 1842, 3585, 3585, 3585, 3585, 1842, 3585, 1842, 3585, 3585, 3585, 1842, 3585, 1842, 3585, 3585, 1842, 1842, 3585, 3585, 1842, 1842, 3585, 3585, 3585, 1842, 652, 652, 652, 652, 3585, 652, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 652, 652, 3585, 3585, 3585, 652, 3585, 3585, 652, 652, 1260, 1260, 3585, 1260, 1260, 3585, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 3585, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 3585, 1260, 1260, 1260, 1261, 1261, 3585, 1261, 1261, 3585, 1261, 1261, 1261, 1261, 1261, 1261, 3585, 3585, 3585, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 3585, 1261, 1261, 1261, 1262, 1262, 3585, 1262, 1262, 3585, 1262, 1262, 3585, 3585, 1262, 1262, 1262, 1262, 3585, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 3585, 3585, 1262, 1262, 1266, 1266, 1266, 1266, 3585, 1266, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1266, 3585, 3585, 3585, 1266, 1266, 3585, 1266, 3585, 1266, 3585, 3585, 1266, 1266, 1865, 1865, 1865, 1865, 3585, 3585, 3585, 1865, 1865, 3585, 1865, 3585, 3585, 3585, 1865, 1865, 1865, 1865, 3585, 1865, 1865, 3585, 1865, 1865, 1865, 3585, 3585, 3585, 1865, 1868, 3585, 1868, 1868, 3585, 1868, 1868, 1868, 1868, 3585, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 3585, 1868, 1868, 1868, 1868, 1868, 1868, 1274, 1274, 1274, 1274, 3585, 3585, 3585, 1274, 1274, 3585, 1274, 3585, 3585, 3585, 1274, 1274, 1274, 1274, 3585, 1274, 1274, 3585, 1274, 1274, 1274, 3585, 3585, 3585, 1274, 1869, 1869, 3585, 1869, 1869, 3585, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 3585, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 3585, 1869, 1869, 1869, 682, 682, 682, 682, 3585, 682, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 682, 3585, 3585, 3585, 682, 682, 3585, 682, 3585, 682, 3585, 3585, 682, 682, 1280, 1280, 1280, 1280, 3585, 1280, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1280, 3585, 3585, 3585, 1280, 1280, 3585, 1280, 3585, 1280, 3585, 3585, 1280, 1280, 1874, 1874, 1874, 1874, 3585, 3585, 3585, 1874, 3585, 3585, 3585, 3585, 3585, 3585, 1874, 1874, 3585, 1874, 3585, 1874, 1874, 3585, 1874, 3585, 1874, 3585, 3585, 3585, 1874, 1878, 1878, 1878, 1878, 3585, 1878, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1878, 1878, 3585, 3585, 3585, 1878, 3585, 3585, 3585, 1878, 1284, 1284, 1284, 1284, 3585, 1284, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1284, 1284, 3585, 3585, 3585, 1284, 3585, 3585, 3585, 1284, 1881, 1881, 1881, 1881, 3585, 3585, 3585, 1881, 1881, 3585, 1881, 3585, 3585, 3585, 1881, 3585, 1881, 1881, 3585, 1881, 1881, 3585, 3585, 1881, 1881, 3585, 3585, 3585, 1881, 1375, 1375, 1375, 1375, 3585, 3585, 3585, 1375, 1375, 3585, 1375, 3585, 3585, 3585, 1375, 3585, 1375, 1375, 3585, 1375, 1375, 3585, 3585, 1375, 1375, 3585, 3585, 3585, 1375, 779, 3585, 3585, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 779, 3585, 779, 779, 3585, 779, 3585, 779, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 1382, 3585, 3585, 1382, 3585, 1382, 3585, 3585, 1382, 1382, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1382, 1382, 3585, 3585, 3585, 1382, 3585, 3585, 3585, 1382, 1974, 3585, 3585, 1974, 3585, 1974, 3585, 3585, 1974, 3585, 3585, 3585, 3585, 3585, 1974, 3585, 3585, 3585, 3585, 1974, 1974, 3585, 3585, 3585, 1974, 3585, 3585, 3585, 1974, 1992, 3585, 3585, 1992, 3585, 1992, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1992, 1992, 3585, 3585, 3585, 1992, 3585, 3585, 3585, 1992, 1398, 1398, 3585, 1398, 1398, 1398, 1398, 1398, 3585, 3585, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 3585, 1398, 1398, 1398, 3585, 1398, 3585, 1398, 3585, 3585, 1398, 1398, 1490, 1490, 3585, 1490, 1490, 3585, 1490, 1490, 3585, 3585, 1490, 1490, 1490, 1490, 3585, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 3585, 3585, 1490, 1490, 844, 844, 844, 844, 3585, 844, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 844, 3585, 3585, 3585, 844, 844, 3585, 844, 3585, 844, 3585, 3585, 844, 844, 1495, 1495, 1495, 1495, 3585, 1495, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1495, 3585, 3585, 3585, 1495, 1495, 3585, 1495, 3585, 1495, 3585, 3585, 1495, 1495, 2067, 2067, 2067, 2067, 3585, 3585, 3585, 2067, 3585, 3585, 3585, 3585, 3585, 3585, 2067, 2067, 3585, 2067, 3585, 2067, 2067, 3585, 2067, 3585, 2067, 3585, 3585, 3585, 2067, 2070, 2070, 2070, 2070, 3585, 2070, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 2070, 2070, 3585, 3585, 3585, 2070, 3585, 3585, 3585, 2070, 1499, 1499, 1499, 1499, 3585, 3585, 3585, 1499, 3585, 3585, 3585, 3585, 3585, 3585, 1499, 3585, 3585, 3585, 3585, 1499, 1499, 3585, 3585, 3585, 1499, 3585, 3585, 3585, 1499, 870, 870, 3585, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 870, 3585, 870, 870, 3585, 870, 3585, 870, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 2139, 3585, 3585, 3585, 3585, 3585, 2139, 3585, 3585, 3585, 3585, 2139, 2139, 3585, 3585, 3585, 2139, 3585, 3585, 3585, 2139, 2141, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 2141, 2141, 3585, 3585, 3585, 2141, 3585, 3585, 3585, 2141, 2142, 3585, 3585, 3585, 3585, 2142, 2142, 3585, 2142, 3585, 2142, 3585, 3585, 3585, 2142, 944, 3585, 3585, 944, 3585, 3585, 3585, 944, 3585, 3585, 3585, 3585, 3585, 3585, 944, 944, 3585, 3585, 3585, 944, 944, 3585, 944, 3585, 944, 3585, 3585, 3585, 944, 2144, 3585, 2144, 3585, 3585, 3585, 3585, 2144, 2144, 3585, 3585, 3585, 2144, 3585, 3585, 3585, 2144, 958, 3585, 3585, 3585, 3585, 958, 958, 3585, 3585, 3585, 958, 3585, 3585, 3585, 958, 967, 967, 3585, 3585, 3585, 967, 967, 3585, 967, 3585, 967, 3585, 3585, 3585, 967, 1601, 3585, 3585, 3585, 3585, 1601, 1601, 3585, 3585, 3585, 1601, 3585, 3585, 3585, 1601, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 2160, 980, 980, 3585, 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, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2191, 2191, 2191, 2191, 3585, 2191, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 2191, 2191, 3585, 3585, 3585, 2191, 3585, 3585, 2191, 2191, 1021, 1021, 1021, 1021, 3585, 1021, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1021, 1021, 3585, 3585, 3585, 1021, 3585, 3585, 1021, 1021, 1638, 1638, 1638, 1638, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1638, 1638, 3585, 1638, 3585, 1638, 1638, 3585, 1638, 3585, 1638, 3585, 3585, 3585, 1638, 1014, 1014, 1014, 1014, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1014, 1014, 3585, 1014, 3585, 1014, 1014, 3585, 1014, 3585, 1014, 3585, 3585, 3585, 1014, 1261, 1261, 3585, 1261, 1261, 3585, 1261, 1261, 1261, 1261, 1261, 1261, 3585, 3585, 3585, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 3585, 1261, 1261, 1261, 1662, 3585, 3585, 1662, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1662, 3585, 3585, 1662, 3585, 1662, 1662, 3585, 3585, 3585, 1662, 3585, 3585, 3585, 1662, 1051, 3585, 3585, 3585, 3585, 1051, 1051, 3585, 3585, 3585, 1051, 3585, 3585, 3585, 1051, 1059, 3585, 3585, 3585, 3585, 1059, 1059, 3585, 3585, 3585, 1059, 3585, 3585, 3585, 1059, 1081, 3585, 3585, 3585, 3585, 1081, 1081, 3585, 3585, 3585, 1081, 3585, 3585, 3585, 1081, 2237, 2237, 3585, 2237, 3585, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 2237, 3585, 2237, 2237, 2237, 2237, 2237, 2237, 1704, 3585, 3585, 3585, 3585, 1704, 1704, 3585, 3585, 3585, 1704, 3585, 3585, 3585, 1704, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 1108, 1108, 3585, 1108, 1108, 3585, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 1121, 3585, 3585, 3585, 3585, 1121, 1121, 3585, 3585, 3585, 1121, 3585, 3585, 3585, 1121, 2267, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 2267, 2267, 3585, 3585, 3585, 2267, 3585, 3585, 3585, 2267, 2268, 3585, 2268, 2268, 3585, 2268, 2268, 2268, 3585, 3585, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 3585, 2268, 2268, 2268, 2268, 2268, 2268, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 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, 2274, 2274, 2274, 2274, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 3585, 2281, 2281, 2281, 3585, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 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, 1757, 1757, 1757, 1757, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 3585, 2287, 2287, 2287, 3585, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2287, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 575, 575, 3585, 3585, 575, 3585, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 3585, 575, 575, 575, 575, 575, 575, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2293, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 584, 584, 3585, 3585, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 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, 1781, 1781, 1781, 1781, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 592, 592, 3585, 592, 592, 3585, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2301, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 2304, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 621, 621, 3585, 3585, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 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, 1823, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 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, 1825, 1825, 1825, 1825, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 671, 671, 671, 671, 3585, 3585, 3585, 671, 671, 3585, 671, 3585, 671, 3585, 671, 671, 671, 671, 3585, 671, 671, 3585, 671, 671, 671, 3585, 3585, 3585, 671, 1834, 1834, 1834, 1834, 3585, 1834, 3585, 3585, 1834, 3585, 3585, 3585, 3585, 3585, 1834, 1834, 3585, 3585, 3585, 1834, 1834, 3585, 1834, 3585, 1834, 3585, 3585, 1834, 1834, 1234, 1234, 1234, 1234, 3585, 1234, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1234, 1234, 3585, 3585, 3585, 1234, 3585, 3585, 1234, 1234, 1839, 1839, 1839, 1839, 3585, 1839, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1839, 1839, 3585, 3585, 3585, 1839, 3585, 3585, 3585, 1839, 2331, 3585, 3585, 2331, 3585, 2331, 3585, 3585, 2331, 3585, 3585, 3585, 3585, 3585, 2331, 2331, 3585, 3585, 3585, 2331, 2331, 3585, 2331, 3585, 2331, 3585, 3585, 2331, 2331, 1842, 1842, 1842, 1842, 3585, 3585, 3585, 3585, 1842, 3585, 1842, 3585, 3585, 3585, 1842, 3585, 1842, 3585, 3585, 1842, 1842, 3585, 3585, 1842, 1842, 3585, 3585, 3585, 1842, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 3585, 1886, 1886, 1886, 1886, 3585, 3585, 1886, 1886, 1886, 3585, 1886, 1886, 1886, 1886, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 3585, 1300, 1300, 1300, 1300, 3585, 3585, 1300, 1300, 1300, 3585, 1300, 1300, 1300, 1300, 2356, 2356, 2356, 2356, 3585, 2356, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 2356, 3585, 3585, 3585, 2356, 2356, 3585, 2356, 3585, 2356, 3585, 3585, 2356, 2356, 1865, 1865, 1865, 1865, 3585, 3585, 3585, 1865, 1865, 3585, 1865, 3585, 3585, 3585, 1865, 1865, 1865, 1865, 3585, 1865, 1865, 3585, 1865, 1865, 1865, 3585, 3585, 3585, 1865, 2360, 3585, 2360, 2360, 3585, 2360, 2360, 2360, 2360, 3585, 2360, 2360, 2360, 2360, 2360, 2360, 2360, 2360, 2360, 2360, 2360, 2360, 2360, 3585, 2360, 2360, 2360, 2360, 2360, 2360, 1869, 1869, 3585, 1869, 1869, 3585, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 3585, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 3585, 1869, 1869, 1869, 1870, 1870, 3585, 1870, 1870, 3585, 1870, 1870, 3585, 3585, 1870, 1870, 1870, 1870, 3585, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 3585, 3585, 1870, 1870, 682, 682, 682, 682, 3585, 682, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 682, 3585, 3585, 3585, 682, 682, 3585, 682, 3585, 682, 3585, 3585, 682, 682, 1874, 1874, 1874, 1874, 3585, 3585, 3585, 1874, 3585, 3585, 3585, 3585, 3585, 3585, 1874, 1874, 3585, 1874, 3585, 1874, 1874, 3585, 1874, 3585, 1874, 3585, 3585, 3585, 1874, 1878, 1878, 1878, 1878, 3585, 1878, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1878, 1878, 3585, 3585, 3585, 1878, 3585, 3585, 3585, 1878, 2366, 2366, 2366, 2366, 3585, 3585, 3585, 2366, 3585, 3585, 3585, 3585, 3585, 3585, 2366, 3585, 3585, 3585, 3585, 2366, 2366, 3585, 3585, 3585, 2366, 3585, 3585, 3585, 2366, 1881, 1881, 1881, 1881, 3585, 3585, 3585, 1881, 1881, 3585, 1881, 3585, 3585, 3585, 1881, 3585, 1881, 1881, 3585, 1881, 1881, 3585, 3585, 1881, 1881, 3585, 3585, 3585, 1881, 652, 652, 652, 652, 3585, 652, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 652, 652, 3585, 3585, 3585, 652, 3585, 3585, 652, 652, 1260, 1260, 3585, 1260, 1260, 3585, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 3585, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 3585, 1260, 1260, 1260, 1266, 1266, 1266, 1266, 3585, 1266, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1266, 3585, 3585, 3585, 1266, 1266, 3585, 1266, 3585, 1266, 3585, 3585, 1266, 1266, 779, 3585, 3585, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 779, 3585, 779, 779, 3585, 779, 3585, 779, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 1974, 3585, 3585, 1974, 3585, 1974, 3585, 3585, 1974, 3585, 3585, 3585, 3585, 3585, 1974, 3585, 3585, 3585, 3585, 1974, 1974, 3585, 3585, 3585, 1974, 3585, 3585, 3585, 1974, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 3585, 1997, 1997, 1997, 1997, 3585, 3585, 1997, 1997, 1997, 3585, 1997, 1997, 1997, 1997, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 3585, 1415, 1415, 1415, 1415, 3585, 3585, 1415, 1415, 1415, 3585, 1415, 1415, 1415, 1415, 1992, 3585, 3585, 1992, 3585, 1992, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1992, 1992, 3585, 3585, 3585, 1992, 3585, 3585, 3585, 1992, 2453, 3585, 3585, 2453, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 2453, 2453, 3585, 2453, 3585, 2453, 2453, 3585, 3585, 3585, 2453, 3585, 3585, 3585, 2453, 1398, 1398, 3585, 1398, 1398, 1398, 1398, 1398, 3585, 3585, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 3585, 1398, 1398, 1398, 3585, 1398, 3585, 1398, 3585, 3585, 1398, 1398, 2067, 2067, 2067, 2067, 3585, 3585, 3585, 2067, 3585, 3585, 3585, 3585, 3585, 3585, 2067, 2067, 3585, 2067, 3585, 2067, 2067, 3585, 2067, 3585, 2067, 3585, 3585, 3585, 2067, 2070, 2070, 2070, 2070, 3585, 2070, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 2070, 2070, 3585, 3585, 3585, 2070, 3585, 3585, 3585, 2070, 2511, 2511, 2511, 2511, 3585, 3585, 3585, 2511, 3585, 3585, 3585, 3585, 3585, 3585, 2511, 3585, 3585, 3585, 3585, 2511, 2511, 3585, 3585, 3585, 2511, 3585, 3585, 3585, 2511, 870, 870, 3585, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 870, 3585, 870, 870, 3585, 870, 3585, 870, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 2139, 3585, 3585, 3585, 3585, 3585, 2139, 3585, 3585, 3585, 3585, 2139, 2139, 3585, 3585, 3585, 2139, 3585, 3585, 3585, 2139, 2563, 2563, 3585, 3585, 3585, 2563, 2563, 3585, 3585, 3585, 2563, 3585, 3585, 3585, 2563, 2142, 3585, 3585, 3585, 3585, 2142, 2142, 3585, 2142, 3585, 2142, 3585, 3585, 3585, 2142, 944, 3585, 3585, 944, 3585, 3585, 3585, 944, 3585, 3585, 3585, 3585, 3585, 3585, 944, 944, 3585, 3585, 3585, 944, 944, 3585, 944, 3585, 944, 3585, 3585, 3585, 944, 2144, 3585, 2144, 3585, 3585, 3585, 3585, 2144, 2144, 3585, 3585, 3585, 2144, 3585, 3585, 3585, 2144, 958, 3585, 3585, 3585, 3585, 958, 958, 3585, 3585, 3585, 958, 3585, 3585, 3585, 958, 967, 967, 3585, 3585, 3585, 967, 967, 3585, 967, 3585, 967, 3585, 3585, 3585, 967, 1601, 3585, 3585, 3585, 3585, 1601, 1601, 3585, 3585, 3585, 1601, 3585, 3585, 3585, 1601, 980, 980, 3585, 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, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 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, 1757, 1757, 1757, 1757, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2580, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 2172, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2599, 2599, 2599, 2599, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 2599, 2599, 3585, 2599, 3585, 2599, 2599, 3585, 2599, 3585, 2599, 3585, 3585, 3585, 2599, 1014, 1014, 1014, 1014, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1014, 1014, 3585, 1014, 3585, 1014, 1014, 3585, 1014, 3585, 1014, 3585, 3585, 3585, 1014, 1051, 3585, 3585, 3585, 3585, 1051, 1051, 3585, 3585, 3585, 1051, 3585, 3585, 3585, 1051, 1059, 3585, 3585, 1059, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1059, 3585, 3585, 3585, 3585, 1059, 1059, 3585, 3585, 3585, 1059, 3585, 3585, 3585, 1059, 1081, 3585, 3585, 3585, 3585, 1081, 1081, 3585, 3585, 3585, 1081, 3585, 3585, 3585, 1081, 2638, 2638, 3585, 2638, 3585, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 3585, 2638, 2638, 2638, 2638, 2638, 2638, 1108, 1108, 3585, 1108, 1108, 3585, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2244, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2641, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 1121, 3585, 3585, 3585, 3585, 1121, 1121, 3585, 3585, 3585, 1121, 3585, 3585, 3585, 1121, 2657, 2657, 3585, 3585, 3585, 2657, 2657, 3585, 3585, 3585, 2657, 3585, 3585, 3585, 2657, 2658, 3585, 2658, 2658, 3585, 2658, 2658, 2658, 3585, 3585, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 3585, 2658, 2658, 2658, 2658, 2658, 2658, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 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, 2274, 2274, 2274, 2274, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2283, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 575, 575, 3585, 3585, 575, 3585, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 3585, 575, 575, 575, 575, 575, 575, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 2295, 584, 584, 3585, 3585, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 592, 592, 3585, 592, 592, 3585, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2302, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 2303, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 621, 621, 3585, 3585, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 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, 1757, 1757, 1757, 1757, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 2315, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2323, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 2324, 671, 671, 671, 671, 3585, 3585, 3585, 671, 671, 3585, 671, 671, 671, 3585, 671, 671, 671, 671, 3585, 671, 671, 3585, 671, 671, 671, 3585, 3585, 3585, 671, 1234, 1234, 1234, 1234, 3585, 1234, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1234, 1234, 3585, 3585, 3585, 1234, 3585, 3585, 1234, 1234, 2331, 3585, 3585, 2331, 3585, 2331, 3585, 3585, 2331, 3585, 3585, 3585, 3585, 3585, 2331, 2331, 3585, 3585, 3585, 2331, 2331, 3585, 2331, 3585, 2331, 3585, 3585, 2331, 2331, 1834, 1834, 1834, 1834, 3585, 1834, 3585, 3585, 1834, 3585, 3585, 3585, 3585, 3585, 1834, 1834, 3585, 3585, 3585, 1834, 1834, 3585, 1834, 3585, 1834, 3585, 3585, 1834, 1834, 2705, 2705, 2705, 2705, 3585, 2705, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 2705, 3585, 3585, 3585, 2705, 2705, 3585, 2705, 3585, 2705, 3585, 3585, 2705, 2705, 2356, 2356, 2356, 2356, 3585, 2356, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 2356, 3585, 3585, 3585, 2356, 2356, 3585, 2356, 3585, 2356, 3585, 3585, 2356, 2356, 2708, 2708, 2708, 2708, 3585, 3585, 3585, 2708, 3585, 3585, 3585, 3585, 3585, 3585, 2708, 2708, 3585, 2708, 3585, 2708, 2708, 3585, 2708, 3585, 2708, 3585, 3585, 3585, 2708, 1865, 1865, 1865, 1865, 3585, 3585, 3585, 1865, 1865, 3585, 1865, 3585, 3585, 3585, 1865, 1865, 1865, 1865, 3585, 1865, 1865, 3585, 1865, 1865, 1865, 3585, 3585, 3585, 1865, 2713, 3585, 2713, 2713, 3585, 2713, 2713, 2713, 2713, 3585, 2713, 2713, 2713, 2713, 2713, 2713, 2713, 2713, 2713, 2713, 2713, 2713, 2713, 3585, 2713, 2713, 2713, 2713, 2713, 2713, 2366, 2366, 2366, 2366, 3585, 3585, 3585, 2366, 3585, 3585, 3585, 3585, 3585, 3585, 2366, 3585, 3585, 3585, 3585, 2366, 2366, 3585, 3585, 3585, 2366, 3585, 3585, 3585, 2366, 652, 652, 652, 652, 3585, 652, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 652, 652, 3585, 3585, 3585, 652, 3585, 3585, 652, 652, 779, 3585, 3585, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 779, 3585, 779, 779, 3585, 779, 3585, 779, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 2453, 3585, 3585, 2453, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 2453, 2453, 3585, 2453, 3585, 2453, 2453, 3585, 3585, 3585, 2453, 3585, 3585, 3585, 2453, 2511, 2511, 2511, 2511, 3585, 3585, 3585, 2511, 3585, 3585, 3585, 3585, 3585, 3585, 2511, 3585, 3585, 3585, 3585, 2511, 2511, 3585, 3585, 3585, 2511, 3585, 3585, 3585, 2511, 870, 870, 3585, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 870, 3585, 870, 870, 3585, 870, 3585, 870, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 2563, 2563, 3585, 3585, 3585, 2563, 2563, 3585, 3585, 3585, 2563, 3585, 3585, 3585, 2563, 944, 3585, 3585, 944, 3585, 3585, 3585, 944, 3585, 3585, 3585, 3585, 3585, 3585, 944, 944, 3585, 3585, 3585, 944, 944, 3585, 944, 3585, 944, 3585, 3585, 3585, 944, 958, 3585, 3585, 3585, 3585, 958, 958, 3585, 3585, 3585, 958, 3585, 3585, 3585, 958, 967, 967, 3585, 3585, 3585, 967, 967, 3585, 967, 3585, 967, 3585, 3585, 3585, 967, 1601, 3585, 3585, 3585, 3585, 1601, 1601, 3585, 3585, 3585, 1601, 3585, 3585, 3585, 1601, 980, 980, 3585, 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, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2584, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2599, 2599, 2599, 2599, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 2599, 2599, 3585, 2599, 3585, 2599, 2599, 3585, 2599, 3585, 2599, 3585, 3585, 3585, 2599, 2875, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 2875, 2875, 3585, 3585, 3585, 2875, 3585, 3585, 3585, 2875, 1014, 1014, 1014, 1014, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1014, 1014, 3585, 1014, 3585, 1014, 1014, 3585, 1014, 3585, 1014, 3585, 3585, 3585, 1014, 1051, 1051, 1051, 1051, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1051, 3585, 1051, 3585, 1051, 1051, 1051, 3585, 3585, 3585, 1051, 1051, 3585, 3585, 1051, 1059, 3585, 3585, 3585, 3585, 1059, 1059, 3585, 3585, 3585, 1059, 3585, 3585, 3585, 1059, 1081, 3585, 3585, 3585, 3585, 1081, 1081, 3585, 3585, 3585, 1081, 3585, 3585, 3585, 1081, 1108, 1108, 3585, 1108, 1108, 3585, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2642, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 2643, 1121, 3585, 3585, 3585, 3585, 1121, 1121, 3585, 3585, 3585, 1121, 3585, 3585, 3585, 1121, 2657, 2657, 3585, 3585, 3585, 2657, 2657, 3585, 3585, 3585, 2657, 3585, 3585, 3585, 2657, 2914, 3585, 2914, 2914, 3585, 2914, 2914, 2914, 3585, 3585, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 3585, 2914, 2914, 2914, 2914, 2914, 2914, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 2666, 575, 575, 3585, 3585, 575, 3585, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 3585, 575, 575, 575, 575, 575, 575, 584, 584, 3585, 3585, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 592, 592, 3585, 592, 592, 3585, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 2672, 621, 621, 3585, 3585, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 3585, 2923, 2923, 2923, 3585, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 652, 652, 652, 652, 3585, 652, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 652, 652, 3585, 3585, 3585, 652, 3585, 3585, 652, 652, 1234, 1234, 1234, 1234, 3585, 1234, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1234, 1234, 3585, 3585, 3585, 1234, 3585, 3585, 1234, 1234, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 3585, 1886, 1886, 1886, 1886, 3585, 3585, 1886, 1886, 1886, 3585, 1886, 1886, 1886, 1886, 2939, 2939, 2939, 2939, 3585, 3585, 3585, 2939, 3585, 3585, 3585, 3585, 3585, 3585, 2939, 2939, 3585, 2939, 3585, 2939, 2939, 3585, 2939, 3585, 2939, 3585, 3585, 3585, 2939, 2708, 2708, 2708, 2708, 3585, 3585, 3585, 2708, 3585, 3585, 3585, 3585, 3585, 3585, 2708, 2708, 3585, 2708, 3585, 2708, 2708, 3585, 2708, 3585, 2708, 3585, 3585, 3585, 2708, 1262, 1262, 3585, 1262, 1262, 3585, 1262, 1262, 3585, 3585, 1262, 1262, 1262, 1262, 3585, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 3585, 3585, 1262, 1262, 1865, 1865, 1865, 1865, 3585, 3585, 3585, 1865, 1865, 3585, 1865, 3585, 3585, 3585, 1865, 1865, 1865, 1865, 3585, 1865, 1865, 3585, 1865, 1865, 1865, 3585, 3585, 3585, 1865, 671, 671, 671, 671, 3585, 3585, 3585, 671, 671, 3585, 671, 3585, 671, 3585, 671, 671, 671, 671, 3585, 671, 671, 3585, 671, 671, 671, 3585, 3585, 3585, 671, 2944, 3585, 2944, 2944, 3585, 2944, 2944, 2944, 2944, 3585, 2944, 2944, 2944, 2944, 2944, 2944, 2944, 2944, 2944, 2944, 2944, 2944, 2944, 3585, 2944, 2944, 2944, 2944, 2944, 2944, 2946, 2946, 2946, 2946, 3585, 2946, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 2946, 3585, 3585, 3585, 2946, 2946, 3585, 2946, 3585, 2946, 3585, 3585, 2946, 2946, 779, 3585, 3585, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 779, 3585, 779, 779, 3585, 779, 3585, 779, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 870, 870, 3585, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 870, 3585, 870, 870, 3585, 870, 3585, 870, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 944, 3585, 3585, 944, 3585, 3585, 3585, 944, 3585, 3585, 3585, 3585, 3585, 3585, 944, 944, 3585, 3585, 3585, 944, 944, 3585, 944, 3585, 944, 3585, 3585, 3585, 944, 958, 3585, 3585, 3585, 3585, 958, 958, 3585, 3585, 3585, 958, 3585, 3585, 3585, 958, 967, 967, 3585, 3585, 3585, 967, 967, 3585, 967, 3585, 967, 3585, 3585, 3585, 967, 1601, 3585, 3585, 3585, 3585, 1601, 1601, 3585, 3585, 3585, 1601, 3585, 3585, 3585, 1601, 980, 980, 3585, 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, 3054, 3585, 3585, 3054, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3054, 3054, 3585, 3585, 3585, 3054, 3054, 3585, 3585, 3585, 3054, 3585, 3585, 3585, 3054, 1014, 1014, 1014, 1014, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1014, 1014, 3585, 1014, 3585, 1014, 1014, 3585, 1014, 3585, 1014, 3585, 3585, 3585, 1014, 1051, 3585, 3585, 3585, 3585, 1051, 1051, 3585, 3585, 3585, 1051, 3585, 3585, 3585, 1051, 1059, 3585, 3585, 3585, 3585, 1059, 1059, 3585, 3585, 3585, 1059, 3585, 3585, 3585, 1059, 1081, 3585, 3585, 3585, 3585, 1081, 1081, 3585, 3585, 3585, 1081, 3585, 3585, 3585, 1081, 1108, 1108, 3585, 1108, 1108, 3585, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 1121, 3585, 3585, 3585, 3585, 1121, 1121, 3585, 3585, 3585, 1121, 3585, 3585, 3585, 1121, 3078, 3585, 3078, 3078, 3585, 3078, 3078, 3078, 3585, 3585, 3078, 3078, 3078, 3078, 3078, 3078, 3078, 3078, 3078, 3078, 3078, 3078, 3078, 3585, 3078, 3078, 3078, 3078, 3078, 3078, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 3081, 3081, 3585, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3083, 3083, 3585, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3085, 3085, 3585, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3087, 3087, 3585, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3089, 3089, 3585, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3097, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3097, 3585, 3585, 3585, 3097, 3097, 3585, 3097, 3585, 3097, 3585, 3585, 3097, 3097, 2939, 2939, 2939, 2939, 3585, 3585, 3585, 2939, 3585, 3585, 3585, 3585, 3585, 3585, 2939, 2939, 3585, 2939, 3585, 2939, 2939, 3585, 2939, 3585, 2939, 3585, 3585, 3585, 2939, 2708, 2708, 2708, 2708, 3585, 3585, 3585, 2708, 3585, 3585, 3585, 3585, 3585, 3585, 2708, 2708, 3585, 2708, 3585, 2708, 2708, 3585, 2708, 3585, 2708, 3585, 3585, 3585, 2708, 1865, 1865, 1865, 1865, 3585, 3585, 3585, 1865, 1865, 3585, 1865, 3585, 3585, 3585, 1865, 1865, 1865, 1865, 3585, 1865, 1865, 3585, 1865, 1865, 1865, 3585, 3585, 3585, 1865, 671, 671, 671, 671, 3585, 3585, 3585, 671, 671, 3585, 671, 3585, 671, 3585, 671, 671, 671, 671, 3585, 671, 671, 3585, 671, 671, 671, 3585, 3585, 3585, 671, 3113, 3585, 3113, 3113, 3585, 3113, 3113, 3113, 3113, 3585, 3113, 3113, 3113, 3113, 3113, 3113, 3113, 3113, 3113, 3113, 3113, 3113, 3113, 3585, 3113, 3113, 3113, 3113, 3113, 3113, 3115, 3115, 3115, 3115, 3585, 3585, 3585, 3115, 3585, 3585, 3585, 3585, 3585, 3585, 3115, 3115, 3585, 3115, 3585, 3115, 3115, 3585, 3115, 3585, 3115, 3585, 3585, 3585, 3115, 779, 3585, 3585, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 779, 3585, 779, 779, 3585, 779, 3585, 779, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 870, 870, 3585, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 870, 3585, 870, 870, 3585, 870, 3585, 870, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 944, 3585, 3585, 944, 3585, 3585, 3585, 944, 3585, 3585, 3585, 3585, 3585, 3585, 944, 944, 3585, 3585, 3585, 944, 944, 3585, 944, 3585, 944, 3585, 3585, 3585, 944, 958, 3585, 3585, 3585, 3585, 958, 958, 3585, 3585, 3585, 958, 3585, 3585, 3585, 958, 967, 967, 3585, 3585, 3585, 967, 967, 3585, 967, 3585, 967, 3585, 3585, 3585, 967, 1601, 3585, 3585, 3585, 3585, 1601, 1601, 3585, 3585, 3585, 1601, 3585, 3585, 3585, 1601, 3192, 3192, 3585, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3585, 3195, 3195, 3195, 3195, 3585, 3585, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3195, 3054, 3585, 3585, 3054, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3054, 3054, 3585, 3585, 3585, 3054, 3054, 3585, 3585, 3585, 3054, 3585, 3585, 3585, 3054, 1014, 1014, 1014, 1014, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1014, 1014, 3585, 1014, 3585, 1014, 1014, 3585, 1014, 3585, 1014, 3585, 3585, 3585, 1014, 1051, 3585, 3585, 3585, 3585, 1051, 1051, 3585, 3585, 3585, 1051, 3585, 3585, 3585, 1051, 1059, 3585, 3585, 3585, 3585, 1059, 1059, 3585, 3585, 3585, 1059, 3585, 3585, 3585, 1059, 1081, 3585, 3585, 3585, 3585, 1081, 1081, 3585, 3585, 3585, 1081, 3585, 3585, 3585, 1081, 3208, 3208, 3585, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 1121, 3585, 3585, 3585, 3585, 1121, 1121, 3585, 3585, 3585, 1121, 3585, 3585, 3585, 1121, 3210, 3585, 3210, 3210, 3585, 3210, 3210, 3210, 3585, 3585, 3210, 3210, 3210, 3210, 3210, 3210, 3210, 3210, 3210, 3210, 3210, 3210, 3210, 3585, 3210, 3210, 3210, 3210, 3210, 3210, 3212, 3212, 3585, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3081, 3081, 3585, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3083, 3083, 3585, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 3083, 575, 575, 3585, 3585, 575, 3585, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 3585, 575, 575, 575, 575, 575, 575, 3085, 3085, 3585, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 584, 584, 3585, 3585, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 3087, 3087, 3585, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 3087, 592, 592, 3585, 592, 592, 3585, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 3089, 3089, 3585, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 3089, 621, 621, 3585, 3585, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 3224, 3224, 3224, 3224, 3585, 3585, 3585, 3585, 3224, 3585, 3224, 3585, 3585, 3585, 3224, 3224, 3224, 3585, 3585, 3224, 3224, 3585, 3224, 3224, 3224, 3585, 3585, 3585, 3224, 3230, 3230, 3230, 3230, 3585, 3230, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3230, 3230, 3585, 3585, 3585, 3230, 3585, 3585, 3585, 3230, 2939, 2939, 2939, 2939, 3585, 3585, 3585, 2939, 3585, 3585, 3585, 3585, 3585, 3585, 2939, 2939, 3585, 2939, 3585, 2939, 2939, 3585, 2939, 3585, 2939, 3585, 3585, 3585, 2939, 2708, 2708, 2708, 2708, 3585, 3585, 3585, 2708, 3585, 3585, 3585, 3585, 3585, 3585, 2708, 2708, 3585, 2708, 3585, 2708, 2708, 3585, 2708, 3585, 2708, 3585, 3585, 3585, 2708, 1865, 1865, 1865, 1865, 3585, 3585, 3585, 1865, 1865, 3585, 1865, 3585, 3585, 3585, 1865, 1865, 1865, 1865, 3585, 1865, 1865, 3585, 1865, 1865, 1865, 3585, 3585, 3585, 1865, 671, 671, 671, 671, 3585, 3585, 3585, 671, 671, 3585, 671, 3585, 671, 3585, 671, 671, 671, 671, 3585, 671, 671, 3585, 671, 671, 671, 3585, 3585, 3585, 671, 3240, 3585, 3240, 3240, 3585, 3240, 3240, 3240, 3240, 3585, 3240, 3240, 3240, 3240, 3240, 3240, 3240, 3240, 3240, 3240, 3240, 3240, 3240, 3585, 3240, 3240, 3240, 3240, 3240, 3240, 3115, 3115, 3115, 3115, 3585, 3585, 3585, 3115, 3585, 3585, 3585, 3585, 3585, 3585, 3115, 3115, 3585, 3115, 3585, 3115, 3115, 3585, 3115, 3585, 3115, 3585, 3585, 3585, 3115, 652, 652, 652, 652, 3585, 652, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 652, 652, 3585, 3585, 3585, 652, 3585, 3585, 652, 652, 3245, 3245, 3585, 3245, 3245, 3585, 3245, 3245, 3245, 3245, 3245, 3245, 3245, 3245, 3585, 3245, 3245, 3245, 3245, 3245, 3245, 3245, 3245, 3245, 3245, 3245, 3585, 3245, 3245, 3245, 1266, 1266, 1266, 1266, 3585, 1266, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1266, 3585, 3585, 3585, 1266, 1266, 3585, 1266, 3585, 1266, 3585, 3585, 1266, 1266, 779, 3585, 3585, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 779, 3585, 779, 779, 3585, 779, 3585, 779, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 1398, 1398, 3585, 1398, 1398, 1398, 1398, 1398, 3585, 3585, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 3585, 1398, 1398, 1398, 3585, 1398, 3585, 1398, 3585, 3585, 1398, 1398, 870, 870, 3585, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 870, 3585, 870, 870, 3585, 870, 3585, 870, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 944, 3585, 3585, 944, 3585, 3585, 3585, 944, 3585, 3585, 3585, 3585, 3585, 3585, 944, 944, 3585, 3585, 3585, 944, 944, 3585, 944, 3585, 944, 3585, 3585, 3585, 944, 958, 3585, 3585, 3585, 3585, 958, 958, 3585, 3585, 3585, 958, 3585, 3585, 3585, 958, 967, 967, 3585, 3585, 3585, 967, 967, 3585, 967, 3585, 967, 3585, 3585, 3585, 967, 1601, 3585, 3585, 3585, 3585, 1601, 1601, 3585, 3585, 3585, 1601, 3585, 3585, 3585, 1601, 3192, 3192, 3585, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3192, 3081, 3081, 3585, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 3081, 980, 980, 3585, 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, 1051, 3585, 3585, 3585, 3585, 1051, 1051, 3585, 3585, 3585, 1051, 3585, 3585, 3585, 1051, 3208, 3208, 3585, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 3208, 1108, 1108, 3585, 1108, 1108, 3585, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 3299, 3585, 3299, 3299, 3585, 3299, 3299, 3299, 3585, 3585, 3299, 3299, 3299, 3299, 3299, 3299, 3299, 3299, 3299, 3299, 3299, 3299, 3299, 3585, 3299, 3299, 3299, 3299, 3299, 3299, 3212, 3212, 3585, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 3212, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 575, 575, 3585, 3585, 575, 3585, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 3585, 575, 575, 575, 575, 575, 575, 584, 584, 3585, 3585, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 592, 592, 3585, 592, 592, 3585, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 621, 621, 3585, 3585, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 3224, 3224, 3224, 3224, 3585, 3585, 3585, 3585, 3224, 3585, 3224, 3585, 3585, 3585, 3224, 3224, 3224, 3585, 3585, 3224, 3224, 3585, 3224, 3224, 3224, 3585, 3585, 3585, 3224, 3097, 3097, 3097, 3097, 3585, 3097, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3097, 3097, 3585, 3585, 3585, 3097, 3585, 3585, 3097, 3097, 3230, 3230, 3230, 3230, 3585, 3230, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3230, 3230, 3585, 3585, 3585, 3230, 3585, 3585, 3585, 3230, 3310, 3310, 3310, 3310, 3585, 3585, 3585, 3585, 3310, 3585, 3310, 3585, 3585, 3585, 3310, 3585, 3310, 3585, 3585, 3310, 3310, 3585, 3585, 3310, 3310, 3585, 3585, 3585, 3310, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 3585, 1886, 1886, 1886, 1886, 3585, 3585, 1886, 1886, 1886, 3585, 1886, 1886, 1886, 1886, 2939, 2939, 2939, 2939, 3585, 3585, 3585, 2939, 3585, 3585, 3585, 3585, 3585, 3585, 2939, 2939, 3585, 2939, 3585, 2939, 2939, 3585, 2939, 3585, 2939, 3585, 3585, 3585, 2939, 2708, 2708, 2708, 2708, 3585, 3585, 3585, 2708, 3585, 3585, 3585, 3585, 3585, 3585, 2708, 2708, 3585, 2708, 3585, 2708, 2708, 3585, 2708, 3585, 2708, 3585, 3585, 3585, 2708, 1865, 1865, 1865, 1865, 3585, 3585, 3585, 1865, 1865, 3585, 1865, 3585, 3585, 3585, 1865, 1865, 1865, 1865, 3585, 1865, 1865, 3585, 1865, 1865, 1865, 3585, 3585, 3585, 1865, 671, 671, 671, 671, 3585, 3585, 3585, 671, 671, 3585, 671, 3585, 671, 3585, 671, 671, 671, 671, 3585, 671, 671, 3585, 671, 671, 671, 3585, 3585, 3585, 671, 3319, 3585, 3319, 3319, 3585, 3319, 3319, 3319, 3319, 3585, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3319, 3585, 3319, 3319, 3319, 3319, 3319, 3319, 3246, 3246, 3585, 3246, 3246, 3585, 3246, 3246, 3246, 3246, 3246, 3246, 3585, 3585, 3585, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3246, 3585, 3246, 3246, 3246, 3245, 3245, 3585, 3245, 3245, 3585, 3245, 3245, 3245, 3245, 3245, 3245, 3245, 3245, 3585, 3245, 3245, 3245, 3245, 3245, 3245, 3245, 3245, 3245, 3245, 3245, 3585, 3245, 3245, 3245, 3325, 3325, 3585, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3325, 3325, 3325, 3325, 3585, 3585, 3325, 3325, 3325, 3585, 3325, 3325, 3325, 3325, 3367, 3367, 3585, 3367, 3367, 3585, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3585, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3585, 3367, 3367, 3367, 779, 3585, 3585, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 779, 3585, 779, 779, 3585, 779, 3585, 779, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 870, 870, 3585, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 870, 3585, 870, 870, 3585, 870, 3585, 870, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 944, 3585, 3585, 944, 3585, 3585, 3585, 944, 3585, 3585, 3585, 3585, 3585, 3585, 944, 944, 3585, 3585, 3585, 944, 944, 3585, 944, 3585, 944, 3585, 3585, 3585, 944, 958, 3585, 3585, 3585, 3585, 958, 958, 3585, 3585, 3585, 958, 3585, 3585, 3585, 958, 1601, 3585, 3585, 3585, 3585, 1601, 1601, 3585, 3585, 3585, 1601, 3585, 3585, 3585, 1601, 980, 980, 3585, 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, 1051, 3585, 3585, 3585, 3585, 1051, 1051, 3585, 3585, 3585, 1051, 3585, 3585, 3585, 1051, 1108, 1108, 3585, 1108, 1108, 3585, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 3392, 3585, 3392, 3392, 3585, 3392, 3392, 3392, 3585, 3585, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3392, 3585, 3392, 3392, 3392, 3392, 3392, 3392, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 575, 575, 3585, 3585, 575, 3585, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 3585, 575, 575, 575, 575, 575, 575, 584, 584, 3585, 3585, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 592, 592, 3585, 592, 592, 3585, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 621, 621, 3585, 3585, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 3097, 3097, 3097, 3097, 3585, 3097, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3097, 3097, 3585, 3585, 3585, 3097, 3585, 3585, 3097, 3097, 3310, 3310, 3310, 3310, 3585, 3585, 3585, 3585, 3310, 3585, 3310, 3585, 3585, 3585, 3310, 3585, 3310, 3585, 3585, 3310, 3310, 3585, 3585, 3310, 3310, 3585, 3585, 3585, 3310, 2939, 2939, 2939, 2939, 3585, 3585, 3585, 2939, 3585, 3585, 3585, 3585, 3585, 3585, 2939, 2939, 3585, 2939, 3585, 2939, 2939, 3585, 2939, 3585, 2939, 3585, 3585, 3585, 2939, 2708, 2708, 2708, 2708, 3585, 3585, 3585, 2708, 3585, 3585, 3585, 3585, 3585, 3585, 2708, 2708, 3585, 2708, 3585, 2708, 2708, 3585, 2708, 3585, 2708, 3585, 3585, 3585, 2708, 3411, 3585, 3411, 3411, 3585, 3411, 3411, 3411, 3411, 3585, 3411, 3411, 3411, 3411, 3411, 3411, 3411, 3411, 3411, 3411, 3411, 3411, 3411, 3585, 3411, 3411, 3411, 3411, 3411, 3411, 3325, 3325, 3585, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3325, 3585, 3325, 3325, 3325, 3325, 3585, 3585, 3325, 3325, 3325, 3585, 3325, 3325, 3325, 3325, 3368, 3368, 3585, 3368, 3368, 3585, 3368, 3368, 3368, 3368, 3368, 3368, 3585, 3585, 3585, 3368, 3368, 3368, 3368, 3368, 3368, 3368, 3368, 3368, 3368, 3368, 3585, 3368, 3368, 3368, 3367, 3367, 3585, 3367, 3367, 3585, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3585, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3585, 3367, 3367, 3367, 779, 3585, 3585, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 779, 3585, 779, 779, 3585, 779, 3585, 779, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 870, 870, 3585, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 870, 3585, 870, 870, 3585, 870, 3585, 870, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 944, 3585, 3585, 944, 3585, 3585, 3585, 944, 3585, 3585, 3585, 3585, 3585, 3585, 944, 944, 3585, 3585, 3585, 944, 944, 3585, 944, 3585, 944, 3585, 3585, 3585, 944, 980, 980, 3585, 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, 1051, 1051, 1051, 1051, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 1051, 3585, 3585, 3585, 3585, 1051, 1051, 3585, 3585, 3585, 1051, 1051, 3585, 3585, 1051, 1108, 1108, 3585, 1108, 1108, 3585, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 3465, 3585, 3465, 3465, 3585, 3465, 3465, 3465, 3585, 3585, 3465, 3465, 3465, 3465, 3465, 3465, 3465, 3465, 3465, 3465, 3465, 3465, 3465, 3585, 3465, 3465, 3465, 3465, 3465, 3465, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 575, 575, 3585, 3585, 575, 3585, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, 3585, 575, 575, 575, 575, 575, 575, 584, 584, 3585, 3585, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 3585, 584, 584, 584, 584, 584, 584, 592, 592, 3585, 592, 592, 3585, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 592, 621, 621, 3585, 3585, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 2939, 2939, 2939, 2939, 3585, 3585, 3585, 2939, 3585, 3585, 3585, 3585, 3585, 3585, 2939, 2939, 3585, 2939, 3585, 2939, 2939, 3585, 2939, 3585, 2939, 3585, 3585, 3585, 2939, 2708, 2708, 2708, 2708, 3585, 3585, 3585, 2708, 3585, 3585, 3585, 3585, 3585, 3585, 2708, 2708, 3585, 2708, 3585, 2708, 2708, 3585, 2708, 3585, 2708, 3585, 3585, 3585, 2708, 3473, 3585, 3473, 3473, 3585, 3473, 3473, 3473, 3473, 3585, 3473, 3473, 3473, 3473, 3473, 3473, 3473, 3473, 3473, 3473, 3473, 3473, 3473, 3585, 3473, 3473, 3473, 3473, 3473, 3473, 1260, 1260, 3585, 1260, 1260, 3585, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 3585, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 3585, 1260, 1260, 1260, 1398, 1398, 3585, 1398, 1398, 1398, 1398, 1398, 3585, 3585, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 3585, 1398, 1398, 1398, 3585, 1398, 3585, 1398, 3585, 3585, 1398, 1398, 779, 3585, 3585, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 779, 3585, 779, 779, 3585, 779, 3585, 779, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 870, 870, 3585, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 870, 3585, 870, 870, 3585, 870, 3585, 870, 870, 3585, 3585, 3585, 870, 3585, 3585, 3585, 870, 3502, 3585, 3585, 3502, 3585, 3502, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3502, 3502, 3585, 3585, 3585, 3502, 3585, 3585, 3585, 3502, 980, 980, 3585, 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, 1051, 3585, 3585, 3585, 3585, 1051, 1051, 3585, 3585, 3585, 1051, 3585, 3585, 3585, 1051, 1108, 1108, 3585, 1108, 1108, 3585, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 3585, 1108, 1108, 1108, 1108, 1108, 1108, 3507, 3585, 3507, 3507, 3585, 3507, 3507, 3507, 3585, 3585, 3507, 3507, 3507, 3507, 3507, 3507, 3507, 3507, 3507, 3507, 3507, 3507, 3507, 3585, 3507, 3507, 3507, 3507, 3507, 3507, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 3585, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 2939, 2939, 2939, 2939, 3585, 3585, 3585, 2939, 3585, 3585, 3585, 3585, 3585, 3585, 2939, 2939, 3585, 2939, 3585, 2939, 2939, 3585, 2939, 3585, 2939, 3585, 3585, 3585, 2939, 3516, 3585, 3516, 3516, 3585, 3516, 3516, 3516, 3516, 3585, 3516, 3516, 3516, 3516, 3516, 3516, 3516, 3516, 3516, 3516, 3516, 3516, 3516, 3585, 3516, 3516, 3516, 3516, 3516, 3516, 779, 3585, 3585, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 779, 3585, 779, 779, 3585, 779, 3585, 779, 779, 3585, 3585, 3585, 779, 3585, 3585, 3585, 779, 3531, 3585, 3585, 3531, 3585, 3531, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3531, 3531, 3585, 3585, 3585, 3531, 3585, 3585, 3585, 3531, 3534, 3585, 3585, 3534, 3585, 3585, 3585, 3585, 3534, 3585, 3585, 3585, 3585, 3585, 3534, 3585, 3585, 3585, 3585, 3534, 3534, 3585, 3585, 3585, 3534, 3585, 3585, 3585, 3534, 1051, 3585, 3585, 3585, 3585, 1051, 1051, 3585, 3585, 3585, 1051, 3585, 3585, 3585, 1051, 3537, 3585, 3537, 3537, 3585, 3537, 3537, 3537, 3585, 3585, 3537, 3537, 3537, 3537, 3537, 3537, 3537, 3537, 3537, 3537, 3537, 3537, 3537, 3585, 3537, 3537, 3537, 3537, 3537, 3537, 3543, 3585, 3543, 3543, 3585, 3543, 3543, 3543, 3543, 3585, 3543, 3543, 3543, 3543, 3543, 3543, 3543, 3543, 3543, 3543, 3543, 3543, 3543, 3585, 3543, 3543, 3543, 3543, 3543, 3543, 3555, 3585, 3585, 3555, 3585, 3585, 3585, 3585, 3555, 3585, 3585, 3585, 3585, 3585, 3555, 3585, 3585, 3585, 3585, 3555, 3555, 3585, 3585, 3585, 3555, 3585, 3585, 3585, 3555, 3556, 3585, 3556, 3556, 3585, 3556, 3556, 3556, 3585, 3585, 3556, 3556, 3556, 3556, 3556, 3556, 3556, 3556, 3556, 3556, 3556, 3556, 3556, 3585, 3556, 3556, 3556, 3556, 3556, 3556, 3559, 3585, 3559, 3559, 3585, 3559, 3559, 3559, 3559, 3585, 3559, 3559, 3559, 3559, 3559, 3559, 3559, 3559, 3559, 3559, 3559, 3559, 3559, 3585, 3559, 3559, 3559, 3559, 3559, 3559, 3565, 3585, 3565, 3565, 3585, 3565, 3565, 3565, 3585, 3585, 3565, 3565, 3565, 3565, 3565, 3565, 3565, 3565, 3565, 3565, 3565, 3565, 3565, 3585, 3565, 3565, 3565, 3565, 3565, 3565, 3568, 3585, 3568, 3568, 3585, 3568, 3568, 3568, 3568, 3585, 3568, 3568, 3568, 3568, 3568, 3568, 3568, 3568, 3568, 3568, 3568, 3568, 3568, 3585, 3568, 3568, 3568, 3568, 3568, 3568, 3570, 3585, 3570, 3570, 3585, 3570, 3570, 3570, 3585, 3585, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3585, 3570, 3570, 3570, 3570, 3570, 3570, 3573, 3585, 3573, 3573, 3585, 3573, 3573, 3573, 3573, 3585, 3573, 3573, 3573, 3573, 3573, 3573, 3573, 3573, 3573, 3573, 3573, 3573, 3573, 3585, 3573, 3573, 3573, 3573, 3573, 3573, 3574, 3585, 3574, 3574, 3585, 3574, 3574, 3574, 3585, 3585, 3574, 3574, 3574, 3574, 3574, 3574, 3574, 3574, 3574, 3574, 3574, 3574, 3574, 3585, 3574, 3574, 3574, 3574, 3574, 3574, 3577, 3585, 3577, 3577, 3585, 3577, 3577, 3577, 3577, 3585, 3577, 3577, 3577, 3577, 3577, 3577, 3577, 3577, 3577, 3577, 3577, 3577, 3577, 3585, 3577, 3577, 3577, 3577, 3577, 3577, 73, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585 } ; static yyconst flex_int16_t yy_chk[38701] = { 0, 0, 0, 1, 1, 2, 2, 2, 2, 117, 117, 3, 3, 1, 1, 3, 2, 2, 204, 0, 1, 3, 3, 2, 22, 0, 20, 22, 3, 20, 1, 79, 20, 2, 82, 204, 79, 24, 3, 82, 24, 87, 22, 91, 20, 170, 87, 136, 91, 1, 26, 1, 2, 26, 2, 24, 175, 3, 3, 3, 4, 4, 4, 4, 96, 4, 5, 5, 26, 96, 302, 4, 4, 170, 175, 5, 5, 5, 4, 28, 99, 30, 28, 5, 30, 99, 106, 109, 4, 302, 136, 106, 109, 5, 7, 7, 115, 28, 7, 30, 721, 115, 721, 169, 7, 7, 343, 4, 4, 4, 169, 7, 5, 5, 5, 6, 6, 6, 6, 36, 38, 7, 36, 38, 119, 6, 6, 6, 48, 119, 1167, 48, 1167, 6, 9, 9, 50, 36, 38, 50, 7, 184, 7, 6, 9, 9, 48, 8, 8, 8, 8, 9, 8, 52, 50, 126, 52, 343, 8, 8, 126, 9, 6, 6, 6, 8, 2261, 10, 10, 10, 10, 52, 129, 121, 184, 8, 121, 129, 10, 10, 9, 9, 9, 146, 154, 10, 121, 154, 146, 11, 11, 11, 11, 149, 8, 10, 8, 154, 149, 161, 11, 11, 11, 210, 161, 54, 389, 11, 54, 12, 12, 12, 12, 210, 10, 10, 10, 11, 13, 13, 12, 12, 12, 54, 185, 135, 389, 12, 13, 13, 135, 14, 14, 14, 14, 13, 11, 12, 11, 368, 15, 15, 14, 14, 56, 13, 356, 56, 200, 14, 15, 15, 15, 200, 182, 194, 12, 15, 12, 14, 135, 368, 56, 185, 13, 13, 13, 15, 137, 137, 719, 16, 16, 16, 16, 182, 194, 182, 14, 14, 14, 194, 16, 16, 16, 719, 15, 182, 15, 16, 17, 17, 139, 18, 18, 18, 18, 139, 253, 16, 17, 17, 208, 253, 18, 18, 42, 17, 356, 42, 58, 18, 42, 58, 208, 137, 189, 17, 16, 60, 16, 18, 60, 62, 42, 714, 62, 139, 58, 213, 213, 215, 215, 714, 42, 189, 17, 60, 17, 189, 18, 62, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 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, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 31, 31, 32, 32, 32, 32, 660, 660, 33, 33, 31, 31, 199, 32, 32, 199, 369, 31, 33, 33, 32, 64, 380, 267, 64, 33, 380, 31, 267, 66, 32, 243, 66, 156, 1329, 33, 156, 68, 369, 64, 68, 34, 34, 34, 34, 156, 31, 66, 31, 32, 1329, 32, 34, 34, 33, 68, 33, 75, 81, 34, 75, 81, 90, 98, 101, 90, 98, 101, 108, 34, 205, 108, 199, 205, 211, 75, 81, 388, 388, 211, 90, 98, 101, 205, 243, 2262, 108, 211, 34, 388, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 39, 39, 39, 39, 40, 40, 40, 40, 245, 43, 43, 39, 39, 245, 269, 40, 40, 1285, 39, 43, 43, 245, 40, 39, 269, 269, 43, 40, 39, 69, 69, 186, 40, 43, 118, 43, 43, 118, 177, 69, 69, 111, 111, 1285, 111, 128, 69, 39, 128, 39, 186, 40, 118, 40, 186, 43, 69, 43, 128, 111, 689, 131, 141, 128, 131, 141, 197, 197, 197, 197, 186, 177, 689, 197, 177, 69, 318, 69, 39, 131, 141, 318, 40, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 44, 44, 44, 44, 45, 45, 138, 307, 45, 138, 307, 44, 44, 311, 45, 45, 311, 644, 44, 148, 179, 45, 148, 357, 138, 44, 644, 44, 44, 2263, 45, 45, 180, 46, 46, 46, 46, 148, 46, 160, 160, 160, 160, 179, 46, 46, 160, 44, 357, 44, 45, 46, 45, 179, 138, 162, 162, 162, 162, 676, 46, 46, 180, 179, 180, 384, 176, 70, 70, 70, 70, 178, 180, 266, 180, 384, 266, 370, 70, 70, 46, 162, 46, 47, 47, 70, 176, 322, 187, 191, 178, 266, 322, 47, 47, 70, 176, 178, 561, 370, 47, 178, 183, 176, 178, 176, 394, 47, 187, 47, 47, 162, 191, 676, 70, 191, 70, 561, 207, 2264, 160, 207, 187, 47, 183, 191, 183, 371, 187, 47, 207, 47, 191, 183, 183, 47, 47, 47, 252, 47, 47, 252, 47, 394, 207, 47, 328, 47, 47, 371, 252, 328, 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, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 71, 71, 166, 314, 71, 193, 314, 373, 360, 71, 71, 71, 173, 173, 173, 173, 1897, 71, 333, 173, 449, 314, 181, 333, 193, 192, 363, 71, 363, 373, 449, 647, 193, 360, 647, 173, 71, 192, 193, 71, 1897, 181, 71, 647, 192, 360, 71, 321, 71, 181, 321, 166, 181, 166, 166, 181, 662, 166, 181, 662, 173, 181, 470, 166, 166, 321, 166, 166, 166, 192, 188, 71, 470, 190, 192, 453, 453, 71, 739, 71, 72, 72, 72, 72, 216, 72, 739, 453, 363, 188, 72, 72, 72, 173, 657, 516, 190, 188, 72, 190, 190, 198, 516, 1314, 198, 657, 188, 198, 72, 188, 324, 190, 519, 324, 190, 217, 190, 72, 217, 198, 72, 522, 519, 72, 1314, 421, 217, 72, 324, 72, 421, 217, 217, 216, 279, 216, 216, 279, 217, 216, 217, 522, 687, 687, 279, 216, 216, 279, 216, 216, 216, 279, 72, 279, 218, 569, 332, 218, 72, 332, 72, 167, 167, 167, 167, 218, 1309, 577, 586, 569, 218, 218, 167, 167, 332, 1309, 167, 218, 167, 218, 222, 577, 586, 222, 167, 167, 167, 230, 306, 306, 230, 222, 230, 306, 218, 230, 222, 222, 230, 230, 230, 230, 695, 222, 230, 222, 686, 230, 695, 167, 167, 168, 168, 168, 168, 432, 219, 686, 664, 219, 432, 219, 168, 168, 439, 1286, 168, 219, 168, 439, 306, 222, 219, 219, 168, 168, 168, 458, 664, 219, 220, 219, 458, 220, 168, 260, 260, 260, 260, 622, 622, 220, 260, 1286, 372, 223, 220, 220, 223, 168, 168, 339, 372, 220, 339, 220, 223, 372, 260, 964, 486, 223, 223, 220, 224, 486, 372, 224, 223, 339, 223, 264, 264, 264, 264, 224, 359, 231, 264, 225, 224, 224, 225, 260, 964, 231, 622, 224, 231, 224, 225, 231, 675, 773, 231, 225, 225, 231, 223, 474, 474, 359, 225, 226, 225, 675, 226, 349, 223, 304, 349, 474, 304, 773, 226, 223, 260, 223, 227, 226, 226, 227, 359, 595, 461, 359, 226, 461, 226, 227, 224, 225, 304, 224, 227, 227, 334, 595, 225, 334, 665, 227, 225, 227, 229, 225, 229, 461, 229, 2265, 665, 492, 229, 284, 232, 229, 492, 706, 229, 226, 334, 229, 232, 284, 229, 232, 284, 706, 232, 226, 284, 232, 284, 523, 232, 501, 523, 523, 233, 226, 501, 227, 233, 227, 698, 349, 233, 304, 523, 233, 698, 375, 233, 227, 228, 233, 2267, 228, 233, 375, 690, 234, 234, 309, 375, 228, 309, 690, 678, 234, 228, 228, 234, 375, 309, 234, 234, 228, 234, 228, 235, 234, 234, 703, 240, 236, 309, 703, 235, 236, 678, 235, 240, 236, 235, 240, 236, 235, 240, 236, 235, 240, 236, 704, 240, 236, 228, 691, 237, 704, 691, 309, 237, 506, 228, 237, 237, 228, 506, 237, 228, 312, 237, 228, 312, 237, 228, 237, 237, 238, 237, 239, 237, 238, 699, 1346, 238, 238, 434, 312, 238, 434, 535, 238, 312, 699, 238, 535, 277, 238, 239, 1346, 241, 238, 241, 700, 434, 605, 277, 241, 241, 277, 239, 241, 277, 277, 241, 277, 700, 241, 239, 605, 241, 239, 457, 239, 239, 457, 479, 239, 239, 479, 239, 256, 256, 256, 256, 257, 257, 257, 257, 708, 457, 616, 256, 1902, 479, 708, 257, 312, 258, 258, 258, 258, 539, 258, 256, 616, 256, 539, 257, 258, 257, 262, 262, 262, 262, 265, 265, 265, 265, 545, 285, 258, 262, 258, 545, 257, 265, 1902, 693, 256, 285, 635, 262, 257, 262, 693, 262, 285, 265, 285, 265, 271, 271, 280, 271, 635, 258, 412, 412, 412, 412, 262, 271, 280, 412, 280, 549, 271, 271, 262, 280, 549, 280, 265, 271, 280, 271, 272, 272, 980, 272, 273, 273, 710, 273, 574, 273, 491, 272, 710, 491, 557, 273, 272, 272, 710, 557, 273, 273, 574, 272, 980, 272, 2268, 273, 491, 273, 274, 274, 574, 274, 275, 275, 505, 275, 565, 505, 272, 274, 709, 565, 567, 275, 274, 274, 709, 567, 275, 275, 709, 274, 505, 274, 283, 275, 283, 275, 283, 276, 276, 274, 276, 1111, 283, 283, 283, 278, 278, 310, 276, 283, 310, 283, 278, 276, 276, 1111, 278, 685, 310, 278, 276, 275, 276, 278, 685, 278, 281, 281, 282, 282, 310, 282, 2269, 338, 281, 685, 338, 281, 282, 583, 281, 282, 711, 281, 281, 282, 281, 282, 286, 286, 276, 338, 286, 583, 711, 310, 1292, 338, 310, 286, 276, 287, 591, 583, 1292, 572, 286, 276, 286, 276, 572, 287, 288, 717, 530, 287, 591, 530, 287, 288, 287, 287, 288, 289, 289, 717, 591, 289, 288, 288, 290, 288, 530, 290, 289, 292, 290, 290, 1298, 374, 290, 289, 374, 289, 374, 581, 1298, 290, 290, 290, 581, 290, 291, 290, 292, 291, 538, 374, 291, 538, 589, 701, 291, 293, 701, 589, 374, 292, 291, 291, 293, 291, 740, 293, 538, 291, 293, 292, 541, 292, 293, 541, 293, 694, 292, 568, 292, 294, 294, 361, 694, 740, 361, 294, 568, 361, 541, 294, 397, 397, 397, 397, 548, 1341, 294, 548, 294, 361, 398, 398, 398, 398, 399, 399, 399, 399, 599, 361, 720, 399, 548, 397, 720, 397, 400, 400, 400, 400, 568, 597, 599, 398, 1341, 398, 597, 401, 401, 401, 401, 576, 599, 398, 494, 494, 494, 494, 397, 400, 576, 400, 402, 402, 402, 402, 633, 633, 398, 633, 401, 705, 401, 403, 403, 403, 403, 494, 705, 361, 707, 707, 967, 551, 400, 402, 551, 402, 638, 404, 404, 404, 404, 638, 576, 401, 403, 712, 403, 629, 712, 551, 400, 494, 629, 399, 401, 967, 564, 2271, 402, 564, 404, 401, 404, 405, 405, 405, 405, 728, 728, 403, 406, 406, 406, 406, 564, 1149, 402, 716, 407, 407, 407, 407, 629, 716, 403, 404, 405, 612, 405, 1149, 612, 566, 404, 406, 566, 406, 408, 408, 408, 408, 612, 407, 404, 407, 712, 409, 409, 409, 409, 566, 604, 405, 410, 410, 410, 410, 1287, 725, 406, 408, 715, 408, 604, 725, 715, 573, 407, 604, 409, 405, 409, 407, 715, 571, 573, 410, 571, 410, 411, 411, 411, 411, 406, 1287, 408, 414, 414, 414, 414, 573, 730, 571, 688, 409, 730, 408, 408, 688, 731, 580, 410, 411, 580, 411, 718, 731, 582, 408, 573, 718, 409, 415, 415, 415, 415, 582, 585, 580, 410, 590, 416, 416, 416, 416, 588, 585, 411, 588, 590, 415, 582, 624, 411, 2273, 431, 431, 431, 431, 596, 414, 727, 596, 588, 590, 594, 624, 727, 722, 598, 582, 722, 414, 431, 594, 1296, 414, 596, 598, 414, 585, 615, 609, 590, 414, 609, 415, 736, 602, 602, 615, 602, 736, 598, 723, 416, 624, 723, 415, 610, 609, 1296, 415, 620, 692, 415, 602, 416, 594, 431, 415, 416, 598, 610, 416, 692, 692, 620, 1290, 416, 696, 431, 696, 610, 615, 431, 696, 620, 431, 507, 507, 507, 507, 431, 503, 503, 735, 503, 503, 503, 1290, 503, 735, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 503, 508, 508, 508, 508, 503, 503, 503, 503, 503, 503, 509, 509, 509, 509, 618, 619, 744, 618, 508, 1211, 528, 528, 528, 528, 619, 623, 744, 618, 503, 507, 503, 503, 618, 628, 623, 2283, 628, 637, 528, 619, 637, 507, 1211, 640, 702, 507, 734, 734, 507, 742, 742, 628, 702, 507, 508, 637, 702, 640, 619, 503, 503, 503, 503, 630, 509, 631, 508, 640, 623, 623, 508, 1252, 630, 508, 528, 634, 509, 1252, 508, 631, 509, 628, 645, 509, 634, 645, 528, 630, 509, 631, 528, 639, 743, 528, 766, 645, 743, 724, 528, 1195, 639, 646, 724, 1195, 646, 766, 630, 630, 646, 631, 726, 726, 724, 646, 646, 639, 752, 726, 634, 752, 650, 650, 650, 650, 646, 747, 747, 650, 761, 737, 737, 761, 732, 732, 639, 641, 641, 641, 641, 737, 761, 651, 651, 651, 651, 2285, 641, 641, 651, 646, 641, 732, 641, 1222, 652, 652, 652, 652, 641, 641, 641, 653, 653, 653, 653, 1222, 652, 753, 653, 652, 753, 652, 654, 654, 654, 654, 752, 1224, 652, 741, 741, 774, 646, 641, 641, 642, 642, 642, 642, 1224, 741, 774, 656, 656, 656, 656, 642, 642, 654, 656, 642, 650, 642, 652, 754, 754, 769, 769, 642, 642, 642, 670, 670, 670, 670, 656, 745, 745, 670, 1294, 745, 771, 651, 1002, 771, 673, 673, 753, 654, 1294, 673, 673, 733, 642, 642, 667, 667, 667, 667, 733, 656, 673, 1002, 1010, 642, 751, 667, 667, 751, 733, 667, 751, 667, 684, 684, 684, 684, 1324, 667, 667, 684, 1100, 1100, 751, 674, 674, 674, 674, 1169, 759, 1169, 674, 759, 656, 666, 666, 666, 666, 937, 1324, 1010, 937, 759, 667, 667, 666, 666, 674, 1340, 666, 1071, 666, 670, 760, 673, 1340, 760, 666, 666, 666, 760, 679, 679, 679, 679, 760, 760, 938, 679, 1071, 938, 2286, 674, 680, 680, 680, 680, 1178, 941, 1178, 680, 941, 666, 666, 679, 948, 963, 1288, 948, 963, 674, 682, 682, 682, 682, 1293, 680, 683, 683, 683, 683, 1288, 682, 682, 683, 674, 682, 1293, 972, 679, 729, 729, 729, 729, 682, 682, 682, 729, 1317, 966, 683, 680, 966, 738, 729, 748, 748, 748, 748, 1093, 738, 2288, 748, 972, 749, 749, 749, 749, 972, 682, 682, 749, 679, 738, 1317, 683, 775, 738, 1093, 775, 750, 750, 750, 750, 680, 1116, 858, 858, 858, 858, 1116, 750, 750, 858, 963, 750, 1390, 979, 1110, 775, 979, 775, 1390, 2290, 750, 750, 973, 1110, 683, 697, 697, 697, 697, 697, 697, 697, 697, 697, 697, 697, 697, 697, 697, 697, 697, 697, 697, 697, 697, 750, 1136, 973, 1326, 697, 697, 697, 697, 697, 697, 756, 936, 1110, 756, 936, 860, 860, 860, 860, 1152, 1136, 756, 860, 973, 1152, 1326, 756, 756, 697, 697, 697, 697, 2292, 756, 936, 756, 861, 861, 861, 861, 1180, 757, 1180, 861, 757, 862, 862, 862, 862, 940, 940, 1201, 757, 697, 940, 1201, 862, 757, 757, 697, 697, 697, 697, 697, 757, 779, 757, 942, 779, 782, 942, 1189, 782, 1189, 782, 1191, 779, 1191, 942, 1882, 782, 779, 779, 1118, 950, 782, 782, 950, 779, 936, 779, 940, 782, 783, 782, 996, 783, 1118, 996, 1200, 757, 1200, 939, 784, 783, 939, 784, 1118, 950, 783, 783, 1882, 944, 939, 784, 944, 783, 1160, 783, 784, 784, 785, 1160, 944, 785, 939, 784, 1202, 784, 1202, 783, 947, 785, 971, 947, 944, 786, 785, 785, 786, 787, 1792, 947, 787, 785, 1792, 785, 786, 983, 983, 939, 787, 786, 786, 947, 784, 787, 787, 971, 786, 944, 786, 983, 787, 788, 787, 955, 788, 1313, 955, 971, 983, 1328, 784, 1065, 788, 971, 1065, 1166, 947, 788, 788, 789, 1166, 955, 789, 947, 788, 1313, 788, 955, 785, 1041, 789, 1328, 1041, 786, 790, 789, 789, 790, 982, 982, 986, 787, 789, 1076, 789, 790, 1076, 982, 986, 2296, 790, 790, 791, 986, 1041, 791, 1217, 790, 1344, 790, 1206, 982, 986, 791, 1115, 1206, 1076, 1115, 791, 791, 1139, 949, 788, 1139, 949, 791, 792, 791, 1359, 792, 793, 982, 1115, 793, 1344, 789, 1217, 792, 1217, 949, 790, 793, 792, 792, 949, 794, 793, 793, 794, 792, 1157, 792, 1208, 793, 1359, 793, 794, 1208, 1348, 1157, 795, 794, 794, 795, 844, 844, 844, 844, 794, 2300, 794, 795, 791, 791, 1157, 844, 795, 795, 792, 1117, 1348, 797, 793, 795, 797, 795, 1291, 844, 1117, 844, 1077, 798, 797, 1077, 798, 988, 988, 797, 797, 949, 1347, 1322, 798, 1117, 797, 1291, 797, 798, 798, 988, 794, 1322, 844, 1077, 798, 2304, 798, 795, 988, 988, 1295, 1347, 1117, 795, 796, 796, 796, 796, 796, 796, 796, 796, 796, 796, 796, 796, 796, 796, 796, 796, 796, 796, 796, 796, 1078, 1295, 797, 1078, 796, 796, 796, 796, 796, 796, 799, 1148, 1225, 799, 1225, 1163, 1883, 798, 1154, 974, 1148, 799, 974, 1078, 1163, 974, 799, 799, 796, 796, 796, 796, 1154, 799, 1299, 799, 2306, 974, 1338, 1163, 1232, 800, 1154, 1232, 800, 1883, 1299, 974, 845, 845, 845, 845, 800, 796, 1148, 845, 1338, 800, 800, 796, 796, 796, 796, 796, 800, 1360, 800, 801, 1311, 1312, 801, 845, 852, 852, 852, 852, 1311, 802, 801, 852, 802, 1312, 799, 801, 801, 2307, 985, 1360, 802, 985, 801, 985, 801, 802, 802, 852, 845, 974, 803, 1315, 802, 803, 802, 1318, 985, 1212, 1212, 1151, 800, 803, 1151, 1318, 800, 985, 803, 803, 804, 1334, 1315, 804, 852, 803, 1153, 803, 1158, 1151, 1219, 804, 1316, 845, 801, 1153, 804, 804, 805, 1319, 1334, 805, 1158, 804, 1316, 804, 802, 1319, 806, 805, 1153, 806, 1158, 1349, 805, 805, 1212, 852, 1164, 806, 1219, 805, 1219, 805, 806, 806, 1332, 807, 803, 1153, 807, 806, 1164, 806, 1332, 1173, 1173, 808, 807, 1173, 808, 1349, 1164, 807, 807, 2309, 987, 987, 808, 804, 807, 1321, 807, 808, 808, 987, 1220, 1220, 805, 1220, 808, 809, 808, 1321, 809, 846, 846, 846, 846, 987, 987, 1174, 809, 806, 1339, 1343, 846, 809, 809, 1595, 1174, 1323, 1173, 1175, 809, 1595, 809, 812, 846, 987, 812, 1185, 807, 1323, 1343, 1174, 807, 1175, 812, 1325, 1185, 1339, 808, 812, 812, 1369, 814, 1175, 808, 814, 812, 1325, 812, 846, 1331, 1185, 1369, 814, 1022, 1022, 1022, 1022, 814, 814, 2312, 1022, 1179, 1179, 1331, 814, 1179, 814, 809, 810, 810, 810, 810, 810, 810, 810, 810, 810, 810, 810, 810, 810, 810, 810, 810, 810, 810, 810, 810, 1186, 812, 1218, 1218, 810, 810, 810, 810, 810, 810, 813, 813, 813, 813, 1186, 1370, 1196, 2313, 814, 1350, 1179, 813, 1333, 1370, 1186, 1196, 813, 813, 810, 810, 810, 810, 1350, 813, 1333, 813, 1011, 1011, 1011, 1011, 1196, 815, 1335, 1011, 815, 847, 847, 847, 847, 1218, 1297, 1197, 815, 1354, 1335, 1223, 847, 815, 815, 810, 810, 810, 810, 810, 815, 1197, 815, 816, 847, 1223, 816, 817, 1358, 813, 817, 1197, 1297, 1297, 816, 1223, 1354, 813, 817, 816, 816, 1336, 818, 817, 817, 818, 816, 1337, 816, 847, 817, 1358, 817, 818, 1039, 1039, 1039, 1039, 818, 818, 819, 1039, 1353, 819, 1943, 818, 1336, 818, 815, 1351, 1342, 819, 1337, 1011, 1353, 820, 819, 819, 820, 821, 1184, 1184, 821, 819, 1356, 819, 820, 816, 1367, 1184, 821, 820, 820, 1342, 1351, 821, 821, 1342, 820, 1943, 820, 817, 821, 822, 821, 818, 822, 823, 1190, 1190, 823, 1356, 1345, 1352, 822, 1345, 1367, 1190, 823, 822, 822, 819, 824, 823, 823, 824, 822, 1184, 822, 1361, 823, 820, 823, 824, 1352, 821, 1357, 825, 824, 824, 825, 826, 1372, 2318, 826, 824, 1357, 824, 825, 1355, 1361, 1368, 826, 825, 825, 1190, 1345, 826, 826, 1192, 825, 1372, 825, 1192, 826, 1355, 826, 823, 822, 827, 1366, 1192, 827, 823, 1213, 824, 1192, 1355, 1368, 828, 827, 1362, 828, 1213, 1330, 827, 827, 1330, 2322, 2326, 828, 1366, 827, 1362, 827, 828, 828, 825, 1213, 826, 829, 826, 828, 829, 828, 826, 1103, 1103, 1103, 1103, 830, 829, 826, 830, 1260, 1260, 829, 829, 1213, 1260, 1260, 830, 1898, 829, 1364, 829, 830, 830, 1330, 1103, 1260, 831, 827, 830, 831, 830, 1009, 1009, 1009, 1009, 1330, 1203, 831, 1898, 1203, 828, 1364, 831, 831, 832, 1921, 1363, 832, 1203, 831, 1103, 831, 2332, 829, 1009, 832, 1009, 830, 1363, 833, 832, 832, 833, 1203, 1713, 1365, 1713, 832, 1204, 832, 833, 1204, 829, 1921, 830, 833, 833, 834, 1260, 1009, 834, 1365, 833, 1371, 833, 1204, 831, 835, 834, 1799, 835, 1371, 1597, 834, 834, 1204, 1221, 1221, 835, 1221, 834, 1799, 834, 835, 835, 836, 1799, 1193, 836, 832, 835, 1193, 835, 2333, 1221, 837, 836, 1597, 837, 1193, 2337, 836, 836, 833, 1193, 1715, 837, 1715, 836, 1214, 836, 837, 837, 838, 1741, 1602, 838, 834, 837, 835, 837, 1602, 1597, 1214, 838, 1741, 834, 1884, 1198, 838, 838, 839, 1198, 1214, 839, 837, 838, 2338, 838, 835, 1198, 1621, 839, 835, 1621, 1198, 840, 839, 839, 840, 1703, 1806, 836, 1214, 839, 1598, 839, 840, 1884, 1703, 1703, 841, 840, 840, 841, 1012, 1012, 1012, 1012, 840, 1607, 840, 841, 838, 1607, 1600, 842, 841, 841, 842, 1598, 1806, 1397, 838, 841, 1397, 841, 842, 1012, 1397, 1012, 839, 842, 842, 843, 1399, 1607, 843, 1399, 842, 1600, 842, 1746, 1598, 1746, 843, 1104, 1104, 1104, 1104, 843, 843, 1748, 1012, 1748, 840, 1908, 843, 1399, 843, 1399, 841, 1823, 1600, 841, 849, 849, 849, 849, 1104, 854, 854, 854, 854, 1823, 842, 849, 854, 853, 853, 853, 853, 1908, 853, 855, 855, 855, 855, 849, 853, 849, 855, 1794, 854, 843, 1104, 1794, 857, 857, 857, 857, 853, 1613, 853, 857, 1929, 1613, 855, 859, 859, 859, 859, 1747, 849, 1013, 1013, 1013, 1013, 854, 859, 857, 1929, 2339, 1747, 863, 863, 853, 863, 1613, 2340, 1797, 859, 855, 859, 1797, 863, 1381, 1013, 1199, 1381, 863, 863, 1199, 865, 865, 857, 865, 863, 859, 863, 1199, 854, 1381, 1381, 865, 1199, 859, 1917, 1416, 865, 865, 1416, 1013, 1907, 1587, 855, 865, 1587, 865, 866, 866, 1917, 866, 870, 870, 1587, 870, 1822, 857, 1599, 866, 1416, 1822, 1416, 870, 866, 866, 1587, 1907, 870, 870, 1440, 871, 871, 1440, 871, 870, 871, 870, 1040, 1040, 1040, 1040, 871, 1599, 1750, 1040, 1750, 871, 871, 872, 872, 1587, 872, 1440, 871, 1440, 871, 1959, 1599, 1587, 872, 1243, 1243, 1243, 1243, 872, 872, 873, 873, 1752, 873, 1752, 872, 1243, 872, 1824, 1243, 1959, 873, 1105, 1105, 1105, 1105, 873, 873, 1243, 872, 1824, 874, 874, 873, 874, 873, 1606, 1885, 1014, 1014, 1014, 1014, 874, 1829, 1900, 1105, 1829, 874, 874, 875, 875, 1798, 875, 1243, 874, 1798, 874, 1825, 1606, 2341, 875, 1014, 873, 1014, 1885, 875, 875, 876, 876, 1825, 876, 1105, 875, 1661, 875, 1708, 1661, 1900, 876, 1708, 873, 1708, 2342, 876, 876, 1826, 1014, 1899, 877, 877, 876, 877, 876, 1236, 1236, 1236, 1236, 1826, 1661, 877, 1236, 874, 1606, 1709, 877, 877, 1903, 878, 878, 875, 878, 877, 1709, 877, 1017, 1017, 1017, 1017, 878, 1899, 1912, 1017, 1708, 878, 878, 879, 879, 1709, 879, 1809, 878, 876, 878, 1809, 1608, 1608, 879, 1181, 1181, 1903, 2344, 879, 879, 1608, 880, 880, 1181, 880, 879, 1181, 879, 1912, 1851, 1742, 1181, 880, 1851, 1608, 1608, 877, 880, 880, 1742, 1019, 1019, 1019, 1019, 880, 1612, 880, 1019, 881, 881, 878, 881, 882, 882, 1742, 882, 1922, 1636, 879, 881, 1636, 1181, 1710, 882, 881, 881, 1901, 1612, 882, 882, 1918, 881, 1017, 881, 1911, 882, 1710, 882, 883, 883, 1636, 883, 884, 884, 1910, 884, 1710, 1922, 1901, 883, 2345, 880, 880, 884, 883, 883, 1911, 1918, 884, 884, 881, 883, 1743, 883, 882, 884, 1920, 884, 886, 886, 1604, 886, 887, 887, 1604, 887, 1743, 1910, 1612, 886, 1612, 1019, 1604, 887, 886, 886, 1743, 1604, 887, 887, 1800, 886, 2346, 886, 1714, 887, 1604, 887, 1714, 884, 1714, 1802, 1920, 883, 1927, 884, 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 888, 888, 1738, 888, 885, 885, 885, 885, 885, 885, 1927, 888, 886, 1738, 1738, 1714, 888, 888, 887, 1738, 1914, 889, 889, 888, 889, 888, 1807, 1807, 885, 885, 885, 885, 889, 1020, 1020, 1020, 1020, 889, 889, 1229, 1020, 1800, 2347, 1800, 889, 1914, 889, 1941, 1229, 1229, 1229, 1229, 1802, 885, 1802, 1263, 1263, 1263, 1263, 885, 885, 885, 885, 885, 1915, 890, 890, 888, 890, 891, 891, 888, 891, 1807, 1229, 1913, 890, 1923, 1263, 1941, 891, 890, 890, 1614, 889, 891, 891, 1930, 890, 2348, 890, 1933, 891, 1913, 891, 892, 892, 1915, 892, 893, 893, 1930, 893, 1263, 1229, 1614, 892, 1932, 1923, 1935, 893, 892, 892, 1933, 1020, 893, 893, 2352, 892, 2310, 892, 1932, 893, 1935, 893, 894, 894, 1938, 894, 2310, 890, 1241, 1241, 1241, 1241, 891, 894, 1919, 1241, 1810, 1810, 894, 894, 1662, 895, 895, 1662, 895, 894, 1938, 894, 1018, 1018, 1018, 1018, 895, 1614, 1924, 1614, 893, 895, 895, 896, 896, 892, 896, 1950, 895, 1662, 895, 1919, 1925, 2360, 896, 1018, 1928, 1018, 1952, 896, 896, 897, 897, 1950, 897, 1924, 896, 1810, 896, 1018, 1739, 894, 897, 1021, 1021, 1021, 1021, 897, 897, 1952, 1018, 1739, 1739, 1925, 897, 1928, 897, 1739, 900, 900, 895, 900, 1820, 1820, 895, 1820, 1021, 1931, 1021, 900, 1449, 1449, 1449, 1449, 900, 900, 901, 901, 896, 901, 1820, 900, 1379, 900, 896, 1379, 1983, 901, 2364, 1379, 1983, 1021, 901, 901, 1379, 1379, 2387, 2192, 1931, 901, 2192, 901, 897, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, 1209, 1209, 900, 1744, 898, 898, 898, 898, 898, 898, 902, 902, 1209, 902, 1744, 1744, 901, 1209, 1811, 1811, 1744, 902, 1609, 1609, 901, 1936, 902, 902, 898, 898, 898, 898, 2409, 902, 1948, 902, 1609, 1042, 1042, 1042, 1042, 903, 903, 1936, 903, 1609, 1609, 1209, 1242, 1242, 1242, 1242, 903, 2410, 1926, 1242, 1948, 903, 903, 898, 898, 898, 898, 898, 903, 1811, 903, 904, 904, 1926, 904, 905, 905, 1380, 905, 902, 1380, 1949, 904, 1956, 1380, 2424, 905, 904, 904, 1380, 1380, 905, 905, 1705, 904, 1042, 904, 1705, 905, 1705, 905, 906, 906, 1934, 906, 1705, 2436, 1042, 1949, 1942, 1705, 1042, 906, 2437, 1042, 1956, 903, 906, 906, 1042, 907, 907, 1896, 907, 906, 1896, 906, 1210, 1210, 1170, 1170, 907, 1934, 1170, 1937, 904, 907, 907, 1944, 1210, 1705, 1170, 1942, 907, 1210, 907, 1170, 1781, 1781, 905, 908, 908, 1937, 908, 909, 909, 1781, 909, 2343, 2302, 1896, 908, 1939, 2302, 906, 909, 908, 908, 2343, 1944, 909, 909, 1946, 908, 1210, 908, 1170, 909, 1896, 909, 1939, 907, 910, 910, 1745, 910, 911, 911, 1945, 911, 1946, 1783, 1783, 910, 1781, 1745, 1745, 911, 910, 910, 1783, 1745, 911, 911, 1951, 910, 908, 910, 2368, 911, 909, 911, 912, 912, 1605, 912, 913, 913, 1605, 913, 1951, 1945, 1962, 912, 2368, 2439, 1605, 913, 912, 912, 1961, 1605, 913, 913, 2440, 912, 1955, 912, 1783, 913, 1605, 913, 1281, 1281, 1281, 1281, 911, 910, 1961, 1281, 914, 914, 911, 914, 1786, 1786, 1962, 1025, 1025, 1025, 1025, 914, 1963, 1786, 2441, 912, 914, 914, 915, 915, 1947, 915, 1955, 914, 1953, 914, 913, 1770, 1770, 915, 1025, 1770, 1025, 1947, 915, 915, 916, 916, 1965, 916, 1960, 915, 2442, 915, 1964, 1963, 2160, 916, 1947, 1953, 2381, 1786, 916, 916, 2163, 1025, 1965, 1958, 914, 916, 1960, 916, 917, 917, 914, 917, 918, 918, 2160, 918, 2381, 914, 1025, 917, 1770, 1964, 2163, 918, 917, 917, 2384, 915, 918, 918, 1958, 917, 2303, 917, 2379, 918, 2303, 918, 919, 919, 2384, 919, 920, 920, 2443, 920, 1276, 1276, 916, 919, 2379, 1276, 1276, 920, 919, 919, 1171, 1171, 920, 920, 1171, 919, 1276, 919, 918, 920, 917, 920, 1171, 1813, 1813, 921, 921, 1171, 921, 2169, 1259, 1259, 1259, 1259, 2274, 918, 921, 1259, 2276, 917, 2444, 921, 921, 922, 922, 2274, 922, 2445, 921, 2276, 921, 2169, 919, 2143, 922, 1972, 2143, 1171, 1972, 922, 922, 920, 923, 923, 2143, 923, 922, 1972, 922, 1276, 1813, 1176, 1176, 923, 1954, 1176, 2143, 1954, 923, 923, 2154, 924, 924, 1176, 924, 923, 2239, 923, 1176, 921, 1954, 1954, 924, 1815, 1815, 2239, 2239, 924, 924, 925, 925, 2143, 925, 922, 924, 2154, 924, 2143, 1787, 1787, 925, 1259, 922, 2154, 923, 925, 925, 1787, 1176, 2279, 926, 926, 925, 926, 925, 2446, 1023, 1023, 1023, 1023, 2279, 926, 1817, 1817, 923, 2448, 926, 926, 923, 925, 1815, 927, 927, 926, 927, 926, 2171, 1990, 924, 1023, 1990, 1023, 927, 2380, 1990, 1787, 2153, 927, 927, 928, 928, 1706, 928, 2449, 927, 1706, 927, 1706, 2171, 2380, 928, 1215, 1215, 1706, 1023, 928, 928, 2164, 1706, 1817, 926, 2153, 928, 1215, 928, 2153, 929, 929, 1215, 929, 926, 2156, 1023, 1282, 1282, 1282, 1282, 929, 2388, 2164, 1282, 927, 929, 929, 930, 930, 2450, 930, 1706, 929, 1991, 929, 2388, 1991, 2323, 930, 2156, 1991, 1215, 2280, 930, 930, 931, 931, 2164, 931, 2323, 930, 928, 930, 2280, 1818, 1818, 931, 1043, 1043, 1043, 1043, 931, 931, 2156, 1024, 1024, 1024, 1024, 931, 929, 931, 2451, 929, 1026, 1026, 1026, 1026, 1027, 1027, 1027, 1027, 1031, 1031, 1031, 1031, 2155, 930, 1024, 2377, 1024, 2321, 1177, 1177, 1772, 1772, 1177, 1026, 1772, 1026, 2321, 1027, 1818, 1027, 1177, 1031, 931, 1031, 2367, 1177, 2397, 2155, 1043, 1024, 2377, 2321, 2162, 1024, 1283, 1283, 1283, 1283, 1026, 2155, 1043, 1283, 1027, 2389, 1043, 2162, 1031, 1043, 1327, 1327, 1327, 1327, 1043, 2397, 2162, 1177, 2367, 1772, 2389, 1327, 1027, 1031, 1026, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1029, 1029, 1029, 1029, 1028, 1028, 1028, 1028, 1028, 1028, 1030, 1030, 1030, 1030, 2452, 2385, 1032, 1032, 1032, 1032, 2394, 1516, 1516, 1029, 1516, 1029, 1819, 1819, 1028, 1028, 1028, 1028, 1516, 1030, 2324, 1030, 2394, 1516, 1516, 1032, 2385, 1032, 1033, 1033, 1033, 1033, 2324, 2378, 1029, 1034, 1034, 1034, 1034, 1035, 1035, 1035, 1035, 2468, 1030, 1028, 1028, 1028, 1028, 1028, 1032, 1033, 2284, 1033, 2417, 2284, 2378, 1029, 1034, 1819, 1034, 1030, 1035, 1032, 1035, 1036, 1036, 1036, 1036, 1957, 2284, 2417, 1038, 1038, 1038, 1038, 1033, 1037, 1037, 1037, 1037, 1821, 1821, 1034, 1821, 2165, 1957, 1035, 1036, 2165, 1036, 1957, 2500, 1034, 1033, 1038, 1957, 1038, 2435, 1821, 1037, 2563, 1037, 1049, 1049, 1049, 1049, 1969, 1035, 2435, 1969, 2165, 1034, 1036, 1057, 1057, 1057, 1057, 1775, 1775, 1038, 1049, 1775, 1969, 1969, 1037, 1382, 1182, 1182, 1382, 2168, 1038, 1057, 1382, 2168, 1036, 1182, 1037, 1382, 1182, 1037, 1187, 1187, 2565, 1182, 1382, 1382, 1382, 1382, 2218, 1187, 2566, 2218, 1187, 1188, 1188, 2168, 1049, 1187, 1119, 1119, 1119, 1119, 1188, 2414, 1775, 1188, 2216, 1057, 1049, 2216, 1188, 2175, 1049, 1182, 2175, 1049, 1119, 1793, 2369, 1057, 1049, 1793, 2215, 1057, 2407, 2215, 1057, 1187, 2414, 1793, 2369, 1057, 1113, 1113, 1793, 1113, 1113, 1113, 2407, 1113, 1188, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1119, 1216, 1216, 2218, 1113, 1113, 1113, 1113, 1113, 1113, 1776, 1776, 1119, 1216, 1776, 2175, 1119, 2216, 1216, 1119, 1305, 1305, 1305, 1305, 1119, 2391, 2215, 1305, 1113, 2370, 1113, 1113, 1141, 1141, 1141, 1141, 2217, 1307, 1307, 2217, 2402, 2370, 1307, 1307, 1496, 1496, 1496, 1496, 1216, 2219, 1141, 1496, 2219, 1307, 2393, 2370, 2391, 1776, 2402, 1113, 1113, 1113, 1113, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 2412, 2567, 2393, 1141, 1128, 1128, 1128, 1128, 1128, 1128, 1280, 1280, 1280, 1280, 2308, 1141, 2412, 2308, 1305, 1141, 2219, 1280, 1141, 1307, 2217, 2398, 2374, 1141, 1128, 1128, 1128, 1128, 2308, 1280, 1230, 1280, 2223, 1230, 2374, 2223, 2403, 1230, 1497, 1497, 1497, 1497, 1230, 1230, 1635, 1635, 1635, 1635, 2403, 1497, 2396, 1635, 2398, 1230, 1280, 1128, 1128, 1128, 1128, 1128, 1226, 1226, 1226, 1226, 2568, 1537, 1537, 1231, 1537, 2569, 1231, 1226, 1226, 2396, 1231, 1226, 1537, 1226, 1230, 1231, 1231, 1537, 1537, 1226, 1226, 1226, 1237, 1237, 1237, 1237, 1231, 2570, 2571, 1235, 1235, 1235, 1235, 2223, 1237, 2221, 1235, 1237, 2221, 1237, 1992, 1235, 1235, 1992, 1226, 1226, 1237, 1230, 1869, 1869, 2390, 1231, 1235, 1869, 1869, 2576, 1226, 1448, 1448, 1448, 1448, 1635, 2399, 1992, 1869, 1992, 1238, 1238, 1238, 1238, 2390, 1237, 1264, 1264, 1264, 1264, 2392, 1235, 1238, 1264, 1448, 1238, 1448, 1238, 1231, 1234, 1234, 1234, 1234, 2577, 1238, 2221, 1234, 2399, 2431, 1264, 2392, 1234, 2400, 1240, 1240, 1240, 1240, 2406, 1234, 1234, 1234, 1234, 1234, 2220, 1235, 1240, 2220, 2415, 1240, 1238, 1240, 1869, 2172, 2431, 1264, 2578, 2172, 1240, 1265, 1265, 1265, 1265, 2415, 2400, 2404, 1265, 2406, 1234, 1266, 1266, 1266, 1266, 1264, 1271, 1271, 1271, 1271, 2580, 2172, 1266, 1266, 1265, 1240, 1266, 1271, 1271, 2174, 1264, 1271, 2413, 2174, 1266, 1266, 1266, 2583, 2404, 1271, 1271, 1271, 2580, 1234, 1491, 1491, 1491, 1491, 2413, 1265, 2585, 1272, 1272, 1272, 1272, 2174, 2405, 2220, 2222, 1266, 1266, 2222, 1272, 1272, 1271, 1271, 1272, 1491, 1645, 1645, 1645, 1645, 2428, 2225, 1272, 1272, 2225, 2401, 1274, 1274, 1274, 1274, 1265, 1267, 1267, 1267, 1267, 2405, 2428, 1274, 1274, 1645, 1491, 1274, 1267, 1267, 2422, 2401, 1267, 1272, 1272, 1274, 1274, 1274, 2408, 2586, 1267, 1267, 1267, 2222, 1277, 1277, 1277, 1277, 1893, 1893, 1645, 1277, 2408, 1893, 1893, 1278, 1278, 1278, 1278, 2422, 1274, 1274, 1278, 2588, 1893, 1267, 1267, 1277, 1279, 1279, 1279, 1279, 2314, 2314, 2411, 1279, 2225, 1711, 1278, 2224, 2416, 1711, 2224, 1711, 1267, 1268, 1268, 1268, 1268, 1711, 1378, 1279, 1277, 1378, 1711, 2420, 1268, 1268, 2418, 2421, 1268, 1378, 1268, 1278, 2447, 2411, 1378, 1378, 1268, 1268, 1268, 2416, 2418, 1378, 2447, 1378, 1279, 1893, 2421, 2314, 1284, 1284, 1284, 1284, 1711, 1277, 2420, 2329, 2589, 1268, 2329, 1284, 1284, 1268, 1268, 1284, 1278, 2224, 2590, 2329, 1400, 2275, 1610, 1400, 1284, 1284, 1610, 2591, 2419, 1279, 1378, 1400, 2275, 2275, 1610, 2423, 1400, 1400, 2275, 1610, 2592, 2315, 2315, 1400, 2593, 1400, 2419, 2423, 1610, 1284, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1302, 1302, 1302, 1302, 1289, 1289, 1289, 1289, 1289, 1289, 2594, 1302, 1302, 2595, 2596, 1302, 2382, 1302, 2315, 2382, 1400, 2597, 1401, 1302, 1302, 1401, 2427, 2429, 1289, 1289, 1289, 1289, 2430, 1401, 1308, 1308, 1308, 1308, 1401, 1401, 2598, 1308, 2429, 1828, 2430, 1401, 2427, 1401, 1302, 1302, 2600, 2434, 1828, 1828, 1828, 1828, 2433, 1308, 2612, 1289, 1289, 1289, 1289, 1289, 1301, 1301, 1301, 1301, 2433, 2613, 2382, 2434, 2467, 1611, 2614, 1301, 1301, 1611, 1828, 1301, 1405, 1301, 1308, 1405, 2467, 1611, 2382, 1301, 1301, 1301, 1611, 1405, 2615, 2620, 1401, 2621, 1405, 1405, 2376, 1611, 1308, 2376, 2622, 1405, 2623, 1405, 2624, 2625, 1828, 2626, 2294, 2294, 1301, 1301, 2294, 1308, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1373, 1373, 1373, 1373, 1320, 1320, 1320, 1320, 1320, 1320, 1405, 1373, 1373, 2376, 2627, 1373, 1498, 1498, 1498, 1498, 2628, 2294, 2629, 1998, 1373, 1373, 1998, 1498, 1320, 1320, 1320, 1320, 1374, 1374, 1374, 1374, 2630, 1320, 1837, 1837, 1837, 1837, 2631, 1374, 1374, 1837, 1998, 1374, 1998, 1373, 1492, 1492, 1492, 1492, 2632, 2386, 1374, 1492, 2386, 1320, 1320, 1320, 1320, 1320, 1375, 1375, 1375, 1375, 2575, 1402, 2633, 2634, 1402, 1492, 2579, 1375, 1375, 2635, 2636, 1375, 1402, 1374, 2298, 2298, 1403, 1402, 1402, 1403, 1375, 1375, 2637, 2298, 1402, 2575, 1402, 1403, 2579, 2575, 1492, 1423, 1403, 1403, 1423, 1406, 2582, 2638, 1406, 1403, 2582, 1403, 1423, 2639, 2640, 1375, 1406, 1423, 1423, 2244, 2386, 1406, 1406, 2244, 1423, 2244, 1423, 2644, 1406, 2579, 1406, 2298, 2582, 1492, 1637, 1637, 1637, 1637, 2316, 2316, 2646, 1637, 1402, 2647, 1403, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 1404, 2648, 2244, 2649, 1406, 1404, 1404, 1404, 1404, 1404, 1404, 1499, 1499, 1499, 1499, 2650, 2573, 1407, 2651, 2652, 1407, 2316, 1499, 2653, 1845, 1845, 1845, 1845, 1407, 1404, 1404, 1404, 1404, 1407, 1407, 1845, 1830, 1830, 1830, 1830, 1407, 2573, 1407, 1493, 1493, 1493, 1493, 2573, 1830, 2654, 1493, 1637, 2655, 2020, 1408, 2574, 2020, 1408, 2656, 1830, 1404, 1404, 1404, 1404, 1404, 1408, 1493, 2657, 2658, 1407, 1408, 1408, 1409, 2319, 2319, 1409, 2020, 1408, 2020, 1408, 2574, 2659, 1410, 1409, 1830, 1410, 2574, 2660, 1409, 1409, 2662, 1493, 2665, 1410, 2666, 1409, 2668, 1409, 1410, 1410, 1411, 2662, 2669, 1411, 2584, 1410, 2670, 1410, 2584, 2020, 1408, 1411, 1838, 1838, 1838, 1838, 1411, 1411, 1412, 1838, 2319, 1412, 2395, 1411, 1493, 1411, 1409, 2295, 2295, 1412, 2584, 2295, 2671, 1413, 1412, 1412, 1413, 1414, 2672, 2395, 1414, 1412, 2676, 1412, 1413, 2678, 2663, 2395, 1414, 1413, 1413, 1410, 1422, 1414, 1414, 1422, 1413, 2663, 1413, 2680, 1414, 2680, 1414, 1422, 1494, 1494, 1494, 1494, 1422, 1422, 1411, 1494, 2246, 2682, 2295, 1422, 2246, 1422, 2246, 1424, 1771, 1771, 1424, 1425, 1771, 1413, 1425, 1494, 1412, 1412, 1424, 2689, 1771, 1414, 1425, 1424, 1424, 1771, 1426, 1425, 1425, 1426, 1424, 2690, 1424, 1422, 1425, 2664, 1425, 1426, 2664, 2691, 1494, 1427, 1426, 1426, 1427, 1428, 2692, 2246, 1428, 1426, 2693, 1426, 1427, 2664, 2694, 1771, 1428, 1427, 1427, 1424, 1429, 1428, 1428, 1429, 1427, 2695, 1427, 1425, 1428, 2696, 1428, 1429, 2681, 1494, 2681, 1430, 1429, 1429, 1430, 2299, 2299, 2697, 2698, 1429, 2699, 1429, 1430, 2700, 2299, 2249, 1426, 1430, 1430, 2249, 1431, 2249, 2572, 1431, 1430, 2453, 1430, 1428, 2453, 2709, 1427, 1431, 1648, 1648, 1648, 1648, 1431, 1431, 1433, 1648, 2713, 1433, 2674, 1431, 2731, 1431, 2716, 2572, 2453, 1433, 2453, 2716, 2299, 1430, 1433, 1433, 1429, 1835, 1835, 1835, 1835, 1433, 2249, 1433, 1835, 2250, 2733, 2674, 2733, 2250, 2572, 2250, 1431, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1434, 1433, 2717, 1434, 1432, 1432, 1432, 1432, 1432, 1432, 1435, 1434, 2717, 1435, 2720, 2720, 1434, 1434, 2642, 2250, 1648, 1435, 2642, 1434, 2642, 1434, 1435, 1435, 1432, 1432, 1432, 1432, 2719, 1435, 1712, 1435, 2749, 1432, 1712, 2719, 1712, 1857, 1857, 1857, 1857, 1835, 1712, 1878, 1878, 1878, 1878, 1712, 1857, 1436, 1434, 2740, 1436, 2740, 1878, 1432, 1432, 1432, 1432, 1432, 1436, 2642, 1435, 2718, 1437, 1436, 1436, 1437, 1438, 2718, 2750, 1438, 1436, 2759, 1436, 1437, 2766, 1712, 2722, 1438, 1437, 1437, 2723, 1446, 1438, 1438, 1446, 1437, 2722, 1437, 2723, 1438, 2767, 1438, 1446, 1876, 1876, 1876, 1876, 1446, 1446, 1447, 1876, 2724, 1447, 2729, 1446, 2768, 1446, 2729, 2724, 2725, 1447, 1782, 1782, 1436, 1450, 1447, 1447, 1450, 1437, 2725, 1782, 2737, 1447, 1782, 1447, 1450, 2320, 2320, 1782, 2737, 1450, 1450, 1438, 1836, 1836, 1836, 1836, 1450, 1452, 1450, 1836, 1452, 2770, 2734, 2730, 1877, 1877, 1877, 1877, 1452, 1812, 1812, 1877, 2734, 1452, 1452, 2730, 2771, 1782, 2741, 2643, 1452, 1812, 1452, 2643, 1447, 2643, 1812, 2741, 2383, 2383, 2383, 2383, 2320, 1450, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1453, 1452, 1812, 1453, 1451, 1451, 1451, 1451, 1451, 1451, 1454, 1453, 2643, 1454, 2383, 2732, 1453, 1453, 2772, 1836, 2732, 1454, 2735, 1453, 2736, 1453, 1454, 1454, 1451, 1451, 1451, 1451, 2773, 1454, 2735, 1454, 2736, 1451, 1904, 1904, 1904, 1904, 2738, 2739, 1831, 1831, 1831, 1831, 2739, 1904, 2742, 2774, 1453, 1455, 2738, 2775, 1455, 2745, 2742, 1451, 1451, 1451, 1451, 1451, 1455, 2745, 1454, 1831, 1456, 1455, 1455, 1456, 1457, 2776, 2726, 1457, 1455, 2726, 1455, 1456, 2743, 2743, 2167, 1457, 1456, 1456, 2167, 1458, 1457, 1457, 1458, 1456, 1831, 1456, 2167, 1457, 2744, 1457, 1458, 2167, 2746, 2744, 1459, 1458, 1458, 1459, 1460, 2746, 2167, 1460, 1458, 2777, 1458, 1459, 2747, 2752, 1455, 1460, 1459, 1459, 2752, 2747, 1460, 1460, 1456, 1459, 2751, 1459, 2726, 1460, 2778, 1460, 1461, 2779, 2751, 1461, 2780, 1858, 1858, 1858, 1858, 1457, 2781, 1461, 2726, 2755, 2794, 1462, 1461, 1461, 1462, 1463, 2755, 1459, 1463, 1461, 1458, 1461, 1462, 2754, 1858, 2754, 1463, 1462, 1462, 2757, 1464, 1463, 1463, 1464, 1462, 2758, 1462, 2757, 1463, 2852, 1463, 1464, 2758, 1460, 2760, 1465, 1464, 1464, 1465, 1858, 2853, 2753, 2760, 1464, 2753, 1464, 1465, 1891, 1891, 1891, 1891, 1465, 1465, 2854, 1891, 2856, 1466, 1461, 1465, 1466, 1465, 2765, 2762, 2857, 1462, 2762, 1467, 1466, 2765, 1467, 2763, 2763, 1466, 1466, 2858, 1463, 2863, 1467, 2861, 1466, 1464, 1466, 1467, 1467, 2864, 1468, 2865, 2762, 1468, 1467, 2867, 1467, 2753, 2764, 2764, 1469, 1468, 2868, 1469, 2869, 1465, 1468, 1468, 2861, 2862, 2870, 1469, 2860, 1468, 2245, 1468, 1469, 1469, 2245, 1470, 2245, 2871, 1470, 1469, 2872, 1469, 2245, 1466, 2873, 1471, 1470, 2245, 1471, 1891, 2862, 1470, 1470, 2860, 2883, 2884, 1471, 2885, 1470, 1467, 1470, 1471, 1471, 1468, 1472, 2862, 2859, 1472, 1471, 2888, 1471, 2068, 2068, 2068, 2068, 1472, 2860, 2245, 2068, 1473, 1472, 1472, 1473, 2875, 2889, 1469, 2875, 1472, 2890, 1472, 1473, 2859, 2891, 2892, 1474, 1473, 1473, 1474, 2893, 2859, 1470, 1471, 1473, 2894, 1473, 1474, 2875, 2895, 2896, 1475, 1474, 1474, 1475, 1476, 2897, 2898, 1476, 1474, 2899, 1474, 1475, 2900, 2901, 2902, 1476, 1475, 1475, 2866, 2903, 1476, 1476, 2904, 1475, 2905, 1475, 1472, 1476, 1477, 1476, 1473, 1477, 1479, 2906, 2907, 1479, 2866, 2908, 2909, 1477, 2866, 2910, 1473, 1479, 1477, 1477, 2911, 1478, 1479, 1479, 1478, 1477, 2912, 1477, 1475, 1479, 1474, 1479, 1478, 2913, 2914, 2915, 1480, 1478, 1478, 1480, 1481, 2916, 2918, 1481, 1478, 1476, 1478, 1480, 2917, 2924, 2927, 1481, 1480, 1480, 2921, 2928, 1481, 1481, 2929, 1480, 2930, 1480, 2917, 1481, 2931, 1481, 1482, 2925, 2925, 1482, 2925, 1479, 1477, 2069, 2069, 2069, 2069, 1482, 2932, 2933, 2069, 2919, 1482, 1482, 2919, 2934, 2935, 1478, 2936, 1482, 1483, 1482, 1480, 1483, 1484, 2937, 1481, 1484, 2921, 2944, 2950, 1483, 2951, 2954, 2950, 1484, 1483, 1483, 2948, 2953, 1484, 1484, 2966, 1483, 2922, 1483, 2965, 1484, 1485, 1484, 2968, 1485, 1486, 2948, 2953, 1486, 2952, 2919, 2919, 1485, 2958, 2952, 1482, 1486, 1485, 1485, 2965, 2958, 1486, 1486, 2969, 1485, 2955, 1485, 2974, 1486, 1487, 1486, 2980, 1487, 1483, 2955, 2983, 2070, 2070, 2070, 2070, 1487, 2984, 1484, 2922, 2922, 1487, 1487, 2070, 1488, 2985, 2964, 1488, 1487, 2964, 1487, 2327, 2327, 2327, 2327, 1488, 1486, 2986, 2327, 1489, 1488, 1488, 1489, 1495, 1495, 1495, 1495, 1488, 1485, 1488, 1489, 2957, 2987, 2957, 1495, 1489, 1489, 1487, 1500, 1500, 2988, 1500, 1489, 2959, 1489, 2959, 1495, 2989, 1495, 1500, 1859, 1859, 1859, 1859, 1500, 1500, 1488, 2334, 2334, 2334, 2334, 1500, 2964, 1500, 1501, 1501, 2990, 1501, 2334, 2991, 2972, 1495, 2972, 1859, 2992, 1501, 1860, 1860, 1860, 1860, 1501, 1501, 1489, 2432, 2432, 2432, 2432, 1501, 2920, 1501, 1502, 1502, 2327, 1502, 1503, 1503, 2920, 1503, 1859, 1860, 2993, 1502, 2994, 2961, 3001, 1503, 1502, 1502, 1500, 2971, 1503, 1503, 2973, 1502, 3037, 1502, 2961, 1503, 2970, 1503, 2971, 2973, 1506, 1506, 1860, 1506, 1505, 1505, 3039, 1505, 3042, 2970, 2975, 1506, 2920, 2920, 1501, 1505, 1506, 1506, 3043, 2975, 1505, 1505, 3046, 1506, 3047, 1506, 3051, 1505, 3052, 1505, 1503, 2328, 2328, 2328, 2328, 2977, 2977, 3053, 2328, 1502, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 3057, 3058, 3059, 1506, 1504, 1504, 1504, 1504, 1504, 1504, 1505, 1940, 1940, 1940, 1940, 2979, 1507, 1507, 2979, 1507, 3060, 3061, 1940, 2882, 2882, 2882, 2882, 1507, 1504, 1504, 1504, 1504, 1507, 1507, 1840, 1840, 1840, 1840, 3062, 1507, 2979, 1507, 3045, 3063, 3064, 3065, 1840, 2963, 2963, 1840, 2963, 3066, 2328, 1508, 1508, 3049, 1508, 2926, 1840, 1504, 1504, 1504, 1504, 1504, 1508, 1940, 3067, 3045, 1507, 1508, 1508, 1509, 1509, 2926, 1509, 3045, 1508, 3049, 1508, 3068, 3069, 1940, 1509, 1840, 3070, 3071, 3072, 1509, 1509, 1510, 1510, 3074, 1510, 3075, 1509, 3073, 1509, 3073, 2926, 3049, 1510, 2882, 3076, 2963, 3077, 1510, 1510, 1511, 1511, 1508, 1511, 3078, 1510, 3079, 1510, 3080, 2982, 3054, 1511, 2982, 3054, 2982, 3081, 1511, 1511, 1509, 1512, 1512, 3082, 1512, 1511, 2926, 1511, 1841, 1841, 1841, 1841, 1512, 3073, 3073, 3054, 2982, 1512, 1512, 3084, 1841, 3086, 3087, 1841, 1512, 3088, 1512, 3080, 1513, 1513, 3089, 1513, 1841, 1510, 3092, 2335, 2335, 2335, 2335, 1513, 2425, 2425, 2425, 2425, 1513, 1513, 2335, 2425, 3096, 3090, 3090, 1513, 1511, 1513, 3100, 3091, 3101, 1841, 1514, 1514, 3085, 1514, 1515, 1515, 3094, 1515, 3087, 3094, 3085, 1514, 3102, 1512, 1512, 1515, 1514, 1514, 3089, 3089, 1515, 1515, 1513, 1514, 3094, 1514, 3103, 1515, 3104, 1515, 1520, 1520, 3091, 1520, 1521, 1521, 3105, 1521, 3090, 3090, 3106, 1520, 3107, 3108, 3113, 1521, 1520, 1520, 3085, 3085, 1521, 1521, 3124, 1520, 3127, 1520, 1514, 1521, 3117, 1521, 3128, 1522, 1522, 2425, 1522, 1523, 1523, 3138, 1523, 3139, 3093, 3093, 1522, 3093, 3117, 3129, 1523, 1522, 1522, 3130, 3140, 1523, 1523, 1520, 1522, 3141, 1522, 3142, 1523, 3129, 1523, 1524, 1524, 3130, 1524, 1525, 1525, 3143, 1525, 3125, 3125, 3149, 1524, 3152, 3125, 3125, 1525, 1524, 1524, 3145, 3131, 1525, 1525, 3131, 1524, 3125, 1524, 1522, 1525, 3136, 1525, 1526, 1526, 3146, 1526, 1527, 1527, 3145, 1527, 1523, 3144, 3144, 1526, 3146, 3136, 3131, 1527, 1526, 1526, 3153, 1973, 1527, 1527, 1973, 1526, 3154, 1526, 1973, 1527, 3155, 1527, 1525, 1973, 3156, 1524, 1528, 1528, 3157, 1528, 1973, 1973, 1973, 1973, 3148, 3148, 3158, 1528, 3159, 3125, 3160, 3167, 1528, 1528, 1530, 1530, 3169, 1530, 1527, 1528, 3170, 1528, 3181, 3188, 3189, 1530, 2761, 2761, 2761, 2761, 1530, 1530, 1526, 2349, 2349, 2349, 2349, 1530, 3191, 1530, 2978, 2978, 2978, 2978, 2349, 3193, 3196, 3197, 1528, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 3198, 1530, 3199, 3200, 1529, 1529, 1529, 1529, 1529, 1529, 1531, 1531, 3192, 1531, 2350, 2350, 2350, 2350, 3201, 3202, 3203, 1531, 2761, 3204, 3205, 2350, 1531, 1531, 1529, 1529, 1529, 1529, 3206, 1531, 3192, 1531, 2978, 1529, 2365, 2365, 2365, 2365, 3207, 3209, 1638, 1638, 1638, 1638, 3210, 2365, 2616, 2616, 2616, 2616, 1532, 1532, 3192, 1532, 3211, 1529, 1529, 1529, 1529, 1529, 1531, 1532, 3212, 1638, 3213, 1638, 1532, 1532, 1533, 1533, 2616, 1533, 2616, 1532, 3194, 1532, 3190, 3135, 3135, 1533, 3135, 3214, 3194, 3215, 1533, 1533, 1534, 1534, 1638, 1534, 3216, 1533, 3208, 1533, 3208, 3217, 3194, 1534, 3218, 3212, 2616, 3190, 1534, 1534, 1535, 1535, 1532, 1535, 3190, 1534, 3220, 1534, 2616, 3220, 3219, 1535, 2616, 2616, 3221, 2616, 1535, 1535, 1536, 1536, 2616, 1536, 3225, 1535, 3220, 1535, 3231, 3135, 3232, 1536, 1533, 3208, 3208, 3233, 1536, 1536, 1541, 1541, 1534, 1541, 3219, 1536, 3218, 1536, 3235, 2564, 3240, 1541, 2564, 3244, 3242, 3246, 1541, 1541, 1542, 1542, 2564, 1542, 3250, 1541, 3083, 1541, 3253, 3083, 3254, 1542, 1535, 3260, 2564, 3242, 1542, 1542, 1543, 1543, 3261, 1543, 3262, 1542, 3256, 1542, 3263, 3264, 3266, 1543, 2683, 2683, 2683, 2683, 1543, 1543, 3256, 2683, 3272, 2564, 3269, 1543, 3267, 1543, 1545, 1545, 3269, 1545, 1546, 1546, 3273, 1546, 3083, 3083, 2564, 1545, 3274, 3267, 3275, 1546, 1545, 1545, 3268, 3268, 1546, 1546, 1542, 1545, 3276, 1545, 3284, 1546, 3248, 1546, 3249, 3248, 3285, 3249, 1543, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 3249, 1546, 3286, 1545, 1544, 1544, 1544, 1544, 1544, 1544, 1547, 1547, 2683, 1547, 3288, 3289, 3290, 1639, 1639, 1639, 1639, 1547, 3291, 3292, 3293, 3294, 1547, 1547, 1544, 1544, 1544, 1544, 3295, 1547, 3296, 1547, 3287, 1544, 3297, 3298, 1639, 3299, 1639, 3300, 3248, 1862, 1862, 1862, 1862, 3287, 3301, 3311, 1862, 1548, 1548, 3314, 1548, 3319, 3287, 1544, 1544, 1544, 1544, 1544, 1548, 1639, 1547, 3318, 1862, 1548, 1548, 1549, 1549, 3320, 1549, 3325, 1548, 3329, 1548, 3330, 1639, 3302, 1549, 3303, 3302, 3357, 3303, 1549, 1549, 1550, 1550, 3358, 1550, 1862, 1549, 3359, 1549, 3245, 3245, 3318, 1550, 3304, 3245, 3245, 3304, 1550, 1550, 1551, 1551, 3332, 1551, 1862, 1550, 3245, 1550, 3361, 1548, 3150, 1551, 3320, 3150, 3332, 3150, 1551, 1551, 3307, 1862, 1549, 1552, 1552, 1551, 1552, 1551, 3362, 3307, 2618, 2618, 2618, 2618, 1552, 3305, 3364, 3150, 3305, 1552, 1552, 1553, 1553, 3348, 1553, 3366, 1552, 3270, 1552, 3368, 3270, 3364, 1553, 1550, 2618, 3348, 2618, 1553, 1553, 1554, 1554, 3245, 1554, 3370, 1553, 3371, 1553, 3321, 3321, 3372, 1554, 1551, 3270, 3381, 1552, 1554, 1554, 1555, 1555, 3382, 1555, 3383, 1554, 3306, 1554, 2618, 3306, 3384, 1555, 1842, 1842, 1842, 1842, 1555, 1555, 1556, 1556, 3385, 1556, 3392, 1555, 1842, 1555, 3393, 1842, 3400, 1556, 3360, 2618, 3407, 3360, 1556, 1556, 1842, 1553, 3411, 1557, 1557, 1556, 1557, 1556, 3428, 3410, 2617, 2617, 2617, 2617, 1557, 3438, 3439, 1554, 3306, 1557, 1557, 1558, 1558, 3441, 1558, 1842, 1557, 1555, 1557, 3443, 3322, 3446, 1558, 3322, 2617, 3447, 2617, 1558, 1558, 1559, 1559, 3442, 1559, 3448, 1558, 3443, 1558, 3457, 3336, 3410, 1559, 3336, 1556, 3322, 3458, 1559, 1559, 1560, 1560, 3336, 1560, 3442, 1559, 1557, 1559, 3460, 3351, 3461, 1560, 3351, 2617, 3463, 3465, 1560, 1560, 1561, 1561, 3351, 1561, 3466, 1560, 3391, 1560, 3468, 3391, 3471, 1561, 1558, 2617, 3473, 3472, 1561, 1561, 1562, 1562, 3475, 1562, 3479, 1561, 3493, 1561, 3494, 3165, 3394, 1562, 3165, 3394, 3497, 3498, 1562, 1562, 1559, 1563, 1563, 1560, 1563, 1562, 3495, 1562, 2619, 2619, 2619, 2619, 1563, 3472, 3165, 3503, 3165, 1563, 1563, 1564, 1564, 3504, 1564, 3495, 1563, 3395, 1563, 3505, 3395, 3506, 1564, 3507, 2619, 1561, 2619, 1564, 1564, 1565, 1565, 3508, 1565, 3509, 1564, 3516, 1564, 3271, 3271, 1562, 1565, 3396, 3271, 3271, 3396, 1565, 1565, 1566, 1566, 1563, 1566, 3525, 1565, 3271, 1565, 3527, 3252, 3528, 1566, 3252, 2619, 3535, 3397, 1566, 1566, 3397, 3536, 3252, 1567, 1567, 1566, 1567, 1566, 1871, 1871, 1871, 1871, 3398, 2619, 1567, 3398, 3252, 1564, 3414, 1567, 1567, 3414, 1568, 1568, 1565, 1568, 1567, 3399, 1567, 3415, 3399, 1871, 3415, 1568, 3422, 3537, 1565, 3422, 1568, 1568, 3515, 3271, 3538, 1569, 1569, 1568, 1569, 1568, 2684, 2684, 2684, 2684, 3415, 1566, 1569, 2684, 1871, 1567, 3539, 1569, 1569, 1570, 1570, 3542, 1570, 3543, 1569, 3544, 1569, 3549, 2967, 3444, 1570, 2967, 3444, 3399, 3515, 1570, 1570, 1571, 1571, 3551, 1571, 3542, 1570, 3454, 1570, 3552, 3454, 1568, 1571, 3526, 3454, 3556, 3444, 1571, 1571, 3557, 1572, 1572, 3328, 1572, 1571, 3328, 1571, 2366, 2366, 2366, 2366, 1572, 3526, 3328, 3559, 1569, 1572, 1572, 2366, 1573, 1573, 3464, 1573, 1572, 3464, 1572, 3558, 3328, 2967, 1570, 1573, 2684, 2967, 3550, 3550, 1573, 1573, 1574, 1574, 3561, 1574, 2967, 1573, 3565, 1573, 2967, 1571, 3440, 1574, 3467, 3440, 3566, 3467, 1574, 1574, 3568, 1572, 3570, 3283, 3571, 1574, 3283, 1574, 1575, 1575, 3558, 1575, 1576, 1576, 3283, 1576, 3573, 3574, 3474, 1575, 1573, 3474, 3567, 1576, 1575, 1575, 3283, 3491, 1576, 1576, 3491, 1575, 3575, 1575, 3577, 1576, 2260, 1576, 1577, 1577, 2259, 1577, 1578, 1578, 3496, 1578, 3440, 3496, 1574, 1577, 3572, 3283, 3491, 1578, 1577, 1577, 3580, 3283, 1578, 1578, 2258, 1577, 3440, 1577, 3567, 1578, 3576, 1578, 1575, 1579, 1579, 2257, 1579, 1580, 1580, 3500, 1580, 1576, 3500, 3572, 1579, 3580, 3500, 2256, 1580, 1579, 1579, 2255, 3524, 1580, 1580, 3524, 1579, 2254, 1579, 3581, 1580, 1578, 1580, 1581, 1581, 3582, 1581, 1640, 1640, 1640, 1640, 2253, 3576, 1577, 1581, 1641, 1641, 1641, 1641, 1581, 1581, 1642, 1642, 1642, 1642, 1579, 1581, 3579, 1581, 1580, 1640, 3581, 1640, 2252, 1643, 1643, 1643, 1643, 1641, 2243, 1641, 2241, 3416, 3582, 1642, 3416, 1642, 1644, 1644, 1644, 1644, 2076, 2076, 3416, 2076, 1640, 3579, 1643, 2237, 1643, 3674, 3502, 2076, 1641, 3502, 3674, 1581, 2076, 2076, 1642, 1644, 2236, 1644, 3502, 1642, 2235, 1640, 1649, 1649, 1649, 1649, 3540, 1643, 2234, 3540, 1641, 1643, 1650, 1650, 1650, 1650, 1651, 1651, 1651, 1651, 1644, 1652, 1652, 1652, 1652, 1649, 2233, 1649, 1653, 1653, 1653, 1653, 2232, 3530, 2231, 1650, 3530, 1650, 3762, 1651, 3530, 1651, 3531, 3762, 1652, 3531, 1652, 2230, 2229, 3532, 1649, 1653, 3532, 1653, 3531, 1654, 1654, 1654, 1654, 3548, 1650, 3532, 3548, 2228, 1651, 1655, 1655, 1655, 1655, 1652, 1650, 1656, 1656, 1656, 1656, 2227, 1653, 1652, 1654, 1651, 1654, 1657, 1657, 1657, 1657, 2226, 3534, 2214, 1655, 3534, 1655, 2213, 3583, 2212, 1656, 3583, 1656, 1653, 3534, 1658, 1658, 1658, 1658, 1654, 1657, 2211, 1657, 1659, 1659, 1659, 1659, 2210, 2209, 1655, 1660, 1660, 1660, 1660, 2208, 1656, 1654, 1655, 1658, 2207, 1658, 2511, 2511, 2511, 2511, 1657, 1659, 1656, 1659, 2193, 2189, 3036, 2511, 1660, 3036, 1660, 2188, 1657, 3099, 3099, 3099, 3099, 3036, 1658, 2187, 3099, 2186, 2185, 2184, 1839, 1658, 1659, 1839, 2183, 3036, 1659, 1839, 2182, 1660, 3583, 2181, 1839, 1660, 1827, 1827, 1827, 1827, 2180, 1839, 1839, 1839, 1839, 1839, 3555, 1827, 1827, 3555, 2179, 1827, 3036, 1827, 2065, 2065, 2065, 2065, 3555, 1827, 1827, 1827, 2178, 1863, 1863, 1863, 1863, 3608, 3608, 2177, 1839, 3036, 3608, 2176, 1863, 1863, 3608, 2065, 1863, 2645, 2645, 2645, 2645, 2173, 1827, 1827, 1863, 1863, 1863, 2166, 2159, 2158, 1872, 1872, 1872, 1872, 2157, 2152, 3137, 1872, 2151, 3137, 2065, 1839, 2150, 2149, 1827, 1832, 1832, 1832, 1832, 1863, 1863, 3437, 1832, 1872, 3437, 2148, 2147, 1832, 1864, 1864, 1864, 1864, 3437, 2146, 1832, 1832, 1832, 1832, 1832, 1864, 1864, 2645, 2144, 1864, 1865, 1865, 1865, 1865, 1872, 3614, 3614, 1864, 1864, 2645, 3614, 1865, 1865, 2645, 3614, 1865, 2645, 2142, 3137, 1832, 2141, 2645, 3137, 1865, 1865, 1865, 2139, 2685, 2685, 2685, 2685, 3137, 1864, 1864, 2078, 3137, 2003, 1872, 2685, 1873, 1873, 1873, 1873, 2002, 3098, 3098, 3098, 3098, 1865, 1865, 1873, 3098, 1832, 1834, 1834, 1834, 1834, 2000, 3380, 1988, 1834, 3380, 1873, 3380, 1987, 1834, 1874, 1874, 1874, 1874, 1986, 1985, 1834, 1834, 1834, 1834, 1834, 1874, 1984, 1982, 1981, 1879, 1879, 1879, 1879, 3380, 1980, 1873, 1979, 1874, 1978, 1874, 1879, 1879, 1976, 1975, 1879, 1894, 1894, 1894, 1894, 1834, 1970, 1967, 1894, 1879, 1879, 1880, 1880, 1880, 1880, 1966, 3179, 3179, 1874, 3179, 1916, 1895, 1880, 1880, 1894, 3453, 1880, 3179, 3453, 3098, 1892, 1875, 3179, 3179, 1879, 1880, 3453, 1870, 1834, 1866, 1866, 1866, 1866, 1868, 1881, 1881, 1881, 1881, 1861, 1894, 1866, 1866, 1856, 1855, 1866, 1881, 1881, 1854, 1974, 1881, 1880, 1974, 1866, 1866, 1866, 1974, 1853, 1894, 1881, 1881, 1974, 1852, 2686, 2686, 2686, 2686, 1850, 1974, 1974, 1974, 1974, 1849, 1894, 2686, 1848, 3367, 3367, 1866, 1866, 1968, 3367, 3367, 1968, 1881, 1847, 1866, 1867, 1867, 1867, 1867, 1968, 3367, 1846, 1844, 1843, 1968, 1968, 1867, 1867, 1833, 1816, 1867, 1968, 1867, 1968, 1993, 1814, 1808, 1993, 1867, 1867, 1867, 2687, 2687, 2687, 2687, 1993, 3563, 3563, 3563, 3563, 1993, 1993, 2687, 1867, 1805, 1803, 1801, 1993, 1791, 1993, 1789, 1780, 1778, 1867, 1867, 1887, 1887, 1887, 1887, 2361, 2361, 2361, 2361, 3367, 1769, 1767, 1887, 1887, 1968, 1765, 1887, 1763, 1887, 1888, 1888, 1888, 1888, 1760, 1887, 1887, 1887, 1757, 2361, 1756, 1888, 1888, 3616, 3616, 1888, 1996, 1888, 3616, 1996, 1754, 1993, 3616, 1888, 1888, 1751, 1740, 1996, 1737, 1736, 1887, 1887, 1996, 1996, 2361, 1905, 1905, 1905, 1905, 1996, 1994, 1996, 3483, 1994, 1735, 3483, 1905, 1905, 1888, 1888, 1905, 1994, 1905, 3483, 1734, 1733, 1994, 1994, 1905, 1905, 1732, 1731, 1730, 1994, 1729, 1994, 2701, 2701, 2701, 2701, 1728, 2702, 2702, 2702, 2702, 1727, 1726, 2701, 1725, 1724, 1723, 1996, 2702, 1905, 1905, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1995, 1722, 1994, 1995, 1909, 1909, 1909, 1909, 1909, 1909, 2004, 1995, 1720, 2004, 1719, 3455, 1995, 1995, 3455, 1718, 3455, 2004, 1717, 1995, 1716, 1995, 2004, 2004, 1909, 1909, 1909, 1909, 1707, 2004, 1702, 2004, 3228, 3228, 3228, 3228, 1700, 2006, 3455, 3228, 2006, 2066, 2066, 2066, 2066, 1699, 1698, 1697, 2006, 1696, 1695, 1694, 2066, 2006, 2006, 1909, 1909, 1909, 1909, 1909, 2006, 1693, 2006, 1692, 2066, 1995, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 2005, 1691, 1690, 1689, 2066, 2005, 2005, 2005, 2005, 2005, 2005, 1688, 3406, 1687, 2006, 3406, 1686, 2007, 1685, 1684, 2007, 1683, 1682, 3406, 2727, 2727, 2727, 2727, 2007, 2005, 2005, 2005, 2005, 2007, 2007, 2727, 1681, 3406, 2005, 1680, 2007, 1679, 2007, 1678, 1677, 2362, 2362, 2362, 2362, 1676, 2191, 2191, 2191, 2191, 2008, 3512, 3514, 2008, 3512, 3514, 2005, 2005, 2005, 2005, 2005, 2008, 3512, 3514, 2362, 2009, 2008, 2008, 2009, 2191, 1675, 2191, 2007, 2008, 3519, 2008, 2009, 3519, 1674, 1673, 2010, 2009, 2009, 2010, 2011, 3519, 1672, 2011, 2009, 2362, 2009, 2010, 1671, 1669, 2191, 2011, 2010, 2010, 1668, 2012, 2011, 2011, 2012, 2010, 1667, 2010, 1666, 2011, 3541, 2011, 2012, 3541, 1665, 1664, 2013, 2012, 2012, 2013, 2014, 3541, 2008, 2014, 2012, 1663, 2012, 2013, 1647, 1646, 1634, 2014, 2013, 2013, 1633, 1632, 2014, 2014, 2009, 2013, 1631, 2013, 2010, 2014, 2015, 2014, 3546, 2015, 2016, 3546, 1630, 2016, 1629, 1628, 1627, 2015, 1626, 3546, 2011, 2016, 2015, 2015, 1625, 1624, 2016, 2016, 1623, 2015, 1622, 2015, 1620, 2016, 2012, 2016, 2017, 1619, 1618, 2017, 2018, 2013, 1617, 2018, 1616, 1615, 2014, 2017, 1603, 3619, 3619, 2018, 2017, 2017, 3619, 1596, 2018, 2018, 3619, 2017, 1594, 2017, 1593, 2018, 2019, 2018, 2015, 2019, 1592, 3229, 3229, 3229, 3229, 1591, 2021, 2019, 3229, 2021, 1590, 2016, 2019, 2019, 1589, 1586, 1584, 2021, 1583, 2019, 1539, 2019, 2021, 2021, 2017, 2022, 1518, 1490, 2022, 2021, 1445, 2021, 1444, 3412, 3412, 2018, 2022, 1442, 3412, 3412, 2023, 2022, 2022, 2023, 3133, 3133, 3133, 3133, 2022, 3412, 2022, 2023, 1421, 1420, 1418, 3133, 2023, 2023, 2021, 2024, 1398, 1396, 2024, 2023, 1395, 2023, 1394, 2019, 1393, 2025, 2024, 1392, 2025, 1391, 1389, 2024, 2024, 1388, 3187, 1387, 2025, 3187, 2024, 1386, 2024, 2025, 2025, 1385, 1384, 3187, 2022, 1383, 2025, 2026, 2025, 1377, 2026, 2027, 3621, 3621, 2027, 3187, 3412, 3621, 2026, 1376, 1310, 3621, 2027, 2026, 2026, 2023, 1306, 2027, 2027, 1275, 2026, 1269, 2026, 1262, 2027, 2028, 2027, 1261, 2028, 2029, 3187, 1258, 2029, 1257, 1256, 1255, 2028, 2024, 3187, 2025, 2029, 2028, 2028, 1254, 2030, 2029, 2029, 2030, 2028, 1253, 2028, 1251, 2029, 2851, 2029, 2030, 2851, 1250, 1249, 1248, 2030, 2030, 2031, 1247, 2851, 2031, 2026, 2030, 1246, 2030, 2027, 1245, 1233, 2031, 1228, 1207, 2851, 2032, 2031, 2031, 2032, 2855, 2855, 2855, 2855, 2031, 1205, 2031, 2032, 1194, 2028, 1183, 2033, 2032, 2032, 2033, 2034, 2030, 2029, 2034, 2032, 2851, 2032, 2033, 2855, 1172, 1168, 2034, 2033, 2033, 1165, 2035, 2034, 2034, 2035, 2033, 1162, 2033, 1161, 2034, 1159, 2034, 2035, 2851, 1156, 1155, 2036, 2035, 2035, 2036, 1147, 1146, 2031, 1144, 2035, 1143, 2035, 2036, 2363, 2363, 2363, 2363, 2036, 2036, 2032, 1142, 2033, 2037, 2034, 2036, 2037, 2036, 1140, 2355, 2355, 2355, 2355, 1138, 2037, 2855, 2355, 2363, 2038, 2037, 2037, 2038, 2039, 1137, 1135, 2039, 2037, 1134, 2037, 2038, 1133, 1132, 2355, 2039, 2038, 2038, 2035, 2040, 2039, 2039, 2040, 2038, 2363, 2038, 1131, 2039, 1130, 2039, 2040, 2036, 1129, 1127, 1126, 2040, 2040, 2037, 2041, 2355, 1125, 2041, 2040, 1124, 2040, 3123, 3123, 3123, 3123, 2041, 1123, 1122, 3123, 1099, 2041, 2041, 2038, 2042, 1097, 1096, 2042, 2041, 1095, 2041, 2039, 1094, 1092, 2043, 2042, 1091, 2043, 1090, 2355, 2042, 2042, 2040, 3623, 3623, 2043, 1089, 2042, 3623, 2042, 2043, 2043, 3623, 2044, 1088, 1086, 2044, 2043, 1085, 2043, 1084, 1083, 1082, 2045, 2044, 1075, 2045, 1074, 1073, 2044, 2044, 1072, 1070, 1069, 2045, 2041, 2044, 1068, 2044, 2045, 2045, 2046, 3625, 3625, 2046, 1067, 2045, 3625, 2045, 1066, 1064, 3625, 2046, 3123, 1063, 2042, 1062, 2046, 2046, 1061, 2047, 1060, 1056, 2047, 2046, 1055, 2046, 2043, 1054, 1053, 2048, 2047, 1052, 2048, 1047, 1046, 2047, 2047, 1045, 3627, 3627, 2048, 2044, 2047, 3627, 2047, 2048, 2048, 3627, 2049, 1044, 1016, 2049, 2048, 2045, 2048, 1015, 2046, 3379, 2050, 2049, 3379, 2050, 1008, 1007, 2049, 2049, 1006, 1005, 3379, 2050, 2047, 2049, 1004, 2049, 2050, 2050, 2051, 3629, 3629, 2051, 3379, 2050, 3629, 2050, 1003, 2047, 3629, 2051, 1001, 2048, 1000, 2052, 2051, 2051, 2052, 3569, 3569, 3569, 3569, 2051, 999, 2051, 2052, 998, 997, 3379, 2053, 2052, 2052, 2053, 995, 994, 2050, 2049, 2052, 993, 2052, 2053, 3247, 3247, 3247, 3247, 2053, 2053, 3040, 3040, 3040, 3040, 992, 2053, 2051, 2053, 2055, 991, 990, 2055, 989, 3419, 3419, 3419, 3419, 3247, 2056, 2055, 3419, 2056, 977, 3040, 2055, 2055, 2052, 3633, 3633, 2056, 976, 2055, 3633, 2055, 2056, 2056, 3633, 3435, 3435, 3435, 3435, 2056, 3247, 2056, 3435, 2053, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2067, 2067, 2067, 2067, 2054, 2054, 2054, 2054, 2054, 2054, 2057, 2067, 3040, 2057, 970, 969, 2055, 3226, 3226, 3226, 3226, 2057, 2056, 2067, 3226, 2067, 2057, 2057, 2054, 2054, 2054, 2054, 968, 2057, 965, 2057, 3234, 3234, 3234, 3234, 962, 2058, 961, 960, 2058, 3637, 3637, 3234, 2067, 959, 3637, 957, 2058, 954, 3637, 953, 952, 2058, 2058, 2054, 2054, 2054, 2054, 2054, 2058, 2057, 2058, 946, 2059, 945, 2057, 2059, 943, 935, 934, 2057, 899, 868, 2060, 2059, 856, 2060, 851, 850, 2059, 2059, 811, 781, 780, 2060, 777, 2059, 772, 2059, 2060, 2060, 2061, 770, 3226, 2061, 768, 2060, 767, 2060, 765, 764, 2058, 2061, 3227, 3227, 3227, 3227, 2061, 2061, 2062, 3227, 746, 2062, 713, 2061, 681, 2061, 677, 672, 2063, 2062, 2059, 2063, 671, 663, 2062, 2062, 661, 659, 658, 2063, 2060, 2062, 643, 2062, 2063, 2063, 2064, 3639, 3639, 2064, 627, 2063, 3639, 2063, 625, 621, 3639, 2064, 3386, 3386, 3386, 3386, 2064, 2064, 613, 2071, 2071, 608, 2071, 2064, 601, 2064, 2061, 560, 559, 558, 2071, 3387, 3387, 3387, 3387, 2071, 2071, 2072, 2072, 546, 2072, 544, 2071, 2062, 2071, 537, 536, 3227, 2072, 526, 525, 2063, 524, 2072, 2072, 521, 2064, 520, 2073, 2073, 2072, 2073, 2072, 3641, 3641, 518, 3386, 517, 3641, 2073, 515, 514, 3641, 502, 2073, 2073, 2074, 2074, 3386, 2074, 487, 2073, 3386, 2073, 483, 3386, 477, 2074, 476, 2071, 3386, 3387, 2074, 2074, 2075, 2075, 475, 2075, 473, 2074, 472, 2074, 471, 469, 2072, 2075, 468, 467, 466, 3387, 2075, 2075, 2080, 2080, 465, 2080, 456, 2075, 455, 2075, 454, 3643, 3643, 2080, 452, 451, 3643, 2073, 2080, 2080, 3643, 3308, 3308, 3308, 3308, 2080, 450, 2080, 3308, 448, 447, 2074, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2081, 2195, 2195, 2195, 2195, 2081, 2081, 2081, 2081, 2081, 2081, 2082, 2082, 446, 2082, 445, 444, 442, 2714, 2714, 2714, 2714, 2082, 429, 2195, 2714, 2195, 2082, 2082, 2081, 2081, 2081, 2081, 428, 2082, 427, 2082, 426, 2081, 3645, 3645, 2714, 2083, 2083, 3645, 2083, 425, 423, 3645, 2195, 395, 3308, 392, 2083, 391, 390, 387, 386, 2083, 2083, 2081, 2081, 2081, 2081, 2081, 2083, 2714, 2083, 2084, 2084, 385, 2084, 2195, 2082, 3338, 3338, 3338, 3338, 383, 2084, 382, 3338, 381, 379, 2084, 2084, 2085, 2085, 378, 2085, 358, 2084, 353, 2084, 348, 347, 346, 2085, 345, 2714, 337, 2083, 2085, 2085, 2086, 2086, 329, 2086, 319, 2085, 301, 2085, 300, 3648, 3648, 2086, 255, 254, 3648, 250, 2086, 2086, 3648, 2087, 2087, 221, 2087, 2086, 214, 2086, 3312, 3312, 3312, 3312, 2087, 203, 202, 201, 2084, 2087, 2087, 3312, 2088, 2088, 171, 2088, 2087, 163, 2087, 3476, 3476, 3476, 3476, 2088, 159, 3338, 153, 2085, 2088, 2088, 2089, 2089, 152, 2089, 2086, 2088, 3476, 2088, 147, 145, 134, 2089, 3388, 3388, 3388, 3388, 2089, 2089, 133, 130, 127, 2090, 2090, 2089, 2090, 2089, 125, 3390, 3390, 3390, 3390, 116, 2090, 107, 103, 2087, 97, 2090, 2090, 2091, 2091, 88, 2091, 80, 2090, 73, 2090, 0, 0, 0, 2091, 0, 0, 2088, 0, 2091, 2091, 2092, 2092, 0, 2092, 0, 2091, 2089, 2091, 0, 0, 3388, 2092, 0, 0, 0, 0, 2092, 2092, 2093, 2093, 0, 2093, 0, 2092, 2090, 2092, 0, 0, 0, 2093, 3390, 0, 0, 3388, 2093, 2093, 2094, 2094, 0, 2094, 0, 2093, 0, 2093, 0, 0, 0, 2094, 3390, 0, 0, 2091, 2094, 2094, 2095, 2095, 2092, 2095, 0, 2094, 0, 2094, 0, 0, 0, 2095, 0, 0, 0, 0, 2095, 2095, 2096, 2096, 0, 2096, 0, 2095, 0, 2095, 0, 2093, 0, 2096, 0, 0, 0, 0, 2096, 2096, 0, 3477, 3477, 3477, 3477, 2096, 0, 2096, 2097, 2097, 0, 2097, 2098, 2098, 0, 2098, 0, 2094, 3477, 2097, 2095, 3651, 3651, 2098, 2097, 2097, 3651, 0, 2098, 2098, 3651, 2097, 0, 2097, 2096, 2098, 0, 2098, 2099, 2099, 0, 2099, 2100, 2100, 0, 2100, 0, 3654, 3654, 2099, 0, 0, 3654, 2100, 2099, 2099, 3654, 0, 2100, 2100, 0, 2099, 0, 2099, 0, 2100, 0, 2100, 2101, 2101, 0, 2101, 0, 2097, 0, 3456, 3456, 3456, 3456, 2101, 0, 0, 0, 2098, 2101, 2101, 2102, 2102, 0, 2102, 0, 2101, 0, 2101, 0, 0, 0, 2102, 0, 3456, 0, 3456, 2102, 2102, 2103, 2103, 0, 2103, 2100, 2102, 0, 2102, 2099, 0, 0, 2103, 0, 0, 0, 0, 2103, 2103, 2104, 2104, 0, 2104, 0, 2103, 0, 2103, 0, 0, 0, 2104, 0, 0, 0, 2101, 2104, 2104, 2105, 2105, 0, 2105, 0, 2104, 3456, 2104, 0, 3656, 3656, 2105, 0, 3456, 3656, 2102, 2105, 2105, 3656, 2106, 2106, 0, 2106, 2105, 0, 2105, 0, 0, 0, 2103, 2106, 0, 0, 0, 0, 2106, 2106, 0, 2107, 2107, 0, 2107, 2106, 0, 2106, 3485, 3485, 3485, 3485, 2107, 0, 2104, 3485, 2105, 2107, 2107, 2108, 2108, 0, 2108, 0, 2107, 0, 2107, 0, 0, 0, 2108, 0, 0, 0, 0, 2108, 2108, 2109, 2109, 0, 2109, 0, 2108, 0, 2108, 0, 0, 0, 2109, 0, 0, 0, 2106, 2109, 2109, 2110, 2110, 0, 2110, 0, 2109, 0, 2109, 0, 0, 0, 2110, 0, 2107, 0, 0, 2110, 2110, 2108, 2111, 2111, 0, 2111, 2110, 0, 2110, 0, 0, 0, 0, 2111, 0, 0, 0, 2109, 2111, 2111, 2112, 2112, 0, 2112, 0, 2111, 0, 2111, 0, 0, 0, 2112, 3230, 3230, 3230, 3230, 2112, 2112, 2113, 2113, 0, 2113, 0, 2112, 3230, 2112, 0, 3230, 0, 2113, 0, 0, 2110, 0, 2113, 2113, 3230, 2114, 2114, 0, 2114, 2113, 0, 2113, 2886, 2886, 2886, 2886, 2114, 2111, 0, 0, 2112, 2114, 2114, 2115, 2115, 0, 2115, 0, 2114, 3230, 2114, 0, 3791, 3791, 2115, 0, 2886, 3791, 2886, 2115, 2115, 3791, 2113, 0, 2116, 2116, 2115, 2116, 2115, 2196, 2196, 2196, 2196, 3794, 3794, 2116, 0, 0, 3794, 0, 2116, 2116, 3794, 0, 0, 2114, 2886, 2116, 0, 2116, 2117, 2117, 2196, 2117, 2196, 3797, 3797, 0, 2886, 2115, 3797, 2117, 2886, 2886, 3797, 2886, 2117, 2117, 2118, 2118, 2886, 2118, 0, 2117, 0, 2117, 0, 2196, 0, 2118, 0, 0, 0, 0, 2118, 2118, 2119, 2119, 0, 2119, 0, 2118, 2196, 2118, 2116, 0, 0, 2119, 0, 0, 0, 0, 2119, 2119, 2120, 2120, 0, 2120, 0, 2119, 0, 2119, 0, 0, 0, 2120, 3323, 3323, 3323, 3323, 2120, 2120, 0, 2117, 0, 2121, 2121, 2120, 2121, 2120, 0, 2197, 2197, 2197, 2197, 0, 2121, 2118, 0, 3323, 0, 2121, 2121, 0, 2353, 2353, 2353, 2353, 2121, 0, 2121, 2353, 2122, 2122, 2197, 2122, 2197, 2119, 0, 0, 2120, 0, 0, 2122, 3323, 0, 0, 2353, 2122, 2122, 2123, 2123, 0, 2123, 0, 2122, 2121, 2122, 0, 2197, 0, 2123, 2200, 2200, 2200, 2200, 2123, 2123, 0, 0, 0, 2121, 2353, 2123, 0, 2123, 0, 2124, 2124, 0, 2124, 0, 2197, 0, 0, 2200, 0, 2200, 2124, 0, 2353, 0, 2122, 2124, 2124, 2125, 2125, 0, 2125, 0, 2124, 0, 2124, 0, 0, 2353, 2125, 0, 0, 0, 2200, 2125, 2125, 2126, 2126, 2123, 2126, 0, 2125, 0, 2125, 0, 0, 0, 2126, 0, 0, 0, 0, 2126, 2126, 2124, 0, 2200, 2127, 2127, 2126, 2127, 2126, 3902, 3902, 0, 0, 0, 3902, 2127, 0, 0, 3902, 2125, 2127, 2127, 2128, 2128, 0, 2128, 0, 2127, 0, 2127, 0, 0, 0, 2128, 0, 0, 0, 0, 2128, 2128, 2129, 2129, 2126, 2129, 0, 2128, 0, 2128, 0, 0, 0, 2129, 0, 0, 0, 0, 2129, 2129, 2130, 2130, 0, 2130, 0, 2129, 0, 2129, 0, 2127, 0, 2130, 0, 0, 0, 0, 2130, 2130, 2131, 2131, 0, 2131, 0, 2130, 0, 2130, 0, 0, 0, 2131, 2354, 2354, 2354, 2354, 2131, 2131, 0, 2354, 2128, 0, 0, 2131, 0, 2131, 0, 2132, 2132, 0, 2132, 3918, 3918, 0, 2129, 2354, 3918, 2130, 2132, 0, 3918, 0, 2130, 2132, 2132, 2133, 2133, 2130, 2133, 0, 2132, 0, 2132, 0, 0, 0, 2133, 0, 0, 0, 2354, 2133, 2133, 2134, 2134, 2131, 2134, 0, 2133, 0, 2133, 0, 0, 0, 2134, 0, 0, 0, 2354, 2134, 2134, 2135, 2135, 0, 2135, 2132, 2134, 0, 2134, 0, 0, 0, 2135, 2354, 0, 0, 0, 2135, 2135, 2136, 2136, 0, 2136, 2133, 2135, 0, 2135, 0, 0, 0, 2136, 0, 0, 0, 0, 2136, 2136, 2137, 2137, 0, 2137, 0, 2136, 0, 2136, 0, 0, 0, 2137, 0, 0, 0, 0, 2137, 2137, 2134, 0, 0, 2438, 0, 2137, 2438, 2137, 0, 0, 3313, 3313, 3313, 3313, 2438, 0, 0, 2135, 0, 2438, 2438, 3313, 3932, 3932, 0, 0, 2438, 3932, 2438, 0, 0, 3932, 0, 2136, 0, 0, 0, 0, 2137, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2194, 2198, 2198, 2198, 2198, 2199, 2199, 2199, 2199, 2201, 2201, 2201, 2201, 2202, 2202, 2202, 2202, 0, 2203, 2203, 2203, 2203, 4015, 4015, 2198, 0, 2198, 4015, 2199, 0, 2199, 4015, 2201, 0, 2201, 0, 2202, 0, 2202, 0, 0, 2203, 0, 2203, 2204, 2204, 2204, 2204, 0, 2198, 0, 4030, 4030, 2199, 0, 0, 4030, 2201, 0, 2199, 4030, 2202, 0, 0, 2202, 2201, 2203, 2204, 2198, 2204, 2205, 2205, 2205, 2205, 2206, 2206, 2206, 2206, 2356, 2356, 2356, 2356, 0, 2203, 2599, 2599, 2599, 2599, 0, 2356, 0, 0, 2204, 2205, 0, 2205, 0, 2206, 0, 2206, 0, 2356, 2204, 2356, 0, 4051, 4051, 2599, 3171, 2599, 4051, 3171, 3178, 3178, 4051, 3178, 0, 0, 2205, 3171, 0, 0, 2206, 3178, 3171, 3171, 2356, 0, 3178, 3178, 0, 3171, 2599, 3171, 0, 3178, 0, 3178, 0, 0, 0, 2205, 0, 2206, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2325, 2325, 2325, 2325, 4079, 4079, 0, 2330, 0, 4079, 2330, 2325, 2325, 4079, 2330, 2325, 2325, 2325, 0, 2330, 0, 0, 0, 2325, 2325, 2325, 2330, 2330, 2330, 2330, 2330, 2357, 2357, 2357, 2357, 2372, 2372, 2372, 2372, 0, 0, 0, 2357, 0, 0, 0, 2372, 2372, 2325, 2325, 2372, 0, 2372, 0, 2357, 2330, 2357, 2454, 2372, 2372, 2454, 3352, 3352, 3352, 3352, 0, 0, 0, 2454, 0, 0, 0, 3352, 2454, 2454, 3353, 3353, 3353, 3353, 2357, 2454, 0, 2454, 2372, 2372, 0, 3353, 0, 2330, 2331, 2331, 2331, 2331, 0, 4176, 4176, 2331, 0, 2357, 4176, 3353, 2331, 2455, 4176, 0, 2455, 0, 0, 2331, 2331, 2331, 2331, 2331, 2455, 0, 0, 0, 2456, 2455, 2455, 2456, 0, 0, 0, 0, 2455, 0, 2455, 2456, 2454, 0, 0, 2457, 2456, 2456, 2457, 2458, 2331, 0, 2458, 2456, 0, 2456, 2457, 0, 0, 0, 2458, 2457, 2457, 0, 0, 2458, 2458, 0, 2457, 0, 2457, 2455, 2458, 0, 2458, 0, 0, 2460, 0, 0, 2460, 0, 2456, 2331, 2358, 2358, 2358, 2358, 2460, 0, 0, 0, 0, 2460, 2460, 2358, 2358, 2457, 0, 2358, 2460, 2458, 2460, 2707, 2707, 2707, 2707, 2358, 2358, 2358, 0, 2457, 2461, 0, 2707, 2461, 2601, 2601, 2601, 2601, 0, 0, 0, 2461, 0, 0, 2707, 2462, 2461, 2461, 2462, 0, 2358, 2358, 0, 2461, 0, 2461, 2462, 2601, 0, 2601, 2460, 2462, 2462, 0, 0, 0, 0, 0, 2462, 2707, 2462, 2358, 2359, 2359, 2359, 2359, 0, 0, 0, 0, 0, 0, 2601, 2359, 2359, 0, 2601, 2359, 2359, 2359, 0, 2464, 0, 2461, 2464, 2359, 2359, 2359, 0, 0, 0, 2462, 2464, 3309, 3309, 3309, 3309, 2464, 2464, 0, 0, 0, 2359, 0, 2464, 3309, 2464, 0, 3309, 0, 2359, 2359, 2371, 2371, 2371, 2371, 0, 3309, 0, 3389, 3389, 3389, 3389, 2371, 2371, 0, 0, 2371, 2463, 2371, 3389, 2463, 0, 0, 0, 2371, 2371, 2371, 0, 2463, 0, 2464, 3309, 0, 2463, 2463, 3401, 3401, 3401, 3401, 0, 2463, 0, 2463, 0, 0, 0, 3401, 0, 0, 2371, 2371, 2375, 2375, 2375, 2375, 2375, 2375, 2375, 2375, 2375, 2375, 2375, 2375, 2375, 2375, 2375, 2375, 2375, 2375, 2375, 2375, 2465, 0, 2463, 2465, 2375, 2375, 2375, 2375, 2375, 2375, 0, 2465, 0, 0, 0, 3389, 2465, 2465, 0, 0, 0, 2466, 0, 2465, 2466, 2465, 0, 0, 2375, 2375, 2375, 2375, 2466, 0, 0, 0, 0, 2466, 2466, 3402, 3402, 3402, 3402, 0, 2466, 0, 2466, 0, 0, 0, 3402, 0, 0, 0, 2465, 0, 0, 0, 0, 2375, 2375, 2375, 2375, 2375, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2469, 0, 2466, 2469, 2426, 2426, 2426, 2426, 2426, 2426, 0, 2469, 0, 0, 0, 0, 2469, 2469, 0, 0, 0, 0, 0, 2469, 0, 2469, 0, 0, 2426, 2426, 2426, 2426, 2470, 0, 0, 2470, 3459, 3459, 3459, 3459, 0, 0, 0, 2470, 0, 0, 0, 3459, 2470, 2470, 0, 2426, 0, 0, 2469, 2470, 0, 2470, 0, 2426, 2426, 2426, 2426, 2426, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 0, 0, 0, 2470, 2459, 2459, 2459, 2459, 2459, 2459, 2471, 0, 0, 2471, 0, 0, 0, 0, 0, 0, 0, 2471, 3310, 3310, 3310, 3310, 2471, 2471, 2459, 2459, 2459, 2459, 2459, 2471, 3310, 2471, 0, 3310, 0, 0, 0, 2472, 0, 0, 2472, 0, 3310, 0, 0, 0, 0, 0, 2472, 0, 0, 0, 0, 2472, 2472, 2459, 2459, 2459, 2459, 2459, 2472, 2473, 2472, 0, 2473, 2474, 2471, 3310, 2474, 0, 0, 0, 2473, 0, 0, 0, 2474, 2473, 2473, 0, 0, 2474, 2474, 0, 2473, 0, 2473, 0, 2474, 2475, 2474, 0, 2475, 2476, 0, 0, 2476, 0, 0, 0, 2475, 0, 0, 0, 2476, 2475, 2475, 0, 2472, 2476, 2476, 0, 2475, 0, 2475, 0, 2476, 2477, 2476, 0, 2477, 2473, 0, 0, 0, 0, 0, 2478, 2477, 0, 2478, 0, 0, 2477, 2477, 0, 2474, 0, 2478, 0, 2477, 0, 2477, 2478, 2478, 2475, 2479, 0, 0, 2479, 2478, 0, 2478, 0, 0, 0, 2480, 2479, 2476, 2480, 0, 0, 2479, 2479, 0, 0, 0, 2480, 0, 2479, 0, 2479, 2480, 2480, 2481, 0, 0, 2481, 0, 2480, 2477, 2480, 0, 0, 2482, 2481, 0, 2482, 0, 0, 2481, 2481, 0, 0, 2478, 2482, 0, 2481, 0, 2481, 2482, 2482, 0, 2483, 0, 0, 2483, 2482, 0, 2482, 0, 0, 0, 2484, 2483, 0, 2484, 2479, 0, 2483, 2483, 0, 0, 0, 2484, 0, 2483, 2480, 2483, 2484, 2484, 2485, 0, 0, 2485, 0, 2484, 0, 2484, 0, 0, 0, 2485, 0, 2482, 2481, 2486, 2485, 2485, 2486, 2487, 0, 0, 2487, 2485, 0, 2485, 2486, 0, 0, 0, 2487, 2486, 2486, 0, 0, 2487, 2487, 0, 2486, 0, 2486, 0, 2487, 2483, 2487, 2488, 0, 0, 2488, 2489, 0, 0, 2489, 2484, 2485, 0, 2488, 0, 0, 0, 2489, 2488, 2488, 0, 2490, 2489, 2489, 2490, 2488, 2486, 2488, 0, 2489, 0, 2489, 2490, 0, 0, 0, 0, 2490, 2490, 0, 2491, 0, 0, 2491, 2490, 0, 2490, 2487, 0, 0, 2492, 2491, 0, 2492, 0, 0, 2491, 2491, 2488, 0, 0, 2492, 2489, 2491, 0, 2491, 2492, 2492, 2493, 0, 0, 2493, 0, 2492, 0, 2492, 0, 0, 0, 2493, 0, 0, 0, 0, 2493, 2493, 2490, 2494, 0, 0, 2494, 2493, 0, 2493, 0, 2491, 0, 2495, 2494, 0, 2495, 0, 0, 2494, 2494, 0, 0, 0, 2495, 0, 2494, 0, 2494, 2495, 2495, 2496, 0, 0, 2496, 0, 2495, 2492, 2495, 0, 0, 2493, 2496, 0, 0, 0, 0, 2496, 2496, 2497, 0, 0, 2497, 0, 2496, 0, 2496, 2494, 0, 2498, 2497, 0, 2498, 0, 0, 2497, 2497, 0, 0, 0, 2498, 2495, 2497, 0, 2497, 2498, 2498, 0, 2499, 0, 0, 2499, 2498, 0, 2498, 0, 0, 0, 0, 2499, 0, 0, 0, 2503, 2499, 2499, 2503, 0, 0, 0, 0, 2499, 2496, 2499, 2503, 0, 0, 0, 2497, 2503, 2503, 3462, 3462, 3462, 3462, 0, 2503, 0, 2503, 0, 0, 0, 3462, 0, 0, 0, 0, 0, 2498, 0, 2499, 2502, 2502, 2502, 2502, 2502, 2502, 2502, 2502, 2502, 2502, 2502, 2502, 2502, 2502, 2502, 2502, 2502, 2502, 2502, 2502, 2504, 0, 2503, 2504, 2502, 2502, 2502, 2502, 2502, 2502, 2505, 2504, 0, 2505, 0, 0, 2504, 2504, 0, 0, 0, 2505, 0, 2504, 0, 2504, 2505, 2505, 2502, 2502, 2502, 2502, 0, 2505, 0, 2505, 3520, 3520, 3520, 3520, 0, 2506, 0, 0, 2506, 0, 0, 3520, 0, 0, 0, 2502, 2506, 0, 0, 0, 2504, 2506, 2506, 2502, 2502, 2502, 2502, 2502, 2506, 2505, 2506, 2507, 0, 0, 2507, 2508, 0, 0, 2508, 0, 0, 0, 2507, 0, 0, 0, 2508, 2507, 2507, 0, 2509, 2508, 2508, 2509, 2507, 0, 2507, 2506, 2508, 0, 2508, 2509, 0, 0, 0, 2510, 2509, 2509, 2510, 2512, 2512, 0, 2512, 2509, 0, 2509, 2510, 0, 0, 0, 2512, 2510, 2510, 0, 0, 2512, 2512, 2508, 2510, 0, 2510, 0, 2512, 0, 2512, 0, 2507, 2513, 2513, 0, 2513, 3523, 3523, 3523, 3523, 0, 0, 0, 2513, 0, 2509, 0, 3523, 2513, 2513, 0, 2510, 0, 0, 0, 2513, 0, 2513, 2514, 2514, 0, 2514, 2515, 2515, 0, 2515, 0, 0, 0, 2514, 0, 0, 0, 2515, 2514, 2514, 2512, 0, 2515, 2515, 0, 2514, 0, 2514, 0, 2515, 0, 2515, 2513, 0, 2516, 2516, 0, 2516, 0, 2602, 2602, 2602, 2602, 0, 0, 2516, 0, 0, 0, 0, 2516, 2516, 2517, 2517, 2514, 2517, 0, 2516, 2515, 2516, 0, 0, 2602, 2517, 2602, 0, 0, 0, 2517, 2517, 0, 0, 2515, 2518, 2518, 2517, 2518, 2517, 0, 0, 0, 0, 0, 0, 2518, 0, 2516, 2602, 0, 2518, 2518, 2519, 2519, 0, 2519, 0, 2518, 0, 2518, 0, 0, 0, 2519, 0, 0, 0, 0, 2519, 2519, 2520, 2520, 0, 2520, 0, 2519, 0, 2519, 2517, 0, 0, 2520, 0, 0, 0, 0, 2520, 2520, 2521, 2521, 0, 2521, 0, 2520, 0, 2520, 0, 2518, 0, 2521, 0, 0, 0, 0, 2521, 2521, 2522, 2522, 2519, 2522, 0, 2521, 0, 2521, 0, 0, 0, 2522, 0, 0, 0, 0, 2522, 2522, 0, 0, 2520, 0, 0, 2522, 0, 2522, 0, 0, 2526, 2526, 0, 2526, 2524, 2524, 0, 2524, 2521, 0, 0, 2526, 0, 0, 0, 2524, 2526, 2526, 0, 0, 2524, 2524, 0, 2526, 0, 2526, 0, 2524, 0, 2524, 0, 0, 0, 0, 0, 0, 0, 2522, 2523, 2523, 2523, 2523, 2523, 2523, 2523, 2523, 2523, 2523, 2523, 2523, 2523, 2523, 2523, 2523, 2523, 2523, 2523, 2523, 2524, 0, 2526, 0, 2523, 2523, 2523, 2523, 2523, 2523, 2525, 2525, 0, 2525, 3547, 3547, 3547, 3547, 0, 0, 0, 2525, 0, 0, 0, 3547, 2525, 2525, 2523, 2523, 2523, 2523, 0, 2525, 0, 2525, 0, 0, 0, 0, 0, 0, 0, 0, 2523, 3369, 3369, 3369, 3369, 0, 0, 0, 0, 2527, 2527, 0, 2527, 0, 0, 2523, 2523, 2523, 2523, 2523, 2527, 2525, 0, 0, 3369, 2527, 2527, 2528, 2528, 0, 2528, 0, 2527, 0, 2527, 0, 0, 0, 2528, 0, 0, 0, 0, 2528, 2528, 2529, 2529, 0, 2529, 3369, 2528, 0, 2528, 0, 0, 0, 2529, 0, 0, 0, 0, 2529, 2529, 0, 0, 0, 2530, 2530, 2529, 2530, 2529, 0, 0, 0, 0, 0, 0, 2530, 0, 0, 2527, 0, 2530, 2530, 0, 2531, 2531, 2528, 2531, 2530, 0, 2530, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 2531, 2531, 2532, 2532, 0, 2532, 0, 2531, 0, 2531, 0, 0, 0, 2532, 0, 2529, 0, 0, 2532, 2532, 0, 2530, 0, 2533, 2533, 2532, 2533, 2532, 0, 0, 0, 0, 0, 0, 2533, 0, 0, 0, 0, 2533, 2533, 2534, 2534, 0, 2534, 0, 2533, 0, 2533, 2531, 0, 0, 2534, 0, 0, 0, 0, 2534, 2534, 2535, 2535, 0, 2535, 0, 2534, 2532, 2534, 0, 0, 0, 2535, 0, 0, 0, 0, 2535, 2535, 2536, 2536, 0, 2536, 0, 2535, 0, 2535, 0, 0, 0, 2536, 0, 2533, 0, 0, 2536, 2536, 0, 0, 0, 2537, 2537, 2536, 2537, 2536, 0, 0, 0, 0, 0, 0, 2537, 0, 0, 2534, 0, 2537, 2537, 2538, 2538, 0, 2538, 0, 2537, 0, 2537, 0, 0, 0, 2538, 0, 0, 2535, 0, 2538, 2538, 2539, 2539, 0, 2539, 0, 2538, 0, 2538, 0, 0, 0, 2539, 0, 0, 2536, 0, 2539, 2539, 2540, 2540, 0, 2540, 0, 2539, 2537, 2539, 0, 0, 0, 2540, 0, 0, 0, 0, 2540, 2540, 0, 0, 0, 2541, 2541, 2540, 2541, 2540, 0, 0, 0, 0, 0, 0, 2541, 0, 0, 2538, 0, 2541, 2541, 2542, 2542, 0, 2542, 0, 2541, 0, 2541, 0, 0, 0, 2542, 0, 0, 2539, 2540, 2542, 2542, 2543, 2543, 0, 2543, 0, 2542, 0, 2542, 0, 0, 0, 2543, 0, 0, 0, 0, 2543, 2543, 2541, 2544, 2544, 0, 2544, 2543, 0, 2543, 0, 0, 0, 0, 2544, 0, 0, 0, 0, 2544, 2544, 0, 2545, 2545, 0, 2545, 2544, 0, 2544, 0, 0, 0, 0, 2545, 0, 0, 0, 2542, 2545, 2545, 2543, 2546, 2546, 0, 2546, 2545, 0, 2545, 2603, 2603, 2603, 2603, 2546, 0, 0, 0, 0, 2546, 2546, 2547, 2547, 0, 2547, 0, 2546, 0, 2546, 0, 2544, 0, 2547, 2603, 0, 2603, 0, 2547, 2547, 2545, 2548, 2548, 0, 2548, 2547, 0, 2547, 0, 0, 0, 0, 2548, 0, 0, 0, 0, 2548, 2548, 2603, 2549, 2549, 0, 2549, 2548, 0, 2548, 2603, 0, 0, 0, 2549, 0, 0, 0, 2546, 2549, 2549, 0, 2547, 0, 2550, 2550, 2549, 2550, 2549, 2608, 2608, 2608, 2608, 0, 0, 2550, 0, 0, 2548, 0, 2550, 2550, 2551, 2551, 0, 2551, 0, 2550, 0, 2550, 0, 0, 2608, 2551, 2608, 0, 0, 0, 2551, 2551, 0, 2549, 0, 2552, 2552, 2551, 2552, 2551, 0, 0, 3425, 3425, 3425, 3425, 2552, 0, 0, 2608, 0, 2552, 2552, 2553, 2553, 0, 2553, 0, 2552, 2608, 2552, 0, 0, 0, 2553, 3425, 0, 2550, 0, 2553, 2553, 2556, 2556, 2551, 2556, 0, 2553, 0, 2553, 0, 0, 0, 2556, 0, 0, 0, 0, 2556, 2556, 0, 3425, 0, 0, 0, 2556, 0, 2556, 0, 0, 0, 0, 0, 0, 0, 2552, 2553, 2554, 2554, 2554, 2554, 2554, 2554, 2554, 2554, 2554, 2554, 2554, 2554, 2554, 2554, 2554, 2554, 2554, 2554, 2554, 2554, 0, 2556, 0, 0, 2554, 2554, 2554, 2554, 2554, 2554, 2555, 2555, 0, 2555, 0, 0, 0, 3426, 3426, 3426, 3426, 2555, 0, 0, 0, 0, 2555, 2555, 2554, 2554, 2554, 2554, 0, 2555, 0, 2555, 0, 0, 0, 0, 3426, 2557, 2557, 0, 2557, 0, 0, 0, 0, 0, 0, 2554, 2557, 0, 0, 0, 0, 2557, 2557, 2554, 2554, 2554, 2554, 2554, 2557, 3426, 2557, 0, 2558, 2558, 2555, 2558, 2559, 2559, 0, 2559, 0, 0, 0, 2558, 0, 0, 0, 2559, 2558, 2558, 0, 0, 2559, 2559, 0, 2558, 0, 2558, 0, 2559, 2557, 2559, 2560, 2560, 0, 2560, 2561, 2561, 0, 2561, 0, 0, 0, 2560, 0, 0, 0, 2561, 2560, 2560, 0, 0, 2561, 2561, 2558, 2560, 0, 2560, 0, 2561, 0, 2561, 2562, 2562, 0, 2562, 2604, 2604, 2604, 2604, 0, 2559, 0, 2562, 2605, 2605, 2605, 2605, 2562, 2562, 2606, 2606, 2606, 2606, 2560, 2562, 0, 2562, 0, 2604, 0, 2604, 2607, 2607, 2607, 2607, 2561, 2605, 0, 2605, 0, 0, 0, 2606, 0, 2606, 2609, 2609, 2609, 2609, 0, 0, 0, 2562, 2604, 2607, 0, 2607, 2610, 2610, 2610, 2610, 2605, 0, 2611, 2611, 2611, 2611, 2606, 2609, 0, 2609, 0, 0, 0, 2606, 0, 2604, 0, 0, 2607, 2610, 0, 2610, 0, 2605, 0, 2611, 0, 2611, 2938, 2938, 2938, 2938, 2609, 0, 2705, 2705, 2705, 2705, 0, 2938, 0, 2607, 0, 0, 2610, 2705, 0, 0, 0, 2609, 2611, 2938, 0, 2611, 0, 0, 2610, 2705, 0, 2705, 2706, 2706, 2706, 2706, 2708, 2708, 2708, 2708, 0, 0, 0, 2706, 0, 0, 0, 2708, 2938, 2710, 2710, 2710, 2710, 0, 2705, 2706, 0, 2706, 0, 2708, 2710, 2708, 0, 0, 2728, 2728, 2728, 2728, 2876, 2876, 2876, 2876, 2710, 0, 2710, 2728, 2728, 0, 0, 2728, 2706, 2728, 0, 0, 2708, 0, 0, 2728, 2728, 0, 0, 2876, 0, 2876, 0, 0, 0, 2710, 0, 2706, 2877, 2877, 2877, 2877, 0, 2710, 2711, 2711, 2711, 2711, 0, 2782, 2728, 2728, 2782, 0, 2876, 2711, 2711, 0, 0, 2711, 2782, 2877, 0, 2877, 0, 2782, 2782, 2711, 2711, 2711, 0, 2876, 2782, 0, 2782, 0, 0, 0, 2786, 0, 0, 2786, 0, 0, 0, 0, 2877, 0, 0, 2786, 0, 0, 2711, 2711, 2786, 2786, 2711, 2712, 2712, 2712, 2712, 2786, 0, 2786, 0, 0, 0, 2783, 2712, 2712, 2783, 0, 2712, 2782, 2712, 0, 0, 0, 2783, 0, 2712, 2712, 2712, 2783, 2783, 0, 0, 0, 0, 2712, 2783, 0, 2783, 0, 0, 2786, 0, 0, 0, 0, 2784, 0, 0, 2784, 0, 2712, 2712, 2715, 2715, 2715, 2715, 2784, 3427, 3427, 3427, 3427, 2784, 2784, 2715, 2715, 0, 0, 2715, 2784, 2715, 2784, 0, 0, 0, 0, 2715, 2715, 2715, 0, 2785, 3427, 2783, 2785, 2878, 2878, 2878, 2878, 0, 0, 0, 2785, 0, 0, 0, 0, 2785, 2785, 0, 0, 2784, 2715, 2715, 2785, 0, 2785, 3427, 2878, 0, 2878, 0, 0, 0, 2939, 2939, 2939, 2939, 2715, 2721, 2721, 2721, 2721, 0, 2787, 2939, 0, 2787, 0, 0, 2721, 2721, 0, 2878, 2721, 2787, 2721, 2939, 0, 2939, 2787, 2787, 2721, 2721, 2721, 0, 0, 2787, 0, 2787, 0, 2785, 0, 0, 2878, 0, 0, 0, 0, 0, 0, 0, 2939, 0, 0, 0, 0, 2721, 2721, 2748, 2748, 2748, 2748, 2748, 2748, 2748, 2748, 2748, 2748, 2748, 2748, 2748, 2748, 2748, 2748, 2748, 2748, 2748, 2748, 2787, 0, 0, 0, 2748, 2748, 2748, 2748, 2748, 2748, 2788, 0, 0, 2788, 0, 0, 0, 0, 0, 0, 0, 2788, 0, 0, 0, 0, 2788, 2788, 2748, 2748, 2748, 2748, 0, 2788, 0, 2788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3114, 3114, 3114, 3114, 0, 0, 0, 0, 0, 2789, 0, 3114, 2789, 0, 2748, 2748, 2748, 2748, 2748, 2788, 2789, 0, 0, 3114, 2790, 2789, 2789, 2790, 2791, 0, 0, 2791, 2789, 0, 2789, 2790, 0, 0, 0, 2791, 2790, 2790, 0, 2792, 2791, 2791, 2792, 2790, 3114, 2790, 0, 2791, 0, 2791, 2792, 0, 0, 0, 0, 2792, 2792, 2793, 0, 0, 2793, 0, 2792, 0, 2792, 0, 0, 0, 2793, 0, 0, 0, 2795, 2793, 2793, 2795, 0, 2789, 2791, 0, 2793, 0, 2793, 2795, 0, 0, 0, 2796, 2795, 2795, 2796, 2790, 0, 0, 0, 2795, 0, 2795, 2796, 2792, 0, 0, 2797, 2796, 2796, 2797, 3345, 3345, 3345, 3345, 2796, 0, 2796, 2797, 0, 0, 0, 3345, 2797, 2797, 0, 2798, 0, 0, 2798, 2797, 0, 2797, 0, 3345, 0, 2795, 2798, 2793, 0, 0, 0, 2798, 2798, 3445, 3445, 3445, 3445, 0, 2798, 0, 2798, 2799, 0, 0, 2799, 0, 0, 2796, 3345, 0, 2797, 0, 2799, 0, 0, 0, 3445, 2799, 2799, 2800, 0, 0, 2800, 0, 2799, 0, 2799, 2798, 0, 2801, 2800, 0, 2801, 0, 0, 2800, 2800, 0, 0, 0, 2801, 3445, 2800, 0, 2800, 2801, 2801, 2802, 0, 0, 2802, 0, 2801, 0, 2801, 0, 0, 2799, 2802, 0, 0, 0, 2803, 2802, 2802, 2803, 2804, 0, 0, 2804, 2802, 2800, 2802, 2803, 0, 0, 0, 2804, 2803, 2803, 0, 0, 2804, 2804, 0, 2803, 0, 2803, 0, 2804, 0, 2804, 0, 2805, 0, 0, 2805, 0, 2801, 0, 0, 0, 0, 2806, 2805, 0, 2806, 0, 0, 2805, 2805, 0, 0, 2802, 2806, 0, 2805, 2803, 2805, 2806, 2806, 2807, 0, 0, 2807, 0, 2806, 0, 2806, 0, 0, 2808, 2807, 0, 2808, 2804, 0, 2807, 2807, 0, 0, 0, 2808, 0, 2807, 0, 2807, 2808, 2808, 2805, 2946, 2946, 2946, 2946, 2808, 2810, 2808, 0, 2810, 0, 0, 2946, 0, 0, 0, 2811, 2810, 0, 2811, 0, 0, 2810, 2810, 2946, 2806, 2946, 2811, 2807, 2810, 0, 2810, 2811, 2811, 0, 0, 0, 0, 0, 2811, 0, 2811, 0, 0, 0, 0, 0, 0, 0, 2946, 0, 2808, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2810, 0, 0, 0, 2809, 2809, 2809, 2809, 2809, 2809, 2812, 0, 0, 2812, 0, 2811, 0, 2879, 2879, 2879, 2879, 2812, 0, 0, 0, 0, 2812, 2812, 2809, 2809, 2809, 2809, 2809, 2812, 0, 2812, 0, 0, 0, 0, 2879, 0, 2879, 0, 3487, 3487, 3487, 3487, 0, 0, 0, 0, 0, 2813, 0, 3487, 2813, 0, 0, 2809, 2809, 2809, 2809, 2809, 2813, 2879, 2812, 3487, 2814, 2813, 2813, 2814, 2815, 2879, 0, 2815, 2813, 0, 2813, 2814, 0, 0, 0, 2815, 2814, 2814, 0, 0, 2815, 2815, 0, 2814, 3487, 2814, 0, 2815, 2816, 2815, 0, 2816, 2817, 0, 0, 2817, 0, 0, 0, 2816, 0, 0, 2813, 2817, 2816, 2816, 0, 0, 2817, 2817, 0, 2816, 0, 2816, 0, 2817, 2818, 2817, 0, 2818, 2815, 0, 0, 0, 2814, 0, 0, 2818, 0, 0, 0, 0, 2818, 2818, 0, 0, 0, 2819, 2819, 2818, 2819, 2818, 0, 0, 0, 0, 0, 0, 2819, 0, 0, 2816, 0, 2819, 2819, 2817, 2820, 2820, 0, 2820, 2819, 0, 2819, 0, 0, 0, 0, 2820, 0, 0, 0, 0, 2820, 2820, 2821, 2821, 0, 2821, 0, 2820, 0, 2820, 0, 0, 0, 2821, 0, 2818, 0, 0, 2821, 2821, 2822, 2822, 0, 2822, 0, 2821, 0, 2821, 0, 2819, 0, 2822, 0, 0, 0, 0, 2822, 2822, 2823, 2823, 0, 2823, 0, 2822, 0, 2822, 0, 0, 0, 2823, 0, 0, 0, 2820, 2823, 2823, 2821, 2824, 2824, 0, 2824, 2823, 0, 2823, 0, 0, 0, 0, 2824, 0, 0, 0, 0, 2824, 2824, 2825, 2825, 0, 2825, 0, 2824, 0, 2824, 0, 0, 0, 2825, 0, 0, 0, 2822, 2825, 2825, 2826, 2826, 2823, 2826, 0, 2825, 0, 2825, 0, 0, 0, 2826, 0, 0, 0, 0, 2826, 2826, 0, 2827, 2827, 0, 2827, 2826, 0, 2826, 0, 0, 0, 2824, 2827, 0, 0, 0, 0, 2827, 2827, 0, 0, 0, 2828, 2828, 2827, 2828, 2827, 0, 0, 0, 0, 0, 0, 2828, 0, 0, 2825, 0, 2828, 2828, 2829, 2829, 0, 2829, 0, 2828, 0, 2828, 0, 0, 0, 2829, 0, 2826, 0, 0, 2829, 2829, 0, 2830, 2830, 2827, 2830, 2829, 0, 2829, 0, 0, 0, 0, 2830, 0, 0, 0, 0, 2830, 2830, 2831, 2831, 0, 2831, 0, 2830, 0, 2830, 0, 0, 0, 2831, 0, 0, 0, 0, 2831, 2831, 0, 0, 0, 2828, 2829, 2831, 0, 2831, 2832, 2832, 0, 2832, 2833, 2833, 0, 2833, 0, 0, 0, 2832, 0, 0, 0, 2833, 2832, 2832, 0, 0, 2833, 2833, 2830, 2832, 0, 2832, 0, 2833, 2831, 2833, 2834, 2834, 0, 2834, 2835, 2835, 0, 2835, 0, 0, 0, 2834, 0, 0, 0, 2835, 2834, 2834, 0, 0, 2835, 2835, 2832, 2834, 0, 2834, 0, 2835, 0, 2835, 2833, 2836, 2836, 0, 2836, 0, 0, 2880, 2880, 2880, 2880, 0, 2836, 3126, 3126, 3126, 3126, 2836, 2836, 0, 3126, 0, 2834, 0, 2836, 0, 2836, 0, 2837, 2837, 2880, 2837, 2880, 0, 0, 0, 3126, 0, 0, 2837, 0, 0, 0, 2835, 2837, 2837, 2838, 2838, 0, 2838, 0, 2837, 0, 2837, 0, 2880, 0, 2838, 0, 0, 0, 3126, 2838, 2838, 0, 2839, 2839, 2836, 2839, 2838, 2880, 2838, 0, 0, 0, 0, 2839, 0, 0, 3126, 0, 2839, 2839, 2837, 2840, 2840, 0, 2840, 2839, 0, 2839, 0, 0, 0, 3126, 2840, 0, 0, 0, 0, 2840, 2840, 2841, 2841, 0, 2841, 0, 2840, 0, 2840, 0, 0, 0, 2841, 0, 2838, 0, 0, 2841, 2841, 0, 2839, 0, 2842, 2842, 2841, 2842, 2841, 0, 0, 0, 0, 0, 0, 2842, 0, 0, 0, 0, 2842, 2842, 0, 0, 0, 0, 0, 2842, 0, 2842, 2843, 2843, 0, 2843, 2844, 2844, 2840, 2844, 0, 2841, 0, 2843, 0, 0, 0, 2844, 2843, 2843, 0, 0, 2844, 2844, 0, 2843, 0, 2843, 0, 2844, 0, 2844, 2845, 2845, 0, 2845, 2846, 2846, 0, 2846, 0, 0, 2842, 2845, 0, 0, 0, 2846, 2845, 2845, 0, 0, 2846, 2846, 0, 2845, 0, 2845, 0, 2846, 0, 2846, 2844, 2847, 2847, 0, 2847, 2848, 2848, 0, 2848, 0, 0, 2843, 2847, 0, 0, 0, 2848, 2847, 2847, 0, 0, 2848, 2848, 0, 2847, 0, 2847, 2845, 2848, 0, 2848, 2849, 2849, 0, 2849, 0, 0, 0, 2846, 0, 0, 0, 2849, 0, 0, 0, 0, 2849, 2849, 2850, 2850, 0, 2850, 0, 2849, 0, 2849, 2847, 0, 0, 2850, 2881, 2881, 2881, 2881, 2850, 2850, 0, 2848, 0, 0, 0, 2850, 0, 2850, 0, 0, 2940, 2940, 2940, 2940, 0, 0, 0, 2881, 0, 2881, 0, 2940, 0, 2941, 2941, 2941, 2941, 2849, 0, 0, 0, 0, 0, 2940, 2941, 2940, 0, 0, 0, 0, 0, 0, 2881, 0, 2995, 0, 2941, 2995, 2941, 0, 0, 0, 0, 2850, 0, 2995, 0, 0, 2940, 2996, 2995, 2995, 2996, 0, 0, 2881, 2940, 2995, 0, 2995, 2996, 2941, 0, 0, 2997, 2996, 2996, 2997, 0, 0, 0, 0, 2996, 0, 2996, 2997, 0, 0, 0, 0, 2997, 2997, 2941, 2942, 2942, 2942, 2942, 2997, 2998, 2997, 2995, 2998, 0, 0, 2942, 2942, 0, 0, 2942, 2998, 0, 0, 0, 0, 2998, 2998, 2942, 2942, 2942, 0, 0, 2998, 2999, 2998, 0, 2999, 2997, 0, 0, 0, 2996, 0, 3000, 2999, 0, 3000, 0, 0, 2999, 2999, 0, 2942, 2942, 3000, 0, 2999, 0, 2999, 3000, 3000, 0, 0, 0, 0, 2998, 3000, 0, 3000, 3002, 0, 0, 3002, 0, 0, 2942, 2943, 2943, 2943, 2943, 3002, 0, 0, 0, 2999, 3002, 3002, 2943, 2943, 0, 0, 2943, 3002, 2943, 3002, 3003, 0, 0, 3003, 2943, 2943, 2943, 0, 0, 0, 0, 3003, 0, 0, 0, 0, 3003, 3003, 0, 3000, 0, 0, 0, 3003, 0, 3003, 0, 0, 0, 2943, 2943, 0, 2943, 2947, 2947, 2947, 2947, 0, 0, 3002, 0, 0, 0, 3004, 2947, 2947, 3004, 0, 2947, 0, 2947, 0, 0, 0, 3004, 0, 2947, 2947, 2947, 3004, 3004, 3006, 0, 3003, 3006, 0, 3004, 0, 3004, 0, 0, 0, 3006, 3055, 3055, 3055, 3055, 3006, 3006, 0, 0, 2947, 2947, 0, 3006, 0, 3006, 0, 0, 2947, 2949, 2949, 2949, 2949, 0, 0, 3055, 3004, 3055, 0, 0, 2949, 2949, 0, 0, 2949, 3007, 2949, 0, 3007, 0, 0, 0, 2949, 2949, 2949, 0, 3007, 0, 0, 0, 3055, 3007, 3007, 0, 0, 0, 0, 3055, 3007, 3006, 3007, 0, 0, 0, 0, 0, 0, 2949, 2949, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 3008, 0, 3007, 3008, 2956, 2956, 2956, 2956, 2956, 2956, 0, 3008, 0, 0, 0, 0, 3008, 3008, 0, 0, 0, 0, 0, 3008, 3161, 3008, 0, 3161, 2956, 2956, 2956, 2956, 2956, 0, 0, 3161, 0, 0, 0, 0, 3161, 3161, 0, 0, 0, 0, 0, 3161, 0, 3161, 0, 0, 0, 0, 0, 0, 3008, 0, 0, 2956, 2956, 2956, 2956, 2956, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 3056, 3056, 3056, 3056, 2960, 2960, 2960, 2960, 2960, 2960, 3161, 0, 0, 0, 0, 0, 3009, 0, 0, 3009, 0, 0, 0, 3056, 0, 3056, 0, 3009, 2960, 2960, 2960, 2960, 3009, 3009, 0, 0, 0, 0, 0, 3009, 0, 3009, 0, 0, 0, 0, 0, 0, 3056, 0, 0, 0, 0, 0, 0, 0, 3056, 0, 0, 2960, 2960, 2960, 2960, 2960, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3010, 3009, 0, 3010, 3005, 3005, 3005, 3005, 3005, 3005, 3011, 3010, 0, 3011, 0, 0, 3010, 3010, 0, 0, 0, 3011, 0, 3010, 0, 3010, 3011, 3011, 3005, 3005, 3005, 3005, 0, 3011, 0, 3011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3431, 3431, 3431, 3431, 0, 0, 0, 3431, 0, 3012, 0, 0, 3012, 0, 3005, 3005, 3005, 3005, 3005, 3011, 3012, 0, 3010, 3431, 3013, 3012, 3012, 3013, 3014, 0, 0, 3014, 3012, 0, 3012, 3013, 0, 0, 0, 3014, 3013, 3013, 0, 3015, 3014, 3014, 3015, 3013, 3431, 3013, 0, 3014, 0, 3014, 3015, 0, 0, 0, 0, 3015, 3015, 3016, 0, 0, 3016, 0, 3015, 0, 3015, 0, 0, 0, 3016, 0, 3012, 0, 0, 3016, 3016, 3017, 3013, 3431, 3017, 0, 3016, 0, 3016, 0, 0, 0, 3017, 0, 0, 3014, 0, 3017, 3017, 3018, 3018, 3015, 3018, 0, 3017, 0, 3017, 0, 0, 0, 3018, 0, 0, 0, 0, 3018, 3018, 0, 3016, 0, 0, 0, 3018, 0, 3018, 3019, 3019, 0, 3019, 3020, 3020, 0, 3020, 0, 0, 0, 3019, 3017, 0, 0, 3020, 3019, 3019, 0, 0, 3020, 3020, 0, 3019, 0, 3019, 0, 3020, 0, 3020, 3018, 3021, 3021, 0, 3021, 3511, 3511, 3511, 3511, 0, 0, 0, 3021, 0, 0, 0, 3511, 3021, 3021, 0, 3022, 3022, 0, 3022, 3021, 0, 3021, 0, 3511, 0, 3020, 3022, 0, 0, 0, 0, 3022, 3022, 0, 3023, 3023, 3019, 3023, 3022, 0, 3022, 0, 0, 0, 0, 3023, 0, 0, 3511, 0, 3023, 3023, 3024, 3024, 0, 3024, 0, 3023, 0, 3023, 0, 0, 0, 3024, 0, 0, 0, 3021, 3024, 3024, 3026, 3026, 0, 3026, 0, 3024, 0, 3024, 0, 0, 3022, 3026, 0, 0, 0, 0, 3026, 3026, 0, 0, 0, 0, 0, 3026, 0, 3026, 0, 3023, 0, 0, 0, 0, 0, 0, 0, 0, 3024, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3027, 3027, 0, 3027, 3025, 3025, 3025, 3025, 3025, 3025, 0, 3027, 3026, 0, 0, 0, 3027, 3027, 0, 0, 0, 3028, 3028, 3027, 3028, 3027, 0, 0, 3025, 3025, 3025, 3025, 3028, 0, 0, 0, 0, 3028, 3028, 0, 0, 0, 0, 0, 3028, 0, 3028, 3115, 3115, 3115, 3115, 0, 0, 0, 0, 0, 3027, 0, 3115, 3025, 3025, 3025, 3025, 3025, 3029, 3029, 0, 3029, 0, 0, 3115, 0, 3115, 0, 0, 3029, 0, 3028, 0, 0, 3029, 3029, 3030, 3030, 0, 3030, 0, 3029, 0, 3029, 0, 0, 0, 3030, 0, 3115, 0, 0, 3030, 3030, 3031, 3031, 0, 3031, 0, 3030, 0, 3030, 0, 0, 0, 3031, 0, 0, 0, 0, 3031, 3031, 3032, 3032, 0, 3032, 0, 3031, 0, 3031, 0, 0, 0, 3032, 0, 0, 0, 3029, 3032, 3032, 0, 3033, 3033, 0, 3033, 3032, 0, 3032, 0, 0, 0, 3030, 3033, 0, 0, 0, 0, 3033, 3033, 0, 3031, 0, 0, 0, 3033, 0, 3033, 3034, 3034, 0, 3034, 0, 0, 0, 0, 0, 0, 0, 3034, 0, 0, 0, 0, 3034, 3034, 3035, 3035, 3032, 3035, 0, 3034, 0, 3034, 0, 0, 0, 3035, 3033, 0, 0, 0, 3035, 3035, 3097, 3097, 3097, 3097, 0, 3035, 0, 3035, 0, 0, 0, 0, 3097, 0, 0, 3097, 0, 0, 0, 3034, 0, 0, 0, 3097, 3097, 0, 0, 0, 3109, 3109, 3109, 3109, 3110, 3110, 3110, 3110, 0, 0, 3035, 3109, 0, 0, 0, 3110, 0, 0, 0, 0, 3097, 3097, 0, 3109, 0, 3109, 0, 3110, 0, 3110, 3120, 3120, 3120, 3120, 0, 3237, 3237, 3237, 3237, 0, 0, 3120, 3120, 0, 0, 3120, 3237, 3120, 3109, 0, 0, 0, 3110, 3120, 3120, 0, 3110, 0, 3237, 0, 3237, 0, 0, 0, 0, 0, 0, 0, 0, 3109, 3111, 3111, 3111, 3111, 0, 0, 0, 0, 3120, 3120, 0, 3111, 3111, 3237, 0, 3111, 3134, 3134, 3134, 3134, 0, 0, 0, 3111, 3111, 3111, 0, 3134, 3134, 0, 0, 3134, 0, 3134, 3162, 0, 3237, 3162, 0, 3134, 3134, 0, 0, 0, 0, 3162, 0, 0, 3111, 3111, 3162, 3162, 0, 0, 0, 0, 0, 3162, 0, 3162, 0, 0, 0, 0, 3134, 3134, 3111, 3112, 3112, 3112, 3112, 0, 0, 0, 0, 0, 0, 0, 3112, 3112, 0, 0, 3112, 3163, 3112, 0, 3163, 0, 3162, 0, 3112, 3112, 3112, 0, 3163, 0, 0, 0, 3112, 3163, 3163, 3236, 3236, 3236, 3236, 0, 3163, 0, 3163, 0, 0, 0, 3236, 0, 0, 3112, 3112, 3116, 3116, 3116, 3116, 0, 0, 0, 3236, 0, 3236, 3172, 3116, 3116, 3172, 0, 3116, 0, 3116, 0, 0, 0, 3172, 3163, 3116, 3116, 3116, 3172, 3172, 3173, 0, 0, 3173, 3236, 3172, 0, 3172, 3236, 0, 0, 3173, 0, 0, 0, 0, 3173, 3173, 0, 0, 3116, 3116, 0, 3173, 3174, 3173, 0, 3174, 0, 0, 0, 0, 0, 0, 0, 3174, 0, 3172, 0, 0, 3174, 3174, 3116, 3119, 3119, 3119, 3119, 3174, 0, 3174, 0, 0, 0, 0, 3119, 3119, 0, 0, 3119, 0, 3119, 3176, 0, 0, 3176, 0, 3119, 3119, 3119, 3173, 0, 0, 3176, 0, 0, 0, 3174, 3176, 3176, 0, 0, 0, 0, 0, 3176, 0, 3176, 0, 0, 0, 0, 3119, 3119, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3132, 3177, 3177, 0, 3177, 3132, 3132, 3132, 3132, 3132, 3132, 0, 3177, 0, 0, 0, 0, 3177, 3177, 0, 3176, 0, 0, 0, 3177, 3175, 3177, 0, 3175, 3132, 3132, 3132, 3132, 0, 0, 0, 3175, 0, 0, 0, 0, 3175, 3175, 0, 0, 0, 0, 0, 3175, 0, 3175, 0, 0, 0, 0, 0, 0, 3177, 0, 0, 3132, 3132, 3132, 3132, 3132, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3147, 3175, 0, 0, 0, 3147, 3147, 3147, 3147, 3147, 3147, 3183, 3183, 0, 3183, 0, 0, 0, 0, 0, 0, 0, 3183, 3421, 3421, 3421, 3421, 3183, 3183, 3147, 3147, 3147, 3147, 3147, 3183, 3421, 3183, 0, 3421, 0, 3421, 0, 3184, 3184, 0, 3184, 0, 3421, 0, 0, 0, 0, 0, 3184, 0, 0, 0, 0, 3184, 3184, 3147, 3147, 3147, 3147, 3147, 3184, 0, 3184, 3185, 3185, 0, 3185, 3421, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 3185, 3185, 0, 3186, 3186, 0, 3186, 3185, 0, 3185, 0, 0, 0, 3184, 3186, 3222, 3222, 3222, 3222, 3186, 3186, 0, 3224, 3224, 3224, 3224, 3186, 3222, 3186, 0, 3222, 0, 3277, 0, 3224, 3277, 0, 3224, 3222, 3222, 0, 0, 0, 3277, 3185, 3224, 3224, 0, 3277, 3277, 0, 0, 0, 0, 0, 3277, 3278, 3277, 0, 3278, 0, 0, 0, 3222, 3222, 0, 0, 3278, 0, 0, 3224, 3224, 3278, 3278, 3186, 3238, 3238, 3238, 3238, 3278, 0, 3278, 0, 0, 0, 0, 3238, 3238, 0, 0, 3238, 0, 0, 3279, 0, 0, 3279, 0, 3238, 3238, 3238, 0, 0, 3277, 3279, 0, 0, 0, 3278, 3279, 3279, 3280, 0, 0, 3280, 0, 3279, 0, 3279, 0, 0, 0, 3280, 3238, 3238, 0, 0, 3280, 3280, 3315, 3315, 3315, 3315, 0, 3280, 0, 3280, 0, 0, 0, 3315, 0, 0, 0, 3238, 3239, 3239, 3239, 3239, 3279, 3281, 0, 3315, 3281, 3315, 0, 3239, 3239, 0, 0, 3239, 3281, 3239, 0, 0, 0, 3281, 3281, 3239, 3239, 3239, 0, 0, 3281, 0, 3281, 0, 3315, 0, 0, 0, 3280, 0, 0, 3239, 0, 0, 0, 3282, 3282, 0, 3282, 0, 3239, 3239, 3241, 3241, 3241, 3241, 3282, 3315, 0, 0, 0, 3282, 3282, 3241, 3241, 0, 0, 3241, 3282, 3241, 3282, 3316, 3316, 3316, 3316, 3241, 3241, 3241, 0, 0, 0, 0, 3316, 0, 3281, 3347, 3347, 3347, 3347, 0, 0, 0, 3347, 0, 3316, 3373, 3316, 0, 3373, 0, 3241, 3241, 0, 0, 0, 0, 3373, 0, 3347, 0, 0, 3373, 3373, 0, 0, 0, 0, 0, 3373, 3316, 3373, 0, 3282, 3241, 3243, 3243, 3243, 3243, 0, 0, 0, 0, 0, 3347, 0, 3243, 3243, 3316, 0, 3243, 0, 3243, 3374, 0, 0, 3374, 0, 3243, 3243, 3243, 0, 3347, 0, 3374, 0, 0, 0, 0, 3374, 3374, 0, 0, 0, 0, 0, 3374, 3347, 3374, 0, 0, 0, 0, 3243, 3243, 3251, 3251, 3251, 3251, 0, 0, 0, 0, 0, 0, 0, 3251, 3251, 0, 0, 3251, 3377, 3251, 0, 3377, 0, 0, 0, 3251, 3251, 3251, 0, 3377, 0, 0, 0, 0, 3377, 3377, 0, 0, 0, 0, 3374, 3377, 0, 3377, 0, 0, 0, 0, 0, 0, 3251, 3251, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 0, 0, 3377, 0, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3255, 3257, 3257, 0, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3257, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 0, 0, 0, 0, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3258, 3259, 3259, 0, 3259, 3259, 3259, 3259, 3259, 3259, 3259, 3259, 3259, 3259, 3259, 3259, 3259, 3259, 3259, 3259, 3259, 3378, 3378, 0, 3378, 3259, 3259, 3259, 3259, 3259, 3259, 0, 3378, 0, 0, 0, 0, 3378, 3378, 0, 0, 0, 0, 0, 3378, 0, 3378, 0, 0, 3259, 3259, 3259, 3259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3259, 0, 0, 0, 3378, 0, 0, 3259, 3259, 3259, 3259, 3259, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3324, 3324, 3324, 3324, 0, 3375, 0, 0, 3375, 0, 0, 3324, 3324, 0, 0, 3324, 3375, 3324, 0, 0, 0, 3375, 3375, 3324, 3324, 3324, 0, 0, 3375, 0, 3375, 0, 0, 0, 3376, 0, 0, 3376, 0, 0, 0, 3403, 3403, 3403, 3403, 3376, 0, 0, 3324, 3324, 3376, 3376, 3403, 0, 3324, 0, 0, 3376, 0, 3376, 0, 0, 0, 0, 3403, 0, 3403, 0, 0, 0, 3324, 3327, 3327, 3327, 3327, 0, 3375, 0, 0, 0, 0, 0, 3327, 3327, 0, 0, 3327, 3451, 3327, 3403, 3451, 0, 0, 0, 3327, 3327, 3327, 0, 3451, 0, 0, 0, 0, 3451, 3451, 3376, 0, 3403, 0, 0, 3451, 0, 3451, 0, 0, 0, 0, 0, 0, 3327, 3327, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 0, 3451, 0, 0, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3331, 3333, 3333, 0, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 0, 0, 0, 0, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3334, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 0, 0, 0, 0, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3341, 3341, 0, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3341, 3342, 3342, 0, 3342, 3342, 3342, 3342, 3342, 3342, 3342, 3342, 3342, 3342, 3342, 3342, 3342, 3342, 3342, 3342, 3342, 3405, 3405, 3405, 3405, 3342, 3342, 3342, 3342, 3342, 3342, 0, 3405, 3405, 0, 0, 3405, 0, 3405, 0, 0, 0, 0, 0, 0, 3405, 0, 0, 0, 3342, 3342, 3342, 3342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3342, 3342, 3342, 3342, 3342, 3344, 3344, 0, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3344, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 0, 0, 0, 0, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 0, 0, 0, 0, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3350, 3356, 3356, 0, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3404, 3404, 3404, 3404, 3356, 3356, 3356, 3356, 3356, 3356, 0, 3404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3449, 0, 3404, 3449, 3404, 0, 0, 3356, 3356, 3356, 3356, 3449, 0, 0, 0, 0, 3449, 3449, 0, 0, 0, 0, 0, 3449, 0, 3449, 0, 3404, 0, 0, 0, 3356, 0, 0, 0, 0, 0, 0, 3356, 3356, 3356, 3356, 3356, 3365, 3365, 3365, 3365, 0, 3404, 0, 3408, 3408, 3408, 3408, 3365, 3365, 0, 0, 3365, 0, 3365, 3408, 3408, 0, 0, 3408, 3365, 3365, 3365, 0, 0, 3449, 0, 3408, 3408, 3408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3365, 3365, 0, 0, 0, 0, 0, 3408, 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, 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, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 0, 0, 0, 0, 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, 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, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3418, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3420, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 0, 0, 0, 0, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3429, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 0, 0, 0, 0, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3430, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 0, 0, 0, 0, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3432, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3433, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 0, 0, 0, 0, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3450, 0, 0, 3450, 3452, 3452, 0, 3452, 0, 0, 0, 3450, 0, 0, 0, 3452, 3450, 3450, 0, 0, 3452, 3452, 0, 3450, 0, 3450, 0, 3452, 0, 3452, 3469, 3469, 3469, 3469, 0, 0, 0, 3490, 3490, 3490, 3490, 3469, 0, 0, 0, 0, 0, 0, 3490, 3490, 0, 3450, 3490, 3469, 0, 3469, 0, 0, 0, 3452, 0, 3490, 3490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3469, 0, 0, 0, 0, 0, 0, 0, 3490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3469, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3470, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3478, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 0, 0, 0, 0, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3480, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 0, 0, 0, 0, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3481, 3482, 3482, 3482, 3482, 0, 3499, 0, 3482, 3499, 3529, 0, 0, 3529, 0, 0, 0, 3499, 0, 0, 0, 3529, 3499, 3499, 3482, 0, 3529, 3529, 0, 3499, 0, 3499, 0, 3529, 0, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3499, 0, 3529, 0, 0, 0, 0, 3482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3482, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3486, 3488, 3488, 0, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3488, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3489, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3492, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 0, 0, 0, 0, 3510, 3510, 3510, 3510, 3510, 3510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3510, 3510, 3510, 3510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3510, 3510, 3510, 3510, 3510, 3513, 3513, 0, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3517, 3517, 0, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 0, 0, 0, 0, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3517, 3518, 3518, 0, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 0, 0, 0, 0, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3518, 3545, 3545, 0, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3553, 0, 0, 3553, 3564, 0, 0, 3564, 0, 0, 0, 3553, 0, 0, 0, 3564, 3553, 3553, 0, 0, 3564, 3564, 0, 3553, 0, 3553, 0, 3564, 0, 3564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3553, 0, 0, 0, 0, 3564, 3584, 3584, 3584, 3584, 0, 0, 0, 0, 0, 0, 0, 3584, 3584, 0, 0, 3584, 0, 3584, 0, 0, 0, 0, 0, 3584, 3584, 3584, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3584, 3584, 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, 3586, 3586, 3586, 3586, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 3588, 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, 3589, 3589, 3589, 3589, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 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, 3591, 3591, 3591, 3591, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 3592, 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, 3593, 3593, 3593, 3593, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3595, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3597, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3598, 3599, 3599, 0, 0, 3599, 0, 3599, 3599, 3599, 3599, 3599, 3599, 3599, 3599, 3599, 3599, 3599, 3599, 3599, 3599, 3599, 3599, 3599, 0, 3599, 3599, 3599, 3599, 3599, 3599, 3600, 3600, 0, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3601, 3601, 0, 0, 3601, 3601, 3601, 0, 3601, 3601, 3601, 3601, 3601, 3601, 3601, 3601, 3601, 3601, 3601, 3601, 3601, 3601, 3601, 0, 3601, 3601, 3601, 3601, 3601, 3601, 3602, 3602, 0, 3602, 3602, 0, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3603, 3603, 0, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 0, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 0, 3603, 3603, 3603, 3603, 3603, 3603, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3604, 3605, 3605, 0, 3605, 3605, 3605, 3605, 3605, 3605, 3605, 0, 3605, 3605, 3605, 0, 3605, 3605, 3605, 3605, 3605, 3605, 3605, 3605, 3605, 3605, 3605, 3605, 3605, 3605, 3605, 3606, 3606, 0, 0, 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, 3607, 3607, 0, 3607, 3607, 3607, 3607, 3607, 3607, 3607, 0, 3607, 3607, 3607, 3607, 3607, 3607, 3607, 3607, 3607, 3607, 3607, 3607, 3607, 3607, 3607, 3607, 3607, 3607, 3607, 3609, 3609, 0, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3609, 3610, 3610, 3610, 3610, 0, 3610, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3610, 3610, 0, 0, 0, 3610, 0, 0, 3610, 3610, 3611, 3611, 3611, 3611, 0, 0, 0, 3611, 3611, 0, 3611, 0, 3611, 0, 3611, 3611, 3611, 3611, 0, 3611, 3611, 0, 3611, 3611, 3611, 0, 0, 0, 3611, 3612, 3612, 3612, 3612, 0, 3612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3612, 0, 0, 0, 3612, 3612, 0, 3612, 0, 3612, 0, 0, 3612, 3612, 3613, 3613, 3613, 3613, 0, 3613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3613, 3613, 0, 0, 0, 3613, 0, 0, 0, 3613, 3615, 0, 0, 3615, 0, 0, 0, 3615, 0, 0, 0, 3615, 3615, 0, 3615, 3615, 0, 3615, 0, 3615, 3615, 0, 0, 0, 3615, 0, 0, 0, 3615, 3617, 3617, 3617, 3617, 0, 0, 0, 3617, 0, 0, 0, 0, 0, 0, 3617, 3617, 0, 3617, 0, 3617, 3617, 0, 3617, 0, 3617, 0, 0, 0, 3617, 3618, 3618, 3618, 3618, 0, 3618, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3618, 3618, 0, 0, 0, 3618, 0, 0, 0, 3618, 3620, 3620, 0, 3620, 0, 0, 0, 3620, 0, 0, 0, 3620, 3620, 0, 3620, 3620, 0, 3620, 0, 3620, 3620, 0, 0, 0, 3620, 0, 0, 0, 3620, 3622, 0, 0, 0, 0, 3622, 3622, 0, 0, 0, 3622, 0, 0, 0, 3622, 3624, 0, 0, 3624, 0, 0, 0, 3624, 0, 0, 0, 0, 0, 0, 3624, 3624, 0, 0, 0, 3624, 3624, 0, 3624, 0, 3624, 0, 0, 0, 3624, 3626, 0, 3626, 0, 0, 0, 0, 3626, 3626, 0, 0, 0, 3626, 0, 0, 0, 3626, 3628, 0, 0, 0, 0, 3628, 3628, 0, 0, 0, 3628, 0, 0, 0, 3628, 3630, 3630, 0, 0, 0, 3630, 3630, 0, 3630, 0, 3630, 0, 0, 0, 3630, 3631, 3631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3631, 3631, 0, 0, 0, 3631, 0, 0, 0, 3631, 3632, 3632, 0, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3632, 3634, 3634, 3634, 3634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3634, 3634, 0, 3634, 0, 3634, 3634, 0, 3634, 0, 3634, 0, 0, 0, 3634, 3635, 3635, 3635, 3635, 0, 3635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3635, 3635, 0, 0, 0, 3635, 0, 0, 3635, 3635, 3636, 3636, 3636, 3636, 0, 3636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3636, 3636, 0, 0, 0, 3636, 0, 0, 0, 3636, 3638, 0, 0, 0, 0, 3638, 3638, 0, 0, 0, 3638, 0, 0, 0, 3638, 3640, 0, 0, 0, 0, 3640, 3640, 0, 0, 0, 3640, 0, 0, 0, 3640, 3642, 0, 0, 3642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3642, 3642, 0, 0, 0, 3642, 3642, 0, 0, 0, 3642, 0, 0, 0, 3642, 3644, 0, 0, 0, 0, 3644, 3644, 0, 0, 0, 3644, 0, 0, 0, 3644, 3646, 3646, 0, 3646, 0, 3646, 3646, 0, 3646, 3646, 3646, 3646, 3646, 3646, 3646, 3646, 3646, 3646, 3646, 3646, 3646, 3646, 3646, 3646, 3646, 3646, 3646, 3646, 3646, 3646, 3647, 0, 0, 0, 0, 3647, 3647, 0, 0, 0, 3647, 0, 0, 0, 3647, 3649, 3649, 3649, 3649, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3649, 3649, 0, 0, 0, 3649, 3649, 0, 0, 3649, 3649, 0, 0, 0, 3649, 3650, 3650, 0, 3650, 3650, 0, 0, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 3650, 0, 3650, 3650, 3650, 3650, 3650, 3650, 3652, 3652, 0, 3652, 3652, 0, 0, 3652, 3652, 3652, 3652, 3652, 3652, 3652, 3652, 3652, 3652, 3652, 3652, 3652, 3652, 3652, 3652, 0, 3652, 3652, 3652, 3652, 3652, 3652, 3653, 3653, 0, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3653, 3655, 0, 0, 0, 0, 3655, 3655, 0, 0, 0, 3655, 0, 0, 0, 3655, 3657, 3657, 0, 0, 0, 3657, 3657, 0, 0, 0, 3657, 0, 0, 0, 3657, 3658, 3658, 0, 3658, 3658, 3658, 3658, 3658, 3658, 0, 3658, 3658, 3658, 3658, 3658, 3658, 3658, 3658, 3658, 3658, 3658, 3658, 3658, 3658, 3658, 3658, 3658, 3658, 3658, 3658, 3659, 0, 3659, 3659, 0, 3659, 3659, 3659, 0, 0, 3659, 3659, 3659, 3659, 3659, 3659, 3659, 3659, 3659, 3659, 3659, 3659, 3659, 0, 3659, 3659, 3659, 3659, 3659, 3659, 3660, 3660, 0, 0, 3660, 0, 3660, 3660, 3660, 3660, 3660, 3660, 3660, 3660, 3660, 3660, 3660, 3660, 3660, 3660, 3660, 3660, 3660, 0, 3660, 3660, 3660, 3660, 3660, 3660, 3661, 3661, 0, 0, 3661, 3661, 3661, 0, 3661, 3661, 3661, 3661, 3661, 3661, 3661, 3661, 3661, 3661, 3661, 3661, 3661, 3661, 3661, 0, 3661, 3661, 3661, 3661, 3661, 3661, 3662, 3662, 0, 3662, 3662, 0, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3662, 3663, 3663, 0, 3663, 3663, 3663, 3663, 3663, 3663, 3663, 3663, 3663, 3663, 3663, 0, 3663, 3663, 3663, 3663, 3663, 3663, 3663, 3663, 0, 3663, 3663, 3663, 3663, 3663, 3663, 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, 3665, 3665, 0, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 0, 3665, 3665, 3665, 0, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3665, 3666, 3666, 0, 0, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3667, 3667, 0, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 0, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3667, 3668, 3668, 3668, 3668, 0, 0, 0, 3668, 3668, 0, 3668, 0, 3668, 0, 3668, 3668, 3668, 3668, 0, 3668, 3668, 0, 3668, 3668, 3668, 0, 0, 0, 3668, 3669, 3669, 0, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3670, 0, 0, 3670, 0, 3670, 0, 0, 3670, 3670, 0, 0, 0, 0, 0, 3670, 0, 0, 0, 3670, 3670, 0, 3670, 0, 3670, 0, 0, 3670, 3670, 3671, 3671, 3671, 3671, 0, 3671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3671, 3671, 0, 0, 0, 3671, 0, 0, 3671, 3671, 3672, 3672, 3672, 3672, 0, 0, 0, 0, 3672, 0, 3672, 0, 3672, 0, 3672, 0, 3672, 0, 0, 3672, 3672, 0, 0, 3672, 3672, 0, 0, 0, 3672, 3673, 3673, 3673, 3673, 0, 3673, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3673, 3673, 0, 0, 0, 3673, 0, 0, 0, 3673, 3675, 3675, 3675, 3675, 0, 3675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3675, 0, 0, 0, 3675, 3675, 0, 3675, 0, 3675, 0, 0, 3675, 3675, 3676, 3676, 0, 3676, 3676, 0, 3676, 3676, 3676, 3676, 3676, 3676, 3676, 3676, 0, 3676, 3676, 3676, 3676, 3676, 3676, 3676, 3676, 3676, 3676, 3676, 0, 3676, 3676, 3676, 3677, 3677, 3677, 3677, 0, 3677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3677, 0, 0, 0, 3677, 3677, 0, 3677, 0, 3677, 0, 0, 3677, 3677, 3678, 0, 3678, 3678, 0, 3678, 3678, 3678, 3678, 0, 3678, 3678, 3678, 3678, 3678, 3678, 3678, 3678, 3678, 3678, 3678, 3678, 3678, 0, 3678, 3678, 3678, 3678, 3678, 3678, 3679, 3679, 3679, 3679, 0, 0, 0, 3679, 3679, 0, 3679, 0, 0, 0, 3679, 3679, 3679, 3679, 0, 3679, 3679, 0, 3679, 3679, 3679, 0, 0, 0, 3679, 3680, 3680, 3680, 3680, 0, 3680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3680, 0, 0, 0, 3680, 3680, 0, 3680, 0, 3680, 0, 0, 3680, 3680, 3681, 3681, 3681, 3681, 0, 3681, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3681, 3681, 0, 0, 0, 3681, 0, 0, 0, 3681, 3682, 3682, 3682, 3682, 0, 3682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3682, 3682, 0, 0, 0, 3682, 0, 0, 0, 3682, 3683, 3683, 3683, 3683, 0, 0, 0, 3683, 3683, 0, 3683, 0, 0, 0, 3683, 0, 3683, 3683, 0, 3683, 3683, 0, 0, 3683, 3683, 0, 0, 0, 3683, 3684, 0, 0, 3684, 0, 0, 0, 3684, 0, 0, 0, 3684, 3684, 0, 3684, 3684, 0, 3684, 0, 3684, 3684, 0, 0, 0, 3684, 0, 0, 0, 3684, 3685, 0, 0, 3685, 0, 3685, 0, 0, 3685, 3685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3685, 3685, 0, 0, 0, 3685, 0, 0, 0, 3685, 3686, 3686, 0, 3686, 3686, 3686, 3686, 3686, 0, 0, 3686, 3686, 3686, 3686, 3686, 3686, 3686, 3686, 0, 3686, 3686, 3686, 0, 3686, 0, 3686, 0, 0, 3686, 3686, 3687, 3687, 3687, 3687, 0, 0, 0, 3687, 0, 0, 0, 0, 0, 0, 3687, 3687, 0, 3687, 0, 3687, 3687, 0, 3687, 0, 3687, 0, 0, 0, 3687, 3688, 3688, 3688, 3688, 0, 3688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3688, 0, 0, 0, 3688, 3688, 0, 3688, 0, 3688, 0, 0, 3688, 3688, 3689, 3689, 0, 3689, 3689, 0, 3689, 3689, 0, 0, 3689, 3689, 3689, 3689, 0, 3689, 3689, 3689, 3689, 3689, 3689, 3689, 3689, 3689, 3689, 3689, 0, 0, 3689, 3689, 3690, 3690, 3690, 3690, 0, 3690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3690, 0, 0, 0, 3690, 3690, 0, 3690, 0, 3690, 0, 0, 3690, 3690, 3691, 3691, 3691, 3691, 0, 3691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3691, 3691, 0, 0, 0, 3691, 0, 0, 0, 3691, 3692, 3692, 3692, 3692, 0, 0, 0, 3692, 0, 0, 0, 0, 0, 0, 3692, 0, 0, 0, 0, 3692, 3692, 0, 0, 0, 3692, 0, 0, 0, 3692, 3693, 3693, 0, 3693, 0, 0, 0, 3693, 0, 0, 0, 3693, 3693, 0, 3693, 3693, 0, 3693, 0, 3693, 3693, 0, 0, 0, 3693, 0, 0, 0, 3693, 3694, 0, 0, 0, 0, 3694, 3694, 0, 0, 0, 3694, 0, 0, 0, 3694, 3695, 0, 0, 3695, 0, 0, 0, 3695, 0, 0, 0, 0, 0, 0, 3695, 3695, 0, 0, 0, 3695, 3695, 0, 3695, 0, 3695, 0, 0, 0, 3695, 3696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3696, 3696, 0, 0, 0, 3696, 0, 0, 0, 3696, 3697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3697, 3697, 0, 0, 0, 3697, 0, 0, 0, 3697, 3698, 0, 3698, 0, 0, 0, 0, 3698, 3698, 0, 0, 0, 3698, 0, 0, 0, 3698, 3699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3699, 3699, 0, 0, 0, 3699, 0, 0, 0, 3699, 3700, 0, 0, 0, 0, 3700, 3700, 0, 0, 0, 3700, 0, 0, 0, 3700, 3701, 3701, 0, 0, 0, 3701, 3701, 0, 3701, 0, 3701, 0, 0, 0, 3701, 3702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3702, 3702, 0, 0, 0, 3702, 0, 0, 0, 3702, 3703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3703, 3703, 0, 0, 0, 3703, 0, 0, 0, 3703, 3704, 0, 0, 0, 0, 3704, 3704, 0, 0, 0, 3704, 0, 0, 0, 3704, 3705, 3705, 0, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3705, 3706, 3706, 3706, 3706, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3706, 3706, 0, 3706, 0, 3706, 3706, 0, 3706, 0, 3706, 0, 0, 0, 3706, 3707, 3707, 3707, 3707, 0, 3707, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3707, 3707, 0, 0, 0, 3707, 0, 0, 3707, 3707, 3708, 3708, 0, 3708, 3708, 0, 3708, 3708, 3708, 3708, 3708, 3708, 0, 0, 0, 3708, 3708, 3708, 3708, 3708, 3708, 3708, 3708, 3708, 3708, 3708, 0, 3708, 3708, 3708, 3709, 3709, 3709, 3709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3709, 3709, 0, 3709, 0, 3709, 3709, 0, 3709, 0, 3709, 0, 0, 0, 3709, 3710, 3710, 3710, 3710, 0, 3710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3710, 3710, 0, 0, 0, 3710, 0, 0, 0, 3710, 3711, 0, 0, 3711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3711, 0, 0, 3711, 0, 3711, 3711, 0, 0, 0, 3711, 0, 0, 0, 3711, 3712, 0, 0, 0, 0, 3712, 3712, 0, 0, 0, 3712, 0, 0, 0, 3712, 3713, 0, 0, 0, 0, 3713, 3713, 0, 0, 0, 3713, 0, 0, 0, 3713, 3714, 0, 0, 3714, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3714, 3714, 0, 0, 0, 3714, 3714, 0, 0, 0, 3714, 0, 0, 0, 3714, 3715, 0, 0, 0, 0, 3715, 3715, 0, 0, 0, 3715, 0, 0, 0, 3715, 3716, 0, 0, 0, 0, 3716, 3716, 0, 0, 0, 3716, 0, 0, 0, 3716, 3717, 3717, 0, 3717, 0, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 3717, 0, 3717, 3717, 3717, 3717, 3717, 3717, 3718, 3718, 0, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3719, 3719, 3719, 3719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3719, 3719, 0, 0, 0, 3719, 3719, 0, 0, 3719, 3719, 0, 0, 0, 3719, 3720, 3720, 0, 3720, 3720, 0, 0, 3720, 3720, 3720, 3720, 3720, 3720, 3720, 3720, 3720, 3720, 3720, 3720, 3720, 3720, 3720, 3720, 0, 3720, 3720, 3720, 3720, 3720, 3720, 3721, 0, 0, 0, 0, 3721, 3721, 0, 0, 0, 3721, 0, 0, 0, 3721, 3722, 3722, 0, 3722, 3722, 0, 0, 3722, 3722, 3722, 3722, 3722, 3722, 3722, 3722, 3722, 3722, 3722, 3722, 3722, 3722, 3722, 3722, 0, 3722, 3722, 3722, 3722, 3722, 3722, 3723, 0, 0, 0, 0, 3723, 3723, 0, 0, 0, 3723, 0, 0, 0, 3723, 3724, 3724, 0, 0, 0, 3724, 3724, 0, 0, 0, 3724, 0, 0, 0, 3724, 3725, 3725, 0, 3725, 3725, 3725, 3725, 3725, 3725, 0, 3725, 3725, 3725, 3725, 3725, 3725, 3725, 3725, 3725, 3725, 3725, 3725, 3725, 3725, 3725, 3725, 3725, 3725, 3725, 3725, 3726, 0, 3726, 3726, 0, 3726, 3726, 3726, 0, 0, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 3726, 0, 3726, 3726, 3726, 3726, 3726, 3726, 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3727, 0, 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3728, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 0, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3730, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3731, 3732, 3732, 0, 0, 3732, 0, 3732, 3732, 3732, 3732, 3732, 3732, 3732, 3732, 3732, 3732, 3732, 3732, 3732, 3732, 3732, 3732, 3732, 0, 3732, 3732, 3732, 3732, 3732, 3732, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3733, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3734, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3735, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3736, 3737, 3737, 0, 0, 3737, 3737, 3737, 0, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 3737, 0, 3737, 3737, 3737, 3737, 3737, 3737, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3738, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3739, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 3740, 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, 3741, 3741, 3741, 3741, 3742, 3742, 0, 3742, 3742, 0, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 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, 3743, 3743, 3743, 3743, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 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, 3746, 3746, 3746, 3746, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3747, 3748, 3748, 0, 0, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3748, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3751, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3752, 3753, 3753, 0, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 0, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3755, 3755, 3755, 3755, 0, 0, 0, 3755, 3755, 0, 3755, 0, 3755, 0, 3755, 3755, 3755, 3755, 0, 3755, 3755, 0, 3755, 3755, 3755, 0, 0, 0, 3755, 3756, 0, 0, 3756, 0, 3756, 0, 0, 3756, 3756, 0, 0, 0, 0, 0, 3756, 0, 0, 0, 3756, 3756, 0, 3756, 0, 3756, 0, 0, 3756, 3756, 3757, 3757, 3757, 3757, 0, 3757, 0, 0, 3757, 0, 0, 0, 0, 0, 3757, 3757, 0, 0, 0, 3757, 3757, 0, 3757, 0, 3757, 0, 0, 3757, 3757, 3758, 3758, 3758, 3758, 0, 3758, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3758, 3758, 0, 0, 0, 3758, 0, 0, 0, 3758, 3759, 3759, 3759, 3759, 0, 0, 0, 0, 3759, 0, 3759, 0, 3759, 0, 3759, 0, 3759, 0, 0, 3759, 3759, 0, 0, 3759, 3759, 0, 0, 0, 3759, 3760, 3760, 3760, 3760, 0, 3760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3760, 3760, 0, 0, 0, 3760, 0, 0, 0, 3760, 3761, 3761, 3761, 3761, 0, 0, 0, 0, 3761, 0, 3761, 0, 0, 0, 3761, 0, 3761, 0, 0, 3761, 3761, 0, 0, 3761, 3761, 0, 0, 0, 3761, 3763, 3763, 3763, 3763, 0, 3763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3763, 3763, 0, 0, 0, 3763, 0, 0, 3763, 3763, 3764, 3764, 0, 3764, 3764, 0, 3764, 3764, 3764, 3764, 3764, 3764, 3764, 3764, 0, 3764, 3764, 3764, 3764, 3764, 3764, 3764, 3764, 3764, 3764, 3764, 0, 3764, 3764, 3764, 3765, 3765, 0, 3765, 3765, 0, 3765, 3765, 3765, 3765, 3765, 3765, 0, 0, 0, 3765, 3765, 3765, 3765, 3765, 3765, 3765, 3765, 3765, 3765, 3765, 0, 3765, 3765, 3765, 3766, 3766, 0, 3766, 3766, 0, 3766, 3766, 0, 0, 3766, 3766, 3766, 3766, 0, 3766, 3766, 3766, 3766, 3766, 3766, 3766, 3766, 3766, 3766, 3766, 0, 0, 3766, 3766, 3767, 3767, 3767, 3767, 0, 3767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3767, 0, 0, 0, 3767, 3767, 0, 3767, 0, 3767, 0, 0, 3767, 3767, 3768, 3768, 3768, 3768, 0, 0, 0, 3768, 3768, 0, 3768, 0, 0, 0, 3768, 3768, 3768, 3768, 0, 3768, 3768, 0, 3768, 3768, 3768, 0, 0, 0, 3768, 3769, 0, 3769, 3769, 0, 3769, 3769, 3769, 3769, 0, 3769, 3769, 3769, 3769, 3769, 3769, 3769, 3769, 3769, 3769, 3769, 3769, 3769, 0, 3769, 3769, 3769, 3769, 3769, 3769, 3770, 3770, 3770, 3770, 0, 0, 0, 3770, 3770, 0, 3770, 0, 0, 0, 3770, 3770, 3770, 3770, 0, 3770, 3770, 0, 3770, 3770, 3770, 0, 0, 0, 3770, 3771, 3771, 0, 3771, 3771, 0, 3771, 3771, 3771, 3771, 3771, 3771, 3771, 3771, 0, 3771, 3771, 3771, 3771, 3771, 3771, 3771, 3771, 3771, 3771, 3771, 0, 3771, 3771, 3771, 3772, 3772, 3772, 3772, 0, 3772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3772, 0, 0, 0, 3772, 3772, 0, 3772, 0, 3772, 0, 0, 3772, 3772, 3773, 3773, 3773, 3773, 0, 3773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3773, 0, 0, 0, 3773, 3773, 0, 3773, 0, 3773, 0, 0, 3773, 3773, 3774, 3774, 3774, 3774, 0, 0, 0, 3774, 0, 0, 0, 0, 0, 0, 3774, 3774, 0, 3774, 0, 3774, 3774, 0, 3774, 0, 3774, 0, 0, 0, 3774, 3775, 3775, 3775, 3775, 0, 3775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3775, 3775, 0, 0, 0, 3775, 0, 0, 0, 3775, 3776, 3776, 3776, 3776, 0, 3776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3776, 3776, 0, 0, 0, 3776, 0, 0, 0, 3776, 3777, 3777, 3777, 3777, 0, 0, 0, 3777, 3777, 0, 3777, 0, 0, 0, 3777, 0, 3777, 3777, 0, 3777, 3777, 0, 0, 3777, 3777, 0, 0, 0, 3777, 3778, 3778, 3778, 3778, 0, 0, 0, 3778, 3778, 0, 3778, 0, 0, 0, 3778, 0, 3778, 3778, 0, 3778, 3778, 0, 0, 3778, 3778, 0, 0, 0, 3778, 3779, 0, 0, 3779, 0, 0, 0, 3779, 0, 0, 0, 3779, 3779, 0, 3779, 3779, 0, 3779, 0, 3779, 3779, 0, 0, 0, 3779, 0, 0, 0, 3779, 3780, 0, 0, 3780, 0, 3780, 0, 0, 3780, 3780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3780, 3780, 0, 0, 0, 3780, 0, 0, 0, 3780, 3781, 0, 0, 3781, 0, 3781, 0, 0, 3781, 0, 0, 0, 0, 0, 3781, 0, 0, 0, 0, 3781, 3781, 0, 0, 0, 3781, 0, 0, 0, 3781, 3782, 0, 0, 3782, 0, 3782, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3782, 3782, 0, 0, 0, 3782, 0, 0, 0, 3782, 3783, 3783, 0, 3783, 3783, 3783, 3783, 3783, 0, 0, 3783, 3783, 3783, 3783, 3783, 3783, 3783, 3783, 0, 3783, 3783, 3783, 0, 3783, 0, 3783, 0, 0, 3783, 3783, 3784, 3784, 0, 3784, 3784, 0, 3784, 3784, 0, 0, 3784, 3784, 3784, 3784, 0, 3784, 3784, 3784, 3784, 3784, 3784, 3784, 3784, 3784, 3784, 3784, 0, 0, 3784, 3784, 3785, 3785, 3785, 3785, 0, 3785, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3785, 0, 0, 0, 3785, 3785, 0, 3785, 0, 3785, 0, 0, 3785, 3785, 3786, 3786, 3786, 3786, 0, 3786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3786, 0, 0, 0, 3786, 3786, 0, 3786, 0, 3786, 0, 0, 3786, 3786, 3787, 3787, 3787, 3787, 0, 0, 0, 3787, 0, 0, 0, 0, 0, 0, 3787, 3787, 0, 3787, 0, 3787, 3787, 0, 3787, 0, 3787, 0, 0, 0, 3787, 3788, 3788, 3788, 3788, 0, 3788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3788, 3788, 0, 0, 0, 3788, 0, 0, 0, 3788, 3789, 3789, 3789, 3789, 0, 0, 0, 3789, 0, 0, 0, 0, 0, 0, 3789, 0, 0, 0, 0, 3789, 3789, 0, 0, 0, 3789, 0, 0, 0, 3789, 3790, 3790, 0, 3790, 0, 0, 0, 3790, 0, 0, 0, 3790, 3790, 0, 3790, 3790, 0, 3790, 0, 3790, 3790, 0, 0, 0, 3790, 0, 0, 0, 3790, 3792, 0, 0, 0, 0, 0, 3792, 0, 0, 0, 0, 3792, 3792, 0, 0, 0, 3792, 0, 0, 0, 3792, 3793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3793, 3793, 0, 0, 0, 3793, 0, 0, 0, 3793, 3795, 0, 0, 0, 0, 3795, 3795, 0, 3795, 0, 3795, 0, 0, 0, 3795, 3796, 0, 0, 3796, 0, 0, 0, 3796, 0, 0, 0, 0, 0, 0, 3796, 3796, 0, 0, 0, 3796, 3796, 0, 3796, 0, 3796, 0, 0, 0, 3796, 3798, 0, 3798, 0, 0, 0, 0, 3798, 3798, 0, 0, 0, 3798, 0, 0, 0, 3798, 3799, 0, 0, 0, 0, 3799, 3799, 0, 0, 0, 3799, 0, 0, 0, 3799, 3800, 3800, 0, 0, 0, 3800, 3800, 0, 3800, 0, 3800, 0, 0, 0, 3800, 3801, 0, 0, 0, 0, 3801, 3801, 0, 0, 0, 3801, 0, 0, 0, 3801, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3803, 3803, 0, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3807, 3807, 3807, 3807, 0, 3807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3807, 3807, 0, 0, 0, 3807, 0, 0, 3807, 3807, 3808, 3808, 3808, 3808, 0, 3808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3808, 3808, 0, 0, 0, 3808, 0, 0, 3808, 3808, 3809, 3809, 3809, 3809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3809, 3809, 0, 3809, 0, 3809, 3809, 0, 3809, 0, 3809, 0, 0, 0, 3809, 3810, 3810, 3810, 3810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3810, 3810, 0, 3810, 0, 3810, 3810, 0, 3810, 0, 3810, 0, 0, 0, 3810, 3811, 3811, 0, 3811, 3811, 0, 3811, 3811, 3811, 3811, 3811, 3811, 0, 0, 0, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 0, 3811, 3811, 3811, 3812, 0, 0, 3812, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3812, 0, 0, 3812, 0, 3812, 3812, 0, 0, 0, 3812, 0, 0, 0, 3812, 3813, 0, 0, 0, 0, 3813, 3813, 0, 0, 0, 3813, 0, 0, 0, 3813, 3814, 0, 0, 0, 0, 3814, 3814, 0, 0, 0, 3814, 0, 0, 0, 3814, 3815, 0, 0, 0, 0, 3815, 3815, 0, 0, 0, 3815, 0, 0, 0, 3815, 3816, 3816, 0, 3816, 0, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 0, 3816, 3816, 3816, 3816, 3816, 3816, 3817, 0, 0, 0, 0, 3817, 3817, 0, 0, 0, 3817, 0, 0, 0, 3817, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3818, 3819, 3819, 0, 3819, 3819, 0, 0, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 3819, 0, 3819, 3819, 3819, 3819, 3819, 3819, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3820, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3821, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3822, 3823, 0, 0, 0, 0, 3823, 3823, 0, 0, 0, 3823, 0, 0, 0, 3823, 3824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3824, 3824, 0, 0, 0, 3824, 0, 0, 0, 3824, 3825, 0, 3825, 3825, 0, 3825, 3825, 3825, 0, 0, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 0, 3825, 3825, 3825, 3825, 3825, 3825, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3826, 3827, 3827, 0, 3827, 3827, 3827, 3827, 3827, 3827, 0, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3829, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3830, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 0, 3831, 3831, 3831, 0, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3832, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3833, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 0, 3834, 3834, 3834, 0, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3836, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3837, 3838, 3838, 0, 0, 3838, 0, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 3838, 0, 3838, 3838, 3838, 3838, 3838, 3838, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3839, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3840, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3841, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3842, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3843, 3844, 3844, 0, 0, 3844, 3844, 3844, 0, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 3844, 0, 3844, 3844, 3844, 3844, 3844, 3844, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3850, 3850, 0, 3850, 3850, 0, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3853, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3854, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3856, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3859, 3859, 0, 0, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3867, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3868, 3869, 3869, 3869, 3869, 0, 0, 0, 3869, 3869, 0, 3869, 0, 3869, 0, 3869, 3869, 3869, 3869, 0, 3869, 3869, 0, 3869, 3869, 3869, 0, 0, 0, 3869, 3870, 3870, 3870, 3870, 0, 3870, 0, 0, 3870, 0, 0, 0, 0, 0, 3870, 3870, 0, 0, 0, 3870, 3870, 0, 3870, 0, 3870, 0, 0, 3870, 3870, 3871, 3871, 3871, 3871, 0, 3871, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3871, 3871, 0, 0, 0, 3871, 0, 0, 3871, 3871, 3872, 3872, 3872, 3872, 0, 3872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3872, 3872, 0, 0, 0, 3872, 0, 0, 0, 3872, 3873, 0, 0, 3873, 0, 3873, 0, 0, 3873, 0, 0, 0, 0, 0, 3873, 3873, 0, 0, 0, 3873, 3873, 0, 3873, 0, 3873, 0, 0, 3873, 3873, 3874, 3874, 3874, 3874, 0, 0, 0, 0, 3874, 0, 3874, 0, 0, 0, 3874, 0, 3874, 0, 0, 3874, 3874, 0, 0, 3874, 3874, 0, 0, 0, 3874, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 0, 3875, 3875, 3875, 3875, 0, 0, 3875, 3875, 3875, 0, 3875, 3875, 3875, 3875, 3876, 3876, 3876, 3876, 3876, 3876, 3876, 3876, 3876, 3876, 3876, 3876, 3876, 3876, 3876, 0, 3876, 3876, 3876, 3876, 0, 0, 3876, 3876, 3876, 0, 3876, 3876, 3876, 3876, 3877, 3877, 3877, 3877, 0, 3877, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3877, 0, 0, 0, 3877, 3877, 0, 3877, 0, 3877, 0, 0, 3877, 3877, 3878, 3878, 3878, 3878, 0, 0, 0, 3878, 3878, 0, 3878, 0, 0, 0, 3878, 3878, 3878, 3878, 0, 3878, 3878, 0, 3878, 3878, 3878, 0, 0, 0, 3878, 3879, 0, 3879, 3879, 0, 3879, 3879, 3879, 3879, 0, 3879, 3879, 3879, 3879, 3879, 3879, 3879, 3879, 3879, 3879, 3879, 3879, 3879, 0, 3879, 3879, 3879, 3879, 3879, 3879, 3880, 3880, 0, 3880, 3880, 0, 3880, 3880, 3880, 3880, 3880, 3880, 3880, 3880, 0, 3880, 3880, 3880, 3880, 3880, 3880, 3880, 3880, 3880, 3880, 3880, 0, 3880, 3880, 3880, 3881, 3881, 0, 3881, 3881, 0, 3881, 3881, 0, 0, 3881, 3881, 3881, 3881, 0, 3881, 3881, 3881, 3881, 3881, 3881, 3881, 3881, 3881, 3881, 3881, 0, 0, 3881, 3881, 3882, 3882, 3882, 3882, 0, 3882, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3882, 0, 0, 0, 3882, 3882, 0, 3882, 0, 3882, 0, 0, 3882, 3882, 3883, 3883, 3883, 3883, 0, 0, 0, 3883, 0, 0, 0, 0, 0, 0, 3883, 3883, 0, 3883, 0, 3883, 3883, 0, 3883, 0, 3883, 0, 0, 0, 3883, 3884, 3884, 3884, 3884, 0, 3884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3884, 3884, 0, 0, 0, 3884, 0, 0, 0, 3884, 3885, 3885, 3885, 3885, 0, 0, 0, 3885, 0, 0, 0, 0, 0, 0, 3885, 0, 0, 0, 0, 3885, 3885, 0, 0, 0, 3885, 0, 0, 0, 3885, 3886, 3886, 3886, 3886, 0, 0, 0, 3886, 3886, 0, 3886, 0, 0, 0, 3886, 0, 3886, 3886, 0, 3886, 3886, 0, 0, 3886, 3886, 0, 0, 0, 3886, 3887, 3887, 3887, 3887, 0, 3887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3887, 3887, 0, 0, 0, 3887, 0, 0, 3887, 3887, 3888, 3888, 0, 3888, 3888, 0, 3888, 3888, 3888, 3888, 3888, 3888, 3888, 3888, 0, 3888, 3888, 3888, 3888, 3888, 3888, 3888, 3888, 3888, 3888, 3888, 0, 3888, 3888, 3888, 3889, 3889, 3889, 3889, 0, 3889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3889, 0, 0, 0, 3889, 3889, 0, 3889, 0, 3889, 0, 0, 3889, 3889, 3890, 0, 0, 3890, 0, 0, 0, 3890, 0, 0, 0, 3890, 3890, 0, 3890, 3890, 0, 3890, 0, 3890, 3890, 0, 0, 0, 3890, 0, 0, 0, 3890, 3891, 0, 0, 3891, 0, 3891, 0, 0, 3891, 0, 0, 0, 0, 0, 3891, 0, 0, 0, 0, 3891, 3891, 0, 0, 0, 3891, 0, 0, 0, 3891, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 0, 3892, 3892, 3892, 3892, 0, 0, 3892, 3892, 3892, 0, 3892, 3892, 3892, 3892, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 0, 3893, 3893, 3893, 3893, 0, 0, 3893, 3893, 3893, 0, 3893, 3893, 3893, 3893, 3894, 0, 0, 3894, 0, 3894, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3894, 3894, 0, 0, 0, 3894, 0, 0, 0, 3894, 3895, 0, 0, 3895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3895, 3895, 0, 3895, 0, 3895, 3895, 0, 0, 0, 3895, 0, 0, 0, 3895, 3896, 3896, 0, 3896, 3896, 3896, 3896, 3896, 0, 0, 3896, 3896, 3896, 3896, 3896, 3896, 3896, 3896, 0, 3896, 3896, 3896, 0, 3896, 0, 3896, 0, 0, 3896, 3896, 3897, 3897, 3897, 3897, 0, 0, 0, 3897, 0, 0, 0, 0, 0, 0, 3897, 3897, 0, 3897, 0, 3897, 3897, 0, 3897, 0, 3897, 0, 0, 0, 3897, 3898, 3898, 3898, 3898, 0, 3898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3898, 3898, 0, 0, 0, 3898, 0, 0, 0, 3898, 3899, 3899, 3899, 3899, 0, 0, 0, 3899, 0, 0, 0, 0, 0, 0, 3899, 0, 0, 0, 0, 3899, 3899, 0, 0, 0, 3899, 0, 0, 0, 3899, 3900, 3900, 0, 3900, 0, 0, 0, 3900, 0, 0, 0, 3900, 3900, 0, 3900, 3900, 0, 3900, 0, 3900, 3900, 0, 0, 0, 3900, 0, 0, 0, 3900, 3901, 0, 0, 0, 0, 0, 3901, 0, 0, 0, 0, 3901, 3901, 0, 0, 0, 3901, 0, 0, 0, 3901, 3903, 3903, 0, 0, 0, 3903, 3903, 0, 0, 0, 3903, 0, 0, 0, 3903, 3904, 0, 0, 0, 0, 3904, 3904, 0, 3904, 0, 3904, 0, 0, 0, 3904, 3905, 0, 0, 3905, 0, 0, 0, 3905, 0, 0, 0, 0, 0, 0, 3905, 3905, 0, 0, 0, 3905, 3905, 0, 3905, 0, 3905, 0, 0, 0, 3905, 3906, 0, 3906, 0, 0, 0, 0, 3906, 3906, 0, 0, 0, 3906, 0, 0, 0, 3906, 3907, 0, 0, 0, 0, 3907, 3907, 0, 0, 0, 3907, 0, 0, 0, 3907, 3908, 3908, 0, 0, 0, 3908, 3908, 0, 3908, 0, 3908, 0, 0, 0, 3908, 3909, 0, 0, 0, 0, 3909, 3909, 0, 0, 0, 3909, 0, 0, 0, 3909, 3910, 3910, 0, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3910, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3913, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3919, 3919, 3919, 3919, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3919, 3919, 0, 3919, 0, 3919, 3919, 0, 3919, 0, 3919, 0, 0, 0, 3919, 3920, 3920, 3920, 3920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3920, 3920, 0, 3920, 0, 3920, 3920, 0, 3920, 0, 3920, 0, 0, 0, 3920, 3921, 0, 0, 0, 0, 3921, 3921, 0, 0, 0, 3921, 0, 0, 0, 3921, 3922, 0, 0, 3922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3922, 0, 0, 0, 0, 3922, 3922, 0, 0, 0, 3922, 0, 0, 0, 3922, 3923, 0, 0, 0, 0, 3923, 3923, 0, 0, 0, 3923, 0, 0, 0, 3923, 3924, 3924, 0, 3924, 0, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 0, 3924, 3924, 3924, 3924, 3924, 3924, 3925, 3925, 0, 3925, 3925, 0, 0, 3925, 3925, 3925, 3925, 3925, 3925, 3925, 3925, 3925, 3925, 3925, 3925, 3925, 3925, 3925, 3925, 0, 3925, 3925, 3925, 3925, 3925, 3925, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 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, 3931, 0, 0, 0, 0, 3931, 3931, 0, 0, 0, 3931, 0, 0, 0, 3931, 3933, 3933, 0, 0, 0, 3933, 3933, 0, 0, 0, 3933, 0, 0, 0, 3933, 3934, 0, 3934, 3934, 0, 3934, 3934, 3934, 0, 0, 3934, 3934, 3934, 3934, 3934, 3934, 3934, 3934, 3934, 3934, 3934, 3934, 3934, 0, 3934, 3934, 3934, 3934, 3934, 3934, 3935, 3935, 0, 3935, 3935, 3935, 3935, 3935, 3935, 0, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3945, 3945, 0, 0, 3945, 0, 3945, 3945, 3945, 3945, 3945, 3945, 3945, 3945, 3945, 3945, 3945, 3945, 3945, 3945, 3945, 3945, 3945, 0, 3945, 3945, 3945, 3945, 3945, 3945, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3948, 3948, 0, 0, 3948, 3948, 3948, 0, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 3948, 0, 3948, 3948, 3948, 3948, 3948, 3948, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3949, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3950, 3951, 3951, 0, 3951, 3951, 0, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3951, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3953, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3957, 3957, 0, 0, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3958, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3959, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3961, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3963, 3964, 3964, 3964, 3964, 0, 0, 0, 3964, 3964, 0, 3964, 3964, 3964, 0, 3964, 3964, 3964, 3964, 0, 3964, 3964, 0, 3964, 3964, 3964, 0, 0, 0, 3964, 3965, 3965, 3965, 3965, 0, 3965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3965, 3965, 0, 0, 0, 3965, 0, 0, 3965, 3965, 3966, 0, 0, 3966, 0, 3966, 0, 0, 3966, 0, 0, 0, 0, 0, 3966, 3966, 0, 0, 0, 3966, 3966, 0, 3966, 0, 3966, 0, 0, 3966, 3966, 3967, 3967, 3967, 3967, 0, 3967, 0, 0, 3967, 0, 0, 0, 0, 0, 3967, 3967, 0, 0, 0, 3967, 3967, 0, 3967, 0, 3967, 0, 0, 3967, 3967, 3968, 3968, 3968, 3968, 0, 3968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3968, 0, 0, 0, 3968, 3968, 0, 3968, 0, 3968, 0, 0, 3968, 3968, 3969, 3969, 3969, 3969, 0, 3969, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3969, 0, 0, 0, 3969, 3969, 0, 3969, 0, 3969, 0, 0, 3969, 3969, 3970, 3970, 3970, 3970, 0, 0, 0, 3970, 0, 0, 0, 0, 0, 0, 3970, 3970, 0, 3970, 0, 3970, 3970, 0, 3970, 0, 3970, 0, 0, 0, 3970, 3971, 3971, 3971, 3971, 0, 0, 0, 3971, 3971, 0, 3971, 0, 0, 0, 3971, 3971, 3971, 3971, 0, 3971, 3971, 0, 3971, 3971, 3971, 0, 0, 0, 3971, 3972, 0, 3972, 3972, 0, 3972, 3972, 3972, 3972, 0, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 0, 3972, 3972, 3972, 3972, 3972, 3972, 3973, 3973, 3973, 3973, 0, 0, 0, 3973, 0, 0, 0, 0, 0, 0, 3973, 0, 0, 0, 0, 3973, 3973, 0, 0, 0, 3973, 0, 0, 0, 3973, 3974, 3974, 3974, 3974, 0, 3974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3974, 3974, 0, 0, 0, 3974, 0, 0, 3974, 3974, 3975, 0, 0, 3975, 0, 0, 0, 3975, 0, 0, 0, 3975, 3975, 0, 3975, 3975, 0, 3975, 0, 3975, 3975, 0, 0, 0, 3975, 0, 0, 0, 3975, 3976, 0, 0, 3976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3976, 3976, 0, 3976, 0, 3976, 3976, 0, 0, 0, 3976, 0, 0, 0, 3976, 3977, 3977, 3977, 3977, 0, 0, 0, 3977, 0, 0, 0, 0, 0, 0, 3977, 0, 0, 0, 0, 3977, 3977, 0, 0, 0, 3977, 0, 0, 0, 3977, 3978, 3978, 0, 3978, 0, 0, 0, 3978, 0, 0, 0, 3978, 3978, 0, 3978, 3978, 0, 3978, 0, 3978, 3978, 0, 0, 0, 3978, 0, 0, 0, 3978, 3979, 3979, 0, 0, 0, 3979, 3979, 0, 0, 0, 3979, 0, 0, 0, 3979, 3980, 0, 0, 3980, 0, 0, 0, 3980, 0, 0, 0, 0, 0, 0, 3980, 3980, 0, 0, 0, 3980, 3980, 0, 3980, 0, 3980, 0, 0, 0, 3980, 3981, 0, 0, 0, 0, 3981, 3981, 0, 0, 0, 3981, 0, 0, 0, 3981, 3982, 3982, 0, 0, 0, 3982, 3982, 0, 3982, 0, 3982, 0, 0, 0, 3982, 3983, 0, 0, 0, 0, 3983, 3983, 0, 0, 0, 3983, 0, 0, 0, 3983, 3984, 3984, 0, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3985, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3986, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3988, 3989, 3989, 3989, 3989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3989, 3989, 0, 3989, 0, 3989, 3989, 0, 3989, 0, 3989, 0, 0, 0, 3989, 3990, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3990, 3990, 0, 0, 0, 3990, 0, 0, 0, 3990, 3991, 3991, 3991, 3991, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3991, 3991, 0, 3991, 0, 3991, 3991, 0, 3991, 0, 3991, 0, 0, 0, 3991, 3992, 3992, 3992, 3992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3992, 0, 3992, 0, 3992, 3992, 3992, 0, 0, 0, 3992, 3992, 0, 0, 3992, 3993, 0, 0, 0, 0, 3993, 3993, 0, 0, 0, 3993, 0, 0, 0, 3993, 3994, 0, 0, 0, 0, 3994, 3994, 0, 0, 0, 3994, 0, 0, 0, 3994, 3995, 3995, 0, 3995, 3995, 0, 0, 3995, 3995, 3995, 3995, 3995, 3995, 3995, 3995, 3995, 3995, 3995, 3995, 3995, 3995, 3995, 3995, 0, 3995, 3995, 3995, 3995, 3995, 3995, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3997, 3998, 0, 0, 0, 0, 3998, 3998, 0, 0, 0, 3998, 0, 0, 0, 3998, 3999, 3999, 0, 0, 0, 3999, 3999, 0, 0, 0, 3999, 0, 0, 0, 3999, 4000, 0, 4000, 4000, 0, 4000, 4000, 4000, 0, 0, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 0, 4000, 4000, 4000, 4000, 4000, 4000, 4001, 4001, 0, 4001, 4001, 4001, 4001, 4001, 4001, 0, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4005, 4005, 0, 0, 4005, 0, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 0, 4005, 4005, 4005, 4005, 4005, 4005, 4006, 4006, 0, 0, 4006, 4006, 4006, 0, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 0, 4006, 4006, 4006, 4006, 4006, 4006, 4007, 4007, 0, 4007, 4007, 0, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4009, 4009, 0, 0, 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, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4010, 4011, 4011, 4011, 4011, 4011, 4011, 4011, 4011, 4011, 4011, 0, 4011, 4011, 4011, 0, 4011, 4011, 4011, 4011, 4011, 4011, 4011, 4011, 4011, 4011, 4011, 4011, 4011, 4011, 4011, 4012, 4012, 4012, 4012, 0, 4012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4012, 4012, 0, 0, 0, 4012, 0, 0, 4012, 4012, 4013, 4013, 4013, 4013, 0, 4013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4013, 4013, 0, 0, 0, 4013, 0, 0, 4013, 4013, 4014, 4014, 4014, 4014, 4014, 4014, 4014, 4014, 4014, 4014, 4014, 4014, 4014, 4014, 4014, 0, 4014, 4014, 4014, 4014, 0, 0, 4014, 4014, 4014, 0, 4014, 4014, 4014, 4014, 4016, 4016, 4016, 4016, 0, 0, 0, 4016, 0, 0, 0, 0, 0, 0, 4016, 4016, 0, 4016, 0, 4016, 4016, 0, 4016, 0, 4016, 0, 0, 0, 4016, 4017, 4017, 4017, 4017, 0, 0, 0, 4017, 0, 0, 0, 0, 0, 0, 4017, 4017, 0, 4017, 0, 4017, 4017, 0, 4017, 0, 4017, 0, 0, 0, 4017, 4018, 4018, 0, 4018, 4018, 0, 4018, 4018, 0, 0, 4018, 4018, 4018, 4018, 0, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 4018, 0, 0, 4018, 4018, 4019, 4019, 4019, 4019, 0, 0, 0, 4019, 4019, 0, 4019, 0, 0, 0, 4019, 4019, 4019, 4019, 0, 4019, 4019, 0, 4019, 4019, 4019, 0, 0, 0, 4019, 4020, 4020, 4020, 4020, 0, 0, 0, 4020, 4020, 0, 4020, 0, 4020, 0, 4020, 4020, 4020, 4020, 0, 4020, 4020, 0, 4020, 4020, 4020, 0, 0, 0, 4020, 4021, 0, 4021, 4021, 0, 4021, 4021, 4021, 4021, 0, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 4021, 0, 4021, 4021, 4021, 4021, 4021, 4021, 4022, 4022, 4022, 4022, 0, 4022, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4022, 0, 0, 0, 4022, 4022, 0, 4022, 0, 4022, 0, 0, 4022, 4022, 4023, 0, 0, 4023, 0, 0, 0, 4023, 0, 0, 0, 4023, 4023, 0, 4023, 4023, 0, 4023, 0, 4023, 4023, 0, 0, 0, 4023, 0, 0, 0, 4023, 4024, 4024, 0, 4024, 0, 0, 0, 4024, 0, 0, 0, 4024, 4024, 0, 4024, 4024, 0, 4024, 0, 4024, 4024, 0, 0, 0, 4024, 0, 0, 0, 4024, 4025, 0, 0, 4025, 0, 0, 0, 4025, 0, 0, 0, 0, 0, 0, 4025, 4025, 0, 0, 0, 4025, 4025, 0, 4025, 0, 4025, 0, 0, 0, 4025, 4026, 0, 0, 0, 0, 4026, 4026, 0, 0, 0, 4026, 0, 0, 0, 4026, 4027, 4027, 0, 0, 0, 4027, 4027, 0, 4027, 0, 4027, 0, 0, 0, 4027, 4028, 0, 0, 0, 0, 4028, 4028, 0, 0, 0, 4028, 0, 0, 0, 4028, 4029, 4029, 0, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4029, 4031, 0, 0, 4031, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4031, 4031, 0, 0, 0, 4031, 4031, 0, 0, 0, 4031, 0, 0, 0, 4031, 4032, 4032, 4032, 4032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4032, 4032, 0, 4032, 0, 4032, 4032, 0, 4032, 0, 4032, 0, 0, 0, 4032, 4033, 0, 0, 0, 0, 4033, 4033, 0, 0, 0, 4033, 0, 0, 0, 4033, 4034, 0, 0, 0, 0, 4034, 4034, 0, 0, 0, 4034, 0, 0, 0, 4034, 4035, 0, 0, 0, 0, 4035, 4035, 0, 0, 0, 4035, 0, 0, 0, 4035, 4036, 4036, 0, 4036, 4036, 0, 0, 4036, 4036, 4036, 4036, 4036, 4036, 4036, 4036, 4036, 4036, 4036, 4036, 4036, 4036, 4036, 4036, 0, 4036, 4036, 4036, 4036, 4036, 4036, 4037, 0, 0, 0, 0, 4037, 4037, 0, 0, 0, 4037, 0, 0, 0, 4037, 4038, 0, 4038, 4038, 0, 4038, 4038, 4038, 0, 0, 4038, 4038, 4038, 4038, 4038, 4038, 4038, 4038, 4038, 4038, 4038, 4038, 4038, 0, 4038, 4038, 4038, 4038, 4038, 4038, 4039, 4039, 0, 4039, 4039, 4039, 4039, 4039, 4039, 0, 4039, 4039, 4039, 4039, 4039, 4039, 4039, 4039, 4039, 4039, 4039, 4039, 4039, 4039, 4039, 4039, 4039, 4039, 4039, 4039, 4040, 4040, 0, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4041, 4041, 0, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4041, 4042, 4042, 0, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4042, 4043, 4043, 0, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4044, 4044, 0, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4044, 4045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4045, 0, 0, 0, 4045, 4045, 0, 4045, 0, 4045, 0, 0, 4045, 4045, 4046, 4046, 4046, 4046, 0, 0, 0, 4046, 0, 0, 0, 0, 0, 0, 4046, 4046, 0, 4046, 0, 4046, 4046, 0, 4046, 0, 4046, 0, 0, 0, 4046, 4047, 4047, 4047, 4047, 0, 0, 0, 4047, 0, 0, 0, 0, 0, 0, 4047, 4047, 0, 4047, 0, 4047, 4047, 0, 4047, 0, 4047, 0, 0, 0, 4047, 4048, 4048, 4048, 4048, 0, 0, 0, 4048, 4048, 0, 4048, 0, 0, 0, 4048, 4048, 4048, 4048, 0, 4048, 4048, 0, 4048, 4048, 4048, 0, 0, 0, 4048, 4049, 4049, 4049, 4049, 0, 0, 0, 4049, 4049, 0, 4049, 0, 4049, 0, 4049, 4049, 4049, 4049, 0, 4049, 4049, 0, 4049, 4049, 4049, 0, 0, 0, 4049, 4050, 0, 4050, 4050, 0, 4050, 4050, 4050, 4050, 0, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 4050, 0, 4050, 4050, 4050, 4050, 4050, 4050, 4052, 4052, 4052, 4052, 0, 0, 0, 4052, 0, 0, 0, 0, 0, 0, 4052, 4052, 0, 4052, 0, 4052, 4052, 0, 4052, 0, 4052, 0, 0, 0, 4052, 4053, 0, 0, 4053, 0, 0, 0, 4053, 0, 0, 0, 4053, 4053, 0, 4053, 4053, 0, 4053, 0, 4053, 4053, 0, 0, 0, 4053, 0, 0, 0, 4053, 4054, 4054, 0, 4054, 0, 0, 0, 4054, 0, 0, 0, 4054, 4054, 0, 4054, 4054, 0, 4054, 0, 4054, 4054, 0, 0, 0, 4054, 0, 0, 0, 4054, 4055, 0, 0, 4055, 0, 0, 0, 4055, 0, 0, 0, 0, 0, 0, 4055, 4055, 0, 0, 0, 4055, 4055, 0, 4055, 0, 4055, 0, 0, 0, 4055, 4056, 0, 0, 0, 0, 4056, 4056, 0, 0, 0, 4056, 0, 0, 0, 4056, 4057, 4057, 0, 0, 0, 4057, 4057, 0, 4057, 0, 4057, 0, 0, 0, 4057, 4058, 0, 0, 0, 0, 4058, 4058, 0, 0, 0, 4058, 0, 0, 0, 4058, 4059, 4059, 0, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4060, 4060, 4060, 4060, 4060, 4060, 4060, 4060, 4060, 4060, 4060, 4060, 4060, 4060, 4060, 0, 4060, 4060, 4060, 4060, 0, 0, 4060, 4060, 4060, 4060, 4060, 4060, 4060, 4060, 4061, 0, 0, 4061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4061, 4061, 0, 0, 0, 4061, 4061, 0, 0, 0, 4061, 0, 0, 0, 4061, 4062, 4062, 4062, 4062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4062, 4062, 0, 4062, 0, 4062, 4062, 0, 4062, 0, 4062, 0, 0, 0, 4062, 4063, 0, 0, 0, 0, 4063, 4063, 0, 0, 0, 4063, 0, 0, 0, 4063, 4064, 0, 0, 0, 0, 4064, 4064, 0, 0, 0, 4064, 0, 0, 0, 4064, 4065, 0, 0, 0, 0, 4065, 4065, 0, 0, 0, 4065, 0, 0, 0, 4065, 4066, 4066, 0, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4066, 4067, 0, 0, 0, 0, 4067, 4067, 0, 0, 0, 4067, 0, 0, 0, 4067, 4068, 0, 4068, 4068, 0, 4068, 4068, 4068, 0, 0, 4068, 4068, 4068, 4068, 4068, 4068, 4068, 4068, 4068, 4068, 4068, 4068, 4068, 0, 4068, 4068, 4068, 4068, 4068, 4068, 4069, 4069, 0, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4069, 4070, 4070, 0, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4071, 4071, 0, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4072, 4072, 0, 0, 4072, 0, 4072, 4072, 4072, 4072, 4072, 4072, 4072, 4072, 4072, 4072, 4072, 4072, 4072, 4072, 4072, 4072, 4072, 0, 4072, 4072, 4072, 4072, 4072, 4072, 4073, 4073, 0, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4073, 4074, 4074, 0, 0, 4074, 4074, 4074, 0, 4074, 4074, 4074, 4074, 4074, 4074, 4074, 4074, 4074, 4074, 4074, 4074, 4074, 4074, 4074, 0, 4074, 4074, 4074, 4074, 4074, 4074, 4075, 4075, 0, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4075, 4076, 4076, 0, 4076, 4076, 0, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4076, 4077, 4077, 0, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4078, 4078, 0, 0, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4078, 4080, 4080, 4080, 4080, 0, 0, 0, 0, 4080, 0, 4080, 0, 0, 0, 4080, 4080, 4080, 0, 0, 4080, 4080, 0, 4080, 4080, 4080, 0, 0, 0, 4080, 4081, 4081, 4081, 4081, 0, 4081, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4081, 4081, 0, 0, 0, 4081, 0, 0, 0, 4081, 4082, 4082, 4082, 4082, 0, 0, 0, 4082, 0, 0, 0, 0, 0, 0, 4082, 4082, 0, 4082, 0, 4082, 4082, 0, 4082, 0, 4082, 0, 0, 0, 4082, 4083, 4083, 4083, 4083, 0, 0, 0, 4083, 0, 0, 0, 0, 0, 0, 4083, 4083, 0, 4083, 0, 4083, 4083, 0, 4083, 0, 4083, 0, 0, 0, 4083, 4084, 4084, 4084, 4084, 0, 0, 0, 4084, 4084, 0, 4084, 0, 0, 0, 4084, 4084, 4084, 4084, 0, 4084, 4084, 0, 4084, 4084, 4084, 0, 0, 0, 4084, 4085, 4085, 4085, 4085, 0, 0, 0, 4085, 4085, 0, 4085, 0, 4085, 0, 4085, 4085, 4085, 4085, 0, 4085, 4085, 0, 4085, 4085, 4085, 0, 0, 0, 4085, 4086, 0, 4086, 4086, 0, 4086, 4086, 4086, 4086, 0, 4086, 4086, 4086, 4086, 4086, 4086, 4086, 4086, 4086, 4086, 4086, 4086, 4086, 0, 4086, 4086, 4086, 4086, 4086, 4086, 4087, 4087, 4087, 4087, 0, 0, 0, 4087, 0, 0, 0, 0, 0, 0, 4087, 4087, 0, 4087, 0, 4087, 4087, 0, 4087, 0, 4087, 0, 0, 0, 4087, 4088, 4088, 4088, 4088, 0, 4088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4088, 4088, 0, 0, 0, 4088, 0, 0, 4088, 4088, 4089, 4089, 0, 4089, 4089, 0, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 0, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 4089, 0, 4089, 4089, 4089, 4090, 4090, 4090, 4090, 0, 4090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4090, 0, 0, 0, 4090, 4090, 0, 4090, 0, 4090, 0, 0, 4090, 4090, 4091, 0, 0, 4091, 0, 0, 0, 4091, 0, 0, 0, 4091, 4091, 0, 4091, 4091, 0, 4091, 0, 4091, 4091, 0, 0, 0, 4091, 0, 0, 0, 4091, 4092, 4092, 0, 4092, 4092, 4092, 4092, 4092, 0, 0, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 4092, 0, 4092, 4092, 4092, 0, 4092, 0, 4092, 0, 0, 4092, 4092, 4093, 4093, 0, 4093, 0, 0, 0, 4093, 0, 0, 0, 4093, 4093, 0, 4093, 4093, 0, 4093, 0, 4093, 4093, 0, 0, 0, 4093, 0, 0, 0, 4093, 4094, 0, 0, 4094, 0, 0, 0, 4094, 0, 0, 0, 0, 0, 0, 4094, 4094, 0, 0, 0, 4094, 4094, 0, 4094, 0, 4094, 0, 0, 0, 4094, 4095, 0, 0, 0, 0, 4095, 4095, 0, 0, 0, 4095, 0, 0, 0, 4095, 4096, 4096, 0, 0, 0, 4096, 4096, 0, 4096, 0, 4096, 0, 0, 0, 4096, 4097, 0, 0, 0, 0, 4097, 4097, 0, 0, 0, 4097, 0, 0, 0, 4097, 4098, 4098, 0, 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, 0, 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, 0, 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, 0, 0, 0, 0, 4101, 4101, 0, 0, 0, 4101, 0, 0, 0, 4101, 4102, 4102, 0, 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, 0, 4103, 4103, 0, 0, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 4103, 0, 4103, 4103, 4103, 4103, 4103, 4103, 4104, 0, 4104, 4104, 0, 4104, 4104, 4104, 0, 0, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 0, 4104, 4104, 4104, 4104, 4104, 4104, 4105, 4105, 0, 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, 0, 4106, 4106, 4106, 4106, 4106, 4106, 0, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4107, 4107, 0, 0, 4107, 0, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 0, 4107, 4107, 4107, 4107, 4107, 4107, 4108, 4108, 0, 0, 4108, 4108, 4108, 0, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 0, 4108, 4108, 4108, 4108, 4108, 4108, 4109, 4109, 0, 4109, 4109, 0, 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, 0, 0, 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, 0, 0, 0, 0, 4111, 0, 4111, 0, 0, 0, 4111, 4111, 4111, 0, 0, 4111, 4111, 0, 4111, 4111, 4111, 0, 0, 0, 4111, 4112, 4112, 4112, 4112, 0, 4112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4112, 4112, 0, 0, 0, 4112, 0, 0, 4112, 4112, 4113, 4113, 4113, 4113, 0, 4113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4113, 4113, 0, 0, 0, 4113, 0, 0, 0, 4113, 4114, 4114, 4114, 4114, 0, 0, 0, 0, 4114, 0, 4114, 0, 0, 0, 4114, 0, 4114, 0, 0, 4114, 4114, 0, 0, 4114, 4114, 0, 0, 0, 4114, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 4115, 0, 4115, 4115, 4115, 4115, 0, 0, 4115, 4115, 4115, 0, 4115, 4115, 4115, 4115, 4116, 4116, 4116, 4116, 0, 0, 0, 4116, 0, 0, 0, 0, 0, 0, 4116, 4116, 0, 4116, 0, 4116, 4116, 0, 4116, 0, 4116, 0, 0, 0, 4116, 4117, 4117, 4117, 4117, 0, 0, 0, 4117, 0, 0, 0, 0, 0, 0, 4117, 4117, 0, 4117, 0, 4117, 4117, 0, 4117, 0, 4117, 0, 0, 0, 4117, 4118, 4118, 4118, 4118, 0, 0, 0, 4118, 4118, 0, 4118, 0, 0, 0, 4118, 4118, 4118, 4118, 0, 4118, 4118, 0, 4118, 4118, 4118, 0, 0, 0, 4118, 4119, 4119, 4119, 4119, 0, 0, 0, 4119, 4119, 0, 4119, 0, 4119, 0, 4119, 4119, 4119, 4119, 0, 4119, 4119, 0, 4119, 4119, 4119, 0, 0, 0, 4119, 4120, 0, 4120, 4120, 0, 4120, 4120, 4120, 4120, 0, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 4120, 0, 4120, 4120, 4120, 4120, 4120, 4120, 4121, 4121, 0, 4121, 4121, 0, 4121, 4121, 4121, 4121, 4121, 4121, 0, 0, 0, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 4121, 0, 4121, 4121, 4121, 4122, 4122, 0, 4122, 4122, 0, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 0, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 4122, 0, 4122, 4122, 4122, 4123, 4123, 0, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 4123, 0, 4123, 4123, 4123, 4123, 0, 0, 4123, 4123, 4123, 0, 4123, 4123, 4123, 4123, 4124, 4124, 0, 4124, 4124, 0, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 0, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 4124, 0, 4124, 4124, 4124, 4125, 0, 0, 4125, 0, 0, 0, 4125, 0, 0, 0, 4125, 4125, 0, 4125, 4125, 0, 4125, 0, 4125, 4125, 0, 0, 0, 4125, 0, 0, 0, 4125, 4126, 4126, 0, 4126, 0, 0, 0, 4126, 0, 0, 0, 4126, 4126, 0, 4126, 4126, 0, 4126, 0, 4126, 4126, 0, 0, 0, 4126, 0, 0, 0, 4126, 4127, 0, 0, 4127, 0, 0, 0, 4127, 0, 0, 0, 0, 0, 0, 4127, 4127, 0, 0, 0, 4127, 4127, 0, 4127, 0, 4127, 0, 0, 0, 4127, 4128, 0, 0, 0, 0, 4128, 4128, 0, 0, 0, 4128, 0, 0, 0, 4128, 4129, 0, 0, 0, 0, 4129, 4129, 0, 0, 0, 4129, 0, 0, 0, 4129, 4130, 4130, 0, 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, 0, 0, 0, 0, 4131, 4131, 0, 0, 0, 4131, 0, 0, 0, 4131, 4132, 4132, 0, 4132, 4132, 0, 0, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 4132, 0, 4132, 4132, 4132, 4132, 4132, 4132, 4133, 0, 4133, 4133, 0, 4133, 4133, 4133, 0, 0, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 4133, 0, 4133, 4133, 4133, 4133, 4133, 4133, 4134, 4134, 0, 4134, 4134, 4134, 4134, 4134, 4134, 0, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4134, 4135, 4135, 0, 0, 4135, 0, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 4135, 0, 4135, 4135, 4135, 4135, 4135, 4135, 4136, 4136, 0, 0, 4136, 4136, 4136, 0, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 4136, 0, 4136, 4136, 4136, 4136, 4136, 4136, 4137, 4137, 0, 4137, 4137, 0, 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, 0, 0, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4138, 4139, 4139, 4139, 4139, 0, 4139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4139, 4139, 0, 0, 0, 4139, 0, 0, 4139, 4139, 4140, 4140, 4140, 4140, 0, 0, 0, 0, 4140, 0, 4140, 0, 0, 0, 4140, 0, 4140, 0, 0, 4140, 4140, 0, 0, 4140, 4140, 0, 0, 0, 4140, 4141, 4141, 4141, 4141, 0, 0, 0, 4141, 0, 0, 0, 0, 0, 0, 4141, 4141, 0, 4141, 0, 4141, 4141, 0, 4141, 0, 4141, 0, 0, 0, 4141, 4142, 4142, 4142, 4142, 0, 0, 0, 4142, 0, 0, 0, 0, 0, 0, 4142, 4142, 0, 4142, 0, 4142, 4142, 0, 4142, 0, 4142, 0, 0, 0, 4142, 4143, 0, 4143, 4143, 0, 4143, 4143, 4143, 4143, 0, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 0, 4143, 4143, 4143, 4143, 4143, 4143, 4144, 4144, 0, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 4144, 0, 4144, 4144, 4144, 4144, 0, 0, 4144, 4144, 4144, 0, 4144, 4144, 4144, 4144, 4145, 4145, 0, 4145, 4145, 0, 4145, 4145, 4145, 4145, 4145, 4145, 0, 0, 0, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 4145, 0, 4145, 4145, 4145, 4146, 4146, 0, 4146, 4146, 0, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 0, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 4146, 0, 4146, 4146, 4146, 4147, 0, 0, 4147, 0, 0, 0, 4147, 0, 0, 0, 4147, 4147, 0, 4147, 4147, 0, 4147, 0, 4147, 4147, 0, 0, 0, 4147, 0, 0, 0, 4147, 4148, 4148, 0, 4148, 0, 0, 0, 4148, 0, 0, 0, 4148, 4148, 0, 4148, 4148, 0, 4148, 0, 4148, 4148, 0, 0, 0, 4148, 0, 0, 0, 4148, 4149, 0, 0, 4149, 0, 0, 0, 4149, 0, 0, 0, 0, 0, 0, 4149, 4149, 0, 0, 0, 4149, 4149, 0, 4149, 0, 4149, 0, 0, 0, 4149, 4150, 4150, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4151, 0, 0, 0, 0, 4151, 4151, 0, 0, 0, 4151, 4151, 0, 0, 4151, 4152, 4152, 0, 4152, 4152, 0, 0, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 4152, 0, 4152, 4152, 4152, 4152, 4152, 4152, 4153, 0, 4153, 4153, 0, 4153, 4153, 4153, 0, 0, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 4153, 0, 4153, 4153, 4153, 4153, 4153, 4153, 4154, 4154, 0, 4154, 4154, 4154, 4154, 4154, 4154, 0, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4154, 4155, 4155, 0, 0, 4155, 0, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 4155, 0, 4155, 4155, 4155, 4155, 4155, 4155, 4156, 4156, 0, 0, 4156, 4156, 4156, 0, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 4156, 0, 4156, 4156, 4156, 4156, 4156, 4156, 4157, 4157, 0, 4157, 4157, 0, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4157, 4158, 4158, 0, 0, 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, 0, 0, 0, 4159, 0, 0, 0, 0, 0, 0, 4159, 4159, 0, 4159, 0, 4159, 4159, 0, 4159, 0, 4159, 0, 0, 0, 4159, 4160, 4160, 4160, 4160, 0, 0, 0, 4160, 0, 0, 0, 0, 0, 0, 4160, 4160, 0, 4160, 0, 4160, 4160, 0, 4160, 0, 4160, 0, 0, 0, 4160, 4161, 0, 4161, 4161, 0, 4161, 4161, 4161, 4161, 0, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 4161, 0, 4161, 4161, 4161, 4161, 4161, 4161, 4162, 4162, 0, 4162, 4162, 0, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 0, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 4162, 0, 4162, 4162, 4162, 4163, 4163, 0, 4163, 4163, 4163, 4163, 4163, 0, 0, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 4163, 0, 4163, 4163, 4163, 0, 4163, 0, 4163, 0, 0, 4163, 4163, 4164, 0, 0, 4164, 0, 0, 0, 4164, 0, 0, 0, 4164, 4164, 0, 4164, 4164, 0, 4164, 0, 4164, 4164, 0, 0, 0, 4164, 0, 0, 0, 4164, 4165, 4165, 0, 4165, 0, 0, 0, 4165, 0, 0, 0, 4165, 4165, 0, 4165, 4165, 0, 4165, 0, 4165, 4165, 0, 0, 0, 4165, 0, 0, 0, 4165, 4166, 0, 0, 4166, 0, 4166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4166, 4166, 0, 0, 0, 4166, 0, 0, 0, 4166, 4167, 4167, 0, 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, 0, 0, 0, 0, 4168, 4168, 0, 0, 0, 4168, 0, 0, 0, 4168, 4169, 4169, 0, 4169, 4169, 0, 0, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 4169, 0, 4169, 4169, 4169, 4169, 4169, 4169, 4170, 0, 4170, 4170, 0, 4170, 4170, 4170, 0, 0, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 4170, 0, 4170, 4170, 4170, 4170, 4170, 4170, 4171, 4171, 0, 4171, 4171, 4171, 4171, 4171, 4171, 0, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4171, 4172, 4172, 4172, 4172, 0, 0, 0, 4172, 0, 0, 0, 0, 0, 0, 4172, 4172, 0, 4172, 0, 4172, 4172, 0, 4172, 0, 4172, 0, 0, 0, 4172, 4173, 0, 4173, 4173, 0, 4173, 4173, 4173, 4173, 0, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 4173, 0, 4173, 4173, 4173, 4173, 4173, 4173, 4174, 0, 0, 4174, 0, 0, 0, 4174, 0, 0, 0, 4174, 4174, 0, 4174, 4174, 0, 4174, 0, 4174, 4174, 0, 0, 0, 4174, 0, 0, 0, 4174, 4175, 0, 0, 4175, 0, 4175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4175, 4175, 0, 0, 0, 4175, 0, 0, 0, 4175, 4177, 0, 0, 4177, 0, 0, 0, 0, 4177, 0, 0, 0, 0, 0, 4177, 0, 0, 0, 0, 4177, 4177, 0, 0, 0, 4177, 0, 0, 0, 4177, 4178, 0, 0, 0, 0, 4178, 4178, 0, 0, 0, 4178, 0, 0, 0, 4178, 4179, 0, 4179, 4179, 0, 4179, 4179, 4179, 0, 0, 4179, 4179, 4179, 4179, 4179, 4179, 4179, 4179, 4179, 4179, 4179, 4179, 4179, 0, 4179, 4179, 4179, 4179, 4179, 4179, 4180, 0, 4180, 4180, 0, 4180, 4180, 4180, 4180, 0, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 4180, 0, 4180, 4180, 4180, 4180, 4180, 4180, 4181, 0, 0, 4181, 0, 0, 0, 0, 4181, 0, 0, 0, 0, 0, 4181, 0, 0, 0, 0, 4181, 4181, 0, 0, 0, 4181, 0, 0, 0, 4181, 4182, 0, 4182, 4182, 0, 4182, 4182, 4182, 0, 0, 4182, 4182, 4182, 4182, 4182, 4182, 4182, 4182, 4182, 4182, 4182, 4182, 4182, 0, 4182, 4182, 4182, 4182, 4182, 4182, 4183, 0, 4183, 4183, 0, 4183, 4183, 4183, 4183, 0, 4183, 4183, 4183, 4183, 4183, 4183, 4183, 4183, 4183, 4183, 4183, 4183, 4183, 0, 4183, 4183, 4183, 4183, 4183, 4183, 4184, 0, 4184, 4184, 0, 4184, 4184, 4184, 0, 0, 4184, 4184, 4184, 4184, 4184, 4184, 4184, 4184, 4184, 4184, 4184, 4184, 4184, 0, 4184, 4184, 4184, 4184, 4184, 4184, 4185, 0, 4185, 4185, 0, 4185, 4185, 4185, 4185, 0, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 4185, 0, 4185, 4185, 4185, 4185, 4185, 4185, 4186, 0, 4186, 4186, 0, 4186, 4186, 4186, 0, 0, 4186, 4186, 4186, 4186, 4186, 4186, 4186, 4186, 4186, 4186, 4186, 4186, 4186, 0, 4186, 4186, 4186, 4186, 4186, 4186, 4187, 0, 4187, 4187, 0, 4187, 4187, 4187, 4187, 0, 4187, 4187, 4187, 4187, 4187, 4187, 4187, 4187, 4187, 4187, 4187, 4187, 4187, 0, 4187, 4187, 4187, 4187, 4187, 4187, 4188, 0, 4188, 4188, 0, 4188, 4188, 4188, 0, 0, 4188, 4188, 4188, 4188, 4188, 4188, 4188, 4188, 4188, 4188, 4188, 4188, 4188, 0, 4188, 4188, 4188, 4188, 4188, 4188, 4189, 0, 4189, 4189, 0, 4189, 4189, 4189, 4189, 0, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 4189, 0, 4189, 4189, 4189, 4189, 4189, 4189, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585, 3585 } ; extern int codeYY_flex_debug; int codeYY_flex_debug = 0; static yy_state_type *yy_state_buf=0, *yy_state_ptr=0; 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 codeYYtext */ \ 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 *codeYYtext; #line 1 "code.l" /****************************************************************************** * * * * Copyright (C) 1997-2013 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. * * Documents produced by Doxygen are derivative works derived from the * input used in their production; they are not affected by this license. * */ #line 19 "code.l" /* * includes */ #include #include #include #include #include #include "entry.h" #include "doxygen.h" #include "message.h" #include "outputlist.h" #include "util.h" #include "membername.h" #include "searchindex.h" #include "arguments.h" #include "config.h" #include "groupdef.h" #include "classlist.h" #include "filedef.h" #include "filename.h" #include "namespacedef.h" #include "tooltip.h" // Toggle for some debugging info //#define DBG_CTX(x) fprintf x #define DBG_CTX(x) do { } while(0) #define YY_NEVER_INTERACTIVE 1 #define CLASSBLOCK (int *)4 #define SCOPEBLOCK (int *)8 #define INNERBLOCK (int *)12 /* ----------------------------------------------------------------- * statics */ static CodeOutputInterface * g_code; static ClassSDict *g_codeClassSDict = 0; static QCString g_curClassName; static QStrList g_curClassBases; static QCString g_parmType; static QCString g_parmName; static const char * g_inputString; //!< the code fragment as text static int g_inputPosition; //!< read offset during parsing static int g_inputLines; //!< number of line in the code fragment static int g_yyLineNr; //!< current line number static int g_yyColNr; //!< current column number static bool g_needsTermination; static bool g_exampleBlock; static QCString g_exampleName; static QCString g_exampleFile; static bool g_insideTemplate = FALSE; static QCString g_type; static QCString g_name; static QCString g_args; static QCString g_classScope; static QCString g_realScope; static QStack g_scopeStack; //!< 1 if bracket starts a scope, // 2 for internal blocks static int g_anchorCount; static FileDef * g_sourceFileDef; static bool g_lineNumbers; static Definition * g_currentDefinition; static MemberDef * g_currentMemberDef; static bool g_includeCodeFragment; static const char * g_currentFontClass; static bool g_searchingForBody; static bool g_insideBody; static int g_bodyCurlyCount; static QCString g_saveName; static QCString g_saveType; static QCString g_delimiter; static int g_bracketCount = 0; static int g_curlyCount = 0; static int g_sharpCount = 0; static bool g_inFunctionTryBlock = FALSE; static bool g_inForEachExpression = FALSE; static int g_lastTemplCastContext; static int g_lastSpecialCContext; static int g_lastStringContext; static int g_lastSkipCppContext; static int g_lastVerbStringContext; static int g_memCallContext; static int g_lastCContext; static int g_skipInlineInitContext; static bool g_insideObjC; static bool g_insideJava; static bool g_insideCS; static bool g_insidePHP; static bool g_insideProtocolList; static bool g_lexInit = FALSE; static QStack g_classScopeLengthStack; static Definition *g_searchCtx; static bool g_collectXRefs; // context for an Objective-C method call struct ObjCCallCtx { int id; QCString methodName; QCString objectTypeOrName; ClassDef *objectType; MemberDef *objectVar; MemberDef *method; QCString format; int lexState; int braceCount; }; // globals for objective-C method calls static ObjCCallCtx *g_currentCtx=0; static int g_currentCtxId=0; static int g_currentNameId=0; static int g_currentObjId=0; static int g_currentWordId=0; static QStack g_contextStack; static QIntDict g_contextDict; static QIntDict g_nameDict; static QIntDict g_objectDict; static QIntDict g_wordDict; static int g_braceCount=0; static void saveObjCContext(); static void restoreObjCContext(); static QCString g_forceTagReference; //------------------------------------------------------------------- /*! Represents a stack of variable to class mappings as found in the * code. Each scope is enclosed in pushScope() and popScope() calls. * Variables are added by calling addVariables() and one can search * for variable using findVariable(). */ class VariableContext { public: static const ClassDef *dummyContext; class Scope : public SDict { public: Scope() : SDict(17) {} }; VariableContext() { m_scopes.setAutoDelete(TRUE); } virtual ~VariableContext() { } void pushScope() { m_scopes.append(new Scope); DBG_CTX((stderr,"** Push var context %d\n",m_scopes.count())); } void popScope() { if (m_scopes.count()>0) { DBG_CTX((stderr,"** Pop var context %d\n",m_scopes.count())); m_scopes.remove(m_scopes.count()-1); } else { DBG_CTX((stderr,"** ILLEGAL: Pop var context\n")); } } void clear() { m_scopes.clear(); m_globalScope.clear(); } void clearExceptGlobal() { DBG_CTX((stderr,"** Clear var context\n")); m_scopes.clear(); } void addVariable(const QCString &type,const QCString &name); ClassDef *findVariable(const QCString &name); int count() const { return m_scopes.count(); } private: Scope m_globalScope; QList m_scopes; }; void VariableContext::addVariable(const QCString &type,const QCString &name) { //printf("VariableContext::addVariable(%s,%s)\n",type.data(),name.data()); QCString ltype = type.simplifyWhiteSpace(); QCString lname = name.simplifyWhiteSpace(); if (ltype.left(7)=="struct ") { ltype = ltype.right(ltype.length()-7); } else if (ltype.left(6)=="union ") { ltype = ltype.right(ltype.length()-6); } if (ltype.isEmpty() || lname.isEmpty()) return; DBG_CTX((stderr,"** addVariable trying: type='%s' name='%s' g_currentDefinition=%s\n", ltype.data(),lname.data(),g_currentDefinition?g_currentDefinition->name().data():"")); Scope *scope = m_scopes.count()==0 ? &m_globalScope : m_scopes.getLast(); ClassDef *varType; int i=0; if ( (varType=g_codeClassSDict->find(ltype)) || // look for class definitions inside the code block (varType=getResolvedClass(g_currentDefinition,g_sourceFileDef,ltype)) // look for global class definitions ) { DBG_CTX((stderr,"** addVariable type='%s' name='%s'\n",ltype.data(),lname.data())); scope->append(lname,varType); // add it to a list } else if ((i=ltype.find('<'))!=-1) { // probably a template class QCString typeName(ltype.left(i)); ClassDef* newDef = 0; QCString templateArgs(ltype.right(ltype.length() - i)); if ( ( // look for class definitions inside the code block (varType=g_codeClassSDict->find(typeName)) || // otherwise look for global class definitions (varType=getResolvedClass(g_currentDefinition,g_sourceFileDef,typeName,0,0,TRUE,TRUE)) ) && // and it must be a template varType->templateArguments()) { newDef = varType->getVariableInstance( templateArgs ); } if (newDef) { DBG_CTX((stderr,"** addVariable type='%s' templ='%s' name='%s'\n",typeName.data(),templateArgs.data(),lname.data())); scope->append(lname, newDef); } else { // Doesn't seem to be a template. Try just the base name. addVariable(typeName,name); } } else { if (m_scopes.count()>0) // for local variables add a dummy entry so the name // is hidden to avoid false links to global variables with the same name // TODO: make this work for namespaces as well! { DBG_CTX((stderr,"** addVariable: dummy context for '%s'\n",lname.data())); scope->append(lname,dummyContext); } else { DBG_CTX((stderr,"** addVariable: not adding variable!\n")); } } } ClassDef *VariableContext::findVariable(const QCString &name) { if (name.isEmpty()) return 0; ClassDef *result = 0; QListIterator sli(m_scopes); Scope *scope; QCString key = name; // search from inner to outer scope for (sli.toLast();(scope=sli.current());--sli) { result = scope->find(key); if (result) { DBG_CTX((stderr,"** findVariable(%s)=%p\n",name.data(),result)); return result; } } // nothing found -> also try the global scope result=m_globalScope.find(name); DBG_CTX((stderr,"** findVariable(%s)=%p\n",name.data(),result)); return result; } static VariableContext g_theVarContext; const ClassDef *VariableContext::dummyContext = (ClassDef*)0x8; //------------------------------------------------------------------- class CallContext { public: struct Ctx { Ctx() : name(g_name), type(g_type), cd(0) {} QCString name; QCString type; ClassDef *cd; }; CallContext() { m_classList.append(new Ctx); m_classList.setAutoDelete(TRUE); } virtual ~CallContext() {} void setClass(ClassDef *cd) { Ctx *ctx = m_classList.getLast(); if (ctx) { DBG_CTX((stderr,"** Set call context %s (%p)\n",cd==0 ? "" : cd->name().data(),cd)); ctx->cd=cd; } } void pushScope() { m_classList.append(new Ctx); DBG_CTX((stderr,"** Push call context %d\n",m_classList.count())); } void popScope() { if (m_classList.count()>1) { DBG_CTX((stderr,"** Pop call context %d\n",m_classList.count())); Ctx *ctx = m_classList.getLast(); if (ctx) { g_name = ctx->name; g_type = ctx->type; } m_classList.removeLast(); } else { DBG_CTX((stderr,"** ILLEGAL: Pop call context\n")); } } void clear() { DBG_CTX((stderr,"** Clear call context\n")); m_classList.clear(); m_classList.append(new Ctx); } ClassDef *getClass() const { Ctx *ctx = m_classList.getLast(); if (ctx) return ctx->cd; else return 0; } private: QList m_classList; }; static CallContext g_theCallContext; //------------------------------------------------------------------- /*! add class/namespace name s to the scope */ static void pushScope(const char *s) { g_classScopeLengthStack.push(new int(g_classScope.length())); if (g_classScope.isEmpty() || leftScopeMatch(s,g_classScope)) { g_classScope = s; } else { g_classScope += "::"; g_classScope += s; } //printf("pushScope(%s) result: `%s'\n",s,g_classScope.data()); } /*! remove the top class/namespace name from the scope */ static void popScope() { if (!g_classScopeLengthStack.isEmpty()) { int *pLength = g_classScopeLengthStack.pop(); g_classScope.truncate(*pLength); delete pLength; } else { //err("Too many end of scopes found!\n"); } //printf("popScope() result: `%s'\n",g_classScope.data()); } static void setCurrentDoc(const QCString &anchor) { if (Doxygen::searchIndex) { if (g_searchCtx) { g_code->setCurrentDoc(g_searchCtx,g_searchCtx->anchor(),FALSE); } else { g_code->setCurrentDoc(g_sourceFileDef,anchor,TRUE); } } } static void addToSearchIndex(const char *text) { if (Doxygen::searchIndex) { g_code->addWord(text,FALSE); } } static void setClassScope(const QCString &name) { //printf("setClassScope(%s)\n",name.data()); QCString n=name; n=n.simplifyWhiteSpace(); int ts=n.find('<'); // start of template int te=n.findRev('>'); // end of template //printf("ts=%d te=%d\n",ts,te); if (ts!=-1 && te!=-1 && te>ts) { // remove template from scope n=n.left(ts)+n.right(n.length()-te-1); } while (!g_classScopeLengthStack.isEmpty()) { popScope(); } g_classScope.resize(0); int i; while ((i=n.find("::"))!=-1) { pushScope(n.left(i)); n = n.mid(i+2); } pushScope(n); //printf("--->New class scope `%s'\n",g_classScope.data()); } /*! start a new line of code, inserting a line number if g_sourceFileDef * is TRUE. If a definition starts at the current line, then the line * number is linked to the documentation of that definition. */ static void startCodeLine() { //if (g_currentFontClass) { g_code->endFontClass(); } if (g_sourceFileDef && g_lineNumbers) { //QCString lineNumber,lineAnchor; //lineNumber.sprintf("%05d",g_yyLineNr); //lineAnchor.sprintf("l%05d",g_yyLineNr); Definition *d = g_sourceFileDef->getSourceDefinition(g_yyLineNr); //printf("%s:startCodeLine(%d)=%p\n",g_sourceFileDef->name().data(),g_yyLineNr,d); if (!g_includeCodeFragment && d) { g_currentDefinition = d; g_currentMemberDef = g_sourceFileDef->getSourceMember(g_yyLineNr); g_insideBody = FALSE; g_searchingForBody = TRUE; g_realScope = d->name(); //g_classScope = ""; g_type.resize(0); g_name.resize(0); g_args.resize(0); g_parmType.resize(0); g_parmName.resize(0); //printf("Real scope: `%s'\n",g_realScope.data()); g_bodyCurlyCount = 0; QCString lineAnchor; lineAnchor.sprintf("l%05d",g_yyLineNr); if (g_currentMemberDef) { g_code->writeLineNumber(g_currentMemberDef->getReference(), g_currentMemberDef->getOutputFileBase(), g_currentMemberDef->anchor(),g_yyLineNr); setCurrentDoc(lineAnchor); } else if (d->isLinkableInProject()) { g_code->writeLineNumber(d->getReference(), d->getOutputFileBase(), 0,g_yyLineNr); setCurrentDoc(lineAnchor); } } else { g_code->writeLineNumber(0,0,0,g_yyLineNr); } } DBG_CTX((stderr,"startCodeLine(%d)\n",g_yyLineNr)); g_code->startCodeLine(g_sourceFileDef && g_lineNumbers); if (g_currentFontClass) { g_code->startFontClass(g_currentFontClass); } } static void endFontClass(); static void startFontClass(const char *s); static void endCodeLine() { DBG_CTX((stderr,"endCodeLine(%d)\n",g_yyLineNr)); endFontClass(); g_code->endCodeLine(); } static void nextCodeLine() { const char * fc = g_currentFontClass; endCodeLine(); if (g_yyLineNrcodify(tmp); free(tmp); nextCodeLine(); } else { g_code->codify(sp); done=TRUE; } } } /*! writes a link to a fragment \a text that may span multiple lines, inserting * line numbers for each line. If \a text contains newlines, the link will be * split into multiple links with the same destination, one for each line. */ static void writeMultiLineCodeLink(CodeOutputInterface &ol, Definition *d, const char *text) { static bool sourceTooltips = Config_getBool("SOURCE_TOOLTIPS"); TooltipManager::instance()->addTooltip(d); QCString ref = d->getReference(); QCString file = d->getOutputFileBase(); QCString anchor = d->anchor(); QCString tooltip; if (!sourceTooltips) // fall back to simple "title" tooltips { tooltip = d->briefDescriptionAsTooltip(); } bool done=FALSE; char *p=(char *)text; while (!done) { char *sp=p; char c; while ((c=*p++) && c!='\n') { } if (c=='\n') { g_yyLineNr++; *(p-1)='\0'; //printf("writeCodeLink(%s,%s,%s,%s)\n",ref,file,anchor,sp); ol.writeCodeLink(ref,file,anchor,sp,tooltip); nextCodeLine(); } else { //printf("writeCodeLink(%s,%s,%s,%s)\n",ref,file,anchor,sp); ol.writeCodeLink(ref,file,anchor,sp,tooltip); done=TRUE; } } } static void addType() { if (g_name=="const") { g_name.resize(0); return; } if (!g_type.isEmpty()) g_type += ' ' ; g_type += g_name ; g_name.resize(0) ; if (!g_type.isEmpty()) g_type += ' ' ; g_type += g_args ; g_args.resize(0) ; } static void addParmType() { if (g_parmName=="const") { g_parmName.resize(0); return; } if (!g_parmType.isEmpty()) g_parmType += ' ' ; g_parmType += g_parmName ; g_parmName.resize(0) ; } static void addUsingDirective(const char *name) { if (g_sourceFileDef && name) { NamespaceDef *nd = Doxygen::namespaceSDict->find(name); if (nd) { g_sourceFileDef->addUsingDirective(nd); } } } static void setParameterList(MemberDef *md) { g_classScope = md->getClassDef() ? md->getClassDef()->name().data() : ""; ArgumentList *al = md->argumentList(); if (al==0) return; ArgumentListIterator it(*al); Argument *a; for (;(a=it.current());++it) { g_parmName = a->name.copy(); g_parmType = a->type.copy(); int i = g_parmType.find('*'); if (i!=-1) g_parmType = g_parmType.left(i); i = g_parmType.find('&'); if (i!=-1) g_parmType = g_parmType.left(i); g_parmType.stripPrefix("const "); g_parmType=g_parmType.stripWhiteSpace(); g_theVarContext.addVariable(g_parmType,g_parmName); } } static ClassDef *stripClassName(const char *s,Definition *d=g_currentDefinition) { int pos=0; QCString type = s; QCString className; QCString templSpec; while (extractClassNameFromType(type,pos,className,templSpec)!=-1) { QCString clName=className+templSpec; ClassDef *cd=0; if (!g_classScope.isEmpty()) { cd=getResolvedClass(d,g_sourceFileDef,g_classScope+"::"+clName); } if (cd==0) { cd=getResolvedClass(d,g_sourceFileDef,clName); } //printf("stripClass trying `%s' = %p\n",clName.data(),cd); if (cd) { return cd; } } return 0; } static MemberDef *setCallContextForVar(const QCString &name) { if (name.isEmpty()) return 0; DBG_CTX((stderr,"setCallContextForVar(%s) g_classScope=%s\n",name.data(),g_classScope.data())); int scopeEnd = name.findRev("::"); if (scopeEnd!=-1) // name with explicit scope { QCString scope = name.left(scopeEnd); QCString locName = name.right(name.length()-scopeEnd-2); //printf("explicit scope: name=%s scope=%s\n",locName.data(),scope.data()); ClassDef *mcd = getClass(scope); if (mcd && !locName.isEmpty()) { MemberDef *md=mcd->getMemberByName(locName); if (md) { //printf("name=%s scope=%s\n",locName.data(),scope.data()); g_theCallContext.setClass(stripClassName(md->typeString(),md->getOuterScope())); return md; } } else // check namespace as well { NamespaceDef *mnd = getResolvedNamespace(scope); if (mnd && !locName.isEmpty()) { MemberDef *md=mnd->getMemberByName(locName); if (md) { //printf("name=%s scope=%s\n",locName.data(),scope.data()); g_theCallContext.setClass(stripClassName(md->typeString(),md->getOuterScope())); return md; } } } } MemberName *mn; ClassDef *mcd = g_theVarContext.findVariable(name); if (mcd) // local variable { DBG_CTX((stderr,"local variable?\n")); if (mcd!=VariableContext::dummyContext) { DBG_CTX((stderr,"local var `%s' mcd=%s\n",name.data(),mcd->name().data())); g_theCallContext.setClass(mcd); } } else { DBG_CTX((stderr,"class member? scope=%s\n",g_classScope.data())); // look for a class member mcd = getClass(g_classScope); if (mcd) { DBG_CTX((stderr,"Inside class %s\n",mcd->name().data())); MemberDef *md=mcd->getMemberByName(name); if (md) { DBG_CTX((stderr,"Found member %s\n",md->name().data())); if (g_scopeStack.top()!=CLASSBLOCK) { DBG_CTX((stderr,"class member `%s' mcd=%s\n",name.data(),mcd->name().data())); g_theCallContext.setClass(stripClassName(md->typeString(),md->getOuterScope())); } return md; } } } // look for a global member if ((mn=Doxygen::functionNameSDict->find(name))) { //printf("global var `%s'\n",name.data()); if (mn->count()==1) // global defined only once { MemberDef *md=mn->getFirst(); if (!md->isStatic() || md->getBodyDef()==g_sourceFileDef) { g_theCallContext.setClass(stripClassName(md->typeString(),md->getOuterScope())); return md; } return 0; } else if (mn->count()>1) // global defined more than once { MemberNameIterator it(*mn); MemberDef *md; for (;(md=it.current());++it) { //printf("mn=%p md=%p md->getBodyDef()=%p g_sourceFileDef=%p\n", // mn,md, // md->getBodyDef(),g_sourceFileDef); // in case there are multiple members we could link to, we // only link to members if defined in the same file or // defined as external. if ((!md->isStatic() || md->getBodyDef()==g_sourceFileDef) && (g_forceTagReference.isEmpty() || g_forceTagReference==md->getReference()) ) { g_theCallContext.setClass(stripClassName(md->typeString(),md->getOuterScope())); //printf("returning member %s in source file %s\n",md->name().data(),g_sourceFileDef->name().data()); return md; } } return 0; } } return 0; } static void updateCallContextForSmartPointer() { ClassDef *cd = g_theCallContext.getClass(); //printf("updateCallContextForSmartPointer() cd=%s\n",cd ? cd->name().data() : ""); MemberDef *md; if (cd && (md=cd->isSmartPointer())) { ClassDef *ncd = stripClassName(md->typeString(),md->getOuterScope()); if (ncd) { g_theCallContext.setClass(ncd); //printf("Found smart pointer call %s->%s!\n",cd->name().data(),ncd->name().data()); } } } static bool getLinkInScope(const QCString &c, // scope const QCString &m, // member const char *memberText, // exact text CodeOutputInterface &ol, const char *text, bool varOnly=FALSE ) { MemberDef *md; ClassDef *cd; FileDef *fd; NamespaceDef *nd; GroupDef *gd; DBG_CTX((stderr,"getLinkInScope: trying `%s'::`%s' varOnly=%d\n",c.data(),m.data(),varOnly)); if (getDefs(c,m,"()",md,cd,fd,nd,gd,FALSE,g_sourceFileDef,FALSE,g_forceTagReference) && md->isLinkable() && (!varOnly || md->isVariable())) { //printf("found it %s!\n",md->qualifiedName().data()); if (g_exampleBlock) { QCString anchor; anchor.sprintf("a%d",g_anchorCount); //printf("addExampleFile(%s,%s,%s)\n",anchor.data(),g_exampleName.data(), // g_exampleFile.data()); if (md->addExample(anchor,g_exampleName,g_exampleFile)) { ol.writeCodeAnchor(anchor); g_anchorCount++; } } Definition *d = md->getOuterScope()==Doxygen::globalScope ? md->getFileDef() : md->getOuterScope(); if (md->getGroupDef()) d = md->getGroupDef(); if (d && d->isLinkable()) { g_theCallContext.setClass(stripClassName(md->typeString(),md->getOuterScope())); //printf("g_currentDefinition=%p g_currentMemberDef=%p g_insideBody=%d\n", // g_currentDefinition,g_currentMemberDef,g_insideBody); if (g_currentDefinition && g_currentMemberDef && md!=g_currentMemberDef && g_insideBody && g_collectXRefs) { addDocCrossReference(g_currentMemberDef,md); } //printf("d->getReference()=`%s' d->getOutputBase()=`%s' name=`%s' member name=`%s'\n",d->getReference().data(),d->getOutputFileBase().data(),d->name().data(),md->name().data()); writeMultiLineCodeLink(ol,md, text ? text : memberText); addToSearchIndex(text ? text : memberText); return TRUE; } } return FALSE; } static bool getLink(const char *className, const char *memberName, CodeOutputInterface &ol, const char *text=0, bool varOnly=FALSE) { //printf("getLink(%s,%s) g_curClassName=%s\n",className,memberName,g_curClassName.data()); QCString m=removeRedundantWhiteSpace(memberName); QCString c=className; if (!getLinkInScope(c,m,memberName,ol,text,varOnly)) { if (!g_curClassName.isEmpty()) { if (!c.isEmpty()) c.prepend("::"); c.prepend(g_curClassName); return getLinkInScope(c,m,memberName,ol,text,varOnly); } return FALSE; } return TRUE; } static void generateClassOrGlobalLink(CodeOutputInterface &ol,const char *clName, bool typeOnly=FALSE,bool varOnly=FALSE) { int i=0; if (*clName=='~') // correct for matching negated values i.s.o. destructors. { g_code->codify("~"); clName++; } QCString className=clName; if (className.isEmpty()) return; if (g_insideProtocolList) // for Obj-C { className+="-p"; } if (g_insidePHP) { className = substitute(className,"\\","::"); // for PHP namespaces } else if (g_insideCS || g_insideJava) { className = substitute(className,".","::"); // for PHP namespaces } ClassDef *cd=0,*lcd=0; MemberDef *md=0; bool isLocal=FALSE; //printf("generateClassOrGlobalLink(className=%s)\n",className.data()); if ((lcd=g_theVarContext.findVariable(className))==0) // not a local variable { Definition *d = g_currentDefinition; //printf("d=%s g_sourceFileDef=%s\n",d?d->name().data():"",g_sourceFileDef?g_sourceFileDef->name().data():""); cd = getResolvedClass(d,g_sourceFileDef,className,&md); DBG_CTX((stderr,"non-local variable name=%s context=%d cd=%s md=%s!\n", className.data(),g_theVarContext.count(),cd?cd->name().data():"", md?md->name().data():"")); if (cd==0 && md==0 && (i=className.find('<'))!=-1) { QCString bareName = className.left(i); //stripTemplateSpecifiersFromScope(className); DBG_CTX((stderr,"bareName=%s\n",bareName.data())); if (bareName!=className) { cd=getResolvedClass(d,g_sourceFileDef,bareName,&md); // try unspecialized version } } //printf("md=%s\n",md?md->name().data():""); DBG_CTX((stderr,"is found as a type %s\n",cd?cd->name().data():"")); if (cd==0 && md==0) // also see if it is variable or enum or enum value { if (getLink(g_classScope,clName,ol,clName,varOnly)) { return; } } } else { //printf("local variable!\n"); if (lcd!=VariableContext::dummyContext) { //printf("non-dummy context lcd=%s!\n",lcd->name().data()); g_theCallContext.setClass(lcd); // to following is needed for links to a global variable, but is // no good for a link to a local variable that is also a global symbol. //if (getLink(g_classScope,clName,ol,clName)) //{ //return; //} } isLocal=TRUE; DBG_CTX((stderr,"is a local variable cd=%p!\n",cd)); } if (cd && cd->isLinkable()) // is it a linkable class { DBG_CTX((stderr,"is linkable class %s\n",clName)); if (g_exampleBlock) { QCString anchor; anchor.sprintf("_a%d",g_anchorCount); //printf("addExampleClass(%s,%s,%s)\n",anchor.data(),g_exampleName.data(), // g_exampleFile.data()); if (cd->addExample(anchor,g_exampleName,g_exampleFile)) { ol.writeCodeAnchor(anchor); g_anchorCount++; } } writeMultiLineCodeLink(ol,cd,clName); addToSearchIndex(className); g_theCallContext.setClass(cd); if (md) { Definition *d = md->getOuterScope()==Doxygen::globalScope ? md->getFileDef() : md->getOuterScope(); if (md->getGroupDef()) d = md->getGroupDef(); if (d && d->isLinkable() && md->isLinkable() && g_currentMemberDef && g_collectXRefs) { addDocCrossReference(g_currentMemberDef,md); } } } else // not a class, maybe a global member { DBG_CTX((stderr,"class %s not linkable! cd=%p md=%p typeOnly=%d\n",clName,cd,md,typeOnly)); if (!isLocal && (md!=0 || (cd==0 && !typeOnly))) // not a class, see if it is a global enum/variable/typedef. { if (md==0) // not found as a typedef { md = setCallContextForVar(clName); //printf("setCallContextForVar(%s) md=%p g_currentDefinition=%p\n",clName,md,g_currentDefinition); if (md && g_currentDefinition) { DBG_CTX((stderr,"%s accessible from %s? %d md->getOuterScope=%s\n", md->name().data(),g_currentDefinition->name().data(), isAccessibleFrom(g_currentDefinition,g_sourceFileDef,md), md->getOuterScope()->name().data())); } if (md && g_currentDefinition && isAccessibleFrom(g_currentDefinition,g_sourceFileDef,md)==-1) { md=0; // variable not accessible } } if (md && (!varOnly || md->isVariable())) { DBG_CTX((stderr,"is a global md=%p g_currentDefinition=%s linkable=%d\n",md,g_currentDefinition?g_currentDefinition->name().data():"",md->isLinkable())); if (md->isLinkable()) { QCString text; if (!g_forceTagReference.isEmpty()) // explicit reference to symbol in tag file { text=g_forceTagReference; if (text.right(4)==".tag") // strip .tag if present { text=text.left(text.length()-4); } text+=getLanguageSpecificSeparator(md->getLanguage()); text+=clName; md->setName(text); md->setLocalName(text); } else // normal reference { text=clName; } writeMultiLineCodeLink(ol,md,text); addToSearchIndex(clName); if (g_currentMemberDef && g_collectXRefs) { addDocCrossReference(g_currentMemberDef,md); } return; } } } // nothing found, just write out the word DBG_CTX((stderr,"not found!\n")); codifyLines(clName); addToSearchIndex(clName); } } static bool generateClassMemberLink(CodeOutputInterface &ol,MemberDef *xmd,const char *memName) { // extract class definition of the return type in order to resolve // a->b()->c() like call chains //printf("type=`%s' args=`%s' class=%s\n", // xmd->typeString(),xmd->argsString(), // xmd->getClassDef()->name().data()); if (g_exampleBlock) { QCString anchor; anchor.sprintf("a%d",g_anchorCount); //printf("addExampleFile(%s,%s,%s)\n",anchor.data(),g_exampleName.data(), // g_exampleFile.data()); if (xmd->addExample(anchor,g_exampleName,g_exampleFile)) { ol.writeCodeAnchor(anchor); g_anchorCount++; } } ClassDef *typeClass = stripClassName(removeAnonymousScopes(xmd->typeString()),xmd->getOuterScope()); DBG_CTX((stderr,"%s -> typeName=%p\n",xmd->typeString(),typeClass)); g_theCallContext.setClass(typeClass); Definition *xd = xmd->getOuterScope()==Doxygen::globalScope ? xmd->getFileDef() : xmd->getOuterScope(); if (xmd->getGroupDef()) xd = xmd->getGroupDef(); if (xd && xd->isLinkable()) { //printf("g_currentDefiniton=%p g_currentMemberDef=%p xmd=%p g_insideBody=%d\n",g_currentDefinition,g_currentMemberDef,xmd,g_insideBody); if (xmd->templateMaster()) xmd = xmd->templateMaster(); if (xmd->isLinkable()) { // add usage reference if (g_currentDefinition && g_currentMemberDef && /*xmd!=g_currentMemberDef &&*/ g_insideBody && g_collectXRefs) { addDocCrossReference(g_currentMemberDef,xmd); } // write the actual link writeMultiLineCodeLink(ol,xmd,memName); addToSearchIndex(memName); return TRUE; } } return FALSE; } static bool generateClassMemberLink(CodeOutputInterface &ol,ClassDef *mcd,const char *memName) { if (mcd) { MemberDef *xmd = mcd->getMemberByName(memName); //printf("generateClassMemberLink(class=%s,member=%s)=%p\n",mcd->name().data(),memName,xmd); if (xmd) { return generateClassMemberLink(ol,xmd,memName); } } return FALSE; } static void generateMemberLink(CodeOutputInterface &ol,const QCString &varName, char *memName) { //printf("generateMemberLink(object=%s,mem=%s) classScope=%s\n", // varName.data(),memName,g_classScope.data()); if (varName.isEmpty()) return; // look for the variable in the current context ClassDef *vcd = g_theVarContext.findVariable(varName); if (vcd) { if (vcd!=VariableContext::dummyContext) { //printf("Class found!\n"); if (getLink(vcd->name(),memName,ol)) { //printf("Found result!\n"); return; } if (vcd->baseClasses()) { BaseClassListIterator bcli(*vcd->baseClasses()); for ( ; bcli.current() ; ++bcli) { if (getLink(bcli.current()->classDef->name(),memName,ol)) { //printf("Found result!\n"); return; } } } } } else // variable not in current context, maybe it is in a parent context { vcd = getResolvedClass(g_currentDefinition,g_sourceFileDef,g_classScope); if (vcd && vcd->isLinkable()) { //printf("Found class %s for variable `%s'\n",g_classScope.data(),varName.data()); MemberName *vmn=Doxygen::memberNameSDict->find(varName); if (vmn==0) { int vi; QCString vn=varName; QCString scope; if ((vi=vn.findRev("::"))!=-1 || (vi=vn.findRev('.'))!=-1) // explicit scope A::b(), probably static member { ClassDef *jcd = getClass(vn.left(vi)); vn=vn.right(vn.length()-vi-2); vmn=Doxygen::memberNameSDict->find(vn); //printf("Trying name `%s' scope=%s\n",vn.data(),scope.data()); if (vmn) { MemberNameIterator vmni(*vmn); MemberDef *vmd; for (;(vmd=vmni.current());++vmni) { if (/*(vmd->isVariable() || vmd->isFunction()) && */ vmd->getClassDef()==jcd) { //printf("Found variable type=%s\n",vmd->typeString()); ClassDef *mcd=stripClassName(vmd->typeString(),vmd->getOuterScope()); if (mcd && mcd->isLinkable()) { if (generateClassMemberLink(ol,mcd,memName)) return; } } } } } } if (vmn) { //printf("There is a variable with name `%s'\n",varName); MemberNameIterator vmni(*vmn); MemberDef *vmd; for (;(vmd=vmni.current());++vmni) { if (/*(vmd->isVariable() || vmd->isFunction()) && */ vmd->getClassDef()==vcd) { //printf("Found variable type=%s\n",vmd->typeString()); ClassDef *mcd=stripClassName(vmd->typeString(),vmd->getOuterScope()); if (mcd && mcd->isLinkable()) { if (generateClassMemberLink(ol,mcd,memName)) return; } } } } } } // nothing found -> write result as is codifyLines(memName); addToSearchIndex(memName); return; } static void generatePHPVariableLink(CodeOutputInterface &ol,const char *varName) { QCString name = varName+7; // strip $this-> name.prepend("$"); //printf("generatePHPVariableLink(%s) name=%s scope=%s\n",varName,name.data(),g_classScope.data()); if (!getLink(g_classScope,name,ol,varName)) { codifyLines(varName); } } static void generateFunctionLink(CodeOutputInterface &ol,const char *funcName) { //CodeClassDef *ccd=0; ClassDef *ccd=0; QCString locScope=g_classScope; QCString locFunc=removeRedundantWhiteSpace(funcName); QCString funcScope; QCString funcWithScope=locFunc; QCString funcWithFullScope=locFunc; QCString fullScope=locScope; DBG_CTX((stdout,"*** locScope=%s locFunc=%s\n",locScope.data(),locFunc.data())); int len=2; int i=locFunc.findRev("::"); if (g_currentMemberDef && g_currentMemberDef->getClassDef() && funcName==g_currentMemberDef->localName() && g_currentMemberDef->getDefLine()==g_yyLineNr && generateClassMemberLink(ol,g_currentMemberDef,funcName) ) { // special case where funcName is the name of a method that is also // defined on this line. In this case we can directly link to // g_currentMemberDef, which is not only faster, but // in case of overloaded methods, this will make sure that we link to // the correct method, and thereby get the correct reimplemented relations. // See also bug 549022. goto exit; } if (i==-1) i=locFunc.findRev("."),len=1; if (i==-1) i=locFunc.findRev("\\"),len=1; // for PHP if (i>0) { funcScope=locFunc.left(i); locFunc=locFunc.right(locFunc.length()-i-len).stripWhiteSpace(); int ts=locScope.find('<'); // start of template int te=locScope.findRev('>'); // end of template //printf("ts=%d te=%d\n",ts,te); if (ts!=-1 && te!=-1 && te>ts) { // remove template from scope locScope=locScope.left(ts)+locScope.right(locScope.length()-te-1); } ts=funcScope.find('<'); // start of template te=funcScope.findRev('>'); // end of template //printf("ts=%d te=%d\n",ts,te); if (ts!=-1 && te!=-1 && te>ts) { // remove template from scope funcScope=funcScope.left(ts)+funcScope.right(funcScope.length()-te-1); } if (!funcScope.isEmpty()) { funcWithScope = funcScope+"::"+locFunc; if (!locScope.isEmpty()) { fullScope=locScope+"::"+funcScope; } } if (!locScope.isEmpty()) { funcWithFullScope = locScope+"::"+funcWithScope; } } if (!fullScope.isEmpty() && (ccd=g_codeClassSDict->find(fullScope))) { //printf("using classScope %s\n",g_classScope.data()); if (ccd->baseClasses()) { BaseClassListIterator bcli(*ccd->baseClasses()); for ( ; bcli.current() ; ++bcli) { if (getLink(bcli.current()->classDef->name(),locFunc,ol,funcName)) { goto exit; } } } } if (!locScope.isEmpty() && fullScope!=locScope && (ccd=g_codeClassSDict->find(locScope))) { //printf("using classScope %s\n",g_classScope.data()); if (ccd->baseClasses()) { BaseClassListIterator bcli(*ccd->baseClasses()); for ( ; bcli.current() ; ++bcli) { if (getLink(bcli.current()->classDef->name(),funcWithScope,ol,funcName)) { goto exit; } } } } if (!getLink(locScope,funcWithScope,ol,funcName)) { generateClassOrGlobalLink(ol,funcName); } exit: g_forceTagReference.resize(0); return; } /*! counts the number of lines in the input */ static int countLines() { const char *p=g_inputString; char c; int count=1; while ((c=*p)) { p++ ; if (c=='\n') count++; } if (p>g_inputString && *(p-1)!='\n') { // last line does not end with a \n, so we add an extra // line and explicitly terminate the line after parsing. count++, g_needsTermination=TRUE; } return count; } static void endFontClass() { if (g_currentFontClass) { g_code->endFontClass(); g_currentFontClass=0; } } static void startFontClass(const char *s) { endFontClass(); g_code->startFontClass(s); g_currentFontClass=s; } //---------------------------------------------------------------------------- // recursively writes a linkified Objective-C method call static void writeObjCMethodCall(ObjCCallCtx *ctx) { if (ctx==0) return; char c; const char *p = ctx->format.data(); if (!ctx->methodName.isEmpty()) { //printf("writeObjCMethodCall(%s) obj=%s method=%s\n", // ctx->format.data(),ctx->objectTypeOrName.data(),ctx->methodName.data()); if (!ctx->objectTypeOrName.isEmpty() && ctx->objectTypeOrName.at(0)!='$') { //printf("Looking for object=%s method=%s\n",ctx->objectTypeOrName.data(), // ctx->methodName.data()); ClassDef *cd = g_theVarContext.findVariable(ctx->objectTypeOrName); if (cd==0) // not a local variable { if (ctx->objectTypeOrName=="self") { if (g_currentDefinition && g_currentDefinition->definitionType()==Definition::TypeClass) { ctx->objectType = (ClassDef *)g_currentDefinition; } } else { ctx->objectType = getResolvedClass( g_currentDefinition, g_sourceFileDef, ctx->objectTypeOrName, &ctx->method); } //printf(" object is class? %p\n",ctx->objectType); if (ctx->objectType) // found class { ctx->method = ctx->objectType->getMemberByName(ctx->methodName); //printf(" yes->method=%s\n",ctx->method?ctx->method->name().data():""); } else if (ctx->method==0) // search for class variable with the same name { //printf(" no\n"); //printf("g_currentDefinition=%p\n",g_currentDefinition); if (g_currentDefinition && g_currentDefinition->definitionType()==Definition::TypeClass) { ctx->objectVar = ((ClassDef *)g_currentDefinition)->getMemberByName(ctx->objectTypeOrName); //printf(" ctx->objectVar=%p\n",ctx->objectVar); if (ctx->objectVar) { ctx->objectType = stripClassName(ctx->objectVar->typeString()); //printf(" ctx->objectType=%p\n",ctx->objectType); if (ctx->objectType) { ctx->method = ctx->objectType->getMemberByName(ctx->methodName); //printf(" ctx->method=%p\n",ctx->method); } } } } } else // local variable { //printf(" object is local variable\n"); if (cd!=VariableContext::dummyContext) { ctx->method = cd->getMemberByName(ctx->methodName); //printf(" class=%p method=%p\n",cd,ctx->method); } } } } //printf("["); while ((c=*p++)) // for each character in ctx->format { if (c=='$') { char nc=*p++; if (nc=='$') // escaped $ { g_code->codify("$"); } else // name fragment or reference to a nested call { if (nc=='n') // name fragment { nc=*p++; QCString refIdStr; while (nc!=0 && isdigit(nc)) { refIdStr+=nc; nc=*p++; } p--; int refId=refIdStr.toInt(); QCString *pName = g_nameDict.find(refId); if (pName) { if (ctx->method && ctx->method->isLinkable()) { writeMultiLineCodeLink(*g_code,ctx->method,pName->data()); if (g_currentMemberDef && g_collectXRefs) { addDocCrossReference(g_currentMemberDef,ctx->method); } } else { codifyLines(pName->data()); } } else { //printf("Invalid name: id=%d\n",refId); } } else if (nc=='o') // reference to potential object name { nc=*p++; QCString refIdStr; while (nc!=0 && isdigit(nc)) { refIdStr+=nc; nc=*p++; } p--; int refId=refIdStr.toInt(); QCString *pObject = g_objectDict.find(refId); if (pObject) { if (*pObject=="self") { if (g_currentDefinition && g_currentDefinition->definitionType()==Definition::TypeClass) { ctx->objectType = (ClassDef *)g_currentDefinition; if (ctx->objectType->categoryOf()) { ctx->objectType = ctx->objectType->categoryOf(); } if (ctx->objectType) { ctx->method = ctx->objectType->getMemberByName(ctx->methodName); } } startFontClass("keyword"); codifyLines(pObject->data()); endFontClass(); } else if (*pObject=="super") { if (g_currentDefinition && g_currentDefinition->definitionType()==Definition::TypeClass) { ClassDef *cd = (ClassDef *)g_currentDefinition; if (cd->categoryOf()) { cd = cd->categoryOf(); } BaseClassList *bcd = cd->baseClasses(); if (bcd) // get direct base class (there should be only one) { BaseClassListIterator bli(*bcd); BaseClassDef *bclass; for (bli.toFirst();(bclass=bli.current());++bli) { if (bclass->classDef->compoundType()!=ClassDef::Protocol) { ctx->objectType = bclass->classDef; if (ctx->objectType) { ctx->method = ctx->objectType->getMemberByName(ctx->methodName); } } } } } startFontClass("keyword"); codifyLines(pObject->data()); endFontClass(); } else if (ctx->objectVar && ctx->objectVar->isLinkable()) // object is class variable { writeMultiLineCodeLink(*g_code,ctx->objectVar,pObject->data()); if (g_currentMemberDef && g_collectXRefs) { addDocCrossReference(g_currentMemberDef,ctx->objectVar); } } else if (ctx->objectType && ctx->objectType!=VariableContext::dummyContext && ctx->objectType->isLinkable() ) // object is class name { ClassDef *cd = ctx->objectType; writeMultiLineCodeLink(*g_code,cd,pObject->data()); } else // object still needs to be resolved { ClassDef *cd = getResolvedClass(g_currentDefinition, g_sourceFileDef, *pObject); if (cd && cd->isLinkable()) { if (ctx->objectType==0) ctx->objectType=cd; writeMultiLineCodeLink(*g_code,cd,pObject->data()); } else { codifyLines(pObject->data()); } } } else { //printf("Invalid object: id=%d\n",refId); } } else if (nc=='c') // reference to nested call { nc=*p++; QCString refIdStr; while (nc!=0 && isdigit(nc)) { refIdStr+=nc; nc=*p++; } p--; int refId=refIdStr.toInt(); ObjCCallCtx *ictx = g_contextDict.find(refId); if (ictx) // recurse into nested call { writeObjCMethodCall(ictx); if (ictx->method) // link to nested call successfully { // get the ClassDef representing the method's return type if (QCString(ictx->method->typeString())=="id") { // see if the method name is unique, if so we link to it MemberName *mn=Doxygen::memberNameSDict->find(ctx->methodName); //printf("mn->count=%d ictx->method=%s ctx->methodName=%s\n", // mn==0?-1:(int)mn->count(), // ictx->method->name().data(), // ctx->methodName.data()); if (mn && mn->count()==1) // member name unique { ctx->method = mn->getFirst(); } } else { ctx->objectType = stripClassName(ictx->method->typeString()); if (ctx->objectType) { ctx->method = ctx->objectType->getMemberByName(ctx->methodName); } } //printf(" ***** method=%s -> object=%p\n",ictx->method->name().data(),ctx->objectType); } } else { //printf("Invalid context: id=%d\n",refId); } } else if (nc=='w') // some word { nc=*p++; QCString refIdStr; while (nc!=0 && isdigit(nc)) { refIdStr+=nc; nc=*p++; } p--; int refId=refIdStr.toInt(); QCString *pWord = g_wordDict.find(refId); if (pWord) { codifyLines(pWord->data()); } } else // illegal marker { ASSERT(!"invalid escape sequence"); } } } else // normal non-marker character { char s[2]; s[0]=c;s[1]=0; codifyLines(s); } } //printf("%s %s]\n",ctx->objectTypeOrName.data(),ctx->methodName.data()); //printf("}=(type='%s',name='%s')", // ctx->objectTypeOrName.data(), // ctx->methodName.data()); } // Replaces an Objective-C method name fragment s by a marker of the form // $n12, the number (12) can later be used as a key for obtaining the name // fragment, from g_nameDict static QCString escapeName(const char *s) { QCString result; result.sprintf("$n%d",g_currentNameId); g_nameDict.insert(g_currentNameId,new QCString(s)); g_currentNameId++; return result; } static QCString escapeObject(const char *s) { QCString result; result.sprintf("$o%d",g_currentObjId); g_objectDict.insert(g_currentObjId,new QCString(s)); g_currentObjId++; return result; } static QCString escapeWord(const char *s) { QCString result; result.sprintf("$w%d",g_currentWordId); g_wordDict.insert(g_currentWordId,new QCString(s)); g_currentWordId++; return result; } /* ----------------------------------------------------------------- */ #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 && g_inputString[g_inputPosition] ) { *buf = g_inputString[g_inputPosition++] ; c++; buf++; } return c; } #line 12979 "" #define INITIAL 0 #define SkipString 1 #define SkipStringS 2 #define SkipVerbString 3 #define SkipCPP 4 #define SkipComment 5 #define SkipCxxComment 6 #define RemoveSpecialCComment 7 #define StripSpecialCComment 8 #define Body 9 #define FuncCall 10 #define MemberCall 11 #define MemberCall2 12 #define SkipInits 13 #define ClassName 14 #define AlignAs 15 #define AlignAsEnd 16 #define PackageName 17 #define ClassVar 18 #define CppCliTypeModifierFollowup 19 #define Bases 20 #define SkipSharp 21 #define ReadInclude 22 #define TemplDecl 23 #define TemplCast 24 #define CallEnd 25 #define ObjCMethod 26 #define ObjCParams 27 #define ObjCParamType 28 #define ObjCCall 29 #define ObjCMName 30 #define ObjCSkipStr 31 #define OldStyleArgs 32 #define UsingName 33 #define RawString 34 #define InlineInit 35 #ifndef YY_NO_UNISTD_H /* Special case for "unistd.h", since it is non-ANSI. We include it way * down here because we want the user's section 1 to have been scanned first. * The user has a chance to override it with an option. */ #include #endif #ifndef YY_EXTRA_TYPE #define YY_EXTRA_TYPE void * #endif static int yy_init_globals (void ); /* Accessor methods to globals. These are made visible to non-reentrant scanners for convenience. */ int codeYYlex_destroy (void ); int codeYYget_debug (void ); void codeYYset_debug (int debug_flag ); YY_EXTRA_TYPE codeYYget_extra (void ); void codeYYset_extra (YY_EXTRA_TYPE user_defined ); FILE *codeYYget_in (void ); void codeYYset_in (FILE * in_str ); FILE *codeYYget_out (void ); void codeYYset_out (FILE * out_str ); yy_size_t codeYYget_leng (void ); char *codeYYget_text (void ); int codeYYget_lineno (void ); void codeYYset_lineno (int line_number ); /* Macros after this point can all be overridden by user definitions in * section 1. */ #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus extern "C" int codeYYwrap (void ); #else extern int codeYYwrap (void ); #endif #endif static void yyunput (int c,char *buf_ptr ); #ifndef yytext_ptr static void yy_flex_strncpy (char *,yyconst char *,int ); #endif #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * ); #endif #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput (void ); #else static int input (void ); #endif #endif /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE #define YY_READ_BUF_SIZE 262144 #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 do { if (fwrite( codeYYtext, codeYYleng, 1, codeYYout )) {} } while (0) #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_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ size_t n; \ for ( n = 0; n < max_size && \ (c = getc( codeYYin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ if ( c == EOF && ferror( codeYYin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ else \ { \ errno=0; \ while ( (result = fread(buf, 1, max_size, codeYYin))==0 && ferror(codeYYin)) \ { \ if( errno != EINTR) \ { \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ break; \ } \ errno=0; \ clearerr(codeYYin); \ } \ }\ \ #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 /* end tables serialization structures and prototypes */ /* Default declaration of generated scanner - a define so the user can * easily add parameters. */ #ifndef YY_DECL #define YY_DECL_IS_OURS 1 extern int codeYYlex (void); #define YY_DECL int codeYYlex (void) #endif /* !YY_DECL */ /* Code executed at the beginning of each rule, after codeYYtext and codeYYleng * 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 ( codeYYleng > 0 ) \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \ (codeYYtext[codeYYleng - 1] == '\n'); \ YY_USER_ACTION /** The main scanner function which does all the work. */ YY_DECL { register yy_state_type yy_current_state; register char *yy_cp, *yy_bp; register int yy_act; #line 1804 "code.l" #line 13202 "" if ( !(yy_init) ) { (yy_init) = 1; #ifdef YY_USER_INIT YY_USER_INIT; #endif /* Create the reject buffer large enough to save one state per allowed character. */ if ( ! (yy_state_buf) ) (yy_state_buf) = (yy_state_type *)codeYYalloc(YY_STATE_BUF_SIZE ); if ( ! (yy_state_buf) ) YY_FATAL_ERROR( "out of dynamic memory in codeYYlex()" ); if ( ! (yy_start) ) (yy_start) = 1; /* first start state */ if ( ! codeYYin ) codeYYin = stdin; if ( ! codeYYout ) codeYYout = stdout; if ( ! YY_CURRENT_BUFFER ) { codeYYensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = codeYY_create_buffer(codeYYin,YY_BUF_SIZE ); } codeYY_load_buffer_state( ); } while ( 1 ) /* loops until end-of-file is reached */ { yy_cp = (yy_c_buf_p); /* Support of codeYYtext. */ *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 >= 3586 ) 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] != 38616 ); 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; (yy_full_match) = yy_cp; (yy_full_state) = (yy_state_ptr); (yy_full_lp) = (yy_lp); } 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 1806 "code.l" YY_BREAK case 2: YY_RULE_SETUP #line 1807 "code.l" { startFontClass("preprocessor"); g_code->codify(codeYYtext); BEGIN( ReadInclude ); } YY_BREAK case 3: /* rule 3 can match eol */ YY_RULE_SETUP #line 1812 "code.l" { g_insideObjC=TRUE; startFontClass("keyword"); codifyLines(codeYYtext); endFontClass(); if (!g_insideTemplate) BEGIN( ClassName ); } YY_BREAK case 4: YY_RULE_SETUP #line 1820 "code.l" { if (g_insideTemplate) REJECT; startFontClass("keyword"); codifyLines(codeYYtext); endFontClass(); BEGIN( ClassName ); } YY_BREAK case 5: /* rule 5 can match eol */ YY_RULE_SETUP #line 1827 "code.l" { if (g_insideTemplate) REJECT; startFontClass("keyword"); codifyLines(codeYYtext); endFontClass(); } YY_BREAK case 6: YY_RULE_SETUP #line 1833 "code.l" { startFontClass("keyword"); codifyLines(codeYYtext); endFontClass(); if (!g_insideTemplate) BEGIN( ClassName ); } YY_BREAK case 7: /* rule 7 can match eol */ YY_RULE_SETUP #line 1840 "code.l" { startFontClass("keyword"); codifyLines(codeYYtext); endFontClass(); BEGIN( PackageName ); } YY_BREAK case 8: /* rule 8 can match eol */ YY_RULE_SETUP #line 1846 "code.l" { if (!g_insideObjC) REJECT; codifyLines(codeYYtext); BEGIN(Body); } YY_BREAK case 9: YY_RULE_SETUP #line 1851 "code.l" { if (!g_insideObjC || g_insideBody) { g_code->codify(codeYYtext); } else // Start of Objective-C method { //printf("Method!\n"); g_code->codify(codeYYtext); BEGIN(ObjCMethod); } } YY_BREAK case 10: YY_RULE_SETUP #line 1863 "code.l" { g_code->codify(codeYYtext); BEGIN(ObjCParams); } YY_BREAK case 11: YY_RULE_SETUP #line 1867 "code.l" { g_code->codify(codeYYtext); BEGIN(ObjCParamType); } YY_BREAK case 12: YY_RULE_SETUP #line 1871 "code.l" { g_code->codify(codeYYtext); if (*codeYYtext=='{') { g_curlyCount++; if (g_searchingForBody) { g_searchingForBody=FALSE; g_insideBody=TRUE; } if (g_insideBody) g_bodyCurlyCount++; if (!g_curClassName.isEmpty()) // valid class name { pushScope(g_curClassName); DBG_CTX((stderr,"** scope stack push SCOPEBLOCK\n")); g_scopeStack.push(SCOPEBLOCK); } } g_type.resize(0); g_name.resize(0); BEGIN(Body); } YY_BREAK case 13: YY_RULE_SETUP #line 1893 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 14: YY_RULE_SETUP #line 1896 "code.l" { startFontClass("keywordtype"); g_code->codify(codeYYtext); endFontClass(); g_parmType=codeYYtext; } YY_BREAK case 15: YY_RULE_SETUP #line 1902 "code.l" { generateClassOrGlobalLink(*g_code,codeYYtext); g_parmType=codeYYtext; } YY_BREAK case 16: YY_RULE_SETUP #line 1906 "code.l" { g_code->codify(codeYYtext); BEGIN(ObjCParams); } YY_BREAK case 17: YY_RULE_SETUP #line 1910 "code.l" { g_code->codify(codeYYtext); g_parmName=codeYYtext; g_theVarContext.addVariable(g_parmType,g_parmName); g_parmType.resize(0);g_parmName.resize(0); } YY_BREAK case 18: YY_RULE_SETUP #line 1916 "code.l" { generateClassOrGlobalLink(*g_code,codeYYtext); } YY_BREAK case 19: YY_RULE_SETUP #line 1919 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 20: /* rule 20 can match eol */ YY_RULE_SETUP #line 1922 "code.l" { codifyLines(codeYYtext); } YY_BREAK case 21: YY_RULE_SETUP #line 1925 "code.l" { //FileInfo *f; bool ambig; bool found=FALSE; //QCString absPath = codeYYtext; //if (g_sourceFileDef && QDir::isRelativePath(absPath)) //{ // absPath = QDir::cleanDirPath(g_sourceFileDef->getPath()+"/"+absPath); //} FileDef *fd=findFileDef(Doxygen::inputNameDict,codeYYtext,ambig); //printf("looking for include %s -> %s fd=%p\n",codeYYtext,absPath.data(),fd); if (fd && fd->isLinkable()) { if (ambig) // multiple input files match the name { //printf("===== yes %s is ambiguous\n",codeYYtext); QCString name = QDir::cleanDirPath(codeYYtext).utf8(); if (!name.isEmpty() && g_sourceFileDef) { FileName *fn = Doxygen::inputNameDict->find(name); if (fn) { FileNameIterator fni(*fn); // for each include name for (fni.toFirst();!found && (fd=fni.current());++fni) { // see if this source file actually includes the file found = g_sourceFileDef->isIncluded(fd->absFilePath()); //printf(" include file %s found=%d\n",fd->absFilePath().data(),found); } } } } else // not ambiguous { found = TRUE; } } //printf(" include file %s found=%d\n",fd ? fd->absFilePath().data() : "",found); if (found) { writeMultiLineCodeLink(*g_code,fd,codeYYtext); } else { g_code->codify(codeYYtext); } char c=yyinput(); QCString text; text+=c; g_code->codify(text); endFontClass(); BEGIN( Body ); } YY_BREAK case 22: YY_RULE_SETUP #line 1980 "code.l" { startFontClass("preprocessor"); g_lastSkipCppContext = YY_START; g_code->codify(codeYYtext); BEGIN( SkipCPP ) ; } YY_BREAK case 23: YY_RULE_SETUP #line 1986 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 24: YY_RULE_SETUP #line 1989 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 25: /* rule 25 can match eol */ YY_RULE_SETUP #line 1992 "code.l" { codifyLines(codeYYtext); } YY_BREAK case 26: YY_RULE_SETUP #line 1995 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 27: YY_RULE_SETUP #line 1998 "code.l" { g_theVarContext.pushScope(); DBG_CTX((stderr,"** scope stack push INNERBLOCK\n")); g_scopeStack.push(INNERBLOCK); if (g_searchingForBody) { g_searchingForBody=FALSE; g_insideBody=TRUE; } g_code->codify(codeYYtext); g_curlyCount++; if (g_insideBody) { g_bodyCurlyCount++; } g_type.resize(0); g_name.resize(0); BEGIN( Body ); } YY_BREAK case 28: YY_RULE_SETUP #line 2019 "code.l" { g_theVarContext.popScope(); g_type.resize(0); g_name.resize(0); int *scope = g_scopeStack.pop(); DBG_CTX((stderr,"** scope stack pop SCOPEBLOCK=%d\n",scope==SCOPEBLOCK)); if (scope==SCOPEBLOCK || scope==CLASSBLOCK) { popScope(); } g_code->codify(codeYYtext); DBG_CTX((stderr,"g_bodyCurlyCount=%d\n",g_bodyCurlyCount)); if (--g_bodyCurlyCount<=0) { g_insideBody=FALSE; g_currentMemberDef=0; if (g_currentDefinition) g_currentDefinition=g_currentDefinition->getOuterScope(); } BEGIN(Body); } YY_BREAK case 29: YY_RULE_SETUP #line 2043 "code.l" { //printf("End of objc scope fd=%s\n",g_sourceFileDef->name().data()); if (g_sourceFileDef) { FileDef *fd=g_sourceFileDef; g_insideObjC = fd->name().lower().right(2)==".m" || fd->name().lower().right(3)==".mm"; //printf("insideObjC=%d\n",g_insideObjC); } else { g_insideObjC = FALSE; } if (g_insideBody) { g_theVarContext.popScope(); int *scope = g_scopeStack.pop(); DBG_CTX((stderr,"** scope stack pop SCOPEBLOCK=%d\n",scope==SCOPEBLOCK)); if (scope==SCOPEBLOCK || scope==CLASSBLOCK) { popScope(); } g_insideBody=FALSE; } startFontClass("keyword"); g_code->codify(codeYYtext); endFontClass(); g_currentMemberDef=0; if (g_currentDefinition) g_currentDefinition=g_currentDefinition->getOuterScope(); BEGIN(Body); } YY_BREAK case 30: YY_RULE_SETUP #line 2078 "code.l" { g_code->codify(codeYYtext); g_searchingForBody=FALSE; BEGIN( Body ); } YY_BREAK case 31: YY_RULE_SETUP #line 2083 "code.l" { g_type=g_curClassName.copy(); g_name.resize(0); g_code->codify(codeYYtext); BEGIN( Body ); // variable of type struct * } YY_BREAK case 32: YY_RULE_SETUP #line 2089 "code.l" { startFontClass("keyword"); g_code->codify(codeYYtext); endFontClass(); } YY_BREAK case 33: YY_RULE_SETUP #line 2094 "code.l" { g_curClassName=codeYYtext; addType(); if (g_curClassName=="alignas") { startFontClass("keyword"); g_code->codify(codeYYtext); endFontClass(); BEGIN( AlignAs ); } else { generateClassOrGlobalLink(*g_code,codeYYtext); BEGIN( ClassVar ); } } YY_BREAK case 34: YY_RULE_SETUP #line 2110 "code.l" { g_bracketCount=1; g_code->codify(codeYYtext); BEGIN( AlignAsEnd ); } YY_BREAK case 35: /* rule 35 can match eol */ YY_RULE_SETUP #line 2115 "code.l" { g_yyLineNr++; codifyLines(codeYYtext); } YY_BREAK case 36: YY_RULE_SETUP #line 2118 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 37: YY_RULE_SETUP #line 2119 "code.l" { g_code->codify(codeYYtext); g_bracketCount++; } YY_BREAK case 38: YY_RULE_SETUP #line 2122 "code.l" { g_code->codify(codeYYtext); if (--g_bracketCount<=0) { BEGIN(ClassName); } } YY_BREAK case 39: /* rule 39 can match eol */ YY_RULE_SETUP #line 2129 "code.l" { g_yyLineNr++; codifyLines(codeYYtext); } YY_BREAK case 40: YY_RULE_SETUP #line 2132 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 41: YY_RULE_SETUP #line 2133 "code.l" { // PHP namespace g_curClassName=substitute(codeYYtext,"\\","::"); g_scopeStack.push(CLASSBLOCK); pushScope(g_curClassName); addType(); generateClassOrGlobalLink(*g_code,codeYYtext); BEGIN( ClassVar ); } YY_BREAK case 42: YY_RULE_SETUP #line 2141 "code.l" { // Obj-C category g_curClassName=removeRedundantWhiteSpace(codeYYtext); g_scopeStack.push(CLASSBLOCK); pushScope(g_curClassName); addType(); generateClassOrGlobalLink(*g_code,codeYYtext); BEGIN( ClassVar ); } YY_BREAK case 43: YY_RULE_SETUP #line 2149 "code.l" { g_curClassName=substitute(codeYYtext,".","::"); //printf("found package: %s\n",g_curClassName.data()); addType(); codifyLines(codeYYtext); } YY_BREAK case 44: YY_RULE_SETUP #line 2155 "code.l" { unput(*codeYYtext); BEGIN( Body ); } YY_BREAK case 45: YY_RULE_SETUP #line 2159 "code.l" { // Java startFontClass("keyword"); codifyLines(codeYYtext); endFontClass(); g_curClassBases.clear(); BEGIN( Bases ); } YY_BREAK case 46: /* rule 46 can match eol */ YY_RULE_SETUP #line 2166 "code.l" { DBG_CTX((stderr,"***** C++/CLI modifier %s on g_curClassName=%s\n",codeYYtext,g_curClassName.data())); startFontClass("keyword"); codifyLines(codeYYtext); endFontClass(); BEGIN( CppCliTypeModifierFollowup ); } YY_BREAK case 47: YY_RULE_SETUP #line 2173 "code.l" { g_type = g_curClassName.copy(); g_name = codeYYtext; if (g_insideBody) { g_theVarContext.addVariable(g_type,g_name); } generateClassOrGlobalLink(*g_code,codeYYtext); } YY_BREAK case 48: YY_RULE_SETUP #line 2182 "code.l" { codifyLines(codeYYtext); g_curClassBases.clear(); BEGIN( Bases ); } YY_BREAK case 49: #line 2188 "code.l" case 50: #line 2189 "code.l" case 51: YY_RULE_SETUP #line 2189 "code.l" { g_theVarContext.pushScope(); g_code->codify(codeYYtext); g_curlyCount++; if (YY_START==ClassVar && g_curClassName.isEmpty()) { g_curClassName = g_name.copy(); } if (g_searchingForBody) { g_searchingForBody=FALSE; g_insideBody=TRUE; } if (g_insideBody) g_bodyCurlyCount++; if (!g_curClassName.isEmpty()) // valid class name { DBG_CTX((stderr,"** scope stack push CLASSBLOCK\n")); g_scopeStack.push(CLASSBLOCK); pushScope(g_curClassName); DBG_CTX((stderr,"***** g_curClassName=%s\n",g_curClassName.data())); if (getResolvedClass(g_currentDefinition,g_sourceFileDef,g_curClassName)==0) { DBG_CTX((stderr,"Adding new class %s\n",g_curClassName.data())); ClassDef *ncd=new ClassDef("",1,1, g_curClassName,ClassDef::Class,0,0,FALSE); g_codeClassSDict->append(g_curClassName,ncd); // insert base classes. char *s=g_curClassBases.first(); while (s) { ClassDef *bcd; bcd=g_codeClassSDict->find(s); if (bcd==0) bcd=getResolvedClass(g_currentDefinition,g_sourceFileDef,s); if (bcd && bcd!=ncd) { ncd->insertBaseClass(bcd,s,Public,Normal); } s=g_curClassBases.next(); } } //printf("g_codeClassList.count()=%d\n",g_codeClassList.count()); } else // not a class name -> assume inner block { DBG_CTX((stderr,"** scope stack push INNERBLOCK\n")); g_scopeStack.push(INNERBLOCK); } g_curClassName.resize(0); g_curClassBases.clear(); BEGIN( Body ); } YY_BREAK case 52: YY_RULE_SETUP #line 2240 "code.l" { startFontClass("keyword"); g_code->codify(codeYYtext); endFontClass(); } YY_BREAK case 53: YY_RULE_SETUP #line 2245 "code.l" { DBG_CTX((stderr,"%s:addBase(%s)\n",g_curClassName.data(),codeYYtext)); g_curClassBases.inSort(codeYYtext); generateClassOrGlobalLink(*g_code,codeYYtext); } YY_BREAK case 54: YY_RULE_SETUP #line 2250 "code.l" { g_code->codify(codeYYtext); if (!g_insideObjC) { g_sharpCount=1; BEGIN ( SkipSharp ); } else { g_insideProtocolList=TRUE; } } YY_BREAK case 55: YY_RULE_SETUP #line 2262 "code.l" { g_code->codify(codeYYtext); g_insideProtocolList=FALSE; } YY_BREAK case 56: YY_RULE_SETUP #line 2266 "code.l" { g_code->codify(codeYYtext); ++g_sharpCount; } YY_BREAK case 57: YY_RULE_SETUP #line 2270 "code.l" { g_code->codify(codeYYtext); if (--g_sharpCount<=0) BEGIN ( Bases ); } YY_BREAK case 58: YY_RULE_SETUP #line 2275 "code.l" { g_code->codify(codeYYtext); g_sharpCount=1; BEGIN ( SkipSharp ); } YY_BREAK case 59: YY_RULE_SETUP #line 2280 "code.l" { g_code->codify(codeYYtext); ++g_sharpCount; } YY_BREAK case 60: YY_RULE_SETUP #line 2284 "code.l" { g_code->codify(codeYYtext); if (--g_sharpCount<=0) BEGIN ( Bases ); } YY_BREAK case 61: YY_RULE_SETUP #line 2291 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 62: /* rule 62 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 2296 "code.l" { addType(); generateFunctionLink(*g_code,codeYYtext); g_bracketCount=0; g_args.resize(0); g_name+=codeYYtext; BEGIN( FuncCall ); } YY_BREAK case 63: /* rule 63 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 2304 "code.l" { addType(); generateFunctionLink(*g_code,codeYYtext); g_bracketCount=0; g_args.resize(0); g_name+=codeYYtext; BEGIN( FuncCall ); } YY_BREAK case 64: /* rule 64 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 2312 "code.l" { addType(); generateFunctionLink(*g_code,codeYYtext); g_bracketCount=0; g_args.resize(0); g_name+=codeYYtext; BEGIN( FuncCall ); } YY_BREAK case 65: /* rule 65 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 2320 "code.l" { startFontClass("keyword"); codifyLines(codeYYtext); endFontClass(); g_insideTemplate=TRUE; g_sharpCount=0; } YY_BREAK case 66: /* rule 66 can match eol */ YY_RULE_SETUP #line 2327 "code.l" { startFontClass("keyword"); codifyLines(codeYYtext); endFontClass(); BEGIN(UsingName); } YY_BREAK case 67: YY_RULE_SETUP #line 2333 "code.l" { addUsingDirective(codeYYtext); generateClassOrGlobalLink(*g_code,codeYYtext); DBG_CTX((stderr,"** scope stack push CLASSBLOCK\n")); g_scopeStack.push(CLASSBLOCK); pushScope(codeYYtext); BEGIN(Body); } YY_BREAK case 68: /* rule 68 can match eol */ YY_RULE_SETUP #line 2340 "code.l" { codifyLines(codeYYtext); BEGIN(Body); } YY_BREAK case 69: YY_RULE_SETUP #line 2341 "code.l" { codifyLines(codeYYtext); BEGIN(Body); } YY_BREAK case 70: YY_RULE_SETUP #line 2342 "code.l" { g_code->codify(codeYYtext); // this-> for C++, this. for C# } YY_BREAK case 71: /* rule 71 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 2344 "code.l" { startFontClass("keyword"); codifyLines(codeYYtext); if (QCString(codeYYtext)=="typedef") { addType(); g_name+=codeYYtext; } endFontClass(); } YY_BREAK case 72: YY_RULE_SETUP #line 2354 "code.l" { startFontClass("keyword"); codifyLines(codeYYtext); endFontClass(); } YY_BREAK case 73: /* rule 73 can match eol */ YY_RULE_SETUP #line 2359 "code.l" { startFontClass("keyword"); codifyLines(codeYYtext); endFontClass(); g_name.resize(0);g_type.resize(0); } YY_BREAK case 74: /* rule 74 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp = yy_bp + 2; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 2365 "code.l" { if (!g_inForEachExpression) REJECT; startFontClass("keywordflow"); codifyLines(codeYYtext); endFontClass(); // insert the variable in the parent scope, see bug 546158 g_theVarContext.popScope(); g_theVarContext.addVariable(g_parmType,g_parmName); g_theVarContext.pushScope(); g_name.resize(0);g_type.resize(0); } YY_BREAK case 75: /* rule 75 can match eol */ YY_RULE_SETUP #line 2376 "code.l" { startFontClass("keywordflow"); codifyLines(codeYYtext); endFontClass(); g_name.resize(0);g_type.resize(0); g_inForEachExpression = (qstrcmp(codeYYtext,"for each")==0 || qstrcmp(codeYYtext, "foreach")==0); BEGIN(FuncCall); } YY_BREAK case 76: /* rule 76 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 2384 "code.l" { startFontClass("keywordflow"); codifyLines(codeYYtext); endFontClass(); if (g_inFunctionTryBlock && (qstrcmp(codeYYtext,"catch")==0 || qstrcmp(codeYYtext,"finally")==0)) { g_inFunctionTryBlock=FALSE; } } YY_BREAK case 77: YY_RULE_SETUP #line 2393 "code.l" { startFontClass("keywordflow"); codifyLines(codeYYtext); endFontClass(); } YY_BREAK case 78: YY_RULE_SETUP #line 2398 "code.l" { // end of cast? g_code->codify(codeYYtext); g_theCallContext.popScope(); g_bracketCount--; g_parmType = g_name; BEGIN(FuncCall); } YY_BREAK case 79: YY_RULE_SETUP #line 2405 "code.l" { g_code->codify(codeYYtext); g_name.resize(0);g_type.resize(0); if (*codeYYtext==')') { g_theCallContext.popScope(); g_bracketCount--; BEGIN(FuncCall); } } YY_BREAK case 80: YY_RULE_SETUP #line 2415 "code.l" { startFontClass("keywordtype"); g_code->codify(codeYYtext); endFontClass(); addType(); g_name+=codeYYtext; } YY_BREAK case 81: *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp = yy_bp + 7; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 2422 "code.l" { startFontClass("keyword"); g_code->codify(codeYYtext); endFontClass(); g_sharpCount=0; BEGIN(TemplDecl); } YY_BREAK case 82: *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp = yy_bp + 8; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 2429 "code.l" { // template<...> startFontClass("keyword"); g_code->codify(codeYYtext); endFontClass(); g_sharpCount=0; BEGIN(TemplDecl); } YY_BREAK case 83: YY_RULE_SETUP #line 2436 "code.l" { startFontClass("keyword"); codifyLines(codeYYtext); endFontClass(); } YY_BREAK case 84: YY_RULE_SETUP #line 2441 "code.l" { g_code->codify(codeYYtext); g_sharpCount++; } YY_BREAK case 85: YY_RULE_SETUP #line 2445 "code.l" { g_code->codify(codeYYtext); g_sharpCount--; if (g_sharpCount<=0) { BEGIN(Body); } } YY_BREAK case 86: YY_RULE_SETUP #line 2453 "code.l" { startFontClass("keyword"); codifyLines(codeYYtext); endFontClass(); BEGIN( g_lastTemplCastContext ); } YY_BREAK case 87: YY_RULE_SETUP #line 2459 "code.l" { generateClassOrGlobalLink(*g_code,codeYYtext); } YY_BREAK case 88: YY_RULE_SETUP #line 2462 "code.l" { startFontClass("keyword"); codifyLines(codeYYtext); endFontClass(); } YY_BREAK case 89: YY_RULE_SETUP #line 2467 "code.l" { codifyLines(codeYYtext); } YY_BREAK case 90: YY_RULE_SETUP #line 2470 "code.l" { // static_cast( startFontClass("keyword"); codifyLines(codeYYtext); endFontClass(); g_lastTemplCastContext = YY_START; BEGIN(TemplCast); } YY_BREAK case 91: /* rule 91 can match eol */ YY_RULE_SETUP #line 2477 "code.l" { // PHP member variable addType(); generatePHPVariableLink(*g_code,codeYYtext); g_name+=codeYYtext+7; } YY_BREAK case 92: /* rule 92 can match eol */ YY_RULE_SETUP #line 2482 "code.l" { // A *pt; int i=QCString(codeYYtext).find('<'); QCString kw = QCString(codeYYtext).left(i).stripWhiteSpace(); if (kw.right(5)=="_cast" && YY_START==Body) { REJECT; } addType(); generateClassOrGlobalLink(*g_code,codeYYtext); g_name+=codeYYtext; } YY_BREAK case 93: /* rule 93 can match eol */ YY_RULE_SETUP #line 2493 "code.l" { // "int var;" or "var, var2" or "debug(f) macro" if (!g_insideCS && !g_insideJava) { REJECT; } else { addType(); // changed this to generateFunctionLink, see bug 624514 //generateClassOrGlobalLink(*g_code,codeYYtext,FALSE,TRUE); generateFunctionLink(*g_code,codeYYtext); g_name+=codeYYtext; } } YY_BREAK case 94: /* rule 94 can match eol */ YY_RULE_SETUP #line 2507 "code.l" { // "int var;" or "var, var2" or "debug(f) macro" addType(); // changed this to generateFunctionLink, see bug 624514 //generateClassOrGlobalLink(*g_code,codeYYtext,FALSE,TRUE); generateFunctionLink(*g_code,codeYYtext); g_name+=codeYYtext; } YY_BREAK case 95: /* rule 95 can match eol */ YY_RULE_SETUP #line 2514 "code.l" { // p->func() if (!g_insideCS && !g_insideJava) { REJECT; } else { addType(); generateClassOrGlobalLink(*g_code,codeYYtext); g_name+=codeYYtext; } } YY_BREAK case 96: /* rule 96 can match eol */ YY_RULE_SETUP #line 2526 "code.l" { // p->func() addType(); generateClassOrGlobalLink(*g_code,codeYYtext); g_name+=codeYYtext; } YY_BREAK case 97: /* rule 97 can match eol */ YY_RULE_SETUP #line 2531 "code.l" { // (*p)->func() but not "if (p) ..." g_code->codify(codeYYtext); int s=0;while (s<(int)codeYYleng && !isId(codeYYtext[s])) s++; int e=(int)codeYYleng-1;while (e>=0 && !isId(codeYYtext[e])) e--; QCString varname = ((QCString)codeYYtext).mid(s,e-s+1); addType(); g_name=varname; } YY_BREAK case 98: /* rule 98 can match eol */ YY_RULE_SETUP #line 2539 "code.l" { // a() or c::a() or t::a() or A\B\foo() addType(); generateFunctionLink(*g_code,codeYYtext); g_bracketCount=0; g_args.resize(0); g_name+=codeYYtext; BEGIN( FuncCall ); } YY_BREAK case 99: /* rule 99 can match eol */ YY_RULE_SETUP #line 2547 "code.l" { QCString text=codeYYtext; int i=text.find('R'); g_code->codify(text.left(i+1)); startFontClass("stringliteral"); g_code->codify(codeYYtext+i+1); g_lastStringContext=YY_START; g_inForEachExpression = FALSE; g_delimiter = codeYYtext+i+2; g_delimiter=g_delimiter.left(g_delimiter.length()-1); BEGIN( RawString ); } YY_BREAK case 100: YY_RULE_SETUP #line 2559 "code.l" { startFontClass("stringliteral"); g_code->codify(codeYYtext); g_lastStringContext=YY_START; g_inForEachExpression = FALSE; BEGIN( SkipString ); } YY_BREAK case 101: YY_RULE_SETUP #line 2566 "code.l" { startFontClass("stringliteral"); g_code->codify(codeYYtext); g_lastStringContext=YY_START; g_inForEachExpression = FALSE; BEGIN( SkipStringS ); } YY_BREAK case 102: YY_RULE_SETUP #line 2573 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 103: YY_RULE_SETUP #line 2576 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 104: YY_RULE_SETUP #line 2579 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 105: YY_RULE_SETUP #line 2582 "code.l" { g_code->codify(codeYYtext); endFontClass(); BEGIN( g_lastStringContext ); } YY_BREAK case 106: YY_RULE_SETUP #line 2587 "code.l" { g_code->codify(codeYYtext); endFontClass(); BEGIN( g_lastStringContext ); } YY_BREAK case 107: YY_RULE_SETUP #line 2592 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 108: /* rule 108 can match eol */ YY_RULE_SETUP #line 2595 "code.l" { g_code->codify(codeYYtext); QCString delimiter = codeYYtext+1; delimiter=delimiter.left(delimiter.length()-1); if (delimiter==g_delimiter) { BEGIN( g_lastStringContext ); } } YY_BREAK case 109: YY_RULE_SETUP #line 2604 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 110: YY_RULE_SETUP #line 2605 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 111: /* rule 111 can match eol */ YY_RULE_SETUP #line 2606 "code.l" { codifyLines(codeYYtext); } YY_BREAK case 112: YY_RULE_SETUP #line 2607 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 113: YY_RULE_SETUP #line 2610 "code.l" { // escaped quote g_code->codify(codeYYtext); } YY_BREAK case 114: YY_RULE_SETUP #line 2613 "code.l" { // end of string g_code->codify(codeYYtext); endFontClass(); BEGIN( g_lastVerbStringContext ); } YY_BREAK case 115: YY_RULE_SETUP #line 2618 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 116: /* rule 116 can match eol */ YY_RULE_SETUP #line 2621 "code.l" { codifyLines(codeYYtext); } YY_BREAK case 117: YY_RULE_SETUP #line 2624 "code.l" { g_code->codify(codeYYtext); g_name.resize(0);g_type.resize(0); } YY_BREAK case 118: YY_RULE_SETUP #line 2628 "code.l" { if (g_insideTemplate) { g_sharpCount++; } g_code->codify(codeYYtext); } YY_BREAK case 119: YY_RULE_SETUP #line 2635 "code.l" { if (g_insideTemplate) { if (--g_sharpCount<=0) { g_insideTemplate=FALSE; } } g_code->codify(codeYYtext); } YY_BREAK case 120: YY_RULE_SETUP #line 2645 "code.l" { startFontClass("charliteral"); g_code->codify(codeYYtext); endFontClass(); } YY_BREAK case 121: YY_RULE_SETUP #line 2650 "code.l" { if (codeYYtext[0]=='-') // -> could be overloaded { updateCallContextForSmartPointer(); } g_code->codify(codeYYtext); g_memCallContext = YY_START; BEGIN( MemberCall ); } YY_BREAK case 122: /* rule 122 can match eol */ YY_RULE_SETUP #line 2659 "code.l" { if (g_theCallContext.getClass()) { if (!generateClassMemberLink(*g_code,g_theCallContext.getClass(),codeYYtext)) { g_code->codify(codeYYtext); addToSearchIndex(codeYYtext); } g_name.resize(0); } else { g_code->codify(codeYYtext); addToSearchIndex(codeYYtext); g_name.resize(0); } g_type.resize(0); g_bracketCount=0; if (g_memCallContext==Body) { BEGIN(FuncCall); } else { BEGIN(g_memCallContext); } } YY_BREAK case 123: /* rule 123 can match eol */ YY_RULE_SETUP #line 2686 "code.l" { if (g_theCallContext.getClass()) { DBG_CTX((stderr,"g_theCallContext.getClass()=%p\n",g_theCallContext.getClass())); if (!generateClassMemberLink(*g_code,g_theCallContext.getClass(),codeYYtext)) { g_code->codify(codeYYtext); addToSearchIndex(codeYYtext); } g_name.resize(0); } else { DBG_CTX((stderr,"no class context!\n")); g_code->codify(codeYYtext); addToSearchIndex(codeYYtext); g_name.resize(0); } g_type.resize(0); BEGIN(g_memCallContext); } YY_BREAK case 124: YY_RULE_SETUP #line 2707 "code.l" { if (g_insideObjC && *codeYYtext=='[') { //printf("Found start of ObjC call!\n"); // start of a method call g_contextDict.setAutoDelete(TRUE); g_nameDict.setAutoDelete(TRUE); g_objectDict.setAutoDelete(TRUE); g_wordDict.setAutoDelete(TRUE); g_contextDict.clear(); g_nameDict.clear(); g_objectDict.clear(); g_wordDict.clear(); g_currentCtxId = 0; g_currentNameId = 0; g_currentObjId = 0; g_currentCtx = 0; g_braceCount = 0; unput('['); BEGIN(ObjCCall); } else { g_code->codify(codeYYtext); g_saveName = g_name.copy(); g_saveType = g_type.copy(); if (*codeYYtext!='[' && !g_type.isEmpty()) { //printf("g_scopeStack.bottom()=%p\n",g_scopeStack.bottom()); if (g_scopeStack.top()!=CLASSBLOCK) { //printf("AddVariable: '%s' '%s' context=%d\n", // g_type.data(),g_name.data(),g_theVarContext.count()); g_theVarContext.addVariable(g_type,g_name); } g_name.resize(0); } if (*codeYYtext==';' || *codeYYtext=='=') { g_type.resize(0); g_name.resize(0); } else if (*codeYYtext=='[') { g_theCallContext.pushScope(); } g_args.resize(0); g_parmType.resize(0); g_parmName.resize(0); } } YY_BREAK /* {ID} { if (qstrcmp(codeYYtext,"self")==0 || qstrcmp(codeYYtext,"super")==0) { // TODO: get proper base class for "super" g_theCallContext.setClass(getClass(g_curClassName)); startFontClass("keyword"); g_code->codify(codeYYtext); endFontClass(); } else { generateClassOrGlobalLink(*g_code,codeYYtext); } g_name.resize(0); BEGIN(ObjCMemberCall2); } "[" { g_code->codify(codeYYtext); g_theCallContext.pushScope(); } {ID}":"? { g_name+=codeYYtext; if (g_theCallContext.getClass()) { //printf("Calling method %s\n",g_name.data()); if (!generateClassMemberLink(*g_code,g_theCallContext.getClass(),g_name)) { g_code->codify(codeYYtext); addToSearchIndex(g_name); } } else { g_code->codify(codeYYtext); addToSearchIndex(g_name); } g_name.resize(0); BEGIN(ObjCMemberCall3); } "]" { g_theCallContext.popScope(); g_code->codify(codeYYtext); BEGIN(Body); } */ case 125: YY_RULE_SETUP #line 2804 "code.l" { saveObjCContext(); g_currentCtx->format+=*codeYYtext; BEGIN(ObjCCall); //printf("open\n"); } YY_BREAK case 126: YY_RULE_SETUP #line 2810 "code.l" { g_currentCtx->format+=*codeYYtext; restoreObjCContext(); BEGIN(ObjCMName); if (g_currentCtx==0) { // end of call writeObjCMethodCall(g_contextDict.find(0)); BEGIN(Body); } //printf("close\n"); } YY_BREAK case 127: YY_RULE_SETUP #line 2822 "code.l" { g_currentCtx->format+=escapeObject(codeYYtext); if (g_braceCount==0) { g_currentCtx->objectTypeOrName=codeYYtext; //printf("new type=%s\n",g_currentCtx->objectTypeOrName.data()); BEGIN(ObjCMName); } } YY_BREAK case 128: /* rule 128 can match eol */ YY_RULE_SETUP #line 2831 "code.l" { if (g_braceCount==0 && g_currentCtx->methodName.isEmpty()) { g_currentCtx->methodName=codeYYtext; g_currentCtx->format+=escapeName(codeYYtext); } else { g_currentCtx->format+=escapeWord(codeYYtext); } } YY_BREAK case 129: /* rule 129 can match eol */ YY_RULE_SETUP #line 2843 "code.l" { if (g_braceCount==0) { g_currentCtx->methodName+=codeYYtext; g_currentCtx->methodName+=":"; } g_currentCtx->format+=escapeName(codeYYtext); } YY_BREAK case 130: YY_RULE_SETUP #line 2851 "code.l" { g_currentCtx->format+=codeYYtext; } YY_BREAK case 131: YY_RULE_SETUP #line 2852 "code.l" { g_currentCtx->format+=codeYYtext; } YY_BREAK case 132: YY_RULE_SETUP #line 2853 "code.l" { g_currentCtx->format+=codeYYtext; BEGIN(g_lastStringContext); } YY_BREAK case 133: YY_RULE_SETUP #line 2856 "code.l" { g_currentCtx->format+=codeYYtext; } YY_BREAK case 134: YY_RULE_SETUP #line 2857 "code.l" { g_currentCtx->format+=codeYYtext; g_lastStringContext=YY_START; BEGIN(ObjCSkipStr); } YY_BREAK case 135: YY_RULE_SETUP #line 2861 "code.l" { g_currentCtx->format+="$$"; } YY_BREAK case 136: YY_RULE_SETUP #line 2862 "code.l" { g_currentCtx->format+=*codeYYtext; g_braceCount++; } YY_BREAK case 137: YY_RULE_SETUP #line 2863 "code.l" { g_currentCtx->format+=*codeYYtext; g_braceCount--; } YY_BREAK case 138: *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 2864 "code.l" { // needed to prevent matching the global rule (for C#) g_currentCtx->format+=codeYYtext; } YY_BREAK case 139: YY_RULE_SETUP #line 2867 "code.l" { g_currentCtx->format+=escapeWord(codeYYtext); } YY_BREAK case 140: YY_RULE_SETUP #line 2868 "code.l" { g_currentCtx->format+=*codeYYtext; } YY_BREAK case 141: /* rule 141 can match eol */ YY_RULE_SETUP #line 2869 "code.l" { g_currentCtx->format+=*codeYYtext; } YY_BREAK case 142: YY_RULE_SETUP #line 2871 "code.l" { g_theCallContext.popScope(); g_code->codify(codeYYtext); // TODO: nested arrays like: a[b[0]->func()]->func() g_name = g_saveName.copy(); g_type = g_saveType.copy(); } YY_BREAK case 143: YY_RULE_SETUP #line 2878 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 144: YY_RULE_SETUP #line 2881 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 145: /* rule 145 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 2884 "code.l" { //addParmType(); //g_parmName=codeYYtext; startFontClass("keyword"); g_code->codify(codeYYtext); endFontClass(); } YY_BREAK case 146: /* rule 146 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 2891 "code.l" { addParmType(); g_parmName=codeYYtext; startFontClass("keywordtype"); g_code->codify(codeYYtext); endFontClass(); } YY_BREAK case 147: /* rule 147 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 2898 "code.l" { addParmType(); g_parmName=codeYYtext; startFontClass("keywordflow"); g_code->codify(codeYYtext); endFontClass(); } YY_BREAK case 148: YY_RULE_SETUP #line 2905 "code.l" { addParmType(); g_parmName=codeYYtext; generateClassOrGlobalLink(*g_code,codeYYtext,!g_insideBody); } YY_BREAK case 149: YY_RULE_SETUP #line 2910 "code.l" { // probably a cast, not a function call g_code->codify(codeYYtext); g_inForEachExpression = FALSE; BEGIN( Body ); } YY_BREAK case 150: YY_RULE_SETUP #line 2915 "code.l" { g_code->codify(codeYYtext); g_theVarContext.addVariable(g_parmType,g_parmName); g_parmType.resize(0);g_parmName.resize(0); } YY_BREAK case 151: YY_RULE_SETUP #line 2920 "code.l" { if (g_bracketCount>0) { g_code->codify(codeYYtext); g_skipInlineInitContext=YY_START; g_curlyCount=0; BEGIN(InlineInit); } else { REJECT; } } YY_BREAK case 152: YY_RULE_SETUP #line 2933 "code.l" { g_curlyCount++; g_code->codify(codeYYtext); } YY_BREAK case 153: YY_RULE_SETUP #line 2936 "code.l" { g_code->codify(codeYYtext); if (--g_curlyCount<=0) { BEGIN(g_skipInlineInitContext); } } YY_BREAK case 154: /* rule 154 can match eol */ YY_RULE_SETUP #line 2943 "code.l" { codifyLines(codeYYtext); } YY_BREAK case 155: YY_RULE_SETUP #line 2946 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 156: YY_RULE_SETUP #line 2949 "code.l" { g_parmType.resize(0);g_parmName.resize(0); g_code->codify(codeYYtext); g_bracketCount++; g_theCallContext.pushScope(); if (YY_START==FuncCall && !g_insideBody) { g_theVarContext.pushScope(); } } YY_BREAK case 157: YY_RULE_SETUP #line 2959 "code.l" { // operator if (qstrcmp(codeYYtext,"*") && qstrcmp(codeYYtext,"&") && qstrcmp(codeYYtext,"^") && qstrcmp(codeYYtext,"%")) // typically a pointer or reference { // not a * or &, or C++/CLI's ^ or % g_parmType.resize(0);g_parmName.resize(0); } g_code->codify(codeYYtext); } YY_BREAK case 158: YY_RULE_SETUP #line 2970 "code.l" { if (codeYYtext[0]==')') // no a pointer cast { //printf("addVariable(%s,%s)\n",g_parmType.data(),g_parmName.data()); g_theVarContext.addVariable(g_parmType,g_parmName); } else { g_parmType.resize(0); g_parmName.resize(0); } g_theCallContext.popScope(); g_inForEachExpression = FALSE; //g_theCallContext.setClass(0); // commented out, otherwise a()->b() does not work for b(). g_code->codify(codeYYtext); if (--g_bracketCount<=0) { if (g_name.isEmpty()) { BEGIN( Body ); } else { BEGIN( CallEnd ); } } } YY_BREAK case 159: /* rule 159 can match eol */ YY_RULE_SETUP #line 2997 "code.l" { codifyLines(codeYYtext); } YY_BREAK /* ")"[ \t\n]*[;:] { */ case 160: YY_RULE_SETUP #line 3001 "code.l" { codifyLines(codeYYtext); g_bracketCount=0; if (*codeYYtext==';') g_searchingForBody=FALSE; if (!g_type.isEmpty()) { DBG_CTX((stderr,"add variable g_type=%s g_name=%s)\n",g_type.data(),g_name.data())); g_theVarContext.addVariable(g_type,g_name); } g_parmType.resize(0);g_parmName.resize(0); g_theCallContext.setClass(0); if (*codeYYtext==';' || g_insideBody) { if (!g_insideBody) { g_theVarContext.popScope(); } g_name.resize(0);g_type.resize(0); BEGIN( Body ); } else { g_bracketCount=0; BEGIN( SkipInits ); } } YY_BREAK case 161: /* rule 161 can match eol */ YY_RULE_SETUP #line 3027 "code.l" { startFontClass("keyword"); codifyLines(codeYYtext); endFontClass(); } YY_BREAK case 162: /* rule 162 can match eol */ YY_RULE_SETUP #line 3032 "code.l" { if (g_insideBody) { g_theVarContext.pushScope(); } g_theVarContext.addVariable(g_parmType,g_parmName); //g_theCallContext.popScope(); g_parmType.resize(0);g_parmName.resize(0); int index = g_name.findRev("::"); DBG_CTX((stderr,"g_name=%s\n",g_name.data())); if (index!=-1) { QCString scope = g_name.left(index); if (!g_classScope.isEmpty()) scope.prepend(g_classScope+"::"); ClassDef *cd=getResolvedClass(Doxygen::globalScope,g_sourceFileDef,scope); if (cd) { setClassScope(cd->name()); g_scopeStack.push(SCOPEBLOCK); DBG_CTX((stderr,"** scope stack push SCOPEBLOCK\n")); } else { //setClassScope(g_realScope); g_scopeStack.push(INNERBLOCK); DBG_CTX((stderr,"** scope stack push INNERBLOCK\n")); } } else { DBG_CTX((stderr,"** scope stack push INNERBLOCK\n")); g_scopeStack.push(INNERBLOCK); } codeYYtext[codeYYleng-1]='\0'; QCString cv(codeYYtext); if (!cv.stripWhiteSpace().isEmpty()) { startFontClass("keyword"); codifyLines(codeYYtext); endFontClass(); } else // just whitespace { codifyLines(codeYYtext); } g_code->codify("{"); if (g_searchingForBody) { g_searchingForBody=FALSE; g_insideBody=TRUE; } if (g_insideBody) g_bodyCurlyCount++; g_curlyCount++; g_type.resize(0); g_name.resize(0); BEGIN( Body ); } YY_BREAK case 163: YY_RULE_SETUP #line 3088 "code.l" { // function-try-block startFontClass("keyword"); g_code->codify(codeYYtext); endFontClass(); g_inFunctionTryBlock=TRUE; } YY_BREAK case 164: YY_RULE_SETUP #line 3094 "code.l" { if (g_insideBody || !g_parmType.isEmpty()) { REJECT; } // could be K&R style definition addParmType(); g_parmName=codeYYtext; generateClassOrGlobalLink(*g_code,codeYYtext,!g_insideBody); BEGIN(OldStyleArgs); } YY_BREAK case 165: YY_RULE_SETUP #line 3105 "code.l" { addParmType(); g_parmName=codeYYtext; generateClassOrGlobalLink(*g_code,codeYYtext,!g_insideBody); } YY_BREAK case 166: YY_RULE_SETUP #line 3110 "code.l" { g_code->codify(codeYYtext); g_theVarContext.addVariable(g_parmType,g_parmName); if (*codeYYtext==';') g_parmType.resize(0); g_parmName.resize(0); } YY_BREAK case 167: YY_RULE_SETUP #line 3116 "code.l" { startFontClass("preprocessor"); g_lastSkipCppContext = Body; g_code->codify(codeYYtext); BEGIN( SkipCPP ); } YY_BREAK case 168: YY_RULE_SETUP #line 3122 "code.l" { unput(*codeYYtext); if (!g_insideBody) { g_theVarContext.popScope(); } g_name.resize(0);g_args.resize(0); g_parmType.resize(0);g_parmName.resize(0); BEGIN( Body ); } YY_BREAK case 169: YY_RULE_SETUP #line 3132 "code.l" { g_code->codify(codeYYtext); g_type.resize(0); g_name.resize(0); BEGIN( Body ); } YY_BREAK case 170: YY_RULE_SETUP #line 3137 "code.l" { g_code->codify(codeYYtext); g_curlyCount++; if (g_searchingForBody) { g_searchingForBody=FALSE; g_insideBody=TRUE; } if (g_insideBody) g_bodyCurlyCount++; if (g_name.find("::")!=-1) { DBG_CTX((stderr,"** scope stack push SCOPEBLOCK\n")); g_scopeStack.push(SCOPEBLOCK); setClassScope(g_realScope); } else { DBG_CTX((stderr,"** scope stack push INNERBLOCK\n")); g_scopeStack.push(INNERBLOCK); } g_type.resize(0); g_name.resize(0); BEGIN( Body ); } YY_BREAK case 171: YY_RULE_SETUP #line 3160 "code.l" { generateClassOrGlobalLink(*g_code,codeYYtext); } YY_BREAK case 172: *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 3163 "code.l" { generateFunctionLink(*g_code,codeYYtext); } YY_BREAK case 173: YY_RULE_SETUP #line 3166 "code.l" { g_name=codeYYtext; generateClassOrGlobalLink(*g_code,codeYYtext); BEGIN( MemberCall2 ); } YY_BREAK case 174: YY_RULE_SETUP #line 3171 "code.l" { g_code->codify(codeYYtext); int s=0;while (!isId(codeYYtext[s])) s++; int e=(int)codeYYleng-1;while (!isId(codeYYtext[e])) e--; g_name=((QCString)codeYYtext).mid(s,e-s+1); BEGIN( MemberCall2 ); } YY_BREAK case 175: /* rule 175 can match eol */ YY_RULE_SETUP #line 3178 "code.l" { if (!g_args.isEmpty()) generateMemberLink(*g_code,g_args,codeYYtext); else generateClassOrGlobalLink(*g_code,codeYYtext); g_args.resize(0); BEGIN( FuncCall ); } YY_BREAK case 176: /* rule 176 can match eol */ YY_RULE_SETUP #line 3186 "code.l" { //g_code->codify(codeYYtext); g_name=codeYYtext; generateClassOrGlobalLink(*g_code,codeYYtext); BEGIN( MemberCall2 ); } YY_BREAK case 177: YY_RULE_SETUP #line 3192 "code.l" { if (codeYYtext[0]=='-') // -> could be overloaded { updateCallContextForSmartPointer(); } g_code->codify(codeYYtext); g_memCallContext = YY_START; BEGIN( MemberCall ); } YY_BREAK case 178: YY_RULE_SETUP #line 3201 "code.l" { g_code->codify(codeYYtext); endFontClass(); BEGIN( g_lastCContext ) ; } YY_BREAK case 179: YY_RULE_SETUP #line 3206 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 180: YY_RULE_SETUP #line 3209 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 181: YY_RULE_SETUP #line 3212 "code.l" { g_code->codify(codeYYtext); endFontClass(); if (g_lastCContext==SkipCPP) { startFontClass("preprocessor"); } BEGIN( g_lastCContext ) ; } YY_BREAK case 182: /* rule 182 can match eol */ YY_RULE_SETUP #line 3221 "code.l" { // line continuation codifyLines(codeYYtext); } YY_BREAK case 183: YY_RULE_SETUP #line 3224 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 184: YY_RULE_SETUP #line 3227 "code.l" YY_BREAK case 185: /* rule 185 can match eol */ YY_RULE_SETUP #line 3228 "code.l" { unput('\n'); endFontClass(); BEGIN( g_lastCContext ) ; } YY_BREAK case 186: YY_RULE_SETUP #line 3233 "code.l" { g_code->codify(codeYYtext); } YY_BREAK case 187: /* rule 187 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 3236 "code.l" { g_yyLineNr+=QCString(codeYYtext).contains('\n'); } YY_BREAK case 188: /* rule 188 can match eol */ YY_RULE_SETUP #line 3239 "code.l" { g_yyLineNr+=QCString(codeYYtext).contains('\n'); nextCodeLine(); if (g_lastSpecialCContext==SkipCxxComment) { // force end of C++ comment here endFontClass(); BEGIN( g_lastCContext ) ; } else { BEGIN(g_lastSpecialCContext); } } YY_BREAK case 189: YY_RULE_SETUP #line 3252 "code.l" { BEGIN(g_lastSpecialCContext); } YY_BREAK case 190: YY_RULE_SETUP #line 3255 "code.l" YY_BREAK case 191: YY_RULE_SETUP #line 3256 "code.l" YY_BREAK case 192: /* rule 192 can match eol */ YY_RULE_SETUP #line 3257 "code.l" { g_yyLineNr++; } YY_BREAK case 193: YY_RULE_SETUP #line 3258 "code.l" YY_BREAK case 194: YY_RULE_SETUP #line 3259 "code.l" { g_code->codify(codeYYtext); g_type.resize(0); g_name.resize(0); BEGIN(g_memCallContext); } YY_BREAK case 195: /* rule 195 can match eol */ YY_RULE_SETUP #line 3265 "code.l" { // remove special one-line comment if (YY_START==SkipCPP) REJECT; if (Config_getBool("STRIP_CODE_COMMENTS")) { g_yyLineNr+=((QCString)codeYYtext).contains('\n'); nextCodeLine(); } else { startFontClass("comment"); codifyLines(codeYYtext); endFontClass(); } if (YY_START==SkipCxxComment) { endFontClass(); BEGIN( g_lastCContext ) ; } } YY_BREAK case 196: /* rule 196 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 3284 "code.l" { endFontClass(); codifyLines(codeYYtext); BEGIN( g_lastSkipCppContext ) ; } YY_BREAK case 197: /* rule 197 can match eol */ YY_RULE_SETUP #line 3289 "code.l" { // remove one-line group marker if (Config_getBool("STRIP_CODE_COMMENTS")) { g_yyLineNr+=2; nextCodeLine(); } else { startFontClass("comment"); codifyLines(codeYYtext); endFontClass(); } if (YY_START==SkipCxxComment) { endFontClass(); BEGIN( g_lastCContext ) ; } } YY_BREAK case 198: /* rule 198 can match eol */ YY_RULE_SETUP #line 3307 "code.l" { // remove one-line group marker if (Config_getBool("STRIP_CODE_COMMENTS")) { g_lastSpecialCContext = YY_START; g_yyLineNr++; BEGIN(RemoveSpecialCComment); } else { // check is to prevent getting stuck in skipping C++ comments if (YY_START != SkipCxxComment) { g_lastCContext = YY_START ; } startFontClass("comment"); codifyLines(codeYYtext); BEGIN(SkipComment); } } YY_BREAK case 199: /* rule 199 can match eol */ YY_RULE_SETUP #line 3326 "code.l" { // remove one-line group marker if (Config_getBool("STRIP_CODE_COMMENTS")) { g_yyLineNr++; nextCodeLine(); } else { startFontClass("comment"); codifyLines(codeYYtext); endFontClass(); } } YY_BREAK case 200: YY_RULE_SETUP #line 3339 "code.l" { // remove multi-line group marker if (Config_getBool("STRIP_CODE_COMMENTS")) { g_lastSpecialCContext = YY_START; BEGIN(RemoveSpecialCComment); } else { // check is to prevent getting stuck in skipping C++ comments if (YY_START != SkipCxxComment) { g_lastCContext = YY_START ; } startFontClass("comment"); g_code->codify(codeYYtext); BEGIN(SkipComment); } } YY_BREAK case 201: /* rule 201 can match eol */ YY_RULE_SETUP #line 3357 "code.l" { // remove special one-line comment if (Config_getBool("STRIP_CODE_COMMENTS")) { g_yyLineNr++; //nextCodeLine(); } else { startFontClass("comment"); codifyLines(codeYYtext); endFontClass(); } } YY_BREAK case 202: /* rule 202 can match eol */ YY_RULE_SETUP #line 3370 "code.l" { // strip special one-line comment if (YY_START==SkipComment || YY_START==SkipString) REJECT; if (Config_getBool("STRIP_CODE_COMMENTS")) { char c[2]; c[0]='\n'; c[1]=0; codifyLines(c); } else { startFontClass("comment"); codifyLines(codeYYtext); endFontClass(); } } YY_BREAK case 203: YY_RULE_SETUP #line 3384 "code.l" { // special pattern /*[tag:filename]*/ to force linking to a tag file g_forceTagReference=codeYYtext; int s=g_forceTagReference.find(':'); int e=g_forceTagReference.findRev(']'); g_forceTagReference = g_forceTagReference.mid(s+1,e-s-1); } YY_BREAK case 204: /* rule 204 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 3390 "code.l" { if (Config_getBool("STRIP_CODE_COMMENTS")) { g_lastSpecialCContext = YY_START; g_yyLineNr++; BEGIN(RemoveSpecialCComment); } else { // check is to prevent getting stuck in skipping C++ comments if (YY_START != SkipCxxComment) { g_lastCContext = YY_START ; } startFontClass("comment"); codifyLines(codeYYtext); BEGIN(SkipComment); } } YY_BREAK case 205: /* rule 205 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 3409 "code.l" { // special C comment block at a new line if (Config_getBool("STRIP_CODE_COMMENTS")) { g_lastSpecialCContext = YY_START; BEGIN(RemoveSpecialCComment); } else { // check is to prevent getting stuck in skipping C++ comments if (YY_START != SkipCxxComment) { g_lastCContext = YY_START ; } startFontClass("comment"); g_code->codify(codeYYtext); BEGIN(SkipComment); } } YY_BREAK case 206: /* rule 206 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ YY_RULE_SETUP #line 3427 "code.l" { // special C comment block half way a line if (YY_START==SkipString) REJECT; if (Config_getBool("STRIP_CODE_COMMENTS")) { g_lastSpecialCContext = YY_START; BEGIN(RemoveSpecialCComment); } else { // check is to prevent getting stuck in skipping C++ comments if (YY_START != SkipCxxComment) { g_lastCContext = YY_START ; } startFontClass("comment"); g_code->codify(codeYYtext); BEGIN(SkipComment); } } YY_BREAK case 207: YY_RULE_SETUP #line 3446 "code.l" { if (YY_START==SkipString) REJECT; if (!Config_getBool("STRIP_CODE_COMMENTS")) { startFontClass("comment"); g_code->codify(codeYYtext); endFontClass(); } } YY_BREAK case 208: YY_RULE_SETUP #line 3455 "code.l" { startFontClass("comment"); g_code->codify(codeYYtext); // check is to prevent getting stuck in skipping C++ comments if (YY_START != SkipCxxComment) { g_lastCContext = YY_START ; } BEGIN( SkipComment ) ; } YY_BREAK case 209: YY_RULE_SETUP #line 3465 "code.l" { // C# verbatim string startFontClass("stringliteral"); g_code->codify(codeYYtext); g_lastVerbStringContext=YY_START; BEGIN(SkipVerbString); } YY_BREAK case 210: YY_RULE_SETUP #line 3471 "code.l" { startFontClass("comment"); g_code->codify(codeYYtext); g_lastCContext = YY_START ; BEGIN( SkipCxxComment ) ; } YY_BREAK case 211: YY_RULE_SETUP #line 3477 "code.l" { g_code->codify(codeYYtext); g_theCallContext.pushScope(); } YY_BREAK case 212: YY_RULE_SETUP #line 3481 "code.l" { g_code->codify(codeYYtext); g_theCallContext.popScope(); } YY_BREAK case 213: /* rule 213 can match eol */ YY_RULE_SETUP #line 3485 "code.l" { g_yyColNr++; codifyLines(codeYYtext); } YY_BREAK case 214: YY_RULE_SETUP #line 3489 "code.l" { g_yyColNr++; g_code->codify(codeYYtext); } YY_BREAK /* <*>([ \t\n]*"\n"){2,} { // combine multiple blank lines //QCString sepLine=codeYYtext; //g_code->codify("\n\n"); //g_yyLineNr+=sepLine.contains('\n'); //char sepLine[3]="\n\n"; codifyLines(codeYYtext); } */ case 215: YY_RULE_SETUP #line 3503 "code.l" ECHO; YY_BREAK #line 15983 "" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(SkipString): case YY_STATE_EOF(SkipStringS): case YY_STATE_EOF(SkipVerbString): case YY_STATE_EOF(SkipCPP): case YY_STATE_EOF(SkipComment): case YY_STATE_EOF(SkipCxxComment): case YY_STATE_EOF(RemoveSpecialCComment): case YY_STATE_EOF(StripSpecialCComment): case YY_STATE_EOF(Body): case YY_STATE_EOF(FuncCall): case YY_STATE_EOF(MemberCall): case YY_STATE_EOF(MemberCall2): case YY_STATE_EOF(SkipInits): case YY_STATE_EOF(ClassName): case YY_STATE_EOF(AlignAs): case YY_STATE_EOF(AlignAsEnd): case YY_STATE_EOF(PackageName): case YY_STATE_EOF(ClassVar): case YY_STATE_EOF(CppCliTypeModifierFollowup): case YY_STATE_EOF(Bases): case YY_STATE_EOF(SkipSharp): case YY_STATE_EOF(ReadInclude): case YY_STATE_EOF(TemplDecl): case YY_STATE_EOF(TemplCast): case YY_STATE_EOF(CallEnd): case YY_STATE_EOF(ObjCMethod): case YY_STATE_EOF(ObjCParams): case YY_STATE_EOF(ObjCParamType): case YY_STATE_EOF(ObjCCall): case YY_STATE_EOF(ObjCMName): case YY_STATE_EOF(ObjCSkipStr): case YY_STATE_EOF(OldStyleArgs): case YY_STATE_EOF(UsingName): case YY_STATE_EOF(RawString): case YY_STATE_EOF(InlineInit): 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_LVALUE->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 codeYYin at a new source and called * codeYYlex(). 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_LVALUE->yy_n_chars; YY_CURRENT_BUFFER_LVALUE->yy_input_file = codeYYin; YY_CURRENT_BUFFER_LVALUE->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_LVALUE->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 ( codeYYwrap( ) ) { /* Note: because we've taken care in * yy_get_next_buffer() to have set up * codeYYtext, 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_LVALUE->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 codeYYlex */ /* 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 (void) { register char *dest = YY_CURRENT_BUFFER_LVALUE->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_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) YY_FATAL_ERROR( "fatal flex scanner internal error--end of buffer missed" ); if ( YY_CURRENT_BUFFER_LVALUE->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_LVALUE->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_LVALUE->yy_n_chars = (yy_n_chars) = 0; else { yy_size_t num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ YY_FATAL_ERROR( "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); } if ( num_to_read > YY_READ_BUF_SIZE ) num_to_read = YY_READ_BUF_SIZE; /* Read in more data. */ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), (yy_n_chars), num_to_read ); YY_CURRENT_BUFFER_LVALUE->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; codeYYrestart(codeYYin ); } else { ret_val = EOB_ACT_LAST_MATCH; YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_EOF_PENDING; } } else ret_val = EOB_ACT_CONTINUE_SCAN; if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) codeYYrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); } (yy_n_chars) += number_to_move; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->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 (void) { 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 >= 3586 ) 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 ); */ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) { 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 >= 3586 ) 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 == 3585); if ( ! yy_is_jam ) *(yy_state_ptr)++ = yy_current_state; return yy_is_jam ? 0 : yy_current_state; } static void yyunput (int c, register char * yy_bp ) { register char *yy_cp; yy_cp = (yy_c_buf_p); /* undo effects of setting up codeYYtext */ *yy_cp = (yy_hold_char); if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ register yy_size_t number_to_move = (yy_n_chars) + 2; register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; register char *source = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) *--dest = *--source; yy_cp += (int) (dest - source); yy_bp += (int) (dest - source); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->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; } #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput (void) #else static int input (void) #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_LVALUE->yy_ch_buf[(yy_n_chars)] ) /* This was really a NUL. */ *(yy_c_buf_p) = '\0'; else { /* need more input */ yy_size_t 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. */ codeYYrestart(codeYYin ); /*FALLTHROUGH*/ case EOB_ACT_END_OF_FILE: { if ( codeYYwrap( ) ) 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 codeYYtext */ (yy_hold_char) = *++(yy_c_buf_p); YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n'); return c; } #endif /* ifndef YY_NO_INPUT */ /** Immediately switch to a different input stream. * @param input_file A readable stream. * * @note This function does not reset the start condition to @c INITIAL . */ void codeYYrestart (FILE * input_file ) { if ( ! YY_CURRENT_BUFFER ){ codeYYensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = codeYY_create_buffer(codeYYin,YY_BUF_SIZE ); } codeYY_init_buffer(YY_CURRENT_BUFFER,input_file ); codeYY_load_buffer_state( ); } /** Switch to a different input buffer. * @param new_buffer The new input buffer. * */ void codeYY_switch_to_buffer (YY_BUFFER_STATE new_buffer ) { /* TODO. We should be able to replace this entire function body * with * codeYYpop_buffer_state(); * codeYYpush_buffer_state(new_buffer); */ codeYYensure_buffer_stack (); 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_LVALUE->yy_buf_pos = (yy_c_buf_p); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } YY_CURRENT_BUFFER_LVALUE = new_buffer; codeYY_load_buffer_state( ); /* We don't actually know whether we did this switch during * EOF (codeYYwrap()) processing, but the only time this flag * is looked at is after codeYYwrap() is called, so it's safe * to go ahead and always set it. */ (yy_did_buffer_switch_on_eof) = 1; } static void codeYY_load_buffer_state (void) { (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; codeYYin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; (yy_hold_char) = *(yy_c_buf_p); } /** Allocate and initialize an input buffer state. * @param file A readable stream. * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. * * @return the allocated buffer state. */ YY_BUFFER_STATE codeYY_create_buffer (FILE * file, int size ) { YY_BUFFER_STATE b; b = (YY_BUFFER_STATE) codeYYalloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in codeYY_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 *) codeYYalloc(b->yy_buf_size + 2 ); if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in codeYY_create_buffer()" ); b->yy_is_our_buffer = 1; codeYY_init_buffer(b,file ); return b; } /** Destroy the buffer. * @param b a buffer created with codeYY_create_buffer() * */ void codeYY_delete_buffer (YY_BUFFER_STATE b ) { if ( ! b ) return; if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; if ( b->yy_is_our_buffer ) codeYYfree((void *) b->yy_ch_buf ); codeYYfree((void *) b ); } /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, * such as during a codeYYrestart() or at EOF. */ static void codeYY_init_buffer (YY_BUFFER_STATE b, FILE * file ) { int oerrno = errno; codeYY_flush_buffer(b ); b->yy_input_file = file; b->yy_fill_buffer = 1; /* If b is the current buffer, then codeYY_init_buffer was _probably_ * called from codeYYrestart() or through yy_get_next_buffer. * In that case, we don't want to reset the lineno or column. */ if (b != YY_CURRENT_BUFFER){ b->yy_bs_lineno = 1; b->yy_bs_column = 0; } b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; errno = oerrno; } /** Discard all buffered characters. On the next scan, YY_INPUT will be called. * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. * */ void codeYY_flush_buffer (YY_BUFFER_STATE b ) { 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 ) codeYY_load_buffer_state( ); } /** Pushes the new state onto the stack. The new state becomes * the current state. This function will allocate the stack * if necessary. * @param new_buffer The new state. * */ void codeYYpush_buffer_state (YY_BUFFER_STATE new_buffer ) { if (new_buffer == NULL) return; codeYYensure_buffer_stack(); /* This block is copied from codeYY_switch_to_buffer. */ if ( YY_CURRENT_BUFFER ) { /* Flush out information for old buffer. */ *(yy_c_buf_p) = (yy_hold_char); YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } /* Only push if top exists. Otherwise, replace top. */ if (YY_CURRENT_BUFFER) (yy_buffer_stack_top)++; YY_CURRENT_BUFFER_LVALUE = new_buffer; /* copied from codeYY_switch_to_buffer. */ codeYY_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } /** Removes and deletes the top of the stack, if present. * The next element becomes the new top. * */ void codeYYpop_buffer_state (void) { if (!YY_CURRENT_BUFFER) return; codeYY_delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; if ((yy_buffer_stack_top) > 0) --(yy_buffer_stack_top); if (YY_CURRENT_BUFFER) { codeYY_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } } /* Allocates the stack if it does not exist. * Guarantees space for at least one push. */ static void codeYYensure_buffer_stack (void) { yy_size_t num_to_alloc; if (!(yy_buffer_stack)) { /* First allocation is just for 2 elements, since we don't know if this * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ num_to_alloc = 1; (yy_buffer_stack) = (struct yy_buffer_state**)codeYYalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) YY_FATAL_ERROR( "out of dynamic memory in codeYYensure_buffer_stack()" ); memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); (yy_buffer_stack_max) = num_to_alloc; (yy_buffer_stack_top) = 0; return; } if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ int grow_size = 8 /* arbitrary grow size */; num_to_alloc = (yy_buffer_stack_max) + grow_size; (yy_buffer_stack) = (struct yy_buffer_state**)codeYYrealloc ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) YY_FATAL_ERROR( "out of dynamic memory in codeYYensure_buffer_stack()" ); /* zero only the new slots.*/ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); (yy_buffer_stack_max) = num_to_alloc; } } /** Setup the input buffer state to scan directly from a user-specified character buffer. * @param base the character buffer * @param size the size in bytes of the character buffer * * @return the newly allocated buffer state object. */ YY_BUFFER_STATE codeYY_scan_buffer (char * base, yy_size_t size ) { 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) codeYYalloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in codeYY_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; codeYY_switch_to_buffer(b ); return b; } /** Setup the input buffer state to scan a string. The next call to codeYYlex() will * scan from a @e copy of @a str. * @param yystr a NUL-terminated string to scan * * @return the newly allocated buffer state object. * @note If you want to scan bytes that may contain NUL values, then use * codeYY_scan_bytes() instead. */ YY_BUFFER_STATE codeYY_scan_string (yyconst char * yystr ) { return codeYY_scan_bytes(yystr,strlen(yystr) ); } /** Setup the input buffer state to scan the given bytes. The next call to codeYYlex() will * scan from a @e copy of @a bytes. * @param yybytes the byte buffer to scan * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ YY_BUFFER_STATE codeYY_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) { YY_BUFFER_STATE b; char *buf; yy_size_t n; int i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; buf = (char *) codeYYalloc(n ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in codeYY_scan_bytes()" ); for ( i = 0; i < _yybytes_len; ++i ) buf[i] = yybytes[i]; buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; b = codeYY_scan_buffer(buf,n ); if ( ! b ) YY_FATAL_ERROR( "bad buffer in codeYY_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; } #ifndef YY_EXIT_FAILURE #define YY_EXIT_FAILURE 2 #endif static void yy_fatal_error (yyconst char* msg ) { (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 codeYYtext. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ codeYYtext[codeYYleng] = (yy_hold_char); \ (yy_c_buf_p) = codeYYtext + yyless_macro_arg; \ (yy_hold_char) = *(yy_c_buf_p); \ *(yy_c_buf_p) = '\0'; \ codeYYleng = yyless_macro_arg; \ } \ while ( 0 ) /* Accessor methods (get/set functions) to struct members. */ /** Get the current line number. * */ int codeYYget_lineno (void) { return codeYYlineno; } /** Get the input stream. * */ FILE *codeYYget_in (void) { return codeYYin; } /** Get the output stream. * */ FILE *codeYYget_out (void) { return codeYYout; } /** Get the length of the current token. * */ yy_size_t codeYYget_leng (void) { return codeYYleng; } /** Get the current token. * */ char *codeYYget_text (void) { return codeYYtext; } /** Set the current line number. * @param line_number * */ void codeYYset_lineno (int line_number ) { codeYYlineno = line_number; } /** Set the input stream. This does not discard the current * input buffer. * @param in_str A readable stream. * * @see codeYY_switch_to_buffer */ void codeYYset_in (FILE * in_str ) { codeYYin = in_str ; } void codeYYset_out (FILE * out_str ) { codeYYout = out_str ; } int codeYYget_debug (void) { return codeYY_flex_debug; } void codeYYset_debug (int bdebug ) { codeYY_flex_debug = bdebug ; } static int yy_init_globals (void) { /* Initialization is the same as for the non-reentrant scanner. * This function is called from codeYYlex_destroy(), so don't allocate here. */ (yy_buffer_stack) = 0; (yy_buffer_stack_top) = 0; (yy_buffer_stack_max) = 0; (yy_c_buf_p) = (char *) 0; (yy_init) = 0; (yy_start) = 0; (yy_state_buf) = 0; (yy_state_ptr) = 0; (yy_full_match) = 0; (yy_lp) = 0; /* Defined in main.c */ #ifdef YY_STDINIT codeYYin = stdin; codeYYout = stdout; #else codeYYin = (FILE *) 0; codeYYout = (FILE *) 0; #endif /* For future reference: Set errno on error, since we are called by * codeYYlex_init() */ return 0; } /* codeYYlex_destroy is for both reentrant and non-reentrant scanners. */ int codeYYlex_destroy (void) { /* Pop the buffer stack, destroying each element. */ while(YY_CURRENT_BUFFER){ codeYY_delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; codeYYpop_buffer_state(); } /* Destroy the stack itself. */ codeYYfree((yy_buffer_stack) ); (yy_buffer_stack) = NULL; codeYYfree ( (yy_state_buf) ); (yy_state_buf) = NULL; /* Reset the globals. This is important in a non-reentrant scanner so the next time * codeYYlex() is called, initialization will occur. */ yy_init_globals( ); return 0; } /* * Internal utility routines. */ #ifndef yytext_ptr static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) { register int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } #endif #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * s ) { register int n; for ( n = 0; s[n]; ++n ) ; return n; } #endif void *codeYYalloc (yy_size_t size ) { return (void *) malloc( size ); } void *codeYYrealloc (void * ptr, yy_size_t size ) { /* 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 ); } void codeYYfree (void * ptr ) { free( (char *) ptr ); /* see codeYYrealloc() for (char *) cast */ } #define YYTABLES_NAME "yytables" #line 3503 "code.l" /*@ ---------------------------------------------------------------------------- */ static void saveObjCContext() { if (g_currentCtx) { g_currentCtx->format+=QCString().sprintf("$c%d",g_currentCtxId); if (g_braceCount==0 && YY_START==ObjCCall) { g_currentCtx->objectTypeOrName=g_currentCtx->format.mid(1); //printf("new type=%s\n",g_currentCtx->objectTypeOrName.data()); } g_contextStack.push(g_currentCtx); } else { //printf("Trying to save NULL context!\n"); } ObjCCallCtx *newCtx = new ObjCCallCtx; newCtx->id = g_currentCtxId; newCtx->lexState = YY_START; newCtx->braceCount = g_braceCount; newCtx->objectType = 0; newCtx->objectVar = 0; newCtx->method = 0; //printf("save state=%d\n",YY_START); g_contextDict.insert(g_currentCtxId,newCtx); g_currentCtx = newCtx; g_braceCount = 0; g_currentCtxId++; } static void restoreObjCContext() { //printf("restore state=%d->%d\n",YY_START,g_currentCtx->lexState); BEGIN(g_currentCtx->lexState); g_braceCount = g_currentCtx->braceCount; if (!g_contextStack.isEmpty()) { g_currentCtx = g_contextStack.pop(); } else { g_currentCtx = 0; //printf("Trying to pop context while g_contextStack is empty!\n"); } } void resetCCodeParserState() { //printf("***initParseCodeContext()\n"); g_forceTagReference.resize(0); g_theVarContext.clear(); g_classScopeLengthStack.setAutoDelete(TRUE); g_classScopeLengthStack.clear(); delete g_codeClassSDict; g_codeClassSDict = new ClassSDict(17); g_codeClassSDict->setAutoDelete(TRUE); g_codeClassSDict->clear(); g_curClassBases.clear(); g_anchorCount = 0; } void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s, SrcLangExt lang,bool exBlock, const char *exName,FileDef *fd, int startLine,int endLine,bool inlineFragment, MemberDef *memberDef,bool showLineNumbers,Definition *searchCtx, bool collectXRefs) { //printf("***parseCode() exBlock=%d exName=%s fd=%p className=%s searchCtx=%s\n", // exBlock,exName,fd,className,searchCtx?searchCtx->name().data():""); if (s.isEmpty()) return; printlex(codeYY_flex_debug, TRUE, __FILE__, fd ? fd->fileName().data(): NULL); TooltipManager::instance()->clearTooltips(); if (g_codeClassSDict==0) { resetCCodeParserState(); } g_code = &od; g_inputString = s; g_inputPosition = 0; g_currentFontClass = 0; g_needsTermination = FALSE; g_searchCtx = searchCtx; g_collectXRefs = collectXRefs; g_inFunctionTryBlock = FALSE; if (endLine!=-1) g_inputLines = endLine+1; else g_inputLines = countLines(); if (startLine!=-1) g_yyLineNr = startLine; else g_yyLineNr = 1; g_curlyCount = 0; g_bodyCurlyCount = 0; g_bracketCount = 0; g_sharpCount = 0; g_insideTemplate = FALSE; g_theCallContext.clear(); g_scopeStack.clear(); g_classScope = className; //printf("parseCCode %s\n",className); g_exampleBlock = exBlock; g_exampleName = exName; g_sourceFileDef = fd; g_lineNumbers = fd!=0 && showLineNumbers; bool cleanupSourceDef = FALSE; if (fd==0) { // create a dummy filedef for the example g_sourceFileDef = new FileDef("",(exName?exName:"generated")); cleanupSourceDef = TRUE; } g_insideObjC = lang==SrcLangExt_ObjC; g_insideJava = lang==SrcLangExt_Java; g_insideCS = lang==SrcLangExt_CSharp; g_insidePHP = lang==SrcLangExt_PHP; if (g_sourceFileDef) { setCurrentDoc("l00001"); } g_currentDefinition = 0; g_currentMemberDef = 0; g_searchingForBody = exBlock; g_insideBody = FALSE; g_bracketCount = 0; if (!g_exampleName.isEmpty()) { g_exampleFile = convertNameToFile(g_exampleName+"-example",FALSE,TRUE); //printf("g_exampleFile=%s\n",g_exampleFile.data()); } g_includeCodeFragment = inlineFragment; //printf("** exBlock=%d exName=%s include=%d\n",exBlock,exName,inlineFragment); startCodeLine(); g_type.resize(0); g_name.resize(0); g_args.resize(0); g_parmName.resize(0); g_parmType.resize(0); if (memberDef) setParameterList(memberDef); codeYYrestart( codeYYin ); BEGIN( Body ); codeYYlex(); g_lexInit=TRUE; if (g_needsTermination) { endFontClass(); DBG_CTX((stderr,"endCodeLine(%d)\n",g_yyLineNr)); g_code->endCodeLine(); } if (fd) { TooltipManager::instance()->writeTooltips(*g_code); } if (cleanupSourceDef) { // delete the temporary file definition used for this example delete g_sourceFileDef; g_sourceFileDef=0; } printlex(codeYY_flex_debug, FALSE, __FILE__, fd ? fd->fileName().data(): NULL); return; } void codeFreeScanner() { #if defined(YY_FLEX_SUBMINOR_VERSION) if (g_lexInit) { codeYYlex_destroy(); } #endif } #if !defined(YY_FLEX_SUBMINOR_VERSION) extern "C" { // some bogus code to keep the compiler happy void codeYYdummy() { yy_flex_realloc(0,0); } } #elif YY_FLEX_SUBMINOR_VERSION<33 #error "You seem to be using a version of flex newer than 2.5.4 but older than 2.5.33. These versions do NOT work with doxygen! Please use version <=2.5.4 or >=2.5.33 or expect things to be parsed wrongly!" #endif