00001 00002 #line 3 "<stdout>" 00003 00004 #define YY_INT_ALIGNED short int 00005 00006 /* A lexical scanner generated by flex */ 00007 00008 #define FLEX_SCANNER 00009 #define YY_FLEX_MAJOR_VERSION 2 00010 #define YY_FLEX_MINOR_VERSION 5 00011 #define YY_FLEX_SUBMINOR_VERSION 33 00012 #if YY_FLEX_SUBMINOR_VERSION > 0 00013 #define FLEX_BETA 00014 #endif 00015 00016 /* First, we deal with platform-specific or compiler-specific issues. */ 00017 00018 /* begin standard C headers. */ 00019 #include <stdio.h> 00020 #include <string.h> 00021 #include <errno.h> 00022 #include <stdlib.h> 00023 00024 /* end standard C headers. */ 00025 00026 /* flex integer type definitions */ 00027 00028 #ifndef FLEXINT_H 00029 #define FLEXINT_H 00030 00031 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 00032 00033 #if __STDC_VERSION__ >= 199901L 00034 00035 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 00036 * if you want the limit (max/min) macros for int types. 00037 */ 00038 #ifndef __STDC_LIMIT_MACROS 00039 #define __STDC_LIMIT_MACROS 1 00040 #endif 00041 00042 #include <inttypes.h> 00043 typedef int8_t flex_int8_t; 00044 typedef uint8_t flex_uint8_t; 00045 typedef int16_t flex_int16_t; 00046 typedef uint16_t flex_uint16_t; 00047 typedef int32_t flex_int32_t; 00048 typedef uint32_t flex_uint32_t; 00049 #else 00050 typedef signed char flex_int8_t; 00051 typedef short int flex_int16_t; 00052 typedef int flex_int32_t; 00053 typedef unsigned char flex_uint8_t; 00054 typedef unsigned short int flex_uint16_t; 00055 typedef unsigned int flex_uint32_t; 00056 #endif /* ! C99 */ 00057 00058 /* Limits of integral types. */ 00059 #ifndef INT8_MIN 00060 #define INT8_MIN (-128) 00061 #endif 00062 #ifndef INT16_MIN 00063 #define INT16_MIN (-32767-1) 00064 #endif 00065 #ifndef INT32_MIN 00066 #define INT32_MIN (-2147483647-1) 00067 #endif 00068 #ifndef INT8_MAX 00069 #define INT8_MAX (127) 00070 #endif 00071 #ifndef INT16_MAX 00072 #define INT16_MAX (32767) 00073 #endif 00074 #ifndef INT32_MAX 00075 #define INT32_MAX (2147483647) 00076 #endif 00077 #ifndef UINT8_MAX 00078 #define UINT8_MAX (255U) 00079 #endif 00080 #ifndef UINT16_MAX 00081 #define UINT16_MAX (65535U) 00082 #endif 00083 #ifndef UINT32_MAX 00084 #define UINT32_MAX (4294967295U) 00085 #endif 00086 00087 #endif /* ! FLEXINT_H */ 00088 00089 #ifdef __cplusplus 00090 00091 /* The "const" storage-class-modifier is valid. */ 00092 #define YY_USE_CONST 00093 00094 #else /* ! __cplusplus */ 00095 00096 #if __STDC__ 00097 00098 #define YY_USE_CONST 00099 00100 #endif /* __STDC__ */ 00101 #endif /* ! __cplusplus */ 00102 00103 #ifdef YY_USE_CONST 00104 #define yyconst const 00105 #else 00106 #define yyconst 00107 #endif 00108 00109 /* Returned upon end-of-file. */ 00110 #define YY_NULL 0 00111 00112 /* Promotes a possibly negative, possibly signed char to an unsigned 00113 * integer for use as an array index. If the signed char is negative, 00114 * we want to instead treat it as an 8-bit unsigned char, hence the 00115 * double cast. 00116 */ 00117 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 00118 00119 /* Enter a start condition. This macro really ought to take a parameter, 00120 * but we do it the disgusting crufty way forced on us by the ()-less 00121 * definition of BEGIN. 00122 */ 00123 #define BEGIN (yy_start) = 1 + 2 * 00124 00125 /* Translate the current start state into a value that can be later handed 00126 * to BEGIN to return to the state. The YYSTATE alias is for lex 00127 * compatibility. 00128 */ 00129 #define YY_START (((yy_start) - 1) / 2) 00130 #define YYSTATE YY_START 00131 00132 /* Action number for EOF rule of a given start state. */ 00133 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 00134 00135 /* Special action meaning "start processing a new file". */ 00136 #define YY_NEW_FILE doctokenizerYYrestart(doctokenizerYYin ) 00137 00138 #define YY_END_OF_BUFFER_CHAR 0 00139 00140 /* Size of default input buffer. */ 00141 #ifndef YY_BUF_SIZE 00142 #define YY_BUF_SIZE 16384 00143 #endif 00144 00145 /* The state buf must be large enough to hold one state per character in the main buffer. 00146 */ 00147 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 00148 00149 #ifndef YY_TYPEDEF_YY_BUFFER_STATE 00150 #define YY_TYPEDEF_YY_BUFFER_STATE 00151 typedef struct yy_buffer_state *YY_BUFFER_STATE; 00152 #endif 00153 00154 extern int doctokenizerYYleng; 00155 00156 extern FILE *doctokenizerYYin, *doctokenizerYYout; 00157 00158 #define EOB_ACT_CONTINUE_SCAN 0 00159 #define EOB_ACT_END_OF_FILE 1 00160 #define EOB_ACT_LAST_MATCH 2 00161 00162 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires 00163 * access to the local variable yy_act. Since yyless() is a macro, it would break 00164 * existing scanners that call yyless() from OUTSIDE doctokenizerYYlex. 00165 * One obvious solution it to make yy_act a global. I tried that, and saw 00166 * a 5% performance hit in a non-doctokenizerYYlineno scanner, because yy_act is 00167 * normally declared as a register variable-- so it is not worth it. 00168 */ 00169 #define YY_LESS_LINENO(n) \ 00170 do { \ 00171 int yyl;\ 00172 for ( yyl = n; yyl < doctokenizerYYleng; ++yyl )\ 00173 if ( doctokenizerYYtext[yyl] == '\n' )\ 00174 --doctokenizerYYlineno;\ 00175 }while(0) 00176 00177 /* Return all but the first "n" matched characters back to the input stream. */ 00178 #define yyless(n) \ 00179 do \ 00180 { \ 00181 /* Undo effects of setting up doctokenizerYYtext. */ \ 00182 int yyless_macro_arg = (n); \ 00183 YY_LESS_LINENO(yyless_macro_arg);\ 00184 *yy_cp = (yy_hold_char); \ 00185 YY_RESTORE_YY_MORE_OFFSET \ 00186 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 00187 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */ \ 00188 } \ 00189 while ( 0 ) 00190 00191 #define unput(c) yyunput( c, (yytext_ptr) ) 00192 00193 /* The following is because we cannot portably get our hands on size_t 00194 * (without autoconf's help, which isn't available because we want 00195 * flex-generated scanners to compile on their own). 00196 */ 00197 00198 #ifndef YY_TYPEDEF_YY_SIZE_T 00199 #define YY_TYPEDEF_YY_SIZE_T 00200 typedef unsigned int yy_size_t; 00201 #endif 00202 00203 #ifndef YY_STRUCT_YY_BUFFER_STATE 00204 #define YY_STRUCT_YY_BUFFER_STATE 00205 struct yy_buffer_state 00206 { 00207 FILE *yy_input_file; 00208 00209 char *yy_ch_buf; /* input buffer */ 00210 char *yy_buf_pos; /* current position in input buffer */ 00211 00212 /* Size of input buffer in bytes, not including room for EOB 00213 * characters. 00214 */ 00215 yy_size_t yy_buf_size; 00216 00217 /* Number of characters read into yy_ch_buf, not including EOB 00218 * characters. 00219 */ 00220 int yy_n_chars; 00221 00222 /* Whether we "own" the buffer - i.e., we know we created it, 00223 * and can realloc() it to grow it, and should free() it to 00224 * delete it. 00225 */ 00226 int yy_is_our_buffer; 00227 00228 /* Whether this is an "interactive" input source; if so, and 00229 * if we're using stdio for input, then we want to use getc() 00230 * instead of fread(), to make sure we stop fetching input after 00231 * each newline. 00232 */ 00233 int yy_is_interactive; 00234 00235 /* Whether we're considered to be at the beginning of a line. 00236 * If so, '^' rules will be active on the next match, otherwise 00237 * not. 00238 */ 00239 int yy_at_bol; 00240 00241 int yy_bs_lineno; 00242 int yy_bs_column; 00244 /* Whether to try to fill the input buffer when we reach the 00245 * end of it. 00246 */ 00247 int yy_fill_buffer; 00248 00249 int yy_buffer_status; 00250 00251 #define YY_BUFFER_NEW 0 00252 #define YY_BUFFER_NORMAL 1 00253 /* When an EOF's been seen but there's still some text to process 00254 * then we mark the buffer as YY_EOF_PENDING, to indicate that we 00255 * shouldn't try reading from the input source any more. We might 00256 * still have a bunch of tokens to match, though, because of 00257 * possible backing-up. 00258 * 00259 * When we actually see the EOF, we change the status to "new" 00260 * (via doctokenizerYYrestart()), so that the user can continue scanning by 00261 * just pointing doctokenizerYYin at a new input file. 00262 */ 00263 #define YY_BUFFER_EOF_PENDING 2 00264 00265 }; 00266 #endif /* !YY_STRUCT_YY_BUFFER_STATE */ 00267 00268 /* Stack of input buffers. */ 00269 static size_t yy_buffer_stack_top = 0; 00270 static size_t yy_buffer_stack_max = 0; 00271 static YY_BUFFER_STATE * yy_buffer_stack = 0; 00273 /* We provide macros for accessing buffer states in case in the 00274 * future we want to put the buffer states in a more general 00275 * "scanner state". 00276 * 00277 * Returns the top of the stack, or NULL. 00278 */ 00279 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 00280 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 00281 : NULL) 00282 00283 /* Same as previous macro, but useful when we know that the buffer stack is not 00284 * NULL or when we need an lvalue. For internal use only. 00285 */ 00286 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 00287 00288 /* yy_hold_char holds the character lost when doctokenizerYYtext is formed. */ 00289 static char yy_hold_char; 00290 static int yy_n_chars; /* number of characters read into yy_ch_buf */ 00291 int doctokenizerYYleng; 00292 00293 /* Points to current character in buffer. */ 00294 static char *yy_c_buf_p = (char *) 0; 00295 static int yy_init = 0; /* whether we need to initialize */ 00296 static int yy_start = 0; /* start state number */ 00297 00298 /* Flag which is used to allow doctokenizerYYwrap()'s to do buffer switches 00299 * instead of setting up a fresh doctokenizerYYin. A bit of a hack ... 00300 */ 00301 static int yy_did_buffer_switch_on_eof; 00302 00303 void doctokenizerYYrestart (FILE *input_file ); 00304 void doctokenizerYY_switch_to_buffer (YY_BUFFER_STATE new_buffer ); 00305 YY_BUFFER_STATE doctokenizerYY_create_buffer (FILE *file,int size ); 00306 void doctokenizerYY_delete_buffer (YY_BUFFER_STATE b ); 00307 void doctokenizerYY_flush_buffer (YY_BUFFER_STATE b ); 00308 void doctokenizerYYpush_buffer_state (YY_BUFFER_STATE new_buffer ); 00309 void doctokenizerYYpop_buffer_state (void ); 00310 00311 static void doctokenizerYYensure_buffer_stack (void ); 00312 static void doctokenizerYY_load_buffer_state (void ); 00313 static void doctokenizerYY_init_buffer (YY_BUFFER_STATE b,FILE *file ); 00314 00315 #define YY_FLUSH_BUFFER doctokenizerYY_flush_buffer(YY_CURRENT_BUFFER ) 00316 00317 YY_BUFFER_STATE doctokenizerYY_scan_buffer (char *base,yy_size_t size ); 00318 YY_BUFFER_STATE doctokenizerYY_scan_string (yyconst char *yy_str ); 00319 YY_BUFFER_STATE doctokenizerYY_scan_bytes (yyconst char *bytes,int len ); 00320 00321 void *doctokenizerYYalloc (yy_size_t ); 00322 void *doctokenizerYYrealloc (void *,yy_size_t ); 00323 void doctokenizerYYfree (void * ); 00324 00325 #define yy_new_buffer doctokenizerYY_create_buffer 00326 00327 #define yy_set_interactive(is_interactive) \ 00328 { \ 00329 if ( ! YY_CURRENT_BUFFER ){ \ 00330 doctokenizerYYensure_buffer_stack (); \ 00331 YY_CURRENT_BUFFER_LVALUE = \ 00332 doctokenizerYY_create_buffer(doctokenizerYYin,YY_BUF_SIZE ); \ 00333 } \ 00334 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 00335 } 00336 00337 #define yy_set_bol(at_bol) \ 00338 { \ 00339 if ( ! YY_CURRENT_BUFFER ){\ 00340 doctokenizerYYensure_buffer_stack (); \ 00341 YY_CURRENT_BUFFER_LVALUE = \ 00342 doctokenizerYY_create_buffer(doctokenizerYYin,YY_BUF_SIZE ); \ 00343 } \ 00344 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 00345 } 00346 00347 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 00348 00349 /* Begin user sect3 */ 00350 00351 #define doctokenizerYYwrap(n) 1 00352 #define YY_SKIP_YYWRAP 00353 00354 typedef unsigned char YY_CHAR; 00355 00356 FILE *doctokenizerYYin = (FILE *) 0, *doctokenizerYYout = (FILE *) 0; 00357 00358 typedef int yy_state_type; 00359 00360 extern int doctokenizerYYlineno; 00361 00362 int doctokenizerYYlineno = 1; 00363 00364 extern char *doctokenizerYYtext; 00365 #define yytext_ptr doctokenizerYYtext 00366 00367 static yy_state_type yy_get_previous_state (void ); 00368 static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); 00369 static int yy_get_next_buffer (void ); 00370 static void yy_fatal_error (yyconst char msg[] ); 00371 00372 /* Done after the current pattern has been matched and before the 00373 * corresponding action - sets up doctokenizerYYtext. 00374 */ 00375 #define YY_DO_BEFORE_ACTION \ 00376 (yytext_ptr) = yy_bp; \ 00377 doctokenizerYYleng = (size_t) (yy_cp - yy_bp); \ 00378 (yy_hold_char) = *yy_cp; \ 00379 *yy_cp = '\0'; \ 00380 (yy_c_buf_p) = yy_cp; 00381 00382 #define YY_NUM_RULES 152 00383 #define YY_END_OF_BUFFER 153 00384 /* This struct is not used in this scanner, 00385 but its presence is necessary. */ 00386 struct yy_trans_info 00387 { 00388 flex_int32_t yy_verify; 00389 flex_int32_t yy_nxt; 00390 }; 00391 static yyconst flex_int16_t yy_acclist[1234] = 00392 { 0, 00393 112, 112, 153, 151, 152, 149, 152, 150, 151, 152, 00394 26, 151, 152, 29, 151, 152, 30, 149, 152, 1, 00395 29, 151, 152, 26, 151, 152, 150, 151, 152, 150, 00396 151, 152, 150, 151, 152, 150, 151, 152, 27, 151, 00397 152, 26, 151, 152, 26, 151, 152, 27, 151, 152, 00398 27, 151, 152, 150, 151, 152, 150, 151, 152, 21, 00399 26, 151, 152,16403, 150, 151, 152, 21, 26, 151, 00400 152,16403, 21, 26, 151, 152,16403, 21, 26, 151, 00401 152,16403, 21, 26, 151, 152,16403, 26, 151, 152, 00402 26, 151, 152, 26, 150, 151, 152, 29, 151, 152, 00403 00404 1, 29, 151, 152, 26, 151, 152, 26, 151, 152, 00405 27, 151, 152, 26, 151, 152, 117, 118, 151, 152, 00406 117, 118, 150, 151, 152, 118, 151, 152, 68, 151, 00407 152, 67, 68, 151, 152, 69, 149, 152, 66, 68, 00408 151, 152, 68, 150, 151, 152, 68, 150, 151, 152, 00409 74, 151, 152, 76, 151, 152, 77, 149, 152, 74, 00410 151, 152, 150, 151, 152, 150, 151, 152, 75, 151, 00411 152, 150, 151, 152, 150, 151, 152, 74, 151, 152, 00412 74, 150, 151, 152, 81, 151, 152, 83, 151, 152, 00413 85, 149, 152, 84, 151, 152, 150, 151, 152, 150, 00414 00415 151, 152, 82, 151, 152, 150, 151, 152, 81, 150, 00416 151, 152, 88, 151, 152, 88, 151, 152, 89, 149, 00417 152, 88, 150, 151, 152, 88, 151, 152, 87, 88, 00418 151, 152, 87, 88, 150, 151, 152, 35, 37, 151, 00419 152, 35, 37, 151, 152, 36, 149, 152, 35, 37, 00420 150, 151, 152, 37, 150, 151, 152, 37, 150, 151, 00421 152, 35, 37, 151, 152, 36, 149, 152, 37, 150, 00422 151, 152, 39, 41, 151, 152, 40, 149, 152, 39, 00423 41, 150, 151, 152, 41, 150, 151, 152, 41, 150, 00424 151, 152, 43, 45, 151, 152, 44, 149, 152, 43, 00425 00426 45, 150, 151, 152, 45, 150, 151, 152, 45, 150, 00427 151, 152, 47, 49, 151, 152, 48, 149, 152, 47, 00428 49, 150, 151, 152, 49, 150, 151, 152, 51, 53, 00429 151, 152, 52, 149, 152, 51, 53, 150, 151, 152, 00430 53, 150, 151, 152, 55, 57, 151, 152, 56, 149, 00431 152, 55, 57, 150, 151, 152, 57, 150, 151, 152, 00432 59, 61, 151, 152, 60, 149, 152, 59, 61, 150, 00433 151, 152, 61, 150, 151, 152, 63, 65, 151, 152, 00434 64, 149, 152, 63, 65, 150, 151, 152, 65, 150, 00435 151, 152, 109, 151, 152, 111, 151, 152, 111, 149, 00436 00437 152, 109, 111, 151, 152, 109, 151, 152, 109, 150, 00438 151, 152, 110, 151, 152, 105, 151, 152, 104, 151, 00439 152, 151, 152, 151, 152, 112, 151, 152, 151, 152, 00440 151, 152, 150, 151, 152, 114, 151, 152, 114, 150, 00441 151, 152, 115, 151, 152, 115, 150, 151, 152, 94, 00442 151, 152, 91, 94, 151, 152, 93, 149, 152, 94, 00443 150, 151, 152, 94, 150, 151, 152, 94, 151, 152, 00444 90, 94, 151, 152, 100, 151, 152, 102, 151, 152, 00445 103, 149, 152, 103, 151, 152, 150, 151, 152, 150, 00446 151, 152, 101, 151, 152, 150, 151, 152, 150, 151, 00447 00448 152, 100, 150, 151, 152, 151, 152, 95, 150, 151, 00449 152, 95, 151, 152, 29, 151, 152, 30, 149, 152, 00450 31, 150, 151, 152, 31, 150, 151, 152, 31, 150, 00451 151, 152, 26, 151, 152, 26, 31, 150, 151, 152, 00452 119, 151, 152, 120, 149, 152, 119, 150, 151, 152, 00453 121, 141, 151, 152, 142, 149, 152, 121, 141, 150, 00454 151, 152, 121, 141, 150, 151, 152, 141, 150, 151, 00455 152, 141, 150, 151, 152, 148, 151, 152, 148, 150, 00456 151, 152, 143, 148, 151, 152, 145, 148, 151, 152, 00457 146, 148, 151, 152, 147, 149, 152, 146, 148, 150, 00458 00459 151, 152, 138, 139, 151, 152, 138, 140, 149, 152, 00460 138, 139, 150, 151, 152, 139, 151, 152, 139, 151, 00461 152, 139, 150, 151, 152, 26, 29, 30, 30, 32, 00462 26, 21, 21, 26, 26, 26, 11, 10, 10, 10, 00463 10, 21, 26,16403, 21, 10, 21, 26,16403, 21, 00464 26,16403, 21, 26,16403, 21, 26,16403, 21, 26, 00465 16403, 21, 26, 29, 26, 26, 2, 4, 26, 117, 00466 67, 74, 76, 74, 73, 72, 72, 81, 83, 80, 00467 79, 79, 86, 87, 35, 35, 35, 39, 43, 47, 00468 51, 55, 59, 63, 109, 110, 109, 109, 110, 104, 00469 00470 106, 112, 112, 114, 115, 115, 115, 115, 92, 90, 00471 90, 90, 100, 102, 99, 98, 98, 96, 95, 29, 00472 30, 30, 26, 121, 121, 122, 143, 144, 145, 146, 00473 147, 138, 136, 3, 5, 26, 21, 21, 21, 21, 00474 18, 24, 26, 17, 10, 10, 10, 21, 21, 22, 00475 21, 24, 21, 24, 21, 10, 21, 26,16403, 21, 00476 26,16403, 21, 26,16403, 21, 26,16403, 21, 26, 00477 16403, 21, 26, 116, 74, 70, 71, 72, 78, 79, 00478 86, 108, 109, 108, 113, 112, 115, 115, 115, 115, 00479 115, 115, 115, 90, 97, 98, 26, 121, 137, 136, 00480 00481 21, 21, 21, 21, 21, 16, 107, 10, 10, 10, 00482 21, 21, 21, 21, 24, 21, 24, 21, 8211, 21, 00483 10, 21, 26,16403, 21, 21, 26,16403, 21, 26, 00484 16403, 21, 26,16403, 21, 72, 79, 115, 115, 115, 00485 115, 115, 98, 26, 121, 135, 21, 21, 21, 21, 00486 15, 24, 10, 10, 10, 21, 21, 21, 21, 21, 00487 24, 21, 24, 21, 24, 8211, 20, 21, 10, 13, 00488 13, 13, 21, 26,16403, 21, 26,16403, 72, 79, 00489 115, 115, 115, 115, 98, 26, 129, 130, 21, 21, 00490 21, 21, 20, 21, 21, 14, 10, 10, 21, 21, 00491 00492 21, 21, 24, 21, 24, 21, 24, 20, 10, 13, 00493 21, 13, 21, 13, 13, 13, 13, 21, 21, 26, 00494 16403, 6, 20, 21, 72, 79, 115, 115, 115, 115, 00495 98, 26, 134, 21, 21, 21, 21, 9, 10, 21, 00496 20, 21, 21, 21, 24, 21, 24, 10, 13, 13, 00497 13, 21, 13, 21, 13, 21, 13, 21, 13, 13, 00498 13, 13, 21, 26,16403, 72, 79, 34, 58, 62, 00499 115, 115, 115, 115, 98, 26, 21, 20, 21, 21, 00500 21, 10, 21, 21, 21, 24, 21, 24, 8, 10, 00501 13, 21, 13, 21, 13, 22, 13, 13, 21, 13, 00502 00503 21, 13, 13, 22, 13, 21, 26,16403, 72, 79, 00504 33, 115, 115, 115, 115, 98, 26, 123, 21, 21, 00505 21, 10, 21, 21, 25, 22, 25, 21, 24, 21, 00506 24, 13, 21, 13, 13, 21, 13, 13, 21, 13, 00507 21, 13, 22, 13, 13, 13, 26, 26, 26, 26, 00508 26, 26, 26, 26, 26, 72, 79, 115, 115, 90, 00509 98, 124, 133, 21, 21, 23, 23, 23, 23, 23, 00510 23, 23, 23, 23, 23, 23, 23, 23, 12, 10, 00511 21, 21, 21, 24, 21, 24, 13, 21, 13, 21, 00512 13, 13, 22, 26, 26, 72, 79, 98, 131, 128, 00513 00514 21, 21, 23, 23, 23, 23, 23, 23, 23, 23, 00515 23, 23, 23, 23, 23, 22, 23, 23, 23, 23, 00516 21, 21, 24, 13, 21, 13, 21, 13, 13, 23, 00517 21, 28, 8211, 21, 28, 42, 50, 28, 132, 127, 00518 21, 23, 23, 23, 23, 23, 23, 23, 23, 23, 00519 23, 23, 23, 23, 23, 23, 23, 23, 23, 21, 00520 21, 24, 13, 21, 13, 21, 13, 13, 8211, 20, 00521 21, 28, 38, 54, 125, 21, 23, 23, 23, 23, 00522 23, 13, 21, 13, 21, 13, 13, 7, 46, 13, 00523 21, 13, 13, 13, 13, 13, 13, 13, 13, 25, 00524 00525 22, 25, 13, 25, 25, 13, 13, 21, 13, 22, 00526 13, 13, 13, 126, 23, 13, 23, 13, 13, 13, 00527 13, 23, 23, 23, 13, 13, 23, 23, 23, 13, 00528 13, 13, 13 00529 } ; 00530 00531 static yyconst flex_int16_t yy_accept[1459] = 00532 { 0, 00533 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00534 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00535 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00536 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00537 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 00538 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 00539 3, 3, 3, 3, 3, 3, 3, 4, 6, 8, 00540 11, 14, 17, 20, 24, 27, 30, 33, 36, 39, 00541 42, 45, 48, 51, 54, 57, 60, 65, 68, 73, 00542 78, 83, 88, 91, 94, 98, 101, 105, 108, 111, 00543 00544 114, 117, 121, 126, 129, 132, 136, 139, 143, 147, 00545 151, 154, 157, 160, 163, 166, 169, 172, 175, 178, 00546 181, 185, 188, 191, 194, 197, 200, 203, 206, 209, 00547 213, 216, 219, 222, 226, 229, 233, 238, 242, 246, 00548 249, 254, 258, 262, 266, 269, 273, 277, 280, 285, 00549 289, 293, 297, 300, 305, 309, 313, 317, 320, 325, 00550 329, 333, 336, 341, 345, 349, 352, 357, 361, 365, 00551 368, 373, 377, 381, 384, 389, 393, 396, 399, 402, 00552 406, 409, 413, 416, 419, 422, 424, 426, 429, 431, 00553 433, 436, 439, 443, 446, 450, 453, 457, 460, 464, 00554 00555 468, 471, 475, 478, 481, 484, 487, 490, 493, 496, 00556 499, 502, 506, 508, 512, 515, 518, 521, 525, 529, 00557 533, 536, 541, 544, 547, 551, 555, 558, 563, 568, 00558 572, 576, 579, 583, 587, 591, 595, 598, 603, 607, 00559 611, 616, 619, 622, 626, 627, 628, 629, 630, 631, 00560 631, 631, 631, 631, 632, 632, 633, 634, 634, 634, 00561 634, 634, 635, 635, 635, 636, 636, 637, 637, 637, 00562 637, 637, 637, 638, 639, 640, 641, 642, 642, 642, 00563 642, 645, 646, 646, 647, 650, 653, 656, 659, 662, 00564 662, 662, 664, 665, 665, 665, 665, 665, 665, 666, 00565 00566 667, 668, 668, 668, 669, 670, 671, 671, 672, 673, 00567 674, 675, 675, 675, 675, 675, 676, 677, 678, 679, 00568 680, 680, 681, 682, 683, 683, 683, 683, 683, 684, 00569 685, 686, 687, 687, 687, 687, 688, 688, 688, 688, 00570 689, 689, 690, 690, 691, 691, 692, 692, 693, 693, 00571 694, 694, 695, 695, 696, 696, 697, 698, 699, 699, 00572 700, 701, 702, 702, 702, 703, 703, 703, 704, 704, 00573 705, 706, 706, 707, 708, 709, 709, 710, 711, 711, 00574 711, 711, 712, 713, 714, 715, 715, 716, 717, 718, 00575 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 00576 00577 727, 727, 727, 727, 727, 727, 727, 727, 727, 727, 00578 728, 729, 730, 731, 732, 733, 733, 734, 734, 734, 00579 735, 735, 735, 736, 736, 737, 737, 738, 739, 739, 00580 740, 741, 741, 741, 741, 741, 742, 742, 743, 744, 00581 744, 744, 744, 744, 744, 745, 746, 747, 748, 749, 00582 750, 750, 751, 753, 755, 755, 755, 755, 756, 756, 00583 756, 756, 756, 756, 756, 756, 756, 756, 756, 756, 00584 756, 756, 756, 756, 756, 756, 756, 756, 756, 756, 00585 756, 756, 756, 756, 756, 756, 756, 756, 756, 757, 00586 760, 763, 766, 769, 772, 772, 772, 774, 774, 774, 00587 00588 774, 775, 776, 776, 777, 777, 777, 777, 778, 779, 00589 779, 780, 781, 782, 782, 782, 782, 782, 782, 782, 00590 782, 782, 782, 784, 785, 786, 787, 787, 787, 787, 00591 787, 788, 788, 788, 789, 790, 791, 792, 793, 794, 00592 794, 795, 795, 796, 797, 798, 799, 799, 799, 799, 00593 799, 799, 799, 799, 799, 799, 799, 799, 800, 801, 00594 801, 802, 803, 803, 804, 804, 805, 806, 807, 807, 00595 807, 807, 807, 808, 808, 809, 810, 811, 811, 812, 00596 813, 813, 814, 814, 814, 814, 814, 816, 818, 818, 00597 818, 819, 819, 821, 821, 821, 821, 821, 821, 821, 00598 00599 821, 821, 821, 821, 821, 821, 821, 821, 821, 821, 00600 821, 821, 821, 821, 821, 821, 821, 821, 821, 822, 00601 825, 826, 829, 832, 835, 835, 835, 835, 836, 836, 00602 836, 837, 838, 838, 838, 838, 838, 838, 838, 838, 00603 838, 838, 838, 838, 839, 839, 839, 840, 841, 842, 00604 843, 843, 843, 843, 844, 845, 847, 847, 847, 847, 00605 847, 847, 847, 847, 847, 847, 847, 847, 847, 848, 00606 849, 849, 850, 850, 850, 851, 852, 852, 853, 853, 00607 853, 853, 854, 855, 856, 857, 858, 858, 859, 859, 00608 860, 860, 860, 862, 864, 866, 866, 866, 866, 866, 00609 00610 866, 866, 866, 869, 869, 869, 869, 869, 869, 869, 00611 870, 871, 872, 873, 876, 879, 879, 879, 879, 879, 00612 879, 879, 880, 881, 881, 881, 881, 881, 881, 881, 00613 881, 881, 881, 881, 881, 881, 881, 882, 883, 884, 00614 885, 885, 885, 886, 887, 887, 887, 888, 888, 888, 00615 889, 889, 889, 889, 889, 889, 890, 891, 891, 892, 00616 892, 893, 895, 896, 897, 897, 897, 897, 897, 897, 00617 898, 899, 900, 900, 901, 901, 902, 902, 902, 904, 00618 906, 908, 909, 909, 909, 909, 909, 909, 909, 909, 00619 909, 909, 909, 910, 910, 912, 914, 915, 915, 916, 00620 00621 916, 917, 919, 922, 922, 923, 925, 925, 925, 925, 00622 925, 926, 927, 927, 927, 927, 927, 927, 927, 927, 00623 927, 927, 927, 927, 927, 927, 928, 929, 930, 931, 00624 931, 931, 932, 933, 933, 934, 934, 934, 934, 934, 00625 934, 934, 934, 934, 935, 935, 936, 936, 937, 938, 00626 938, 938, 938, 938, 939, 939, 939, 940, 941, 943, 00627 944, 944, 944, 946, 948, 948, 948, 948, 948, 948, 00628 948, 949, 949, 950, 951, 951, 953, 955, 957, 959, 00629 960, 961, 962, 962, 962, 963, 966, 966, 966, 966, 00630 966, 966, 967, 968, 968, 969, 969, 969, 969, 969, 00631 00632 969, 970, 971, 971, 971, 971, 971, 972, 973, 974, 00633 975, 975, 975, 976, 977, 977, 977, 977, 977, 977, 00634 977, 977, 977, 977, 978, 980, 981, 982, 982, 982, 00635 982, 983, 984, 985, 985, 985, 987, 989, 989, 989, 00636 991, 993, 995, 995, 997, 998, 1000, 1002, 1002, 1003, 00637 1005, 1006, 1009, 1009, 1010, 1011, 1012, 1012, 1012, 1012, 00638 1012, 1012, 1013, 1013, 1013, 1013, 1014, 1015, 1016, 1016, 00639 1016, 1017, 1018, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 00640 1019, 1019, 1020, 1021, 1022, 1022, 1022, 1023, 1024, 1025, 00641 1026, 1028, 1028, 1030, 1032, 1034, 1035, 1037, 1038, 1040, 00642 00643 1042, 1043, 1044, 1044, 1045, 1046, 1047, 1047, 1048, 1048, 00644 1048, 1048, 1049, 1050, 1050, 1051, 1052, 1052, 1053, 1053, 00645 1053, 1054, 1055, 1056, 1056, 1057, 1058, 1058, 1058, 1058, 00646 1058, 1058, 1058, 1059, 1059, 1060, 1061, 1061, 1062, 1062, 00647 1062, 1062, 1062, 1062, 1063, 1063, 1063, 1063, 1064, 1065, 00648 1066, 1066, 1067, 1068, 1069, 1069, 1070, 1071, 1072, 1073, 00649 1074, 1075, 1076, 1077, 1077, 1078, 1079, 1079, 1079, 1080, 00650 1080, 1081, 1082, 1083, 1083, 1083, 1083, 1083, 1085, 1087, 00651 1089, 1091, 1092, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 00652 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1094, 1095, 1096, 00653 00654 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 00655 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 00656 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 00657 1096, 1096, 1096, 1096, 1096, 1097, 1098, 1098, 1098, 1098, 00658 1098, 1098, 1098, 1098, 1099, 1099, 1100, 1100, 1100, 1100, 00659 1100, 1101, 1102, 1103, 1103, 1103, 1104, 1105, 1106, 1106, 00660 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1113, 1114, 1114, 00661 1114, 1115, 1116, 1116, 1118, 1119, 1120, 1121, 1121, 1121, 00662 1121, 1121, 1122, 1122, 1122, 1122, 1122, 1124, 1124, 1124, 00663 1126, 1128, 1129, 1130, 1130, 1130, 1130, 1131, 1133, 1136, 00664 00665 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 00666 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 00667 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1137, 1137, 1138, 00668 1138, 1139, 1140, 1141, 1141, 1141, 1142, 1143, 1143, 1143, 00669 1143, 1143, 1144, 1145, 1146, 1146, 1147, 1148, 1149, 1150, 00670 1151, 1152, 1153, 1153, 1154, 1154, 1154, 1155, 1156, 1156, 00671 1157, 1158, 1159, 1159, 1159, 1159, 1160, 1160, 1160, 1160, 00672 1161, 1161, 1161, 1161, 1163, 1163, 1165, 1167, 1168, 1169, 00673 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 00674 1169, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1174, 00675 00676 1174, 1175, 1176, 1176, 1177, 1177, 1178, 1179, 1180, 1180, 00677 1181, 1181, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1184, 00678 1186, 1187, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 00679 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1189, 00680 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 00681 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1192, 1193, 1194, 00682 1195, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1203, 1205, 00683 1206, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 00684 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 00685 1207, 1209, 1209, 1211, 1211, 1212, 1213, 1214, 1214, 1214, 00686 00687 1214, 1214, 1214, 1215, 1215, 1215, 1215, 1215, 1216, 1216, 00688 1216, 1216, 1216, 1218, 1219, 1220, 1220, 1220, 1220, 1220, 00689 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1221, 00690 1222, 1222, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1224, 00691 1225, 1225, 1226, 1227, 1227, 1228, 1228, 1229, 1229, 1230, 00692 1230, 1231, 1232, 1232, 1232, 1233, 1234, 1234 00693 } ; 00694 00695 static yyconst flex_int32_t yy_ec[256] = 00696 { 0, 00697 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 00698 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 00699 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00700 1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 00701 14, 15, 16, 17, 18, 19, 20, 21, 21, 21, 00702 21, 21, 21, 21, 21, 21, 21, 22, 23, 24, 00703 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 00704 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 00705 38, 45, 46, 47, 48, 49, 38, 38, 38, 38, 00706 50, 51, 52, 53, 54, 1, 55, 56, 57, 58, 00707 00708 59, 60, 61, 62, 63, 38, 64, 65, 66, 67, 00709 68, 69, 38, 70, 71, 72, 73, 74, 75, 76, 00710 77, 38, 78, 79, 80, 81, 1, 1, 1, 1, 00711 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00712 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00713 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00714 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00715 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00716 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00717 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00718 00719 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00720 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00721 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00722 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00723 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00724 1, 1, 1, 1, 1 00725 } ; 00726 00727 static yyconst flex_int32_t yy_meta[82] = 00728 { 0, 00729 1, 2, 3, 4, 2, 5, 6, 7, 8, 9, 00730 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 00731 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 00732 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 00733 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 00734 30, 31, 32, 28, 28, 28, 28, 28, 28, 28, 00735 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 00736 28, 28, 28, 28, 28, 28, 28, 33, 32, 34, 00737 35 00738 } ; 00739 00740 static yyconst flex_int16_t yy_base[1860] = 00741 { 0, 00742 0, 9, 90, 25, 169, 180, 260, 340, 420, 500, 00743 580, 660, 741, 0, 821, 901, 981, 1061, 1141, 1221, 00744 191, 202, 213, 249, 271, 282, 293, 329, 351, 375, 00745 385, 465, 545, 625, 1301, 1381, 1462, 0, 832, 856, 00746 1543, 0, 865, 930, 1623, 1703, 1784, 0, 1864, 1944, 00747 2025, 2106, 2186, 2266, 952, 1010, 1032, 1090, 2347, 0, 00748 2428, 0, 1112, 1170, 2509, 0, 5539,20917,20917,20917, 00749 0, 2, 44, 11, 2589, 1, 5525, 0, 0,20917, 00750 1254, 2669, 5503, 5506, 16, 1146, 2750, 2824, 2905, 2, 00751 7, 4, 50,20917, 2986, 477, 557, 230, 3067, 412, 00752 00753 5507, 0, 0, 5507,20917, 29,20917,20917,20917, 5518, 00754 0, 36,20917, 3147, 0, 0,20917, 5503, 1289,20917, 00755 0, 0, 37,20917,20917, 0, 0,20917, 1313, 0, 00756 20917, 81,20917,20917, 171, 0, 0, 0, 455, 535, 00757 0,20917, 5463, 310, 322, 5501, 0,20917, 0, 5507, 00758 5460, 0,20917, 0,20917, 5459, 0,20917, 0, 5457, 00759 0,20917, 0, 5456, 0,20917, 0, 5455, 0,20917, 00760 0, 5454, 0,20917, 0, 5453, 0, 402, 447, 482, 00761 51, 0, 367,20917, 0, 528, 0, 443, 187, 523, 00762 590, 0, 0, 635, 641,20917, 563, 611, 0,20917, 00763 00764 5489, 677, 0, 70,20917,20917, 0, 0,20917, 5504, 00765 1345, 0, 385, 0, 0, 617, 180,20917, 0, 0, 00766 5440, 0,20917,20917,20917, 0,20917, 0, 5502, 661, 00767 1346,20917,20917, 0, 242, 5504,20917, 5503, 0, 0, 00768 0, 5487,20917, 0, 0, 698, 997, 1077, 834, 689, 00769 892, 883, 5484, 3226, 5496, 709, 1140, 0, 0, 5480, 00770 5478, 1638, 5472, 0, 3306, 902, 1663, 0, 3, 5481, 00771 0, 945,20917, 0, 5430, 5442, 5437, 146, 5481, 1009, 00772 3387, 265, 3467, 5434, 3544, 160, 15, 168, 127, 516, 00773 191, 3625, 1184, 1235, 964, 940, 5473, 1049, 1266, 1100, 00774 00775 20917, 991, 1042,20917, 1273, 0, 5466, 318, 0, 326, 00776 3705, 5484, 5467, 0, 1208,20917, 0, 5430, 0, 371, 00777 5465,20917, 0, 5428, 596, 846, 1105, 1122, 676, 0, 00778 0, 1214, 1291, 5427, 5418, 1341, 1355, 5464, 5426, 0, 00779 5415, 0, 5414, 0, 5413, 0, 5412, 0, 5411, 0, 00780 5410, 0, 5407, 0, 1071, 1129, 1345, 1231, 5462, 1180, 00781 0,20917, 1372, 5456, 605, 285, 955, 1004, 1380, 0, 00782 1663, 1376, 3784, 1682, 1905, 1432,20917, 1405, 0, 0, 00783 5448, 1433, 10, 0, 395, 5432,20917, 0, 5393, 850, 00784 20917, 0, 1254, 1156, 1203, 5392, 0, 5431,20917, 5381, 00785 00786 5379, 5378, 5373, 5389, 5372, 5386, 308, 5381, 5373, 0, 00787 1239, 1285, 5433,20917, 0, 5409, 0, 1440, 1636,20917, 00788 1454, 1657,20917, 1728,20917, 248, 1702, 512, 210, 1876, 00789 37, 5417, 5404, 0, 5402,20917, 5403, 1674, 3864, 978, 00790 5403, 1756, 5389, 1899,20917, 5340, 5339, 5337, 1744, 1909, 00791 5391, 1919, 1984, 1991, 5342, 5371, 5361, 1756, 5353, 409, 00792 412, 1943, 177, 443, 214, 382, 51, 427, 566, 1879, 00793 2035, 489, 618, 5348, 509, 864, 1997, 292, 808, 591, 00794 309, 532, 640, 844, 1388, 1683, 649, 435, 5318, 3945, 00795 4026, 229, 601, 535, 5305, 5307, 4107, 603, 2068, 2120, 00796 00797 20917,20917, 5344,20917, 2140, 5338, 2144,20917, 5290, 5334, 00798 20917, 5286, 1326, 5295, 5283, 5292, 5289, 5288, 5270, 5266, 00799 5265, 5264, 0,20917,20917, 1677, 1860, 841, 5251, 5250, 00800 4187, 1984, 5300, 4266, 2149, 4345, 4424, 2167, 2238, 5299, 00801 2093, 5289,20917, 5237, 5235, 5286, 5243, 5239, 5223, 5227, 00802 5212, 5224, 5208, 5220, 5220, 5203, 5202,20917, 0, 2213, 00803 2066, 2203, 5235, 2155, 889, 2231, 700,20917, 5244, 5246, 00804 0, 0,20917, 2294, 5187, 5194, 5191, 574, 2239, 712, 00805 872, 2601, 2617, 5176, 5175, 2614, 2313, 2637, 5170, 5216, 00806 1026, 5213, 2314, 695, 356, 515, 802, 694, 801, 148, 00807 00808 944, 836, 978, 896, 891, 5207, 882, 1058, 31, 1068, 00809 451, 873, 250, 898, 909, 1616, 931, 1165, 5166, 4504, 00810 4580, 4661, 5154, 1261, 5162, 5151, 5187, 1093, 1250, 2698, 00811 5156, 5153, 5149, 5143, 5131, 5122, 5122, 5107, 5107, 5121, 00812 5112, 5103, 5099, 2642, 1043, 1266, 4741, 4820, 2702, 2724, 00813 2675, 5091, 5084, 5085, 5080, 0, 5068, 5066, 0, 5052, 00814 5045, 0, 5046, 5026, 5020, 5028, 5015, 1109, 2630, 1115, 00815 1310, 2649, 5049, 5042, 2722,20917, 5047, 5043, 2780, 2784, 00816 2089, 4994, 412, 1023, 2723, 2789, 4953, 2799, 1325, 2806, 00817 4908, 4907, 2838, 2872, 2918, 4940, 1220, 1402, 1026, 612, 00818 00819 1395, 1174, 2855, 938, 1103, 820, 1236, 1300, 1341, 1193, 00820 1616, 4895, 4976, 5057, 5138, 4906, 4896, 4928, 2839, 2945, 00821 2303, 4893, 4892, 4876, 4881, 4867, 4869, 4855, 4836, 4840, 00822 4828, 4824, 4820, 4829, 1622, 1249, 5218, 5297, 2959, 2977, 00823 4815, 4815, 4824, 4802, 4800, 0,20917, 4792, 4770,20917, 00824 4784, 4779, 1357, 4785, 4770, 2873, 2954, 4810, 2961, 1611, 00825 2986, 3005, 3006, 4816, 2707, 3033, 4823, 4811, 4799, 1932, 00826 2688, 3033, 4796, 3072, 4791, 3080, 4745, 4758, 3093, 3106, 00827 3164,20917, 1335, 1414, 1696, 1604, 1647, 1023, 1692, 1617, 00828 1871, 1708, 2788, 1879, 5372, 5448, 5524, 5605, 5685, 5765, 00829 00830 5845, 5926, 6007, 4720,20917, 1749, 3191, 3198, 4777, 4765, 00831 4695, 4694, 4705, 4722, 4678, 4674, 4667, 4673, 4667, 4655, 00832 4668, 4646, 4637, 1885, 1925, 6087, 6166, 3134, 3210, 4637, 00833 4648, 4619, 4620, 4608,20917, 4608, 4604, 4601, 4598, 4608, 00834 4597, 4570, 4561, 3238, 4601, 3250, 4594, 3272, 3273, 3285, 00835 4599, 3297, 4583, 4563, 2016, 2949, 4516, 3311, 3324, 3332, 00836 4496, 4484, 3347, 3354, 1609, 1150, 1714, 1630, 1709, 1868, 00837 4482, 1894,20917, 6241, 6321, 6397, 6473, 6549, 6625, 6706, 00838 6786, 6866, 6946, 7027, 7107, 7188, 4480, 3416, 4534, 3425, 00839 4506, 4432, 4422, 4424,20917, 4414, 4405, 4405, 4393, 4404, 00840 00841 20917,20917, 2012, 4388, 1871, 1892, 7268, 7347, 2865, 3420, 00842 4369, 4364, 4371, 4362, 2041, 4366, 4360, 4366, 4345, 4326, 00843 4313, 4303, 4280, 3557, 3424, 3567, 3574, 3202, 4281, 4257, 00844 4260, 3431, 3451, 2171, 4261, 3592, 3640, 1870, 1914, 0, 00845 7422, 7498, 7578, 3059, 7654, 7730, 7806, 7887, 7968, 8049, 00846 8129, 8209, 4236, 4239, 4207,20917, 4201, 4199, 4176, 4168, 00847 4178, 2244, 4167, 2622, 1709, 3544, 8289, 3617, 2255, 4158, 00848 4152, 3103, 2282, 4132, 4138, 4111, 2338, 4107, 4093, 4071, 00849 0, 3647, 3452, 8368, 3668, 4061, 2750, 3671, 3675,20917, 00850 3185, 4046, 3722, 3745, 8444, 2041, 8520, 8596, 8672, 8748, 00851 00852 8829, 8910, 8990, 3766, 3800, 3812, 9069, 3805, 1752, 2115, 00853 4084, 3848, 9150, 4076, 9231, 3887, 9311, 3906, 2194, 4024, 00854 3923, 3970, 3334, 4027, 2822, 2835, 3989, 3988, 3975, 3975, 00855 3945, 3947, 2905, 1936, 9387,20917, 3937, 2897, 3138, 0, 00856 0, 3916, 3916, 2955, 3891, 3893, 0,20917, 3679, 3910, 00857 9466, 2031, 2034, 2298, 3935, 2179, 2579, 3931, 2890, 2208, 00858 2919, 2300, 2638, 3872, 2653, 2692, 3732, 3348,20917, 3770, 00859 3174, 3823, 9546, 3933, 3852, 3836, 3833, 3963, 9626, 9702, 00860 9778, 9859, 9939, 2673, 3873, 2700, 2984, 3119, 2836, 2858, 00861 2978, 3007, 3822, 3816, 3196, 3846, 3995,10019,10100, 1153, 00862 00863 3375, 3029, 4056, 4070, 4095, 4124, 3792, 3969, 3989, 3988, 00864 4023, 2687, 4054, 4121, 3418, 3066, 4125, 4147, 4150, 4172, 00865 4176, 4190, 4211, 4252, 4242, 4253, 4102, 4275, 4263, 4321, 00866 4272, 4330, 3035, 3769, 3569, 3602, 3763, 3734, 3734, 3722, 00867 3733, 1711, 3689, 3631, 3716,20917, 0, 3721, 3672, 3649, 00868 20917, 4319,10180, 3698,10260, 3037, 3064, 3207, 3682, 3116, 00869 3213, 3290, 3231, 3258, 3285, 3436, 2068, 3336, 1928, 1952, 00870 3621, 3673, 3668, 4329, 1917, 3366, 3371, 3937, 3607, 4390, 00871 3893, 4392,10340, 4384, 3594, 3592, 4431, 3467, 3734,10416, 00872 10492, 1606, 2034, 3587, 3538, 3589, 4413, 4450, 4458, 4215, 00873 00874 4444, 4331, 4493, 4474, 3050, 4456, 4502, 4505, 4514, 4530, 00875 4531, 4540, 4577, 4578, 4581, 4582, 4603, 4600, 4535, 4604, 00876 4623, 4650, 4660, 4664, 3542, 3511,20917, 3518,20917, 3511, 00877 20917,20917, 3776, 3844, 3498, 4702, 4704, 3505, 3503, 3478, 00878 10572, 3385, 3410, 3542, 3476, 3454, 3599, 3841, 3565, 3604, 00879 3629, 3830, 2089, 3638, 2025, 2123, 3741, 3474, 3467, 3444, 00880 2168, 3652, 1273, 343, 3442, 4731, 3359, 3984, 3347,10652, 00881 3752, 3342, 3353,10732, 3778, 2106, 2232, 1919, 2750, 3330, 00882 4718, 4754, 3315, 3306, 4717, 4739, 4742, 4753, 4763, 4762, 00883 4819, 4767, 4815, 4819, 4818, 4829, 4887, 4060,20917, 3287, 00884 00885 20917, 4008, 3261,10812, 3300, 4852, 4868, 3692, 3279, 4884, 00886 2139, 4933, 4888, 3173, 3154, 4143, 3144, 3141, 2210,10892, 00887 10973, 2265, 3113, 4370, 3132, 3114, 3103, 4896, 4917, 3232, 00888 4927, 5027, 5046, 5055, 5056, 5060, 5065, 4173,20917,20917, 00889 3096, 5111, 3085, 3082, 5118, 3058, 3035, 2055, 5124, 4463, 00890 2635, 3014, 3011, 4441, 0, 3003, 2175, 3838, 4012, 4105, 00891 11053, 4247, 2087, 5093, 4289, 4326, 3045, 5129, 2988,11134, 00892 2982, 2985, 2972, 2971, 5133, 5150, 5164, 5168, 5194, 5205, 00893 4224, 2954, 2930, 2899, 2890, 2142, 2900, 2867, 2859, 2839, 00894 11213,11293, 5246, 5252, 1706, 2161, 1811, 5266, 2817, 2815, 00895 00896 5240, 5295, 4452, 2802, 2817, 2765, 2762, 5281, 2744, 2723, 00897 2721,11373, 5258, 2540, 2702, 4697, 2712, 4495, 2698, 2671, 00898 2668, 2667, 2611, 5336, 4776, 2701, 4927, 2609, 2191, 2226, 00899 2645,20917, 2572, 4951, 2565, 4966, 2261, 2252, 2269,20917, 00900 2170, 2863, 2924, 2143,20917, 2072,20917, 2000, 2026, 1946, 00901 5286, 2566, 1926, 1901, 1848, 2280,20917,11454,11489,11524, 00902 11559,11594,11629,11664,11699,11734,11769,11804,11839,11874, 00903 11909,11944,11979,12014,12049,12084,12119,12154,12189,12224, 00904 12259,12294, 2987, 2606, 1720,12329,12364,12385, 3877,12407, 00905 12442,12477,12512,12547,12582, 1672, 2582,12611,12646, 1620, 00906 00907 12675, 2792, 5335,12710,12745,12780,12815,12850,12885,12920, 00908 12955,12990,13025,13060, 2771,13095,13116,13132,13162,13197, 00909 1420,13226,13254, 1401,13283,13312,13340, 1382,13375, 4146, 00910 5341,13410,13445, 1236,13480,13515,13544, 986, 960, 3564, 00911 2825,13572,13593, 4185,13621,13642,13670, 4197, 3233, 873, 00912 13704, 3139, 3406,13731,13745,13780, 4081,13815,13850,13885, 00913 13920,13955,13990, 3799, 622,14024, 3227,14052, 4046, 3300, 00914 3340, 5399,14087,14122,14157,14192,14227,14262,14297,14332, 00915 14367,14402,14437,14472, 3574,14507,14528,14544,14560,14590, 00916 14625,14660,14689, 536,14716,14744, 4360, 3647,14773,14801, 00917 00918 14836, 4222, 5400,14871,14906, 3661, 3519,14935, 4378,14962, 00919 5120, 3893, 3934,14990, 4402, 4613,15011,15039,15058,15087, 00920 15114, 3762,15136,15163,15185, 4063,15212,15240,15275,15309, 00921 4531,15336,15363, 3772, 4632, 3857,15391,15412,15428,15458, 00922 15493,15528,15562, 5127, 3881,15590,15625, 3894,15654,15681, 00923 15703, 5149, 3964,15731, 4847, 3991,15765, 4075, 3898,15787, 00924 5193,15814,15828,15857, 4123,15884,15912,15943,15977,16004, 00925 4165, 4179,16032,16067,16102, 4226,16137,16172,16207,16242, 00926 4229,16271,16298,16325,16347, 5316, 4293,16374,16401,16429, 00927 4487,16458,16485,16507,16529,16551,16578,16602,16633,16668, 00928 00929 16702,16729,16756,16784, 4263, 4268,16819,16854,16889, 4300, 00930 16924,16959,16988,17015,17037,17059, 5348,17087,17122,17157, 00931 5404,17186,17213,17235,17257,17279,17306,17330,17361,17392, 00932 17427,17462,17497,17532,17567,17602,17637, 4332, 4361,17672, 00933 17707,17742, 4510,17777,17806,17833,17855,17877,17905,17940, 00934 17975, 4553,18004,18026,18048,18070,18097,18121,18152,18186, 00935 18217,18248,18279,18314,18349,18384,18419,18454,18489,18524, 00936 4599, 4628,18559,18594,18629, 4667,18664,18693,18715,18737, 00937 4685,18759,18781,18809,18838,18860,18887,18911,18945,18976, 00938 19007,19038,19073,19108,19143,19178, 4733, 4742,19213,19248, 00939 00940 19283, 4763,19318,19353,19382,19404,19431,19460,19482,19504, 00941 19526,19550,19581,19612,19643,19674,19709,19744,19778,19806, 00942 19841,19876, 5409, 5410,19911,19946, 5414, 4784,19981,20016, 00943 20045,20067,20095,20129,20151,20178,20207,20234,20265,20296, 00944 20331,20365,20393,20428,20462,20490,20525,20560,20594,20621, 00945 20638,20665,20692,20719,20747,20778,20812,20847,20881 00946 } ; 00947 00948 static yyconst flex_int16_t yy_def[1860] = 00949 { 0, 00950 1458, 1458, 1457, 3, 1459, 1459, 1460, 1460, 1461, 1461, 00951 1462, 1462, 1457, 13, 1463, 1463, 1464, 1464, 1464, 1464, 00952 1465, 1465, 1466, 1466, 1467, 1467, 1468, 1468, 1469, 1469, 00953 1470, 1470, 1471, 1471, 1472, 1472, 1457, 37, 1458, 1458, 00954 1457, 41, 1473, 1473, 1474, 1474, 1457, 47, 1475, 1475, 00955 1476, 1476, 1477, 1477, 1478, 1478, 1479, 1479, 1457, 59, 00956 1457, 61, 1480, 1480, 1457, 65, 1457, 1457, 1457, 1457, 00957 1481, 1457, 1457, 1457, 1482, 1483, 1484, 1481, 1485, 1457, 00958 1486, 1487, 1488, 1457, 1489, 1490, 1491, 1490, 1491, 89, 00959 89, 89, 1457, 1457, 1492, 1457, 1457, 1481, 1487, 1488, 00960 00961 1481, 1493, 1493, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 00962 1494, 1457, 1457, 1495, 1494, 1496, 1457, 1497, 1498, 1457, 00963 1494, 1499, 1457, 1457, 1457, 1499, 1500, 1457, 1501, 1499, 00964 1457, 1502, 1457, 1457, 1503, 1504, 1504, 1505, 1505, 1457, 00965 1505, 1457, 1457, 1505, 1457, 1457, 1506, 1457, 1506, 1457, 00966 1457, 1507, 1457, 1507, 1457, 1457, 1508, 1457, 1508, 1457, 00967 1509, 1457, 1509, 1457, 1510, 1457, 1510, 1457, 1511, 1457, 00968 1511, 1457, 1512, 1457, 1512, 1457, 1513, 1457, 1457, 1513, 00969 1514, 1513, 1457, 1457, 1515, 1457, 1516, 1517, 1518, 1517, 00970 1517, 1519, 1519, 1520, 1520, 1457, 1457, 1457, 1521, 1457, 00971 00972 1457, 1522, 1523, 1457, 1457, 1457, 1523, 1524, 1457, 1457, 00973 1525, 1523, 1457, 1526, 1526, 1457, 1457, 1457, 1527, 1528, 00974 1527, 1527, 1457, 1457, 1457, 1529, 1457, 1529, 1529, 1457, 00975 1457, 1457, 1457, 1530, 1531, 1532, 1457, 1532, 1533, 1533, 00976 1533, 1457, 1457, 1534, 1527, 1457, 1457, 1457, 1457, 1457, 00977 1457, 1457, 1457, 1535, 1536, 1537, 1537, 1538, 1539, 1540, 00978 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1457, 00979 1550, 1551, 1457, 1552, 1552, 1552, 1552, 1553, 1554, 1555, 00980 1556, 1557, 1457, 1552, 1556, 285, 285, 285, 285, 1457, 00981 1457, 1558, 1457, 1457, 1457, 1457, 1457, 1457, 1559, 1559, 00982 00983 1457, 1457, 1457, 1457, 1559, 1560, 1457, 1457, 1561, 1457, 00984 1562, 1563, 1564, 1565, 1566, 1457, 1567, 1567, 1568, 1457, 00985 1569, 1457, 1570, 1570, 1571, 1572, 1457, 1572, 1457, 1573, 00986 1574, 1574, 1457, 1457, 1457, 1574, 1457, 1457, 1457, 1575, 00987 1457, 1576, 1457, 1577, 1457, 1578, 1457, 1579, 1457, 1580, 00988 1457, 1581, 1457, 1582, 1457, 1457, 1582, 1583, 1584, 1457, 00989 1585, 1457, 1457, 1586, 1587, 1588, 1587, 1589, 1589, 1590, 00990 1591, 1457, 1592, 1591, 1591, 1457, 1457, 1593, 1594, 1594, 00991 1595, 1593, 1457, 1596, 1457, 1597, 1457, 1598, 1598, 1457, 00992 1457, 1599, 1457, 1457, 1457, 1600, 1601, 1601, 1457, 1457, 00993 00994 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1602, 00995 1457, 1603, 1604, 1457, 1605, 1457, 1606, 1457, 1457, 1457, 00996 1457, 1457, 1457, 1457, 1457, 1607, 1608, 1609, 1610, 1608, 00997 1611, 1612, 1613, 1614, 1615, 1457, 1616, 1617, 1618, 1619, 00998 1457, 1620, 1457, 1621, 1457, 1622, 1622, 1622, 1623, 1623, 00999 1624, 1457, 1625, 1625, 1457, 1626, 1627, 1457, 1627, 1627, 01000 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 01001 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 01002 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1622, 1628, 01003 1628, 491, 491, 491, 1457, 1457, 1629, 1630, 1457, 1457, 01004 01005 1457, 1457, 1631, 1457, 1632, 1457, 1633, 1457, 1634, 1635, 01006 1457, 1636, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01007 1457, 1457, 1637, 1457, 1457, 1638, 1638, 1639, 1457, 1457, 01008 1640, 1641, 1641, 1640, 1642, 1640, 1640, 1642, 1642, 1643, 01009 1457, 1644, 1457, 1645, 1646, 1647, 1457, 1457, 1457, 1457, 01010 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1648, 1457, 01011 1649, 1649, 1650, 1457, 1650, 1651, 1652, 1457, 1653, 1654, 01012 1655, 1656, 1457, 1657, 1658, 1658, 1658, 1659, 1660, 1661, 01013 1662, 1660, 1457, 1457, 1457, 1663, 1664, 1664, 1457, 1665, 01014 1661, 1457, 1457, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 01015 01016 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 01017 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1658, 1667, 01018 1668, 1667, 622, 622, 1457, 1457, 1669, 1457, 1669, 1670, 01019 1671, 1672, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01020 1457, 1457, 1457, 1457, 1673, 1673, 1674, 1674, 1675, 1675, 01021 1457, 1457, 1457, 1676, 1677, 1678, 1457, 1457, 1679, 1457, 01022 1457, 1680, 1457, 1457, 1457, 1457, 1457, 1681, 1682, 1661, 01023 1683, 1682, 1457, 1684, 1685, 1457, 1686, 1687, 1688, 1689, 01024 1690, 1691, 1691, 1691, 1692, 1692, 1693, 1457, 1693, 1694, 01025 1457, 1457, 1695, 1695, 1696, 1457, 1697, 1697, 1697, 1697, 01026 01027 1697, 1697, 1457, 1697, 1697, 1697, 1697, 1697, 1697, 1691, 01028 1698, 1699, 1457, 1700, 1700, 1457, 1457, 1701, 1702, 1703, 01029 1704, 1705, 1706, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01030 1457, 1457, 1457, 1457, 1707, 1707, 1708, 1708, 1709, 1709, 01031 1457, 1457, 1710, 1711, 1457, 1712, 1457, 1457, 1457, 1457, 01032 1457, 1457, 1457, 1457, 1457, 1713, 1713, 1714, 1457, 1714, 01033 1715, 1457, 1716, 1717, 1718, 1718, 1719, 1720, 1457, 1721, 01034 1721, 1722, 1457, 1722, 1723, 1724, 1457, 1457, 1725, 1725, 01035 1726, 1457, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 01036 1727, 1727, 1721, 1728, 1729, 1729, 1730, 1731, 1732, 1733, 01037 01038 1457, 1457, 1734, 1457, 1457, 1457, 1735, 1735, 1736, 1737, 01039 1738, 1739, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01040 1457, 1457, 1457, 1740, 1740, 1741, 1741, 1742, 1742, 1457, 01041 1457, 1743, 1744, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01042 1457, 1457, 1457, 1745, 1457, 1745, 1746, 1747, 1748, 1749, 01043 1750, 1457, 1751, 1457, 1457, 1457, 1752, 1753, 1457, 1754, 01044 1457, 1457, 1755, 1756, 1757, 1757, 1757, 1757, 1757, 1757, 01045 1752, 1758, 1457, 1759, 1760, 1761, 1762, 1761, 1763, 1764, 01046 1765, 1764, 1766, 1764, 1457, 1767, 1457, 1768, 1769, 1457, 01047 1770, 1771, 1772, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01048 01049 1457, 1457, 1457, 1457, 1773, 1773, 1774, 1774, 1457, 1775, 01050 1457, 1457, 1776, 1777, 1457, 1457, 1457, 1457, 1457, 1457, 01051 1457, 1457, 1457, 1778, 1457, 1779, 1780, 1457, 1457, 1457, 01052 1781, 1782, 1783, 1784, 1457, 1785, 1786, 1787, 1787, 1781, 01053 1788, 1788, 1789, 1457, 1790, 1791, 1792, 1793, 1794, 1795, 01054 1795, 1796, 1457, 1797, 1798, 1457, 1457, 1457, 1457, 1457, 01055 1457, 1457, 1457, 1799, 1799, 1799, 1800, 1801, 1457, 1457, 01056 1802, 1803, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01057 1804, 1805, 1806, 1807, 1457, 1457, 1781, 1808, 1809, 1457, 01058 1457, 1457, 1810, 1811, 1812, 1813, 1812, 1814, 1815, 1816, 01059 01060 1817, 1818, 1818, 1003, 1003, 1003, 1457, 1803, 1457, 1457, 01061 1819, 1803, 1820, 1457, 1821, 1822, 1457, 1803, 1457, 1457, 01062 1803, 1803, 1803, 1457, 1823, 1824, 1457, 1457, 1457, 1457, 01063 1457, 1457, 1825, 1825, 1826, 1457, 1457, 1827, 1457, 1828, 01064 1829, 1457, 1457, 1457, 1457, 1457, 1830, 1457, 1831, 1832, 01065 1833, 1457, 1457, 1457, 1819, 1457, 1457, 1457, 1457, 1457, 01066 1834, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01067 1457, 1835, 1836, 1457, 1457, 1457, 1457, 1837, 1838, 1839, 01068 1840, 1841, 1841, 1457, 1457, 1457, 1457, 1457, 1457, 1828, 01069 1457, 1457, 1457, 1457, 1457, 1842, 1457, 1843, 1844, 1457, 01070 01071 1845, 1457, 1845, 1845, 1845, 1845, 1106, 1106, 1106, 1106, 01072 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 01073 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 01074 1106, 1106, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01075 1457, 1825, 1457, 1457, 1828, 1457, 1846, 1457, 1457, 1457, 01076 1457, 1831, 1832, 1847, 1848, 1847, 1847, 1847, 1457, 1847, 01077 1847, 1847, 1847, 1457, 1847, 1847, 1847, 1847, 1847, 1847, 01078 1847, 1847, 1849, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01079 1457, 1835, 1457, 1850, 1457, 1457, 1837, 1851, 1851, 1839, 01080 1840, 1083, 1083, 1457, 1457, 1842, 1457, 1457, 1457, 1106, 01081 01082 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 01083 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 01084 1106, 1106, 1106, 1106, 1457, 1457, 1457, 1457, 1457, 1457, 01085 1457, 1457, 1457, 1457, 1457, 1831, 1852, 1847, 1853, 1847, 01086 1848, 1847, 1847, 1847, 1853, 1847, 1847, 1847, 1847, 1847, 01087 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1854, 1847, 01088 1847, 1847, 1847, 1847, 1849, 1457, 1457, 1457, 1457, 1835, 01089 1457, 1457, 1457, 1837, 1851, 1190, 1191, 1083, 1083, 1457, 01090 1457, 1457, 1457, 1457, 1106, 1106, 1106, 1106, 1106, 1106, 01091 1457, 1106, 1106, 1106, 1106, 1106, 1106, 1457, 1457, 1457, 01092 01093 1457, 1457, 1457, 1831, 1853, 1457, 1457, 1847, 1854, 1457, 01094 1847, 1847, 1457, 1457, 1457, 1457, 1457, 1457, 1190, 1191, 01095 1083, 1083, 1457, 1457, 1457, 1457, 1457, 1106, 1106, 1106, 01096 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1457, 1457, 1457, 01097 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1847, 1847, 1457, 01098 1847, 1457, 1457, 1457, 1855, 1457, 1190, 1856, 1856, 1856, 01099 1857, 1856, 1856, 1856, 1856, 1856, 1083, 1083, 1083, 1858, 01100 1083, 1457, 1457, 1457, 1106, 1106, 1106, 1106, 1106, 1106, 01101 1457, 1457, 1457, 1457, 1457, 1847, 1457, 1457, 1457, 1457, 01102 1190, 1859, 1457, 1083, 1083, 1083, 1083, 1457, 1457, 1457, 01103 01104 1106, 1106, 1457, 1457, 1457, 1457, 1457, 1847, 1457, 1457, 01105 1457, 1859, 1457, 1083, 1083, 1457, 1457, 1457, 1457, 1457, 01106 1457, 1457, 1457, 1847, 1457, 1847, 1457, 1457, 1083, 1083, 01107 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1847, 1457, 01108 1457, 1083, 1083, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01109 1321, 1083, 1457, 1457, 1083, 1083, 0, 1457, 1457, 1457, 01110 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01111 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01112 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01113 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01114 01115 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01116 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01117 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01118 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01119 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01120 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01121 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01122 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01123 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01124 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01125 01126 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01127 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01128 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01129 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01130 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01131 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01132 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01133 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01134 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01135 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01136 01137 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01138 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01139 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01140 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01141 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01142 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01143 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01144 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01145 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01146 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01147 01148 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01149 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01150 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01151 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01152 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01153 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457 01154 } ; 01155 01156 static yyconst flex_int16_t yy_nxt[20999] = 01157 { 0, 01158 1457, 1457, 69, 246, 247, 246, 246, 70, 70, 70, 01159 70, 69, 246, 247, 246, 246, 70, 70, 70, 70, 01160 1457, 270, 381, 70, 1457, 70, 96, 70, 97, 96, 01161 308, 380, 70, 308, 70, 271, 70, 310, 320, 98, 01162 310, 320, 99, 100, 101, 248, 249, 248, 248, 279, 01163 70, 290, 359, 290, 290, 359, 458, 354, 250, 70, 01164 498, 251, 252, 253, 281, 288, 281, 359, 257, 281, 01165 257, 385, 289, 287, 385, 281, 458, 291, 281, 281, 01166 70, 258, 325, 258, 325, 325, 492, 459, 706, 70, 01167 71, 72, 73, 74, 72, 71, 75, 76, 77, 78, 01168 01169 79, 71, 80, 80, 71, 81, 80, 82, 83, 71, 01170 82, 84, 80, 85, 71, 70, 80, 86, 87, 87, 01171 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 01172 87, 87, 87, 87, 87, 87, 87, 87, 87, 80, 01173 88, 80, 71, 87, 87, 87, 87, 87, 87, 89, 01174 87, 90, 87, 87, 87, 87, 91, 92, 87, 87, 01175 87, 87, 87, 87, 87, 87, 87, 93, 71, 94, 01176 95, 69, 327, 458, 327, 327, 103, 103, 103, 103, 01177 459, 395, 69, 395, 395, 494, 104, 103, 103, 103, 01178 103, 281, 103, 148, 103, 329, 103, 104, 149, 150, 01179 01180 149, 149, 458, 103, 148, 103, 369, 103, 369, 149, 01181 150, 149, 149, 450, 149, 153, 149, 459, 151, 103, 01182 154, 155, 154, 154, 281, 149, 258, 149, 491, 151, 01183 103, 298, 281, 298, 298, 564, 154, 369, 154, 593, 01184 156, 151, 493, 411, 299, 411, 411, 300, 296, 103, 01185 282, 153, 151, 495, 598, 496, 154, 155, 154, 154, 01186 103, 106, 107, 156, 106, 565, 108, 109, 109, 109, 01187 109, 149, 154, 158, 154, 458, 156, 279, 159, 159, 01188 159, 159, 149, 110, 158, 109, 278, 109, 455, 159, 01189 159, 159, 159, 154, 159, 162, 159, 622, 160, 156, 01190 01191 163, 163, 163, 163, 527, 159, 527, 159, 474, 160, 01192 109, 336, 337, 336, 336, 562, 163, 458, 163, 308, 01193 164, 160, 308, 337, 337, 337, 337, 310, 258, 154, 01194 310, 162, 160, 338, 458, 527, 163, 163, 163, 163, 01195 109, 106, 107, 164, 106, 338, 108, 109, 109, 109, 01196 109, 159, 163, 166, 163, 1239, 164, 474, 167, 167, 01197 167, 167, 159, 110, 612, 109, 554, 109, 360, 360, 01198 360, 360, 320, 163, 167, 320, 167, 166, 168, 164, 01199 555, 458, 167, 167, 167, 167, 390, 170, 390, 390, 01200 109, 391, 171, 171, 171, 171, 385, 698, 167, 385, 01201 01202 167, 168, 168, 355, 355, 355, 355, 458, 171, 163, 01203 171, 599, 172, 303, 304, 303, 303, 1312, 356, 1457, 01204 109, 112, 113, 68, 112, 168, 114, 70, 70, 115, 01205 116, 167, 117, 117, 593, 172, 117, 458, 117, 264, 01206 594, 117, 117, 118, 595, 70, 117, 119, 355, 355, 01207 355, 355, 458, 459, 596, 167, 332, 333, 332, 332, 01208 458, 366, 367, 356, 367, 171, 459, 170, 458, 117, 01209 119, 117, 171, 171, 171, 171, 458, 770, 293, 247, 01210 293, 293, 334, 355, 355, 357, 355, 459, 171, 618, 01211 171, 294, 172, 367, 295, 296, 297, 120, 356, 120, 01212 01213 121, 112, 113, 68, 112, 334, 114, 70, 70, 115, 01214 116, 474, 117, 117, 458, 172, 117, 290, 117, 290, 01215 290, 117, 117, 118, 279, 70, 117, 119, 459, 362, 01216 362, 362, 362, 426, 593, 455, 333, 333, 333, 333, 01217 458, 1457, 367, 291, 367, 171, 699, 174, 363, 117, 01218 119, 117, 175, 175, 175, 175, 282, 458, 293, 247, 01219 293, 293, 334, 378, 376, 376, 376, 376, 175, 377, 01220 175, 294, 176, 367, 295, 296, 297, 120, 606, 120, 01221 121, 123, 124, 68, 123, 334, 125, 70, 70, 126, 01222 127, 593, 128, 128, 474, 176, 128, 325, 128, 325, 01223 01224 325, 128, 128, 70, 624, 70, 128, 129, 1457, 367, 01225 600, 367, 376, 376, 376, 376, 593, 377, 393, 394, 01226 393, 393, 282, 366, 367, 175, 367, 174, 628, 128, 01227 129, 128, 175, 175, 175, 175, 372, 458, 372, 372, 01228 367, 686, 372, 458, 372, 372, 605, 373, 175, 315, 01229 175, 785, 176, 373, 258, 367, 611, 68, 629, 68, 01230 130, 123, 124, 68, 123, 458, 125, 70, 70, 126, 01231 127, 623, 128, 128, 458, 176, 128, 513, 128, 513, 01232 513, 128, 128, 70, 380, 70, 128, 129, 399, 381, 01233 419, 374, 419, 419, 380, 380, 380, 374, 383, 246, 01234 01235 247, 246, 246, 250, 474, 175, 251, 252, 375, 128, 01236 129, 128, 279, 474, 375, 400, 426, 401, 402, 458, 01237 458, 279, 403, 498, 279, 404, 405, 426, 459, 406, 01238 428, 407, 429, 578, 408, 455, 409, 68, 697, 68, 01239 130, 131, 132, 133, 132, 132, 131, 131, 134, 134, 01240 134, 134, 131, 131, 131, 131, 131, 131, 131, 131, 01241 131, 131, 131, 131, 134, 131, 134, 131, 134, 135, 01242 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 01243 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 01244 131, 134, 131, 131, 135, 135, 135, 135, 135, 135, 01245 01246 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 01247 135, 135, 135, 135, 135, 135, 135, 135, 131, 131, 01248 131, 134, 131, 133, 131, 131, 458, 458, 137, 137, 01249 137, 137, 459, 458, 69, 418, 249, 418, 418, 70, 01250 70, 70, 70, 459, 137, 458, 137, 327, 137, 327, 01251 327, 390, 186, 390, 390, 70, 391, 70, 69, 70, 01252 369, 458, 369, 70, 70, 70, 70, 69, 68, 593, 01253 329, 137, 193, 193, 193, 193, 186, 474, 474, 70, 01254 701, 70, 70, 70, 422, 423, 422, 422, 193, 458, 01255 193, 369, 193, 420, 420, 420, 420, 688, 458, 421, 01256 01257 272, 137, 131, 133, 131, 131, 70, 458, 137, 137, 01258 137, 137, 70, 613, 564, 193, 458, 263, 607, 263, 01259 263, 458, 608, 458, 137, 702, 137, 689, 137, 264, 01260 474, 609, 69, 68, 458, 459, 70, 193, 193, 193, 01261 193, 303, 304, 303, 303, 193, 442, 442, 442, 442, 01262 704, 137, 707, 193, 224, 193, 458, 193, 674, 225, 01263 225, 225, 225, 458, 443, 301, 301, 301, 301, 458, 01264 445, 302, 700, 1457, 367, 225, 367, 225, 708, 225, 01265 193, 137, 139, 140, 139, 139, 709, 432, 141, 141, 01266 141, 141, 301, 301, 301, 301, 572, 268, 248, 249, 01267 01268 248, 248, 225, 458, 142, 367, 141, 459, 143, 788, 01269 193, 250, 224, 431, 251, 252, 253, 225, 225, 225, 01270 225, 459, 528, 369, 263, 369, 263, 263, 268, 438, 01271 1457, 143, 225, 225, 227, 225, 264, 225, 279, 228, 01272 228, 228, 228, 303, 304, 303, 303, 1457, 458, 455, 01273 298, 458, 298, 298, 369, 229, 644, 228, 459, 230, 01274 225, 141, 139, 140, 139, 139, 295, 296, 141, 141, 01275 141, 141, 355, 355, 355, 355, 454, 771, 248, 249, 01276 248, 248, 231, 458, 142, 868, 141, 356, 143, 258, 01277 225, 250, 227, 458, 251, 252, 253, 228, 228, 228, 01278 01279 228, 301, 301, 301, 301, 279, 327, 302, 327, 327, 01280 735, 143, 228, 229, 237, 228, 455, 230, 1457, 238, 01281 238, 238, 238, 327, 705, 327, 327, 279, 458, 329, 01282 360, 360, 360, 360, 474, 238, 668, 238, 455, 238, 01283 231, 141, 144, 145, 144, 144, 329, 426, 141, 141, 01284 141, 141, 279, 273, 273, 273, 273, 395, 426, 395, 01285 395, 428, 238, 429, 146, 1096, 141, 1014, 142, 273, 01286 228, 273, 237, 273, 789, 458, 757, 238, 238, 238, 01287 238, 360, 360, 360, 360, 293, 247, 293, 293, 258, 01288 458, 142, 238, 238, 459, 238, 273, 238, 294, 458, 01289 01290 1457, 295, 296, 297, 395, 275, 395, 395, 430, 505, 01291 505, 505, 505, 787, 276, 332, 333, 332, 332, 277, 01292 238, 141, 144, 145, 144, 144, 273, 506, 141, 141, 01293 141, 141, 359, 508, 474, 359, 298, 523, 298, 298, 01294 411, 334, 411, 411, 146, 458, 141, 359, 142, 294, 01295 238, 793, 295, 296, 245, 393, 394, 393, 393, 245, 01296 245, 458, 644, 417, 334, 245, 783, 298, 245, 298, 01297 298, 142, 263, 245, 500, 628, 500, 500, 245, 644, 01298 299, 264, 282, 300, 296, 1239, 411, 299, 411, 411, 01299 300, 296, 333, 333, 333, 333, 316, 316, 316, 316, 01300 01301 790, 141, 178, 179, 180, 178, 245, 181, 182, 182, 01302 182, 182, 316, 825, 316, 715, 316, 183, 334, 718, 01303 322, 322, 322, 322, 182, 458, 182, 513, 182, 513, 01304 513, 281, 245, 736, 245, 759, 322, 1311, 322, 316, 01305 322, 334, 336, 337, 336, 336, 355, 355, 357, 355, 01306 688, 182, 387, 387, 387, 387, 337, 337, 337, 337, 01307 458, 356, 318, 322, 338, 760, 458, 791, 387, 316, 01308 387, 865, 387, 362, 362, 362, 362, 372, 338, 372, 01309 372, 182, 178, 179, 180, 178, 324, 181, 182, 182, 01310 182, 182, 363, 322, 775, 387, 399, 183, 1457, 369, 01311 01312 400, 369, 401, 402, 182, 792, 182, 403, 182, 261, 01313 404, 405, 380, 458, 406, 840, 407, 381, 389, 408, 01314 458, 409, 380, 380, 380, 387, 383, 458, 386, 841, 01315 369, 182, 529, 376, 376, 376, 376, 786, 377, 458, 01316 380, 418, 249, 418, 418, 381, 866, 378, 784, 530, 01317 380, 380, 380, 614, 383, 420, 420, 420, 420, 615, 01318 616, 182, 68, 68, 69, 68, 184, 68, 68, 70, 01319 70, 70, 70, 68, 68, 68, 68, 68, 68, 68, 01320 68, 68, 68, 68, 68, 70, 68, 70, 68, 70, 01321 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 01322 01323 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 01324 185, 68, 70, 68, 68, 185, 185, 185, 185, 185, 01325 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 01326 185, 185, 185, 185, 185, 185, 185, 185, 185, 68, 01327 68, 68, 70, 68, 68, 69, 68, 68, 68, 187, 01328 70, 70, 70, 70, 68, 68, 68, 68, 188, 68, 01329 188, 189, 190, 188, 190, 68, 70, 68, 70, 68, 01330 70, 188, 188, 188, 188, 188, 188, 188, 188, 188, 01331 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 01332 188, 188, 68, 191, 68, 68, 188, 188, 188, 188, 01333 01334 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 01335 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 01336 68, 68, 68, 70, 68, 69, 68, 68, 794, 458, 01337 195, 70, 195, 70, 458, 644, 759, 419, 245, 419, 01338 419, 458, 458, 245, 245, 867, 70, 321, 195, 245, 01339 70, 938, 245, 251, 252, 458, 263, 245, 422, 423, 01340 422, 422, 245, 245, 372, 264, 372, 372, 245, 245, 01341 880, 474, 458, 70, 245, 373, 1278, 245, 245, 459, 01342 847, 474, 245, 372, 474, 372, 372, 245, 824, 263, 01343 245, 263, 266, 794, 373, 366, 527, 939, 527, 313, 01344 01345 68, 264, 68, 195, 68, 69, 68, 68, 458, 426, 01346 195, 70, 195, 70, 279, 245, 245, 458, 245, 374, 01347 426, 458, 644, 428, 644, 429, 70, 527, 195, 560, 01348 70, 560, 560, 458, 458, 459, 375, 617, 374, 458, 01349 474, 245, 250, 245, 474, 251, 252, 261, 459, 538, 01350 869, 578, 474, 70, 474, 375, 279, 442, 442, 442, 01351 442, 279, 578, 278, 1096, 580, 474, 581, 279, 964, 01352 880, 1034, 455, 1414, 278, 443, 1014, 592, 474, 455, 01353 68, 445, 68, 195, 196, 197, 198, 197, 197, 196, 01354 196, 199, 200, 200, 200, 196, 196, 196, 196, 196, 01355 01356 196, 196, 196, 196, 196, 201, 196, 200, 196, 200, 01357 196, 200, 202, 202, 202, 202, 202, 202, 202, 202, 01358 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 01359 202, 202, 202, 196, 200, 196, 196, 202, 202, 202, 01360 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 01361 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 01362 202, 196, 196, 196, 200, 204, 205, 68, 204, 1321, 01363 206, 70, 70, 207, 208, 880, 209, 209, 1457, 527, 01364 209, 527, 209, 426, 644, 209, 209, 210, 279, 70, 01365 209, 211, 873, 458, 426, 458, 458, 428, 644, 429, 01366 01367 442, 442, 442, 442, 458, 644, 372, 873, 372, 372, 01368 527, 459, 1456, 209, 211, 209, 578, 373, 443, 601, 01369 583, 279, 583, 583, 445, 602, 603, 578, 474, 1173, 01370 580, 1058, 581, 855, 566, 855, 855, 870, 644, 458, 01371 1239, 68, 964, 68, 212, 204, 205, 68, 204, 644, 01372 206, 70, 70, 207, 208, 905, 209, 209, 873, 1436, 01373 209, 374, 209, 965, 1239, 209, 209, 210, 458, 70, 01374 209, 211, 539, 873, 459, 584, 597, 582, 375, 906, 01375 474, 856, 459, 880, 1434, 532, 1263, 532, 532, 459, 01376 1321, 578, 585, 209, 211, 209, 279, 644, 578, 263, 01377 01378 1142, 263, 586, 279, 1427, 580, 263, 581, 263, 586, 01379 1264, 264, 580, 962, 581, 962, 962, 855, 264, 855, 01380 855, 68, 458, 68, 212, 68, 213, 69, 213, 213, 01381 68, 68, 214, 70, 70, 70, 68, 1239, 1173, 68, 01382 645, 68, 973, 1173, 973, 973, 1173, 68, 70, 68, 01383 70, 68, 70, 794, 474, 1058, 610, 646, 1058, 588, 01384 458, 474, 874, 604, 1454, 856, 459, 1239, 474, 500, 01385 459, 500, 500, 668, 68, 70, 68, 68, 279, 459, 01386 1239, 459, 294, 1263, 668, 295, 296, 670, 1279, 671, 01387 766, 766, 766, 766, 651, 767, 651, 651, 880, 1392, 01388 01389 768, 1239, 68, 68, 68, 70, 68, 213, 69, 213, 01390 213, 68, 68, 214, 70, 70, 70, 68, 794, 1260, 01391 68, 500, 68, 500, 500, 1014, 1386, 1096, 68, 70, 01392 68, 70, 68, 70, 294, 1239, 1453, 295, 296, 1014, 01393 1260, 505, 505, 505, 505, 505, 505, 505, 505, 652, 01394 372, 1239, 372, 372, 1239, 68, 70, 68, 68, 506, 01395 995, 373, 426, 506, 794, 508, 653, 279, 372, 508, 01396 372, 372, 991, 426, 991, 991, 673, 1319, 455, 373, 01397 1259, 1264, 1260, 68, 68, 68, 70, 216, 217, 216, 01398 216, 1173, 75, 218, 218, 219, 220, 1348, 80, 80, 01399 01400 1408, 1418, 80, 1058, 80, 374, 1096, 80, 80, 218, 01401 668, 218, 80, 218, 560, 279, 560, 560, 1014, 1133, 01402 1173, 668, 375, 374, 670, 880, 671, 250, 1415, 995, 01403 251, 252, 1058, 649, 1450, 80, 218, 80, 426, 372, 01404 375, 372, 372, 279, 1391, 962, 578, 962, 962, 426, 01405 373, 279, 428, 221, 429, 880, 1036, 578, 1036, 1036, 01406 580, 1442, 581, 94, 995, 94, 222, 216, 217, 216, 01407 216, 672, 75, 218, 218, 219, 220, 1357, 80, 80, 01408 1443, 1259, 80, 973, 80, 973, 973, 80, 80, 218, 01409 880, 218, 80, 218, 374, 679, 679, 679, 679, 876, 01410 01411 675, 1320, 650, 1449, 808, 808, 808, 808, 1058, 809, 01412 1173, 375, 1173, 443, 810, 80, 218, 80, 681, 445, 01413 578, 278, 1058, 1448, 1058, 279, 279, 1371, 263, 880, 01414 263, 586, 278, 221, 580, 592, 581, 455, 1451, 1044, 01415 264, 1044, 1044, 94, 880, 94, 222, 232, 232, 69, 01416 232, 232, 232, 232, 233, 233, 233, 233, 232, 232, 01417 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 01418 233, 232, 233, 232, 233, 234, 234, 234, 234, 234, 01419 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 01420 234, 234, 234, 234, 234, 234, 232, 233, 232, 232, 01421 01422 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 01423 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 01424 234, 234, 234, 234, 232, 232, 232, 233, 232, 232, 01425 69, 232, 232, 232, 232, 233, 233, 233, 233, 232, 01426 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 01427 232, 233, 232, 233, 232, 233, 235, 235, 235, 235, 01428 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 01429 235, 235, 235, 235, 235, 235, 235, 232, 233, 232, 01430 232, 235, 235, 235, 235, 235, 235, 235, 235, 235, 01431 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 01432 01433 235, 235, 235, 235, 235, 232, 232, 232, 233, 239, 01434 239, 240, 239, 239, 239, 239, 241, 241, 241, 241, 01435 239, 239, 239, 239, 239, 239, 242, 239, 239, 243, 01436 239, 239, 241, 239, 241, 239, 244, 243, 243, 243, 01437 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 01438 243, 243, 243, 243, 243, 243, 243, 243, 239, 244, 01439 239, 239, 243, 243, 243, 243, 243, 243, 243, 243, 01440 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 01441 243, 243, 243, 243, 243, 243, 239, 239, 239, 241, 01442 255, 1173, 255, 255, 1058, 245, 255, 255, 255, 255, 01443 01444 315, 255, 255, 1058, 880, 255, 1429, 255, 578, 315, 01445 255, 255, 255, 279, 255, 255, 255, 260, 583, 578, 01446 583, 583, 580, 1033, 581, 1033, 1033, 1446, 1455, 263, 01447 880, 263, 263, 260, 438, 644, 1444, 668, 255, 255, 01448 255, 264, 279, 372, 578, 372, 372, 1239, 668, 279, 01449 1173, 670, 263, 671, 263, 586, 668, 1096, 580, 690, 01450 581, 279, 1058, 1177, 264, 1173, 255, 668, 255, 245, 01451 670, 1441, 671, 584, 245, 245, 651, 1058, 651, 651, 01452 245, 694, 1437, 245, 262, 1096, 1260, 266, 267, 1457, 01453 585, 1457, 1457, 245, 258, 695, 264, 1014, 529, 719, 01454 01455 719, 719, 719, 372, 1173, 372, 372, 761, 442, 442, 01456 442, 442, 1096, 1239, 373, 530, 1058, 506, 1101, 268, 01457 1101, 245, 721, 508, 1014, 372, 850, 372, 372, 426, 01458 578, 652, 445, 1101, 279, 279, 373, 1457, 1436, 1435, 01459 426, 578, 1434, 428, 773, 429, 581, 245, 653, 245, 01460 245, 1071, 1439, 1071, 1071, 245, 245, 278, 374, 857, 01461 1433, 245, 279, 1431, 245, 262, 1430, 265, 280, 267, 01462 1058, 282, 739, 283, 245, 375, 763, 264, 740, 1355, 01463 374, 679, 679, 679, 679, 679, 679, 679, 679, 1457, 01464 361, 1457, 1457, 326, 1428, 326, 578, 375, 361, 443, 01465 01466 268, 279, 245, 443, 681, 445, 578, 578, 681, 445, 01467 773, 279, 581, 578, 880, 1427, 1423, 578, 279, 326, 01468 773, 1322, 455, 1135, 578, 1135, 1135, 580, 245, 581, 01469 245, 273, 273, 273, 273, 1422, 1136, 1457, 1136, 1136, 01470 719, 719, 719, 719, 435, 578, 435, 273, 1096, 273, 01471 279, 273, 435, 263, 871, 263, 586, 774, 506, 773, 01472 1014, 581, 278, 721, 508, 264, 909, 279, 909, 909, 01473 1096, 1421, 1420, 278, 273, 776, 592, 284, 455, 578, 01474 668, 1102, 1014, 275, 279, 279, 1419, 263, 1418, 263, 01475 586, 668, 276, 773, 845, 581, 671, 277, 1144, 264, 01476 01477 1144, 1144, 1173, 1411, 273, 245, 1033, 1058, 1033, 1033, 01478 245, 245, 278, 1410, 1058, 1175, 245, 279, 644, 245, 01479 262, 529, 265, 280, 267, 578, 282, 880, 283, 245, 01480 279, 1173, 264, 263, 1451, 263, 586, 1409, 530, 580, 01481 780, 581, 1176, 1058, 564, 264, 719, 719, 719, 719, 01482 928, 1058, 928, 928, 1407, 268, 1044, 245, 1044, 1044, 01483 372, 668, 372, 372, 506, 1406, 279, 285, 668, 721, 01484 508, 373, 668, 279, 565, 845, 286, 671, 372, 668, 01485 372, 372, 845, 245, 455, 245, 245, 781, 880, 373, 01486 1096, 245, 245, 668, 1405, 1452, 1096, 245, 279, 1014, 01487 01488 245, 245, 1014, 245, 668, 245, 245, 670, 1014, 671, 01489 245, 929, 426, 426, 256, 374, 930, 279, 279, 1096, 01490 1404, 256, 846, 426, 426, 1400, 673, 428, 455, 429, 01491 828, 1014, 375, 374, 766, 766, 766, 766, 245, 767, 01492 578, 1096, 1399, 1398, 768, 279, 1397, 1096, 829, 1259, 01493 375, 578, 880, 1014, 773, 848, 581, 798, 1457, 1014, 01494 583, 1260, 583, 583, 245, 1390, 245, 245, 301, 301, 01495 301, 301, 245, 245, 302, 1389, 1259, 849, 245, 578, 01496 1388, 245, 262, 1101, 279, 266, 267, 578, 1260, 1101, 01497 578, 245, 279, 773, 264, 581, 1101, 1101, 578, 1101, 01498 01499 578, 580, 1385, 581, 1039, 279, 1039, 1039, 263, 880, 01500 263, 586, 1101, 578, 773, 584, 581, 268, 279, 245, 01501 264, 263, 798, 263, 586, 1384, 1040, 773, 1259, 581, 01502 858, 1096, 585, 264, 860, 909, 1014, 909, 909, 1039, 01503 1260, 1039, 1039, 1014, 1100, 245, 373, 245, 312, 1383, 01504 312, 312, 1382, 309, 312, 312, 312, 312, 274, 312, 01505 312, 1040, 1381, 312, 863, 312, 274, 1374, 312, 312, 01506 312, 578, 312, 312, 312, 1071, 279, 1071, 1071, 263, 01507 1373, 263, 586, 1014, 1372, 580, 1074, 581, 1074, 1074, 01508 374, 264, 505, 505, 505, 505, 312, 312, 312, 808, 01509 01510 808, 808, 808, 928, 809, 928, 928, 375, 1096, 810, 01511 888, 372, 1356, 372, 372, 1355, 508, 1260, 864, 1259, 01512 1014, 1353, 373, 1457, 312, 1259, 312, 255, 1260, 255, 01513 255, 1260, 245, 255, 255, 255, 255, 1260, 255, 255, 01514 1352, 1075, 255, 1259, 255, 668, 317, 255, 255, 255, 01515 279, 255, 255, 255, 317, 1260, 668, 668, 1076, 845, 01516 256, 671, 279, 1101, 929, 1101, 374, 256, 668, 930, 01517 1173, 845, 910, 671, 1014, 255, 255, 255, 1101, 668, 01518 426, 1176, 1058, 375, 279, 279, 442, 442, 442, 442, 01519 668, 426, 1310, 670, 428, 671, 429, 1259, 442, 442, 01520 01521 442, 442, 1259, 255, 850, 255, 245, 1260, 924, 1260, 01522 445, 245, 245, 1306, 1260, 1261, 443, 245, 578, 323, 01523 245, 262, 445, 279, 266, 267, 926, 323, 1341, 578, 01524 245, 578, 773, 264, 581, 1457, 279, 1457, 1457, 578, 01525 927, 326, 578, 326, 279, 773, 1096, 455, 1259, 1178, 01526 578, 1178, 1178, 580, 578, 581, 268, 1457, 245, 279, 01527 1260, 578, 263, 1340, 263, 586, 279, 326, 773, 263, 01528 581, 263, 586, 1327, 264, 580, 457, 581, 1173, 457, 01529 932, 264, 1326, 1173, 245, 457, 245, 245, 1323, 457, 01530 1058, 457, 245, 245, 278, 1058, 457, 1259, 245, 279, 01531 01532 1198, 245, 262, 933, 265, 280, 267, 1318, 282, 1260, 01533 283, 245, 1317, 1316, 264, 1179, 936, 505, 505, 505, 01534 505, 372, 1259, 372, 372, 937, 505, 505, 505, 505, 01535 1316, 668, 373, 449, 1260, 888, 279, 268, 578, 245, 01536 449, 508, 668, 279, 506, 845, 1210, 455, 1259, 578, 01537 508, 1101, 773, 1103, 581, 1266, 1259, 1101, 578, 668, 01538 1260, 1262, 1103, 279, 279, 245, 1259, 245, 457, 578, 01539 668, 457, 580, 670, 581, 671, 374, 457, 1260, 1096, 01540 1310, 457, 1275, 457, 968, 988, 1259, 457, 457, 1307, 01541 1239, 1014, 458, 375, 264, 459, 460, 461, 462, 463, 01542 01543 457, 457, 464, 465, 457, 466, 467, 457, 457, 468, 01544 469, 457, 470, 471, 472, 473, 1306, 1239, 989, 1050, 01545 457, 474, 475, 476, 477, 478, 457, 457, 479, 480, 01546 481, 482, 457, 457, 483, 484, 457, 485, 486, 487, 01547 488, 457, 457, 457, 245, 966, 561, 966, 966, 245, 01548 245, 278, 1260, 561, 1259, 245, 279, 644, 245, 262, 01549 1303, 265, 280, 267, 668, 282, 1260, 283, 245, 279, 01550 1135, 264, 1135, 1135, 668, 668, 1301, 1259, 845, 279, 01551 671, 426, 1300, 433, 433, 668, 279, 1299, 670, 1260, 01552 671, 433, 426, 361, 268, 428, 245, 429, 1298, 578, 01553 01554 645, 361, 1197, 1136, 279, 1136, 1136, 263, 490, 263, 01555 586, 1259, 1281, 773, 1260, 581, 1259, 646, 372, 264, 01556 372, 372, 245, 1260, 245, 245, 982, 1308, 1260, 373, 01557 245, 245, 1144, 1259, 1144, 1144, 245, 279, 983, 245, 01558 245, 1259, 245, 984, 245, 1260, 993, 578, 498, 245, 01559 1259, 1280, 279, 1260, 668, 263, 1273, 263, 586, 279, 01560 1272, 580, 1260, 581, 1259, 668, 388, 264, 845, 1067, 01561 671, 1067, 1067, 374, 388, 828, 1260, 245, 578, 1267, 01562 559, 1266, 578, 279, 1068, 1259, 668, 279, 559, 578, 01563 375, 279, 773, 578, 581, 1058, 580, 668, 581, 1260, 01564 01565 845, 1049, 671, 245, 1259, 245, 312, 994, 312, 312, 01566 1239, 309, 312, 312, 312, 312, 1260, 312, 312, 1069, 01567 1235, 312, 1233, 312, 1233, 1233, 312, 312, 312, 578, 01568 312, 312, 312, 1067, 279, 1067, 1067, 263, 1234, 263, 01569 586, 1231, 1072, 773, 1073, 581, 1096, 969, 1068, 264, 01570 1152, 1275, 578, 1259, 312, 312, 312, 279, 1014, 1100, 01571 263, 264, 263, 586, 1096, 1260, 580, 798, 581, 798, 01572 798, 1180, 264, 1180, 1180, 1102, 1014, 1233, 800, 1233, 01573 1233, 274, 312, 1069, 312, 532, 1181, 532, 532, 274, 01574 1096, 317, 533, 1078, 533, 1230, 534, 535, 1229, 317, 01575 01576 1228, 798, 1457, 798, 798, 264, 1457, 533, 1457, 1457, 01577 1227, 533, 800, 798, 1079, 798, 798, 1096, 503, 1260, 01578 503, 1069, 880, 1101, 800, 1101, 503, 1226, 1457, 1023, 01579 578, 1101, 1103, 1082, 533, 279, 1225, 782, 1101, 880, 01580 536, 578, 1259, 800, 773, 1302, 581, 1302, 1302, 1457, 01581 1392, 1457, 1457, 1259, 1260, 1262, 880, 537, 1260, 1197, 01582 1096, 533, 1363, 533, 245, 1260, 1261, 1083, 880, 245, 01583 245, 1457, 1023, 880, 1195, 245, 323, 800, 245, 245, 01584 1194, 272, 572, 267, 323, 880, 1014, 245, 245, 800, 01585 1182, 934, 245, 245, 1268, 272, 1268, 1268, 245, 1096, 01586 01587 388, 245, 245, 1186, 272, 569, 245, 1457, 388, 1457, 01588 1457, 1023, 569, 559, 268, 794, 245, 668, 1096, 1185, 01589 569, 559, 279, 1058, 1457, 685, 1457, 1457, 668, 1457, 01590 1023, 670, 685, 671, 1074, 1096, 1074, 1074, 1178, 245, 01591 1178, 1178, 245, 1173, 245, 245, 1457, 1023, 1174, 1150, 01592 245, 245, 278, 433, 433, 1269, 245, 279, 1149, 245, 01593 262, 433, 265, 280, 267, 245, 282, 245, 283, 245, 01594 578, 1457, 264, 1457, 1457, 279, 569, 1148, 263, 1153, 01595 263, 586, 1096, 569, 773, 1268, 581, 1268, 1268, 1075, 01596 264, 569, 1147, 1457, 1023, 268, 583, 245, 583, 583, 01597 01598 1101, 1143, 1101, 620, 1179, 903, 1076, 1096, 1101, 1302, 01599 678, 1302, 1302, 1103, 1199, 1101, 1141, 1205, 678, 1101, 01600 1101, 1101, 1101, 245, 1392, 245, 245, 1101, 1101, 1204, 01601 1187, 245, 245, 278, 1101, 1101, 1363, 245, 279, 1140, 01602 245, 262, 1139, 265, 280, 267, 1269, 621, 1023, 283, 01603 245, 584, 1138, 264, 1101, 1137, 1101, 457, 1134, 1103, 01604 457, 1338, 1101, 1338, 1338, 510, 457, 510, 585, 1101, 01605 457, 457, 457, 510, 457, 1014, 268, 457, 245, 1199, 01606 457, 1199, 590, 590, 457, 1101, 457, 1101, 1096, 794, 01607 590, 457, 456, 1101, 274, 1199, 457, 1097, 1206, 457, 01608 01609 1101, 456, 274, 456, 245, 457, 245, 245, 456, 457, 01610 1077, 457, 245, 245, 1103, 1363, 457, 1392, 245, 279, 01611 1198, 245, 245, 1200, 245, 457, 245, 1201, 457, 1363, 01612 498, 245, 1070, 1101, 457, 1101, 1047, 1202, 457, 1339, 01613 457, 1101, 590, 590, 1354, 457, 1354, 1354, 1101, 1198, 01614 590, 1046, 1101, 1211, 1101, 1103, 1101, 1203, 1101, 245, 01615 1101, 1207, 410, 1103, 1101, 410, 1118, 1208, 1209, 1045, 01616 1103, 1101, 1199, 410, 1338, 1199, 1338, 1338, 1101, 1043, 01617 1101, 1101, 794, 1101, 317, 245, 1101, 245, 532, 1101, 01618 532, 532, 317, 1101, 1069, 533, 1101, 533, 323, 534, 01619 01620 535, 437, 1042, 1101, 437, 1101, 323, 1101, 1041, 1101, 01621 533, 1101, 437, 440, 533, 1101, 440, 1038, 1101, 1212, 01622 1037, 1101, 1101, 1101, 440, 1403, 1213, 1403, 1403, 1101, 01623 1214, 1032, 1031, 1118, 1030, 1216, 1101, 533, 410, 1215, 01624 1118, 410, 1101, 536, 1101, 388, 1101, 1118, 1101, 410, 01625 1101, 1029, 1339, 388, 1101, 1118, 756, 1101, 1285, 1392, 01626 537, 1101, 1363, 756, 533, 1028, 533, 532, 1027, 532, 01627 532, 1363, 1026, 1101, 533, 1101, 533, 1199, 534, 535, 01628 1118, 1101, 317, 1101, 1101, 1101, 1101, 323, 1101, 533, 01629 317, 1101, 1101, 533, 1101, 323, 1101, 1218, 1101, 1101, 01630 01631 1199, 1392, 1101, 1101, 1025, 1101, 1101, 1024, 1101, 1101, 01632 678, 1101, 678, 1363, 1101, 1118, 533, 1217, 1101, 388, 01633 678, 1101, 536, 992, 794, 987, 668, 388, 1220, 986, 01634 583, 279, 583, 583, 1221, 1222, 1118, 668, 1392, 537, 01635 845, 1173, 671, 533, 1219, 533, 532, 985, 532, 532, 01636 1363, 317, 1101, 533, 1101, 533, 981, 534, 535, 317, 01637 1101, 1101, 1287, 1101, 1101, 980, 794, 1101, 533, 1101, 01638 1101, 1324, 533, 1324, 1324, 1223, 1101, 1101, 1118, 542, 01639 323, 542, 1118, 979, 1224, 584, 1236, 542, 323, 456, 01640 1118, 1180, 1118, 1180, 1180, 533, 1096, 978, 456, 578, 01641 01642 456, 536, 585, 794, 279, 456, 1181, 1102, 1014, 688, 01643 578, 977, 647, 773, 1282, 581, 1282, 1282, 537, 1325, 01644 976, 435, 533, 435, 533, 532, 975, 532, 532, 435, 01645 974, 972, 533, 971, 533, 970, 534, 535, 578, 689, 01646 969, 1069, 1354, 279, 1354, 1354, 263, 533, 263, 586, 01647 963, 533, 773, 1403, 581, 1403, 1403, 278, 264, 961, 01648 960, 1270, 279, 959, 1350, 278, 1350, 1350, 278, 1283, 01649 279, 592, 958, 455, 533, 1101, 278, 1101, 957, 592, 01650 536, 455, 956, 1101, 955, 1286, 1284, 1101, 1103, 1101, 01651 1101, 648, 1069, 274, 954, 1101, 1432, 537, 1432, 1432, 01652 01653 1274, 533, 1101, 533, 245, 1101, 274, 1101, 1103, 245, 01654 245, 278, 1387, 1101, 274, 245, 279, 890, 245, 262, 01655 1101, 265, 280, 267, 1101, 621, 1101, 283, 245, 388, 01656 1288, 264, 1101, 1101, 1103, 1101, 1101, 388, 1101, 1101, 01657 890, 1101, 953, 1103, 1101, 1101, 940, 1101, 1101, 1289, 01658 503, 1101, 503, 1101, 268, 935, 245, 1103, 503, 1290, 01659 1101, 1101, 1101, 1101, 1101, 1291, 1101, 934, 1101, 1101, 01660 1101, 1101, 274, 1101, 1101, 1103, 1101, 1101, 931, 1101, 01661 274, 1101, 245, 854, 245, 711, 1101, 711, 711, 711, 01662 711, 711, 279, 1118, 852, 711, 711, 711, 711, 711, 01663 01664 711, 712, 711, 455, 711, 852, 711, 711, 1101, 1101, 01665 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 317, 925, 01666 1101, 1101, 668, 1101, 1101, 923, 317, 1101, 1101, 437, 01667 437, 1101, 437, 1101, 1101, 1101, 1101, 1101, 1294, 1101, 01668 437, 922, 1101, 1101, 1293, 1292, 1101, 323, 1118, 1101, 01669 1101, 510, 921, 510, 1101, 323, 1101, 1118, 1295, 510, 01670 711, 245, 1101, 1118, 920, 919, 245, 245, 278, 1101, 01671 918, 917, 245, 279, 916, 245, 262, 915, 265, 280, 01672 267, 1101, 621, 1101, 283, 245, 388, 914, 264, 1101, 01673 913, 1101, 1296, 1101, 388, 1101, 1101, 1101, 1416, 1101, 01674 01675 1416, 1416, 912, 1101, 274, 1118, 1101, 911, 904, 668, 01676 1101, 268, 274, 245, 279, 1297, 1173, 903, 1118, 1324, 01677 668, 1324, 1324, 845, 902, 671, 901, 1176, 1058, 759, 01678 1096, 714, 1313, 1118, 1313, 1313, 900, 899, 898, 245, 01679 897, 245, 532, 896, 532, 532, 1417, 895, 1101, 533, 01680 1101, 533, 317, 534, 535, 1282, 1101, 1282, 1282, 760, 01681 317, 323, 894, 1328, 533, 893, 892, 1325, 533, 323, 01682 1101, 1304, 1101, 1101, 1103, 1101, 890, 1425, 1101, 1425, 01683 1425, 1101, 388, 890, 1101, 1329, 1101, 1314, 1101, 887, 01684 388, 533, 1330, 1101, 1101, 1101, 1101, 536, 1101, 1101, 01685 01686 1101, 1332, 1101, 1145, 1315, 1331, 1101, 737, 1101, 1101, 01687 1283, 1145, 862, 1101, 537, 861, 859, 578, 533, 854, 01688 533, 532, 852, 532, 532, 1438, 278, 1284, 533, 852, 01689 533, 279, 534, 535, 571, 759, 843, 278, 1333, 842, 01690 592, 839, 455, 533, 838, 837, 1101, 533, 1101, 1101, 01691 1101, 1101, 1101, 1342, 1101, 1342, 1342, 1101, 1101, 836, 01692 1101, 1101, 1101, 677, 1101, 1101, 677, 834, 1101, 1342, 01693 533, 1342, 1342, 833, 677, 1101, 536, 1118, 832, 831, 01694 1173, 830, 1335, 823, 738, 1345, 1334, 1345, 1345, 1313, 01695 822, 1313, 1313, 537, 821, 820, 1336, 533, 819, 533, 01696 01697 711, 818, 711, 711, 711, 711, 711, 794, 1343, 817, 01698 711, 711, 711, 711, 711, 711, 711, 711, 1101, 711, 01699 1101, 711, 711, 816, 1343, 1344, 1101, 1101, 1440, 1101, 01700 1440, 1440, 1375, 1101, 1349, 1101, 1350, 1349, 815, 814, 01701 1346, 1344, 1101, 813, 1314, 1259, 812, 811, 1101, 1376, 01702 1101, 1337, 1445, 806, 1445, 1445, 1101, 1347, 1101, 805, 01703 1101, 1315, 796, 1101, 804, 782, 1101, 1447, 1377, 1447, 01704 1447, 778, 794, 1101, 777, 797, 798, 798, 688, 798, 01705 798, 799, 1351, 799, 799, 799, 799, 799, 800, 798, 01706 798, 799, 799, 799, 799, 799, 801, 802, 799, 798, 01707 01708 799, 769, 799, 799, 801, 801, 801, 801, 801, 801, 01709 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 01710 801, 801, 801, 801, 801, 798, 798, 798, 798, 801, 01711 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 01712 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 01713 801, 801, 801, 800, 798, 798, 799, 245, 1101, 1103, 01714 1101, 572, 245, 245, 278, 571, 1101, 762, 245, 279, 01715 426, 245, 262, 1101, 265, 280, 267, 1101, 621, 1101, 01716 283, 245, 755, 754, 264, 1101, 1101, 1101, 1101, 1101, 01717 753, 1101, 1101, 1101, 1101, 1101, 1101, 752, 1101, 1101, 01718 01719 751, 1101, 1101, 749, 1101, 1392, 1101, 268, 1378, 245, 01720 1363, 1101, 1342, 1379, 1342, 1342, 748, 1363, 1100, 1345, 01721 1118, 1345, 1345, 1118, 746, 1349, 1380, 1350, 1349, 745, 01722 1394, 567, 1394, 1394, 744, 245, 1239, 245, 245, 567, 01723 743, 798, 567, 245, 245, 278, 542, 567, 542, 245, 01724 279, 742, 245, 262, 542, 265, 280, 267, 741, 282, 01725 567, 283, 245, 734, 1101, 264, 1101, 1343, 567, 733, 01726 794, 567, 1101, 1351, 1346, 1401, 567, 732, 731, 1101, 01727 730, 1101, 729, 1101, 1344, 1395, 728, 727, 268, 1101, 01728 245, 1347, 726, 880, 1103, 1101, 1101, 1101, 1103, 1101, 01729 01730 725, 1101, 1396, 1101, 456, 724, 798, 1101, 723, 803, 01731 1101, 722, 628, 456, 1101, 456, 245, 717, 245, 532, 01732 456, 532, 532, 716, 281, 1101, 533, 1101, 533, 710, 01733 534, 535, 703, 1101, 278, 1402, 1101, 591, 1101, 696, 01734 1101, 533, 692, 691, 1101, 533, 684, 583, 683, 583, 01735 583, 1101, 682, 1394, 676, 1394, 1394, 568, 1096, 1282, 01736 564, 1282, 1282, 1118, 798, 1118, 667, 1416, 533, 1416, 01737 1416, 1101, 666, 1101, 536, 665, 664, 663, 1096, 1101, 01738 662, 1103, 1424, 661, 1425, 1424, 1101, 1367, 826, 1367, 01739 1367, 537, 660, 1259, 659, 533, 658, 533, 532, 657, 01740 01741 532, 532, 584, 656, 655, 533, 654, 533, 1395, 534, 01742 535, 543, 541, 644, 1283, 1417, 880, 643, 642, 585, 01743 533, 641, 640, 639, 533, 1396, 1101, 638, 1101, 798, 01744 1426, 1284, 764, 764, 1101, 764, 328, 1424, 328, 1425, 01745 1424, 1101, 412, 764, 412, 637, 636, 533, 1239, 635, 01746 634, 827, 633, 536, 328, 632, 511, 412, 328, 631, 01747 412, 1118, 328, 508, 764, 764, 504, 764, 412, 626, 01748 537, 625, 619, 593, 533, 764, 533, 711, 593, 874, 01749 711, 711, 711, 711, 875, 1426, 458, 711, 711, 711, 01750 874, 711, 591, 877, 711, 581, 711, 589, 711, 711, 01751 01752 328, 412, 328, 412, 452, 274, 577, 274, 576, 575, 01753 317, 323, 317, 323, 445, 388, 412, 388, 328, 412, 01754 573, 571, 328, 274, 436, 434, 328, 412, 317, 323, 01755 568, 274, 274, 388, 558, 414, 317, 323, 557, 556, 01756 553, 388, 552, 551, 550, 549, 548, 547, 546, 794, 01757 545, 544, 711, 711, 543, 874, 711, 711, 711, 711, 01758 875, 541, 525, 711, 711, 711, 874, 711, 524, 877, 01759 711, 581, 711, 522, 711, 711, 521, 520, 519, 518, 01760 517, 516, 515, 339, 514, 335, 512, 511, 509, 504, 01761 502, 501, 499, 489, 452, 448, 447, 446, 441, 264, 01762 01763 436, 434, 425, 424, 416, 414, 414, 398, 396, 270, 01764 379, 353, 351, 349, 347, 345, 878, 343, 341, 259, 01765 339, 335, 314, 270, 307, 794, 305, 269, 711, 711, 01766 264, 711, 711, 711, 711, 711, 794, 259, 1457, 711, 01767 711, 711, 711, 711, 711, 711, 711, 1457, 711, 1457, 01768 711, 711, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01769 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01770 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01771 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01772 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01773 01774 1457, 794, 1457, 1457, 711, 798, 798, 1457, 798, 798, 01775 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 798, 798, 01776 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 1457, 01777 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01778 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01779 1457, 1457, 1457, 1457, 798, 798, 798, 798, 1457, 1457, 01780 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01781 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01782 1457, 1457, 798, 798, 798, 798, 798, 1457, 798, 798, 01783 1457, 1457, 1457, 1457, 1457, 1457, 1457, 800, 798, 798, 01784 01785 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 1457, 01786 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01787 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01788 1457, 1457, 1457, 1457, 798, 798, 798, 798, 1457, 1457, 01789 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01790 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01791 1457, 1457, 800, 798, 798, 798, 798, 1457, 798, 798, 01792 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 882, 798, 01793 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 1457, 01794 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01795 01796 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01797 1457, 1457, 1457, 1457, 798, 798, 798, 798, 1457, 1457, 01798 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01799 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01800 1457, 1457, 798, 798, 882, 798, 798, 1457, 798, 798, 01801 799, 1457, 799, 799, 799, 799, 799, 800, 798, 798, 01802 799, 799, 799, 799, 799, 801, 802, 799, 798, 799, 01803 1457, 799, 799, 801, 801, 801, 801, 801, 801, 801, 01804 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 01805 801, 801, 801, 801, 798, 798, 798, 798, 801, 801, 01806 01807 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 01808 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 01809 801, 801, 800, 798, 798, 799, 798, 798, 1457, 798, 01810 798, 799, 1457, 799, 799, 799, 799, 799, 883, 798, 01811 798, 799, 799, 799, 799, 799, 799, 799, 799, 884, 01812 799, 1457, 799, 799, 885, 885, 885, 885, 885, 885, 01813 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 01814 885, 885, 885, 885, 885, 798, 798, 798, 798, 885, 01815 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 01816 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 01817 01818 885, 885, 885, 800, 798, 798, 799, 245, 1457, 1457, 01819 1457, 1457, 245, 245, 278, 1457, 1457, 1457, 245, 279, 01820 1457, 245, 262, 1457, 265, 280, 267, 1457, 282, 1457, 01821 283, 245, 1457, 1457, 264, 1457, 1457, 1457, 1457, 1457, 01822 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01823 1457, 1457, 1457, 1457, 1457, 1457, 1457, 268, 1457, 245, 01824 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01825 1457, 1457, 1457, 1457, 886, 1457, 1457, 1457, 1457, 1457, 01826 1457, 1457, 1457, 1457, 1457, 245, 1457, 245, 532, 1457, 01827 532, 532, 1457, 1457, 1457, 533, 1457, 533, 1457, 534, 01828 01829 535, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01830 533, 1457, 1457, 1457, 533, 1457, 1457, 1457, 1457, 1457, 01831 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01832 1457, 1457, 1457, 1457, 1457, 1457, 1457, 533, 1457, 1457, 01833 1457, 1457, 1457, 536, 1457, 1457, 1457, 1457, 1457, 1457, 01834 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 907, 1457, 01835 537, 1457, 1457, 1457, 533, 1457, 533, 532, 1457, 532, 01836 532, 1457, 1457, 1457, 533, 1457, 533, 1457, 534, 535, 01837 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 533, 01838 1457, 1457, 1457, 533, 1457, 1457, 1457, 1457, 1457, 1457, 01839 01840 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01841 1457, 1457, 1457, 1457, 1457, 1457, 533, 1457, 1457, 1457, 01842 1457, 1457, 536, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01843 1457, 1457, 1457, 1457, 1457, 1457, 1457, 908, 1457, 537, 01844 1457, 1457, 1457, 533, 1457, 533, 711, 1457, 711, 711, 01845 711, 711, 711, 794, 1457, 1457, 711, 711, 711, 711, 01846 711, 711, 711, 711, 1457, 711, 1457, 711, 711, 1457, 01847 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01848 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01849 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01850 01851 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 942, 1457, 01852 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 794, 1457, 01853 1457, 797, 451, 1457, 1457, 451, 872, 1457, 872, 872, 01854 872, 1457, 872, 1457, 944, 451, 872, 1457, 872, 872, 01855 872, 1457, 1457, 872, 451, 872, 451, 872, 872, 1457, 01856 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01857 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01858 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01859 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01860 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01861 01862 873, 872, 711, 1457, 874, 711, 711, 711, 711, 875, 01863 1457, 1457, 711, 711, 711, 874, 711, 1457, 877, 711, 01864 581, 711, 1457, 711, 711, 1457, 1457, 1457, 1457, 1457, 01865 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01866 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01867 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01868 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01869 1457, 1457, 1457, 1457, 794, 1457, 1457, 711, 711, 1457, 01870 711, 711, 711, 711, 711, 875, 1457, 1457, 711, 711, 01871 711, 711, 711, 711, 874, 711, 455, 711, 1457, 711, 01872 01873 711, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01874 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01875 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01876 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01877 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01878 794, 1457, 1457, 711, 711, 1457, 874, 711, 711, 711, 01879 711, 875, 1457, 1457, 711, 711, 711, 874, 711, 1457, 01880 877, 711, 581, 711, 1457, 711, 711, 1457, 1457, 1457, 01881 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01882 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01883 01884 1457, 1457, 1457, 1457, 1457, 1457, 1457, 946, 1457, 1457, 01885 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01886 1457, 1457, 1457, 1457, 1457, 1457, 794, 1457, 1457, 711, 01887 711, 1457, 711, 711, 711, 711, 711, 875, 1457, 1457, 01888 711, 711, 711, 711, 711, 1457, 711, 711, 498, 711, 01889 1457, 711, 711, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01890 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01891 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01892 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01893 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01894 01895 1457, 1457, 794, 1457, 1457, 711, 798, 798, 1457, 798, 01896 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 800, 798, 01897 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 01898 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01899 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01900 1457, 1457, 1457, 1457, 1457, 798, 798, 798, 798, 1457, 01901 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01902 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01903 1457, 1457, 1457, 800, 798, 798, 798, 798, 1457, 798, 01904 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 800, 882, 01905 01906 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 01907 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01908 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01909 1457, 1457, 1457, 1457, 1457, 798, 798, 798, 798, 1457, 01910 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01911 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01912 1457, 1457, 1457, 800, 798, 882, 798, 798, 1457, 798, 01913 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 798, 01914 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 01915 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01916 01917 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01918 1457, 1457, 1457, 1457, 1457, 798, 798, 798, 798, 1457, 01919 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01920 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01921 1457, 1457, 1457, 798, 798, 798, 798, 948, 1457, 798, 01922 948, 881, 1457, 881, 881, 881, 1457, 881, 798, 950, 01923 948, 881, 1457, 881, 881, 881, 1457, 1457, 881, 948, 01924 881, 451, 881, 881, 1457, 1457, 1457, 1457, 1457, 1457, 01925 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01926 1457, 1457, 1457, 1457, 1457, 798, 798, 798, 798, 1457, 01927 01928 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01929 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01930 1457, 1457, 1457, 798, 798, 882, 881, 798, 798, 1457, 01931 798, 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 01932 798, 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01933 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01934 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01935 1457, 1457, 1457, 1457, 1457, 1457, 798, 798, 798, 798, 01936 1457, 1457, 951, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01937 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01938 01939 1457, 1457, 1457, 1457, 798, 798, 798, 798, 798, 1457, 01940 798, 798, 799, 1457, 799, 799, 799, 799, 799, 800, 01941 798, 798, 799, 799, 799, 799, 799, 801, 802, 799, 01942 798, 799, 1457, 799, 799, 801, 801, 801, 801, 801, 01943 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 01944 801, 801, 801, 801, 801, 801, 798, 798, 798, 798, 01945 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 01946 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 01947 801, 801, 801, 801, 800, 798, 798, 799, 245, 1457, 01948 1457, 1457, 1457, 245, 245, 278, 1457, 1457, 1457, 245, 01949 01950 279, 1457, 245, 262, 1457, 265, 280, 267, 1457, 282, 01951 1457, 283, 245, 1457, 1457, 264, 1457, 1457, 1457, 1457, 01952 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01953 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 268, 1457, 01954 245, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01955 1457, 1457, 1457, 1457, 1457, 1457, 1457, 952, 1457, 1457, 01956 1457, 1457, 1457, 1457, 1457, 1457, 245, 1457, 245, 966, 01957 1457, 966, 966, 1457, 1457, 1457, 533, 1457, 533, 1457, 01958 534, 535, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01959 1457, 533, 1457, 1457, 1457, 533, 1457, 1457, 1457, 1457, 01960 01961 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01962 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 533, 1457, 01963 1457, 1457, 1457, 1457, 536, 1457, 1457, 1457, 1457, 1457, 01964 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01965 1457, 537, 1457, 1457, 1457, 533, 1457, 533, 532, 1457, 01966 532, 532, 1457, 1457, 1457, 533, 1457, 533, 1457, 534, 01967 535, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01968 533, 1457, 1457, 1457, 533, 1457, 1457, 1457, 1457, 1457, 01969 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01970 1457, 1457, 1457, 1457, 1457, 1457, 1457, 533, 1457, 1457, 01971 01972 1457, 1457, 1457, 536, 1457, 1457, 1457, 1457, 1457, 967, 01973 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01974 537, 1457, 1457, 1457, 533, 1457, 533, 711, 1457, 874, 01975 711, 711, 711, 711, 875, 1457, 1457, 711, 711, 711, 01976 874, 711, 1457, 996, 711, 581, 711, 1457, 711, 711, 01977 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01978 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01979 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01980 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01981 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 794, 01982 01983 1457, 1457, 711, 711, 1457, 874, 711, 711, 711, 711, 01984 875, 1457, 1457, 711, 711, 711, 874, 711, 1457, 996, 01985 711, 581, 711, 1457, 711, 711, 1457, 1457, 1457, 1457, 01986 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01987 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01988 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01989 1457, 1457, 1457, 1457, 1457, 1457, 997, 1457, 1457, 1457, 01990 1457, 1457, 1457, 1457, 1457, 794, 1457, 1457, 711, 451, 01991 1457, 1457, 451, 872, 1457, 872, 872, 872, 1457, 872, 01992 1457, 944, 451, 872, 1457, 872, 872, 872, 1457, 1457, 01993 01994 872, 451, 872, 451, 872, 872, 1457, 1457, 1457, 1457, 01995 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01996 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01997 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01998 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 01999 1457, 1457, 1457, 1457, 1457, 1457, 1457, 873, 872, 711, 02000 1457, 711, 711, 711, 711, 711, 794, 1457, 1457, 711, 02001 711, 711, 711, 711, 1457, 999, 711, 1457, 711, 1457, 02002 711, 711, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02003 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02004 02005 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02006 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02007 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02008 1457, 794, 1457, 1457, 711, 711, 1457, 874, 711, 711, 02009 711, 711, 875, 1457, 1457, 711, 711, 711, 874, 711, 02010 1457, 877, 711, 581, 711, 1457, 711, 711, 1457, 1457, 02011 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02012 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02013 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02014 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1000, 02015 02016 1457, 1457, 1457, 1457, 1457, 1457, 1457, 794, 1457, 1457, 02017 711, 711, 1457, 711, 711, 711, 711, 711, 875, 1457, 02018 1457, 711, 711, 711, 711, 711, 1457, 711, 711, 498, 02019 711, 1457, 711, 711, 1457, 1457, 1457, 1457, 1457, 1457, 02020 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02021 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02022 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02023 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02024 1457, 1457, 1457, 794, 1457, 1457, 711, 798, 948, 1457, 02025 798, 948, 880, 1457, 880, 880, 880, 1457, 880, 798, 02026 02027 1002, 948, 880, 1457, 880, 880, 880, 1457, 1457, 880, 02028 948, 880, 451, 880, 880, 1457, 1457, 1457, 1457, 1457, 02029 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02030 1457, 1457, 1457, 1457, 1457, 1457, 798, 798, 798, 798, 02031 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02032 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02033 1457, 1457, 1457, 1457, 798, 798, 798, 880, 798, 948, 02034 1457, 798, 948, 881, 1457, 881, 881, 881, 1457, 881, 02035 800, 950, 948, 881, 1457, 881, 881, 881, 1457, 1457, 02036 881, 948, 881, 451, 881, 881, 1457, 1457, 1457, 1457, 02037 02038 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02039 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 798, 798, 02040 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02041 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02042 1457, 1457, 1457, 1457, 1457, 800, 798, 882, 881, 798, 02043 1003, 1457, 1003, 1003, 1457, 1457, 1457, 1457, 1457, 1457, 02044 1457, 798, 798, 798, 1457, 1457, 1457, 1457, 1457, 1457, 02045 1457, 1457, 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02046 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02047 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 798, 02048 02049 798, 798, 1457, 1457, 1457, 1004, 1457, 1457, 1457, 1457, 02050 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02051 1457, 1457, 1005, 1457, 1457, 1457, 798, 798, 798, 798, 02052 798, 1457, 798, 798, 1457, 1457, 1457, 1457, 1457, 1457, 02053 1457, 800, 798, 798, 1457, 1457, 1457, 1457, 1457, 1457, 02054 1457, 1457, 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02055 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02056 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 798, 02057 798, 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02058 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1006, 1457, 02059 02060 1457, 1457, 1457, 1457, 1457, 1457, 800, 798, 798, 245, 02061 1007, 1457, 1007, 1007, 1008, 245, 278, 1457, 1009, 1010, 02062 245, 1011, 1457, 1012, 1013, 1014, 1015, 280, 1016, 1457, 02063 282, 1457, 1017, 1018, 1019, 1457, 264, 1457, 1457, 1457, 02064 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02065 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1020, 268, 02066 1457, 1021, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02067 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02068 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1022, 1457, 1023, 02069 532, 1457, 532, 532, 1457, 1457, 1457, 533, 1457, 533, 02070 02071 1457, 534, 535, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02072 1457, 1457, 533, 1457, 1457, 1457, 533, 1457, 1457, 1457, 02073 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02074 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 533, 02075 1457, 1457, 1457, 1457, 1457, 536, 1457, 1457, 1457, 1457, 02076 1457, 1457, 1457, 1035, 1457, 1457, 1457, 1457, 1457, 1457, 02077 1457, 1457, 537, 1457, 1457, 1457, 533, 1457, 533, 1051, 02078 1457, 1051, 1051, 1052, 1457, 426, 1457, 1053, 1054, 1457, 02079 1055, 1457, 1056, 1057, 1058, 1059, 426, 1060, 1457, 428, 02080 1457, 1061, 1062, 1063, 1457, 1457, 1457, 1457, 1457, 1457, 02081 02082 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02083 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1064, 1457, 1457, 02084 1065, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02085 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02086 1457, 1457, 1457, 1457, 1457, 1457, 1066, 1457, 1058, 711, 02087 1457, 874, 711, 711, 711, 711, 875, 1457, 1457, 711, 02088 711, 711, 874, 711, 1457, 996, 711, 581, 711, 1457, 02089 711, 711, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02090 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02091 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02092 02093 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02094 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02095 1457, 794, 1457, 1457, 711, 711, 1457, 874, 711, 711, 02096 711, 711, 875, 1457, 1457, 711, 711, 711, 874, 711, 02097 1457, 996, 711, 581, 711, 1457, 711, 711, 1457, 1457, 02098 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02099 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02100 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1080, 1457, 02101 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02102 1457, 1457, 1457, 1457, 1457, 1457, 1457, 794, 1457, 1457, 02103 02104 711, 711, 1457, 711, 711, 711, 711, 711, 794, 1457, 02105 1457, 711, 711, 711, 711, 711, 1457, 999, 711, 1457, 02106 711, 1457, 711, 711, 1457, 1457, 1457, 1457, 1457, 1457, 02107 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02108 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02109 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02110 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02111 1457, 1457, 1457, 794, 1457, 1457, 711, 711, 1457, 711, 02112 711, 711, 711, 711, 875, 1457, 1457, 711, 711, 711, 02113 711, 711, 711, 711, 711, 455, 711, 1457, 711, 711, 02114 02115 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02116 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02117 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02118 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02119 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 794, 02120 1457, 1457, 711, 711, 1457, 874, 711, 711, 711, 711, 02121 875, 1457, 1457, 711, 711, 711, 874, 711, 1457, 877, 02122 711, 581, 711, 1457, 711, 711, 1457, 1457, 1457, 1457, 02123 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02124 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02125 02126 1457, 1457, 1081, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02127 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02128 1457, 1457, 1457, 1457, 1457, 794, 1457, 1457, 711, 798, 02129 948, 1457, 798, 948, 880, 1457, 880, 880, 880, 1457, 02130 880, 800, 1002, 948, 880, 1457, 880, 880, 880, 1457, 02131 1457, 880, 948, 880, 451, 880, 880, 1457, 1457, 1457, 02132 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02133 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 798, 02134 798, 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02135 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02136 02137 1457, 1457, 1457, 1457, 1457, 1457, 800, 798, 798, 880, 02138 798, 1003, 1457, 1003, 1003, 1457, 1457, 1457, 1457, 1457, 02139 1457, 1457, 798, 798, 798, 1457, 1457, 1457, 1457, 1457, 02140 1457, 1457, 1457, 798, 1457, 1457, 1457, 1457, 1457, 1457, 02141 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02142 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 02143 798, 798, 798, 1457, 1457, 1457, 1004, 1457, 1457, 1457, 02144 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02145 1457, 1457, 1457, 1005, 1457, 1457, 1457, 798, 798, 798, 02146 798, 1003, 1457, 1003, 1003, 1457, 1457, 1457, 1457, 1457, 02147 02148 1457, 1457, 798, 798, 798, 1457, 1457, 1457, 1457, 1457, 02149 1457, 1457, 1457, 798, 1457, 1457, 1457, 1457, 1457, 1457, 02150 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02151 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 02152 798, 798, 798, 1457, 1457, 1457, 1004, 1457, 1457, 1457, 02153 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02154 1457, 1457, 1457, 1005, 1457, 1457, 1457, 798, 798, 798, 02155 1007, 1457, 1007, 1007, 1084, 1457, 1457, 1457, 1009, 1010, 02156 1457, 1085, 1457, 1086, 1087, 1014, 1088, 1457, 1089, 1457, 02157 1457, 1457, 1090, 1091, 1019, 1457, 1457, 1457, 1457, 1457, 02158 02159 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02160 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1020, 1457, 02161 1457, 1092, 1457, 1457, 1457, 1457, 1093, 1457, 1457, 1457, 02162 1457, 1457, 1457, 1457, 1457, 1094, 1457, 1457, 1457, 1457, 02163 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1095, 1457, 1014, 02164 245, 1457, 1457, 1457, 1457, 245, 245, 1457, 1457, 1457, 02165 1457, 245, 1096, 1457, 245, 1098, 1457, 1457, 263, 245, 02166 1457, 1457, 1457, 1457, 1023, 1457, 1457, 264, 1457, 1457, 02167 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02168 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02169 02170 1457, 1457, 245, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02171 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02172 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 245, 1457, 02173 245, 245, 1457, 1457, 1457, 1457, 245, 245, 1457, 1457, 02174 1457, 1457, 245, 1096, 1457, 245, 262, 1457, 1099, 266, 02175 267, 1457, 1457, 1457, 1457, 1023, 1100, 1457, 264, 1457, 02176 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02177 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02178 1457, 268, 1457, 245, 1457, 1457, 1457, 1457, 1457, 1457, 02179 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02180 02181 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 245, 02182 1457, 245, 457, 1457, 1457, 457, 1457, 1457, 1457, 1457, 02183 1457, 457, 1457, 1096, 1457, 457, 1457, 457, 1457, 1457, 02184 1457, 1101, 457, 1457, 1102, 1014, 458, 1457, 1457, 1103, 02185 1104, 1105, 1106, 1107, 1101, 1101, 1108, 1109, 1101, 1110, 02186 1111, 1101, 1101, 1112, 1113, 1101, 1114, 1115, 1116, 1117, 02187 1457, 1457, 1457, 1457, 1101, 1118, 1119, 1120, 1121, 1122, 02188 1101, 1101, 1123, 1124, 1125, 1126, 1101, 1101, 1127, 1128, 02189 1101, 1129, 1130, 1131, 1132, 1101, 1101, 1101, 532, 1457, 02190 532, 532, 1457, 1457, 1457, 533, 1457, 533, 1457, 534, 02191 02192 535, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02193 533, 1457, 1457, 1457, 533, 1457, 1457, 1457, 1457, 1457, 02194 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02195 1457, 1457, 1457, 1457, 1457, 1457, 1457, 533, 1457, 1457, 02196 1457, 1457, 1457, 536, 1457, 907, 1457, 1457, 1457, 1457, 02197 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02198 537, 1457, 1457, 1457, 533, 1457, 533, 1155, 1457, 1051, 02199 1155, 1156, 1457, 1457, 1457, 1157, 1158, 1457, 1159, 1457, 02200 1160, 1161, 1058, 1162, 1457, 1163, 1457, 1457, 1457, 1164, 02201 1165, 1166, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02202 02203 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02204 1457, 1457, 1457, 1457, 1457, 1167, 1457, 1457, 1168, 1457, 02205 1457, 1457, 1457, 1169, 1457, 1457, 1457, 1457, 1457, 1457, 02206 1457, 1457, 1170, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02207 1457, 1457, 1457, 1457, 1171, 1457, 1172, 1183, 1457, 1183, 02208 1183, 1084, 1457, 578, 1457, 1009, 1010, 1457, 1011, 1457, 02209 1086, 1087, 1014, 1088, 578, 1089, 1457, 580, 1457, 1184, 02210 1091, 1019, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02211 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02212 1457, 1457, 1457, 1457, 1457, 1020, 1457, 1457, 1092, 1457, 02213 02214 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02215 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02216 1457, 1457, 1457, 1457, 1095, 1457, 1014, 1183, 1457, 1183, 02217 1183, 1084, 1457, 578, 1457, 1009, 1010, 1457, 1011, 1457, 02218 1086, 1188, 1014, 1189, 586, 1089, 1457, 580, 1457, 1184, 02219 1091, 1019, 1457, 264, 1457, 1457, 1457, 1457, 1457, 1457, 02220 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02221 1457, 1457, 1457, 1457, 1457, 1020, 1457, 1457, 1092, 1457, 02222 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02223 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02224 02225 1457, 1457, 1457, 1457, 1095, 1457, 1014, 711, 1457, 874, 02226 711, 711, 711, 711, 875, 1457, 1457, 711, 711, 711, 02227 874, 711, 1457, 996, 711, 581, 711, 1457, 711, 711, 02228 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02229 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02230 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02231 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02232 1457, 1190, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 794, 02233 1457, 1457, 711, 711, 1457, 874, 711, 711, 711, 711, 02234 875, 1457, 1457, 711, 711, 711, 874, 711, 1457, 877, 02235 02236 711, 581, 711, 1457, 711, 711, 1457, 1457, 1457, 1457, 02237 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02238 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02239 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02240 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1191, 02241 1457, 1457, 1457, 1457, 1457, 794, 1457, 1457, 711, 798, 02242 798, 1457, 798, 798, 1457, 1457, 1457, 1457, 1457, 1457, 02243 1457, 800, 798, 798, 1457, 1457, 1457, 1457, 1457, 1457, 02244 1457, 1457, 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02245 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02246 02247 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 798, 02248 798, 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02249 1457, 1457, 1457, 1457, 1457, 1192, 1457, 1457, 1457, 1457, 02250 1457, 1457, 1457, 1457, 1457, 1457, 800, 798, 798, 798, 02251 798, 1457, 798, 798, 1457, 1457, 1457, 1457, 1457, 1457, 02252 1457, 800, 798, 798, 1457, 1457, 1457, 1457, 1457, 1457, 02253 1457, 1457, 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02254 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02255 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 798, 02256 798, 798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02257 02258 1457, 1457, 1457, 1193, 1457, 1457, 1457, 1457, 1457, 1457, 02259 1457, 1457, 1457, 1457, 1457, 1457, 800, 798, 798, 245, 02260 1457, 1457, 1457, 1457, 245, 245, 1457, 1457, 1457, 1457, 02261 245, 1096, 1457, 245, 1457, 1457, 1457, 263, 245, 1457, 02262 1457, 1457, 1457, 245, 1457, 1457, 264, 1457, 1457, 1457, 02263 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02264 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02265 1457, 245, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02266 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02267 1457, 1457, 1457, 1457, 1457, 1457, 1457, 245, 1457, 245, 02268 02269 245, 1457, 1457, 1457, 1457, 245, 245, 1457, 1457, 1457, 02270 1457, 245, 1096, 1457, 245, 262, 1457, 1457, 266, 267, 02271 1457, 1457, 1457, 1457, 245, 1457, 1457, 264, 1457, 1457, 02272 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02273 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02274 268, 1457, 245, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02275 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02276 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 245, 1457, 02277 245, 1051, 1457, 1051, 1051, 1052, 1457, 668, 1457, 1053, 02278 1054, 1457, 1055, 1457, 1056, 1057, 1058, 1059, 668, 1060, 02279 02280 1457, 670, 1457, 1237, 1062, 1063, 1457, 1457, 1457, 1457, 02281 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02282 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1064, 02283 1457, 1457, 1065, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02284 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02285 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1066, 1457, 02286 1058, 1241, 1457, 1051, 1241, 1242, 1457, 1457, 1457, 1243, 02287 1244, 1457, 1245, 1457, 1246, 1247, 1058, 1248, 1457, 1249, 02288 1457, 1457, 1457, 1250, 1251, 1252, 1457, 1457, 1457, 1457, 02289 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02290 02291 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1253, 02292 1457, 1457, 1254, 1457, 1457, 1457, 1457, 1255, 1457, 1457, 02293 1457, 1457, 1457, 1457, 1457, 1457, 1256, 1457, 1457, 1457, 02294 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1257, 1457, 02295 1258, 1183, 1457, 1183, 1183, 1084, 1457, 1457, 1457, 1009, 02296 1010, 1457, 1085, 1457, 1086, 1087, 1014, 1088, 1457, 1089, 02297 1457, 1457, 1457, 1271, 1091, 1019, 1457, 1457, 1457, 1457, 02298 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02299 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1020, 02300 1457, 1457, 1092, 1457, 1457, 1457, 1457, 1093, 1457, 1457, 02301 02302 1457, 1457, 1457, 1457, 1457, 1457, 1094, 1457, 1457, 1457, 02303 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1095, 1457, 02304 1014, 711, 1457, 874, 711, 711, 711, 711, 875, 1457, 02305 1457, 711, 711, 711, 874, 711, 1457, 996, 711, 581, 02306 711, 1457, 711, 711, 1457, 1457, 1457, 1457, 1457, 1457, 02307 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02308 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02309 1276, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02310 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02311 1457, 1457, 1457, 794, 1457, 1457, 711, 711, 1457, 874, 02312 02313 711, 711, 711, 711, 875, 1457, 1457, 711, 711, 711, 02314 874, 711, 1457, 877, 711, 581, 711, 1457, 711, 711, 02315 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02316 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02317 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02318 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1277, 02319 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 794, 02320 1457, 1457, 711, 1241, 1457, 1051, 1241, 1242, 1457, 1457, 02321 1457, 1243, 1244, 1457, 1245, 1457, 1246, 1247, 1058, 1248, 02322 1457, 1249, 1457, 1457, 1457, 1250, 1251, 1252, 1457, 1457, 02323 02324 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02325 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02326 1457, 1253, 1457, 1457, 1254, 1457, 1457, 1457, 1457, 1255, 02327 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1256, 1457, 02328 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02329 1257, 1457, 1258, 1183, 1457, 1183, 1183, 1084, 1457, 578, 02330 1457, 1009, 1010, 1457, 1011, 1457, 1086, 1087, 1014, 1088, 02331 578, 1089, 1457, 773, 1457, 1184, 1091, 1019, 1457, 1457, 02332 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02333 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02334 02335 1457, 1020, 1457, 1457, 1092, 1457, 1457, 1457, 1457, 1457, 02336 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02337 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02338 1095, 1457, 1014, 1183, 1457, 1183, 1183, 1084, 1457, 578, 02339 1457, 1009, 1010, 1457, 1011, 1457, 1086, 1188, 1014, 1189, 02340 586, 1089, 1457, 773, 1457, 1184, 1091, 1019, 1457, 264, 02341 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02342 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02343 1457, 1020, 1457, 1457, 1092, 1457, 1457, 1457, 1457, 1457, 02344 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02345 02346 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02347 1095, 1457, 1014, 1051, 1457, 1051, 1051, 1052, 1457, 668, 02348 1457, 1053, 1054, 1457, 1055, 1457, 1056, 1057, 1058, 1059, 02349 668, 1060, 1457, 845, 1457, 1237, 1062, 1063, 1457, 1457, 02350 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02351 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02352 1457, 1064, 1457, 1457, 1065, 1457, 1457, 1457, 1457, 1457, 02353 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02354 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02355 1066, 1457, 1058, 1183, 1457, 1183, 1183, 1358, 1457, 1457, 02356 02357 1457, 1359, 1360, 1457, 1361, 1457, 1086, 1362, 1363, 1364, 02358 1457, 1365, 1457, 1457, 1457, 1184, 1366, 1019, 1457, 1457, 02359 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02360 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02361 1457, 1020, 1457, 1457, 1092, 1457, 1457, 1457, 1457, 1457, 02362 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 876, 02363 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02364 1095, 1457, 1363, 1367, 1368, 990, 1368, 1368, 1369, 990, 02365 1369, 1369, 1369, 1369, 1369, 1370, 1367, 1367, 1369, 1369, 02366 1369, 1369, 1369, 1457, 1369, 1369, 1367, 1369, 990, 1369, 02367 02368 1369, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02369 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02370 1457, 1457, 1367, 1367, 1367, 1367, 1457, 1457, 1457, 1457, 02371 1457, 1457, 1457, 1457, 1457, 1457, 1457, 880, 1457, 1457, 02372 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02373 1370, 1367, 1367, 1369, 451, 1457, 1457, 451, 872, 1457, 02374 872, 872, 872, 1457, 872, 1457, 1393, 451, 872, 1457, 02375 872, 872, 872, 1457, 1457, 872, 451, 872, 451, 872, 02376 872, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02377 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02378 02379 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02380 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02381 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02382 1457, 1457, 873, 872, 798, 798, 1457, 798, 798, 1457, 02383 1457, 1457, 1457, 1457, 1457, 1457, 798, 882, 798, 1457, 02384 1457, 1457, 1457, 1457, 1457, 1457, 1457, 798, 1457, 1457, 02385 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02386 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02387 1457, 1457, 1457, 798, 798, 798, 798, 1457, 1457, 1457, 02388 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02389 02390 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02391 1457, 798, 798, 882, 1183, 1457, 1183, 1183, 1358, 1457, 02392 1457, 1457, 1359, 1360, 1457, 1361, 1457, 1086, 1362, 1363, 02393 1364, 1457, 1365, 1457, 1457, 1457, 1184, 1366, 1019, 1457, 02394 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02395 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02396 1457, 1457, 1020, 1457, 1457, 1092, 1457, 995, 1457, 1457, 02397 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02398 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02399 1457, 1095, 1457, 1363, 1196, 1457, 1457, 1196, 872, 1457, 02400 02401 872, 872, 872, 1457, 872, 1457, 1413, 1196, 872, 1457, 02402 872, 872, 872, 1457, 1457, 872, 1196, 872, 1196, 872, 02403 872, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02404 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02405 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02406 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02407 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02408 1457, 1457, 873, 872, 1196, 1457, 1457, 1196, 872, 1457, 02409 872, 872, 872, 1457, 872, 1457, 1413, 1196, 872, 1457, 02410 872, 872, 872, 1457, 1457, 872, 1196, 872, 1196, 872, 02411 02412 872, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02413 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02414 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02415 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02416 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02417 1457, 1457, 873, 872, 68, 68, 68, 68, 68, 68, 02418 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 02419 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 02420 68, 68, 68, 68, 68, 68, 68, 68, 68, 102, 02421 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 02422 02423 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 02424 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 02425 102, 102, 102, 102, 105, 105, 105, 105, 105, 105, 02426 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 02427 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 02428 105, 105, 105, 105, 105, 105, 105, 105, 105, 111, 02429 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 02430 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 02431 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 02432 111, 111, 111, 111, 122, 122, 122, 122, 122, 122, 02433 02434 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 02435 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 02436 122, 122, 122, 122, 122, 122, 122, 122, 122, 136, 02437 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 02438 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 02439 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 02440 136, 136, 136, 136, 138, 138, 138, 138, 138, 138, 02441 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 02442 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 02443 138, 138, 138, 138, 138, 138, 138, 138, 138, 147, 02444 02445 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 02446 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 02447 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 02448 147, 147, 147, 147, 152, 152, 152, 152, 152, 152, 02449 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 02450 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 02451 152, 152, 152, 152, 152, 152, 152, 152, 152, 157, 02452 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 02453 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 02454 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 02455 02456 157, 157, 157, 157, 161, 161, 161, 161, 161, 161, 02457 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 02458 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 02459 161, 161, 161, 161, 161, 161, 161, 161, 161, 165, 02460 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 02461 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 02462 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 02463 165, 165, 165, 165, 169, 169, 169, 169, 169, 169, 02464 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 02465 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 02466 02467 169, 169, 169, 169, 169, 169, 169, 169, 169, 173, 02468 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 02469 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 02470 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 02471 173, 173, 173, 173, 177, 177, 177, 177, 177, 177, 02472 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 02473 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 02474 177, 177, 177, 177, 177, 177, 177, 177, 177, 192, 02475 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 02476 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 02477 02478 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 02479 192, 192, 192, 192, 194, 194, 194, 194, 194, 194, 02480 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 02481 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 02482 194, 194, 194, 194, 194, 194, 194, 194, 194, 203, 02483 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 02484 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 02485 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 02486 203, 203, 203, 203, 215, 215, 215, 215, 215, 215, 02487 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 02488 02489 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 02490 215, 215, 215, 215, 215, 215, 215, 215, 215, 71, 02491 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 02492 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 02493 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 02494 71, 71, 71, 71, 223, 223, 223, 223, 223, 223, 02495 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 02496 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 02497 223, 223, 223, 223, 223, 223, 223, 223, 223, 226, 02498 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 02499 02500 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 02501 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 02502 226, 226, 226, 226, 236, 236, 236, 236, 236, 236, 02503 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 02504 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 02505 236, 236, 236, 236, 236, 236, 236, 236, 236, 245, 02506 1457, 1457, 1457, 245, 245, 1457, 1457, 1457, 1457, 245, 02507 1457, 1457, 245, 245, 1457, 245, 1457, 245, 245, 1457, 02508 1457, 1457, 245, 1457, 1457, 1457, 245, 1457, 1457, 1457, 02509 245, 1457, 1457, 245, 254, 254, 1457, 254, 254, 254, 02510 02511 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 02512 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 02513 254, 254, 254, 254, 254, 254, 254, 254, 254, 262, 02514 1457, 1457, 1457, 262, 262, 1457, 1457, 1457, 1457, 262, 02515 1457, 1457, 262, 262, 1457, 262, 262, 262, 262, 1457, 02516 1457, 1457, 262, 1457, 1457, 262, 262, 1457, 1457, 1457, 02517 262, 1457, 1457, 262, 265, 1457, 1457, 1457, 265, 265, 02518 1457, 1457, 1457, 1457, 265, 1457, 1457, 265, 265, 1457, 02519 265, 265, 265, 265, 1457, 1457, 1457, 265, 1457, 1457, 02520 265, 265, 1457, 265, 1457, 265, 1457, 1457, 265, 263, 02521 02522 1457, 263, 263, 1457, 263, 1457, 1457, 1457, 1457, 1457, 02523 1457, 263, 263, 274, 274, 274, 274, 1457, 1457, 1457, 02524 1457, 1457, 1457, 1457, 1457, 1457, 274, 1457, 1457, 274, 02525 1457, 274, 1457, 274, 274, 1457, 274, 1457, 1457, 1457, 02526 1457, 274, 281, 1457, 1457, 1457, 281, 281, 281, 1457, 02527 1457, 1457, 281, 281, 1457, 281, 281, 1457, 281, 281, 02528 281, 281, 281, 1457, 281, 281, 1457, 1457, 281, 281, 02529 1457, 281, 1457, 281, 1457, 1457, 281, 292, 1457, 1457, 02530 1457, 292, 292, 1457, 1457, 1457, 1457, 292, 1457, 1457, 02531 292, 292, 1457, 292, 1457, 292, 292, 1457, 1457, 1457, 02532 02533 292, 1457, 1457, 1457, 292, 1457, 1457, 1457, 292, 1457, 02534 1457, 292, 306, 306, 1457, 306, 306, 306, 306, 306, 02535 306, 306, 306, 306, 306, 306, 306, 306, 1457, 306, 02536 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 02537 306, 306, 306, 306, 306, 306, 306, 309, 1457, 1457, 02538 1457, 309, 309, 1457, 1457, 1457, 1457, 309, 1457, 1457, 02539 309, 309, 1457, 309, 1457, 309, 309, 1457, 1457, 1457, 02540 309, 1457, 1457, 1457, 309, 1457, 1457, 1457, 309, 1457, 02541 1457, 309, 311, 311, 1457, 311, 311, 311, 311, 311, 02542 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 02543 02544 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 02545 311, 311, 311, 311, 311, 311, 311, 317, 317, 317, 02546 317, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02547 317, 1457, 1457, 317, 1457, 317, 1457, 317, 317, 1457, 02548 317, 1457, 1457, 1457, 1457, 317, 319, 1457, 1457, 1457, 02549 319, 1457, 1457, 1457, 1457, 1457, 319, 1457, 1457, 319, 02550 319, 1457, 319, 1457, 319, 319, 1457, 1457, 1457, 319, 02551 1457, 1457, 1457, 319, 1457, 1457, 1457, 319, 1457, 1457, 02552 319, 323, 323, 323, 323, 1457, 1457, 1457, 1457, 1457, 02553 1457, 1457, 1457, 1457, 323, 1457, 1457, 323, 1457, 323, 02554 02555 1457, 323, 323, 1457, 323, 1457, 1457, 1457, 1457, 323, 02556 330, 1457, 1457, 1457, 330, 330, 330, 330, 330, 330, 02557 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 02558 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 02559 330, 330, 330, 330, 330, 331, 331, 1457, 331, 331, 02560 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 02561 331, 331, 331, 331, 331, 331, 331, 1457, 331, 331, 02562 331, 1457, 331, 331, 1457, 331, 331, 331, 331, 331, 02563 340, 340, 1457, 340, 340, 340, 340, 1457, 340, 340, 02564 340, 340, 340, 340, 340, 340, 340, 340, 340, 340, 02565 02566 340, 340, 340, 340, 340, 340, 1457, 340, 340, 1457, 02567 340, 340, 340, 340, 340, 342, 342, 1457, 342, 342, 02568 342, 342, 1457, 342, 342, 342, 342, 342, 342, 342, 02569 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 02570 342, 1457, 342, 342, 1457, 342, 342, 342, 342, 342, 02571 344, 344, 1457, 344, 344, 344, 344, 344, 344, 344, 02572 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 02573 344, 344, 344, 344, 344, 344, 1457, 344, 344, 1457, 02574 344, 344, 344, 344, 344, 346, 346, 1457, 346, 346, 02575 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 02576 02577 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 02578 346, 1457, 346, 346, 1457, 346, 346, 346, 346, 346, 02579 348, 348, 1457, 348, 348, 348, 348, 348, 348, 348, 02580 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 02581 348, 348, 348, 348, 348, 348, 1457, 348, 348, 1457, 02582 348, 348, 348, 348, 348, 350, 350, 1457, 350, 350, 02583 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 02584 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 02585 350, 1457, 350, 350, 1457, 350, 350, 350, 350, 350, 02586 352, 352, 1457, 352, 352, 352, 352, 352, 352, 352, 02587 02588 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 02589 352, 352, 352, 352, 352, 352, 1457, 352, 352, 1457, 02590 352, 352, 352, 352, 352, 354, 1457, 1457, 354, 354, 02591 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 02592 1457, 354, 354, 354, 354, 354, 354, 354, 354, 354, 02593 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 02594 358, 358, 1457, 358, 358, 358, 358, 358, 358, 358, 02595 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 02596 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 02597 358, 358, 358, 358, 358, 364, 364, 1457, 364, 364, 02598 02599 1457, 364, 364, 364, 364, 364, 364, 364, 364, 364, 02600 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 02601 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 02602 365, 1457, 365, 365, 365, 365, 365, 1457, 1457, 1457, 02603 1457, 1457, 1457, 365, 1457, 365, 368, 1457, 368, 1457, 02604 368, 368, 368, 1457, 1457, 1457, 1457, 1457, 1457, 368, 02605 1457, 368, 370, 370, 1457, 1457, 370, 370, 370, 370, 02606 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 02607 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 02608 370, 370, 370, 370, 370, 370, 370, 371, 371, 1457, 02609 02610 371, 371, 371, 371, 1457, 371, 1457, 371, 371, 371, 02611 371, 371, 371, 371, 371, 371, 371, 371, 371, 1457, 02612 371, 371, 371, 1457, 371, 371, 1457, 371, 371, 1457, 02613 1457, 371, 382, 1457, 1457, 1457, 1457, 382, 1457, 1457, 02614 1457, 1457, 382, 382, 382, 382, 382, 1457, 1457, 1457, 02615 1457, 1457, 1457, 382, 384, 1457, 1457, 1457, 384, 1457, 02616 1457, 1457, 1457, 1457, 384, 1457, 1457, 384, 384, 1457, 02617 384, 1457, 384, 384, 1457, 1457, 1457, 384, 1457, 1457, 02618 1457, 384, 1457, 1457, 1457, 384, 1457, 1457, 384, 388, 02619 388, 388, 388, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02620 02621 1457, 1457, 388, 1457, 1457, 388, 1457, 388, 1457, 388, 02622 388, 1457, 388, 1457, 1457, 1457, 1457, 388, 392, 1457, 02623 1457, 1457, 1457, 392, 392, 1457, 392, 1457, 392, 392, 02624 392, 392, 392, 1457, 1457, 1457, 1457, 1457, 1457, 392, 02625 245, 1457, 1457, 1457, 245, 245, 1457, 1457, 1457, 1457, 02626 245, 1457, 1457, 245, 245, 1457, 245, 1457, 245, 245, 02627 1457, 1457, 1457, 245, 1457, 1457, 1457, 245, 1457, 1457, 02628 1457, 245, 1457, 1457, 245, 397, 397, 1457, 397, 397, 02629 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 02630 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 02631 02632 397, 1457, 397, 397, 1457, 397, 397, 397, 397, 397, 02633 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 02634 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 02635 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 02636 413, 413, 413, 413, 413, 415, 415, 415, 415, 415, 02637 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 02638 415, 1457, 415, 415, 1457, 415, 415, 415, 415, 415, 02639 415, 1457, 1457, 415, 1457, 415, 415, 415, 415, 415, 02640 254, 254, 1457, 254, 254, 254, 254, 254, 254, 254, 02641 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 02642 02643 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 02644 254, 254, 254, 254, 254, 255, 255, 1457, 255, 255, 02645 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 02646 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 02647 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 02648 427, 1457, 1457, 1457, 1457, 427, 1457, 1457, 1457, 1457, 02649 1457, 427, 1457, 427, 427, 1457, 427, 1457, 1457, 1457, 02650 1457, 427, 262, 1457, 1457, 1457, 262, 262, 1457, 1457, 02651 1457, 1457, 262, 1457, 1457, 262, 262, 1457, 262, 262, 02652 262, 262, 1457, 1457, 1457, 262, 1457, 1457, 262, 262, 02653 02654 1457, 1457, 1457, 262, 1457, 1457, 262, 263, 1457, 263, 02655 263, 1457, 263, 1457, 1457, 1457, 1457, 1457, 1457, 263, 02656 263, 265, 1457, 1457, 1457, 265, 265, 1457, 1457, 1457, 02657 1457, 265, 1457, 1457, 265, 265, 1457, 265, 265, 265, 02658 265, 1457, 1457, 1457, 265, 1457, 1457, 265, 265, 1457, 02659 265, 1457, 265, 1457, 1457, 265, 438, 1457, 438, 438, 02660 1457, 438, 1457, 1457, 1457, 1457, 1457, 1457, 438, 438, 02661 439, 1457, 1457, 1457, 439, 439, 1457, 1457, 1457, 1457, 02662 439, 1457, 1457, 439, 439, 1457, 439, 1457, 439, 439, 02663 1457, 1457, 1457, 439, 1457, 1457, 1457, 439, 1457, 1457, 02664 02665 1457, 439, 1457, 1457, 439, 444, 444, 444, 1457, 1457, 02666 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02667 1457, 1457, 444, 444, 1457, 1457, 1457, 1457, 444, 1457, 02668 1457, 444, 451, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02669 451, 1457, 1457, 451, 451, 1457, 451, 1457, 1457, 1457, 02670 451, 451, 1457, 451, 1457, 451, 1457, 1457, 451, 453, 02671 1457, 453, 453, 1457, 453, 1457, 1457, 1457, 1457, 1457, 02672 1457, 453, 453, 1457, 1457, 1457, 1457, 1457, 1457, 453, 02673 281, 1457, 1457, 1457, 281, 281, 281, 1457, 1457, 1457, 02674 281, 281, 1457, 281, 281, 1457, 281, 281, 281, 281, 02675 02676 281, 1457, 281, 281, 1457, 1457, 281, 281, 1457, 281, 02677 1457, 281, 1457, 1457, 281, 497, 1457, 1457, 1457, 497, 02678 497, 1457, 1457, 1457, 1457, 497, 497, 1457, 497, 497, 02679 1457, 497, 1457, 497, 497, 1457, 1457, 497, 497, 1457, 02680 1457, 1457, 497, 1457, 1457, 1457, 497, 1457, 1457, 497, 02681 245, 245, 1457, 245, 245, 245, 1457, 1457, 1457, 1457, 02682 245, 1457, 1457, 245, 245, 1457, 245, 245, 245, 245, 02683 1457, 1457, 1457, 245, 1457, 1457, 1457, 245, 1457, 1457, 02684 1457, 245, 1457, 1457, 245, 306, 306, 1457, 306, 306, 02685 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 02686 02687 306, 1457, 306, 306, 306, 306, 306, 306, 306, 306, 02688 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 02689 309, 1457, 1457, 1457, 309, 309, 1457, 1457, 1457, 1457, 02690 309, 1457, 1457, 309, 309, 1457, 309, 1457, 309, 309, 02691 1457, 1457, 1457, 309, 1457, 1457, 1457, 309, 1457, 1457, 02692 1457, 309, 1457, 1457, 309, 311, 311, 1457, 311, 311, 02693 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 02694 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 02695 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 02696 312, 312, 1457, 312, 312, 312, 312, 312, 312, 312, 02697 02698 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 02699 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 02700 312, 312, 312, 312, 312, 507, 507, 507, 1457, 1457, 02701 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02702 1457, 1457, 507, 507, 1457, 1457, 1457, 1457, 507, 1457, 02703 1457, 507, 319, 1457, 1457, 1457, 319, 1457, 1457, 1457, 02704 1457, 1457, 319, 1457, 1457, 319, 319, 1457, 319, 1457, 02705 319, 319, 1457, 1457, 1457, 319, 1457, 1457, 1457, 319, 02706 1457, 1457, 1457, 319, 1457, 1457, 319, 330, 1457, 1457, 02707 1457, 330, 330, 330, 330, 330, 330, 330, 330, 330, 02708 02709 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 02710 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 02711 330, 330, 331, 331, 1457, 331, 331, 331, 331, 331, 02712 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 02713 331, 331, 331, 331, 1457, 331, 331, 331, 1457, 331, 02714 331, 1457, 331, 331, 331, 331, 331, 340, 340, 1457, 02715 340, 340, 340, 340, 1457, 340, 340, 340, 340, 340, 02716 340, 340, 340, 340, 340, 340, 340, 340, 340, 340, 02717 340, 340, 340, 1457, 340, 340, 1457, 340, 340, 340, 02718 340, 340, 342, 342, 1457, 342, 342, 342, 342, 1457, 02719 02720 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 02721 342, 342, 342, 342, 342, 342, 342, 342, 1457, 342, 02722 342, 1457, 342, 342, 342, 342, 342, 344, 344, 1457, 02723 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 02724 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 02725 344, 344, 344, 1457, 344, 344, 1457, 344, 344, 344, 02726 344, 344, 346, 346, 1457, 346, 346, 346, 346, 346, 02727 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 02728 346, 346, 346, 346, 346, 346, 346, 346, 1457, 346, 02729 346, 1457, 346, 346, 346, 346, 346, 348, 348, 1457, 02730 02731 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 02732 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 02733 348, 348, 348, 1457, 348, 348, 1457, 348, 348, 348, 02734 348, 348, 350, 350, 1457, 350, 350, 350, 350, 350, 02735 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 02736 350, 350, 350, 350, 350, 350, 350, 350, 1457, 350, 02737 350, 1457, 350, 350, 350, 350, 350, 352, 352, 1457, 02738 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 02739 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 02740 352, 352, 352, 1457, 352, 352, 1457, 352, 352, 352, 02741 02742 352, 352, 354, 1457, 1457, 354, 354, 354, 354, 354, 02743 354, 354, 354, 354, 354, 354, 354, 1457, 354, 354, 02744 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 02745 354, 354, 354, 354, 354, 354, 354, 358, 358, 1457, 02746 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 02747 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 02748 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 02749 358, 358, 359, 359, 1457, 359, 359, 359, 359, 359, 02750 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 02751 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 02752 02753 359, 359, 359, 359, 359, 359, 359, 364, 364, 1457, 02754 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 02755 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 02756 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 02757 364, 364, 365, 1457, 365, 365, 365, 365, 365, 1457, 02758 1457, 1457, 1457, 1457, 1457, 365, 1457, 365, 526, 1457, 02759 526, 1457, 526, 526, 526, 1457, 1457, 1457, 1457, 1457, 02760 1457, 526, 1457, 526, 368, 1457, 368, 368, 368, 368, 02761 368, 1457, 1457, 1457, 1457, 1457, 1457, 368, 1457, 368, 02762 370, 370, 1457, 1457, 370, 370, 370, 370, 370, 370, 02763 02764 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 02765 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 02766 370, 370, 370, 370, 370, 371, 371, 1457, 371, 371, 02767 371, 371, 1457, 371, 1457, 371, 371, 371, 371, 371, 02768 371, 371, 371, 371, 371, 371, 371, 1457, 371, 371, 02769 371, 1457, 371, 371, 1457, 371, 371, 1457, 1457, 371, 02770 531, 531, 1457, 531, 531, 531, 531, 531, 531, 531, 02771 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 02772 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 02773 531, 531, 531, 531, 531, 382, 1457, 1457, 1457, 1457, 02774 02775 382, 1457, 1457, 1457, 1457, 382, 382, 382, 382, 382, 02776 1457, 1457, 1457, 1457, 1457, 1457, 382, 540, 1457, 1457, 02777 1457, 1457, 1457, 1457, 1457, 540, 1457, 1457, 540, 540, 02778 1457, 540, 1457, 1457, 1457, 540, 540, 1457, 540, 1457, 02779 540, 1457, 1457, 540, 384, 1457, 1457, 1457, 384, 1457, 02780 1457, 1457, 1457, 1457, 384, 1457, 1457, 384, 384, 1457, 02781 384, 1457, 384, 384, 1457, 1457, 1457, 384, 1457, 1457, 02782 1457, 384, 1457, 1457, 1457, 384, 1457, 1457, 384, 392, 02783 1457, 1457, 1457, 1457, 392, 392, 1457, 392, 1457, 392, 02784 392, 392, 392, 392, 1457, 1457, 1457, 1457, 1457, 1457, 02785 02786 392, 245, 1457, 1457, 1457, 245, 245, 1457, 1457, 1457, 02787 1457, 245, 1457, 1457, 245, 245, 1457, 245, 1457, 245, 02788 245, 1457, 1457, 1457, 245, 1457, 1457, 1457, 245, 1457, 02789 1457, 1457, 245, 1457, 1457, 245, 397, 397, 1457, 397, 02790 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 02791 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 02792 397, 397, 1457, 397, 397, 1457, 397, 397, 397, 397, 02793 397, 413, 413, 413, 413, 413, 413, 413, 413, 413, 02794 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 02795 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, 02796 02797 413, 413, 413, 413, 413, 413, 415, 415, 415, 415, 02798 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 02799 415, 415, 1457, 415, 415, 1457, 415, 415, 415, 415, 02800 415, 415, 1457, 1457, 415, 1457, 415, 415, 415, 415, 02801 415, 427, 1457, 1457, 1457, 1457, 427, 1457, 1457, 1457, 02802 1457, 1457, 427, 1457, 427, 427, 1457, 427, 1457, 1457, 02803 1457, 1457, 427, 563, 1457, 1457, 1457, 1457, 1457, 1457, 02804 1457, 563, 1457, 1457, 1457, 563, 1457, 563, 1457, 1457, 02805 1457, 563, 563, 1457, 1457, 1457, 563, 1457, 1457, 563, 02806 570, 570, 1457, 570, 570, 570, 570, 1457, 570, 570, 02807 02808 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 02809 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 02810 570, 570, 570, 570, 570, 438, 1457, 438, 438, 1457, 02811 438, 1457, 1457, 1457, 1457, 1457, 1457, 438, 438, 439, 02812 1457, 1457, 1457, 439, 439, 1457, 1457, 1457, 1457, 439, 02813 1457, 1457, 439, 439, 1457, 439, 439, 439, 439, 1457, 02814 1457, 1457, 439, 1457, 1457, 1457, 439, 1457, 439, 1457, 02815 439, 1457, 1457, 439, 440, 440, 440, 440, 1457, 1457, 02816 1457, 1457, 1457, 1457, 1457, 440, 1457, 440, 574, 574, 02817 574, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02818 02819 1457, 1457, 1457, 1457, 1457, 574, 1457, 1457, 1457, 1457, 02820 1457, 574, 1457, 1457, 574, 444, 444, 444, 1457, 1457, 02821 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02822 1457, 1457, 444, 444, 1457, 1457, 1457, 1457, 444, 1457, 02823 1457, 444, 579, 1457, 1457, 1457, 1457, 579, 1457, 1457, 02824 1457, 1457, 1457, 579, 1457, 579, 579, 1457, 579, 1457, 02825 1457, 1457, 1457, 579, 451, 1457, 1457, 1457, 1457, 1457, 02826 1457, 1457, 451, 1457, 1457, 451, 451, 1457, 451, 1457, 02827 1457, 1457, 451, 451, 1457, 451, 1457, 451, 1457, 1457, 02828 451, 587, 1457, 1457, 1457, 1457, 587, 1457, 1457, 587, 02829 02830 1457, 587, 587, 1457, 587, 587, 1457, 587, 1457, 1457, 02831 1457, 587, 587, 457, 1457, 1457, 1457, 1457, 1457, 1457, 02832 1457, 457, 1457, 1457, 1457, 457, 1457, 457, 1457, 1457, 02833 1457, 457, 457, 1457, 1457, 1457, 457, 1457, 1457, 457, 02834 281, 1457, 1457, 1457, 281, 281, 281, 1457, 1457, 1457, 02835 281, 281, 1457, 281, 281, 1457, 281, 281, 281, 281, 02836 281, 1457, 281, 281, 1457, 1457, 281, 281, 1457, 281, 02837 1457, 281, 1457, 1457, 281, 497, 1457, 1457, 1457, 497, 02838 497, 1457, 1457, 1457, 1457, 497, 497, 1457, 497, 497, 02839 1457, 497, 1457, 497, 497, 1457, 1457, 497, 497, 1457, 02840 02841 1457, 1457, 497, 1457, 1457, 1457, 497, 1457, 1457, 497, 02842 627, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 627, 1457, 02843 1457, 1457, 627, 1457, 627, 1457, 1457, 1457, 627, 627, 02844 1457, 1457, 1457, 627, 1457, 1457, 627, 630, 630, 630, 02845 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02846 1457, 1457, 1457, 1457, 630, 1457, 1457, 1457, 1457, 1457, 02847 630, 1457, 1457, 630, 507, 507, 507, 1457, 1457, 1457, 02848 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02849 1457, 507, 507, 1457, 1457, 1457, 1457, 507, 1457, 1457, 02850 507, 354, 1457, 1457, 354, 354, 354, 354, 354, 354, 02851 02852 354, 354, 354, 354, 354, 354, 1457, 354, 354, 354, 02853 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 02854 354, 354, 354, 354, 354, 354, 526, 1457, 526, 526, 02855 526, 526, 526, 1457, 1457, 1457, 1457, 1457, 1457, 526, 02856 1457, 526, 368, 1457, 368, 1457, 368, 368, 368, 1457, 02857 1457, 1457, 1457, 1457, 1457, 368, 1457, 368, 531, 531, 02858 1457, 531, 531, 531, 531, 531, 531, 531, 531, 531, 02859 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 02860 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 02861 531, 531, 531, 533, 533, 1457, 533, 533, 533, 533, 02862 02863 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 02864 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 02865 533, 533, 533, 533, 533, 533, 533, 533, 371, 371, 02866 1457, 371, 371, 371, 371, 1457, 371, 1457, 371, 371, 02867 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 02868 1457, 371, 371, 371, 1457, 371, 371, 1457, 371, 371, 02869 1457, 1457, 371, 540, 1457, 1457, 1457, 1457, 1457, 1457, 02870 1457, 540, 1457, 1457, 540, 540, 1457, 540, 1457, 1457, 02871 1457, 540, 540, 1457, 540, 1457, 540, 1457, 1457, 540, 02872 245, 1457, 1457, 1457, 245, 245, 1457, 1457, 1457, 1457, 02873 02874 245, 1457, 1457, 245, 245, 1457, 245, 1457, 245, 245, 02875 1457, 1457, 1457, 245, 1457, 1457, 1457, 245, 1457, 1457, 02876 1457, 245, 1457, 1457, 245, 397, 397, 1457, 397, 397, 02877 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 02878 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 02879 397, 1457, 397, 397, 1457, 397, 397, 397, 397, 397, 02880 669, 1457, 1457, 1457, 1457, 669, 1457, 1457, 1457, 1457, 02881 1457, 669, 1457, 669, 669, 1457, 669, 1457, 1457, 1457, 02882 1457, 669, 563, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02883 563, 1457, 1457, 1457, 563, 1457, 563, 1457, 1457, 1457, 02884 02885 563, 563, 1457, 1457, 1457, 563, 1457, 1457, 563, 427, 02886 1457, 1457, 1457, 1457, 427, 1457, 1457, 1457, 1457, 1457, 02887 427, 1457, 427, 427, 1457, 427, 1457, 1457, 1457, 1457, 02888 427, 570, 570, 1457, 570, 570, 570, 570, 570, 570, 02889 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 02890 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, 02891 570, 570, 570, 570, 570, 570, 680, 680, 680, 1457, 02892 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02893 1457, 1457, 1457, 680, 680, 1457, 1457, 1457, 680, 680, 02894 1457, 1457, 680, 579, 1457, 1457, 1457, 1457, 579, 1457, 02895 02896 1457, 1457, 1457, 1457, 579, 1457, 579, 579, 1457, 579, 02897 1457, 1457, 1457, 1457, 579, 687, 1457, 1457, 1457, 1457, 02898 1457, 1457, 1457, 687, 1457, 1457, 1457, 687, 1457, 687, 02899 1457, 1457, 1457, 687, 687, 1457, 1457, 1457, 687, 1457, 02900 1457, 687, 693, 1457, 693, 693, 1457, 693, 1457, 1457, 02901 1457, 1457, 1457, 1457, 693, 693, 1457, 1457, 1457, 1457, 02902 1457, 1457, 693, 587, 1457, 1457, 1457, 1457, 587, 1457, 02903 1457, 587, 1457, 587, 587, 1457, 587, 587, 1457, 587, 02904 1457, 1457, 1457, 587, 587, 457, 1457, 1457, 1457, 1457, 02905 1457, 1457, 1457, 457, 1457, 1457, 1457, 457, 1457, 457, 02906 02907 1457, 1457, 1457, 457, 457, 1457, 1457, 1457, 457, 1457, 02908 1457, 457, 281, 1457, 1457, 1457, 281, 281, 281, 1457, 02909 1457, 1457, 281, 281, 1457, 281, 281, 1457, 281, 281, 02910 281, 281, 281, 1457, 281, 281, 1457, 1457, 281, 281, 02911 1457, 281, 1457, 281, 1457, 1457, 281, 713, 1457, 713, 02912 713, 713, 713, 713, 713, 1457, 1457, 713, 713, 713, 02913 713, 713, 713, 713, 713, 713, 713, 1457, 713, 713, 02914 713, 1457, 1457, 1457, 1457, 1457, 1457, 713, 627, 1457, 02915 1457, 1457, 1457, 1457, 1457, 1457, 627, 1457, 1457, 1457, 02916 627, 1457, 627, 1457, 1457, 1457, 627, 627, 1457, 1457, 02917 02918 1457, 627, 1457, 1457, 627, 720, 720, 720, 1457, 1457, 02919 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02920 1457, 1457, 720, 720, 1457, 1457, 1457, 720, 720, 1457, 02921 1457, 720, 533, 533, 1457, 533, 533, 533, 533, 533, 02922 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 02923 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 02924 533, 533, 533, 533, 533, 533, 533, 531, 531, 1457, 02925 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 02926 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 02927 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 02928 02929 531, 531, 371, 371, 1457, 371, 371, 371, 371, 1457, 02930 371, 1457, 371, 371, 371, 371, 371, 371, 371, 371, 02931 371, 371, 371, 371, 1457, 371, 371, 371, 1457, 371, 02932 371, 1457, 371, 371, 1457, 1457, 371, 245, 1457, 1457, 02933 1457, 245, 245, 1457, 1457, 1457, 1457, 245, 1457, 1457, 02934 245, 245, 1457, 245, 1457, 245, 245, 1457, 1457, 1457, 02935 245, 1457, 1457, 1457, 245, 1457, 1457, 1457, 245, 1457, 02936 1457, 245, 397, 397, 1457, 397, 397, 397, 397, 397, 02937 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 02938 397, 397, 397, 397, 397, 397, 397, 397, 1457, 397, 02939 02940 397, 1457, 397, 397, 397, 397, 397, 747, 747, 747, 02941 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 02942 747, 747, 747, 747, 747, 747, 1457, 747, 747, 747, 02943 747, 747, 747, 747, 1457, 747, 747, 747, 747, 747, 02944 747, 747, 750, 750, 750, 750, 750, 750, 750, 750, 02945 750, 750, 750, 750, 750, 750, 750, 750, 750, 750, 02946 750, 1457, 750, 750, 750, 750, 750, 750, 750, 1457, 02947 750, 750, 750, 750, 750, 750, 750, 669, 1457, 1457, 02948 1457, 1457, 669, 1457, 1457, 1457, 1457, 1457, 669, 1457, 02949 669, 669, 1457, 669, 1457, 1457, 1457, 1457, 669, 758, 02950 02951 1457, 1457, 1457, 1457, 1457, 1457, 1457, 758, 1457, 1457, 02952 1457, 758, 1457, 758, 1457, 1457, 1457, 758, 758, 1457, 02953 1457, 1457, 758, 1457, 1457, 758, 563, 1457, 1457, 1457, 02954 1457, 1457, 1457, 1457, 563, 1457, 1457, 1457, 563, 1457, 02955 563, 1457, 1457, 1457, 563, 563, 1457, 1457, 1457, 563, 02956 1457, 1457, 563, 427, 1457, 1457, 1457, 1457, 427, 1457, 02957 1457, 1457, 1457, 1457, 427, 1457, 427, 427, 1457, 427, 02958 1457, 1457, 1457, 1457, 427, 574, 574, 574, 1457, 1457, 02959 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02960 1457, 1457, 574, 1457, 1457, 1457, 1457, 574, 574, 1457, 02961 02962 1457, 574, 680, 680, 680, 1457, 1457, 1457, 1457, 1457, 02963 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 680, 02964 680, 1457, 1457, 1457, 680, 680, 1457, 1457, 680, 765, 02965 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 02966 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 02967 765, 1457, 765, 1457, 765, 765, 765, 765, 765, 765, 02968 765, 765, 765, 765, 772, 1457, 1457, 1457, 1457, 772, 02969 1457, 1457, 1457, 1457, 1457, 772, 1457, 772, 772, 1457, 02970 772, 1457, 1457, 1457, 1457, 772, 687, 1457, 1457, 1457, 02971 1457, 1457, 1457, 1457, 687, 1457, 1457, 1457, 687, 1457, 02972 02973 687, 1457, 1457, 1457, 687, 687, 1457, 1457, 1457, 687, 02974 1457, 1457, 687, 579, 1457, 1457, 1457, 1457, 579, 1457, 02975 1457, 1457, 1457, 1457, 579, 1457, 579, 579, 1457, 579, 02976 1457, 1457, 1457, 1457, 579, 779, 1457, 1457, 1457, 1457, 02977 779, 1457, 1457, 779, 1457, 779, 779, 1457, 779, 779, 02978 1457, 779, 1457, 1457, 1457, 779, 779, 587, 1457, 1457, 02979 1457, 1457, 587, 1457, 1457, 587, 1457, 587, 587, 1457, 02980 587, 587, 1457, 587, 1457, 1457, 1457, 587, 587, 457, 02981 1457, 1457, 1457, 1457, 1457, 1457, 1457, 457, 1457, 1457, 02982 1457, 457, 1457, 457, 1457, 1457, 1457, 457, 457, 1457, 02983 02984 1457, 1457, 457, 1457, 1457, 457, 711, 1457, 711, 711, 02985 711, 711, 711, 711, 1457, 1457, 711, 711, 711, 711, 02986 711, 711, 711, 711, 1457, 711, 1457, 711, 711, 711, 02987 1457, 1457, 1457, 1457, 711, 1457, 711, 795, 1457, 795, 02988 795, 795, 795, 795, 795, 1457, 1457, 795, 795, 795, 02989 795, 795, 795, 795, 795, 1457, 795, 1457, 795, 795, 02990 795, 1457, 1457, 1457, 1457, 795, 1457, 795, 281, 1457, 02991 1457, 1457, 281, 281, 281, 1457, 1457, 1457, 281, 281, 02992 1457, 281, 281, 1457, 281, 281, 281, 281, 281, 1457, 02993 281, 281, 1457, 1457, 281, 281, 1457, 281, 1457, 281, 02994 02995 1457, 1457, 281, 627, 1457, 1457, 1457, 1457, 1457, 1457, 02996 1457, 627, 1457, 1457, 1457, 627, 1457, 627, 1457, 1457, 02997 1457, 627, 627, 1457, 1457, 1457, 627, 1457, 1457, 627, 02998 630, 630, 630, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 02999 1457, 1457, 1457, 1457, 1457, 1457, 1457, 630, 1457, 1457, 03000 1457, 1457, 630, 630, 1457, 1457, 630, 720, 720, 720, 03001 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 03002 1457, 1457, 1457, 1457, 720, 720, 1457, 1457, 1457, 720, 03003 720, 1457, 1457, 720, 807, 807, 807, 807, 807, 807, 03004 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 03005 03006 807, 807, 807, 807, 807, 807, 1457, 807, 1457, 807, 03007 807, 807, 807, 807, 807, 807, 807, 807, 807, 533, 03008 533, 1457, 533, 533, 533, 533, 533, 533, 533, 533, 03009 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 03010 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 03011 533, 533, 533, 533, 531, 531, 1457, 531, 531, 531, 03012 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 03013 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 03014 531, 531, 531, 531, 531, 531, 531, 531, 531, 371, 03015 371, 1457, 371, 371, 371, 371, 1457, 371, 1457, 371, 03016 03017 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 03018 371, 1457, 371, 371, 371, 1457, 371, 371, 1457, 371, 03019 371, 1457, 1457, 371, 245, 1457, 1457, 1457, 245, 245, 03020 1457, 1457, 1457, 1457, 245, 1457, 1457, 245, 245, 1457, 03021 245, 1457, 245, 245, 1457, 1457, 1457, 245, 1457, 1457, 03022 1457, 245, 1457, 1457, 1457, 245, 1457, 1457, 245, 835, 03023 835, 835, 835, 835, 835, 835, 835, 835, 835, 835, 03024 835, 835, 835, 835, 835, 835, 835, 835, 1457, 835, 03025 835, 835, 835, 835, 835, 835, 1457, 835, 835, 835, 03026 835, 835, 835, 835, 844, 1457, 1457, 1457, 1457, 844, 03027 03028 1457, 1457, 1457, 1457, 1457, 844, 1457, 844, 844, 1457, 03029 844, 1457, 1457, 1457, 1457, 844, 758, 1457, 1457, 1457, 03030 1457, 1457, 1457, 1457, 758, 1457, 1457, 1457, 758, 1457, 03031 758, 1457, 1457, 1457, 758, 758, 1457, 1457, 1457, 758, 03032 1457, 1457, 758, 669, 1457, 1457, 1457, 1457, 669, 1457, 03033 1457, 1457, 1457, 1457, 669, 1457, 669, 669, 1457, 669, 03034 1457, 1457, 1457, 1457, 669, 427, 1457, 1457, 1457, 1457, 03035 427, 1457, 1457, 1457, 1457, 1457, 427, 1457, 427, 427, 03036 1457, 427, 1457, 1457, 1457, 1457, 427, 765, 765, 765, 03037 765, 765, 1457, 765, 765, 765, 765, 1457, 765, 765, 03038 03039 765, 765, 765, 765, 765, 765, 765, 765, 765, 1457, 03040 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 03041 765, 765, 851, 851, 851, 851, 851, 851, 851, 851, 03042 851, 851, 851, 851, 851, 851, 851, 851, 851, 851, 03043 851, 851, 851, 851, 851, 851, 851, 851, 851, 851, 03044 851, 851, 851, 851, 851, 851, 851, 853, 853, 853, 03045 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 03046 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 03047 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 03048 853, 853, 772, 1457, 1457, 1457, 1457, 772, 1457, 1457, 03049 03050 1457, 1457, 1457, 772, 1457, 772, 772, 1457, 772, 1457, 03051 1457, 1457, 1457, 772, 687, 1457, 1457, 1457, 1457, 1457, 03052 1457, 1457, 687, 1457, 1457, 1457, 687, 1457, 687, 1457, 03053 1457, 1457, 687, 687, 1457, 1457, 1457, 687, 1457, 1457, 03054 687, 579, 1457, 1457, 1457, 1457, 579, 1457, 1457, 1457, 03055 1457, 1457, 579, 1457, 579, 579, 1457, 579, 1457, 1457, 03056 1457, 1457, 579, 779, 1457, 1457, 1457, 1457, 779, 1457, 03057 1457, 779, 1457, 779, 779, 1457, 779, 779, 1457, 779, 03058 1457, 1457, 1457, 779, 779, 587, 1457, 1457, 1457, 1457, 03059 587, 1457, 1457, 587, 1457, 587, 587, 1457, 587, 587, 03060 03061 1457, 587, 1457, 1457, 1457, 587, 587, 457, 1457, 1457, 03062 1457, 1457, 1457, 1457, 1457, 457, 1457, 1457, 1457, 457, 03063 1457, 457, 1457, 1457, 1457, 457, 457, 1457, 1457, 1457, 03064 457, 1457, 1457, 457, 872, 1457, 872, 872, 872, 872, 03065 872, 1457, 872, 1457, 872, 872, 872, 872, 872, 872, 03066 872, 872, 1457, 872, 1457, 872, 872, 872, 1457, 1457, 03067 1457, 1457, 1457, 872, 872, 876, 1457, 876, 876, 876, 03068 876, 876, 876, 1457, 1457, 876, 876, 876, 876, 876, 03069 876, 876, 876, 876, 876, 1457, 876, 876, 876, 1457, 03070 1457, 1457, 1457, 876, 1457, 876, 879, 1457, 879, 879, 03071 03072 879, 879, 879, 879, 1457, 1457, 879, 879, 879, 879, 03073 879, 879, 879, 879, 1457, 879, 1457, 879, 879, 879, 03074 1457, 1457, 1457, 1457, 879, 1457, 879, 880, 880, 1457, 03075 880, 880, 1457, 880, 880, 880, 880, 880, 880, 880, 03076 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 03077 880, 1457, 880, 880, 880, 880, 880, 880, 880, 880, 03078 880, 880, 799, 799, 1457, 799, 799, 1457, 799, 799, 03079 799, 799, 799, 799, 799, 799, 799, 799, 799, 799, 03080 799, 799, 799, 799, 799, 799, 1457, 799, 799, 799, 03081 799, 799, 799, 799, 799, 799, 799, 881, 881, 1457, 03082 03083 881, 881, 1457, 881, 881, 881, 881, 881, 881, 881, 03084 881, 881, 881, 881, 881, 881, 881, 881, 881, 881, 03085 881, 1457, 881, 881, 881, 881, 881, 881, 881, 881, 03086 881, 881, 281, 1457, 1457, 1457, 281, 281, 281, 1457, 03087 1457, 1457, 281, 281, 1457, 281, 281, 1457, 281, 281, 03088 281, 281, 281, 1457, 281, 281, 1457, 1457, 281, 281, 03089 1457, 281, 1457, 281, 1457, 1457, 281, 807, 807, 807, 03090 807, 807, 1457, 807, 807, 807, 807, 1457, 807, 807, 03091 807, 807, 807, 807, 807, 807, 807, 807, 807, 1457, 03092 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 03093 03094 807, 807, 889, 889, 889, 889, 889, 889, 889, 889, 03095 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 03096 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 03097 889, 889, 889, 889, 889, 889, 889, 891, 891, 891, 03098 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 03099 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 03100 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 03101 891, 891, 533, 533, 1457, 533, 533, 533, 533, 533, 03102 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 03103 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 03104 03105 533, 533, 533, 533, 533, 533, 533, 531, 531, 1457, 03106 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 03107 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 03108 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 03109 531, 531, 371, 371, 1457, 371, 371, 371, 371, 1457, 03110 371, 1457, 371, 371, 371, 371, 371, 371, 371, 371, 03111 371, 371, 371, 371, 1457, 371, 371, 371, 1457, 371, 03112 371, 1457, 371, 371, 1457, 1457, 371, 245, 1457, 1457, 03113 1457, 245, 245, 1457, 1457, 1457, 1457, 245, 1457, 1457, 03114 245, 245, 1457, 245, 1457, 245, 245, 1457, 1457, 1457, 03115 03116 245, 1457, 1457, 1457, 245, 1457, 1457, 1457, 245, 1457, 03117 1457, 245, 844, 1457, 1457, 1457, 1457, 844, 1457, 1457, 03118 1457, 1457, 1457, 844, 1457, 844, 844, 1457, 844, 1457, 03119 1457, 1457, 1457, 844, 758, 1457, 1457, 1457, 1457, 1457, 03120 1457, 1457, 758, 1457, 1457, 1457, 758, 1457, 758, 1457, 03121 1457, 1457, 758, 758, 1457, 1457, 1457, 758, 1457, 1457, 03122 758, 669, 1457, 1457, 1457, 1457, 669, 1457, 1457, 1457, 03123 1457, 1457, 669, 1457, 669, 669, 1457, 669, 1457, 1457, 03124 1457, 1457, 669, 427, 1457, 1457, 1457, 1457, 427, 1457, 03125 1457, 1457, 1457, 1457, 427, 1457, 427, 427, 1457, 427, 03126 03127 1457, 1457, 1457, 1457, 427, 765, 765, 765, 765, 765, 03128 1457, 765, 765, 765, 765, 1457, 765, 765, 765, 765, 03129 765, 765, 765, 765, 765, 765, 765, 1457, 765, 765, 03130 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 03131 851, 851, 851, 851, 851, 851, 851, 851, 851, 851, 03132 851, 851, 851, 851, 851, 851, 851, 851, 851, 851, 03133 851, 851, 851, 851, 851, 851, 851, 851, 851, 851, 03134 851, 851, 851, 851, 851, 853, 853, 853, 853, 853, 03135 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 03136 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 03137 03138 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 03139 772, 1457, 1457, 1457, 1457, 772, 1457, 1457, 1457, 1457, 03140 1457, 772, 1457, 772, 772, 1457, 772, 1457, 1457, 1457, 03141 1457, 772, 579, 1457, 1457, 1457, 1457, 579, 1457, 1457, 03142 1457, 1457, 1457, 579, 1457, 579, 579, 1457, 579, 1457, 03143 1457, 1457, 1457, 579, 779, 1457, 1457, 1457, 1457, 779, 03144 1457, 1457, 779, 1457, 779, 779, 1457, 779, 779, 1457, 03145 779, 1457, 1457, 1457, 779, 779, 587, 1457, 1457, 1457, 03146 1457, 587, 1457, 1457, 587, 1457, 587, 587, 1457, 587, 03147 587, 1457, 587, 1457, 1457, 1457, 587, 587, 457, 1457, 03148 03149 1457, 1457, 1457, 1457, 1457, 1457, 457, 1457, 1457, 1457, 03150 457, 1457, 457, 1457, 1457, 1457, 457, 457, 1457, 1457, 03151 1457, 457, 1457, 1457, 457, 872, 1457, 872, 872, 872, 03152 872, 872, 1457, 872, 1457, 872, 872, 872, 872, 872, 03153 872, 872, 872, 1457, 872, 1457, 872, 872, 872, 1457, 03154 1457, 1457, 1457, 1457, 872, 872, 941, 1457, 941, 941, 03155 941, 941, 941, 941, 1457, 1457, 941, 941, 941, 941, 03156 941, 941, 941, 941, 1457, 941, 1457, 941, 941, 941, 03157 1457, 1457, 1457, 1457, 941, 1457, 941, 943, 1457, 1457, 03158 943, 1457, 943, 943, 943, 943, 943, 1457, 943, 943, 03159 03160 943, 943, 943, 943, 943, 943, 943, 943, 943, 943, 03161 943, 943, 943, 943, 1457, 1457, 1457, 1457, 1457, 943, 03162 943, 876, 1457, 876, 876, 876, 876, 876, 876, 1457, 03163 1457, 876, 876, 876, 876, 876, 876, 876, 876, 876, 03164 876, 1457, 876, 876, 876, 1457, 1457, 1457, 1457, 876, 03165 1457, 876, 945, 1457, 945, 945, 945, 945, 945, 945, 03166 1457, 1457, 945, 945, 945, 945, 945, 945, 945, 945, 03167 945, 945, 1457, 945, 945, 945, 1457, 1457, 1457, 1457, 03168 945, 1457, 945, 947, 1457, 947, 947, 947, 947, 947, 03169 947, 1457, 1457, 947, 947, 947, 947, 947, 947, 947, 03170 03171 947, 947, 947, 1457, 947, 947, 947, 1457, 1457, 1457, 03172 1457, 947, 1457, 947, 880, 880, 1457, 880, 880, 1457, 03173 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 03174 880, 880, 880, 880, 880, 880, 880, 880, 1457, 880, 03175 880, 880, 880, 880, 880, 880, 880, 880, 880, 881, 03176 881, 1457, 881, 881, 1457, 881, 881, 881, 881, 881, 03177 881, 881, 881, 881, 881, 881, 881, 881, 881, 881, 03178 881, 881, 881, 1457, 881, 881, 881, 881, 881, 881, 03179 881, 881, 881, 881, 949, 949, 1457, 949, 949, 1457, 03180 949, 949, 949, 949, 949, 949, 949, 949, 949, 949, 03181 03182 949, 949, 949, 949, 949, 949, 949, 949, 949, 949, 03183 949, 949, 949, 949, 949, 949, 949, 949, 949, 281, 03184 1457, 1457, 1457, 281, 281, 281, 1457, 1457, 1457, 281, 03185 281, 1457, 281, 281, 1457, 281, 281, 281, 281, 281, 03186 1457, 281, 281, 1457, 1457, 281, 281, 1457, 281, 1457, 03187 281, 1457, 1457, 281, 807, 807, 807, 807, 807, 1457, 03188 807, 807, 807, 807, 1457, 807, 807, 807, 807, 807, 03189 807, 807, 807, 807, 807, 807, 1457, 807, 807, 807, 03190 807, 807, 807, 807, 807, 807, 807, 807, 807, 889, 03191 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 03192 03193 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 03194 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 03195 889, 889, 889, 889, 891, 891, 891, 891, 891, 891, 03196 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 03197 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, 03198 891, 891, 891, 891, 891, 891, 891, 891, 891, 533, 03199 533, 1457, 533, 533, 533, 533, 533, 533, 533, 533, 03200 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 03201 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 03202 533, 533, 533, 533, 531, 531, 1457, 531, 531, 531, 03203 03204 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 03205 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 03206 531, 531, 531, 531, 531, 531, 531, 531, 531, 371, 03207 371, 1457, 371, 371, 371, 371, 1457, 371, 1457, 371, 03208 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 03209 371, 1457, 371, 371, 371, 1457, 371, 371, 1457, 371, 03210 371, 1457, 1457, 371, 245, 1457, 1457, 1457, 245, 245, 03211 1457, 1457, 1457, 1457, 245, 1457, 1457, 245, 245, 1457, 03212 245, 1457, 245, 245, 1457, 1457, 1457, 245, 1457, 1457, 03213 1457, 245, 1457, 1457, 1457, 245, 1457, 1457, 245, 844, 03214 03215 1457, 1457, 1457, 1457, 844, 1457, 1457, 1457, 1457, 1457, 03216 844, 1457, 844, 844, 1457, 844, 1457, 1457, 1457, 1457, 03217 844, 669, 1457, 1457, 1457, 1457, 669, 1457, 1457, 1457, 03218 1457, 1457, 669, 1457, 669, 669, 1457, 669, 1457, 1457, 03219 1457, 1457, 669, 427, 1457, 1457, 1457, 1457, 427, 1457, 03220 1457, 1457, 1457, 1457, 427, 1457, 427, 427, 1457, 427, 03221 1457, 1457, 1457, 1457, 427, 772, 1457, 1457, 1457, 1457, 03222 772, 1457, 1457, 1457, 1457, 1457, 772, 1457, 772, 772, 03223 1457, 772, 1457, 1457, 1457, 1457, 772, 579, 1457, 1457, 03224 1457, 1457, 579, 1457, 1457, 1457, 1457, 1457, 579, 1457, 03225 03226 579, 579, 1457, 579, 1457, 1457, 1457, 1457, 579, 990, 03227 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 03228 990, 990, 990, 990, 990, 990, 990, 990, 1457, 990, 03229 990, 990, 990, 990, 990, 990, 1457, 990, 990, 990, 03230 990, 990, 990, 990, 779, 1457, 1457, 1457, 1457, 779, 03231 1457, 1457, 779, 1457, 779, 779, 1457, 779, 779, 1457, 03232 779, 1457, 1457, 1457, 779, 779, 587, 1457, 1457, 1457, 03233 1457, 587, 1457, 1457, 587, 1457, 587, 587, 1457, 587, 03234 587, 1457, 587, 1457, 1457, 1457, 587, 587, 457, 1457, 03235 1457, 1457, 1457, 1457, 1457, 1457, 457, 1457, 1457, 1457, 03236 03237 457, 1457, 457, 1457, 1457, 1457, 457, 457, 1457, 1457, 03238 1457, 457, 1457, 1457, 457, 995, 1457, 995, 995, 995, 03239 995, 995, 995, 1457, 1457, 995, 995, 995, 995, 995, 03240 995, 995, 995, 995, 995, 1457, 995, 995, 995, 1457, 03241 1457, 1457, 1457, 995, 1457, 995, 943, 1457, 1457, 943, 03242 1457, 943, 943, 943, 943, 943, 1457, 943, 943, 943, 03243 943, 943, 943, 943, 943, 943, 943, 943, 943, 943, 03244 943, 943, 943, 1457, 1457, 1457, 1457, 1457, 943, 943, 03245 998, 1457, 998, 998, 998, 998, 998, 998, 1457, 1457, 03246 998, 998, 998, 998, 998, 998, 998, 998, 1457, 998, 03247 03248 1457, 998, 998, 998, 1457, 1457, 1457, 1457, 998, 1457, 03249 998, 876, 1457, 876, 876, 876, 876, 876, 876, 1457, 03250 1457, 876, 876, 876, 876, 876, 876, 876, 876, 876, 03251 876, 1457, 876, 876, 876, 1457, 1457, 1457, 1457, 876, 03252 1457, 876, 947, 1457, 947, 947, 947, 947, 947, 947, 03253 1457, 1457, 947, 947, 947, 947, 947, 947, 947, 947, 03254 947, 947, 1457, 947, 947, 947, 1457, 1457, 1457, 1457, 03255 947, 1457, 947, 1001, 1001, 1457, 1001, 1001, 1457, 1001, 03256 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 03257 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 03258 03259 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 949, 949, 03260 1457, 949, 949, 1457, 949, 949, 949, 949, 949, 949, 03261 949, 949, 949, 949, 949, 949, 949, 949, 949, 949, 03262 949, 949, 949, 949, 949, 949, 949, 949, 949, 949, 03263 949, 949, 949, 880, 880, 1457, 880, 880, 1457, 880, 03264 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 03265 880, 880, 880, 880, 880, 880, 880, 1457, 880, 880, 03266 880, 880, 880, 880, 880, 880, 880, 880, 281, 281, 03267 1457, 281, 281, 281, 281, 1457, 281, 281, 281, 281, 03268 1457, 281, 281, 281, 281, 281, 281, 281, 281, 1457, 03269 03270 281, 281, 281, 1457, 281, 281, 281, 281, 1457, 281, 03271 1457, 1457, 281, 533, 533, 1457, 533, 533, 533, 533, 03272 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 03273 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 03274 533, 533, 533, 533, 533, 533, 533, 533, 531, 531, 03275 1457, 531, 531, 531, 531, 531, 531, 531, 531, 531, 03276 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 03277 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 03278 531, 531, 531, 371, 371, 1457, 371, 371, 371, 371, 03279 1457, 371, 1457, 371, 371, 371, 371, 371, 371, 371, 03280 03281 371, 371, 371, 371, 371, 1457, 371, 371, 371, 1457, 03282 371, 371, 1457, 371, 371, 1457, 1457, 371, 245, 245, 03283 1457, 245, 245, 245, 1457, 1457, 1457, 1457, 245, 1457, 03284 1457, 245, 245, 1457, 245, 1457, 245, 245, 1457, 1457, 03285 245, 245, 1457, 1457, 1457, 245, 1457, 1457, 1457, 245, 03286 1457, 1457, 245, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 03287 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 03288 1048, 1048, 1457, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 03289 1457, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 844, 1457, 03290 1457, 1457, 1457, 844, 1457, 1457, 1457, 1457, 1457, 844, 03291 03292 1457, 844, 844, 1457, 844, 1457, 1457, 1457, 1457, 844, 03293 669, 1457, 1457, 1457, 1457, 669, 1457, 1457, 1457, 1457, 03294 1457, 669, 1457, 669, 669, 1457, 669, 1457, 1457, 1457, 03295 1457, 669, 427, 1457, 427, 427, 1457, 427, 1457, 427, 03296 427, 1457, 427, 1457, 427, 427, 427, 427, 427, 427, 03297 427, 427, 1457, 427, 427, 427, 1457, 1457, 427, 427, 03298 1457, 1457, 427, 1457, 1457, 427, 772, 1457, 1457, 1457, 03299 1457, 772, 1457, 1457, 1457, 1457, 1457, 772, 1457, 772, 03300 772, 1457, 772, 1457, 1457, 1457, 1457, 772, 579, 1457, 03301 1457, 1457, 1457, 579, 1457, 1457, 1457, 1457, 1457, 579, 03302 03303 1457, 579, 579, 1457, 579, 1457, 1457, 1457, 1457, 579, 03304 779, 1457, 1457, 1457, 1457, 779, 1457, 1457, 779, 1457, 03305 779, 779, 1457, 779, 779, 1457, 779, 1457, 1457, 1457, 03306 779, 779, 587, 1457, 1457, 1457, 1457, 587, 1457, 1457, 03307 587, 1457, 587, 587, 1457, 587, 587, 1457, 587, 1457, 03308 1457, 1457, 587, 587, 995, 1457, 995, 995, 995, 995, 03309 995, 995, 1457, 1457, 995, 995, 995, 995, 995, 995, 03310 995, 995, 995, 995, 1457, 995, 995, 995, 1457, 1457, 03311 1457, 1457, 995, 1457, 995, 711, 1457, 711, 711, 711, 03312 711, 711, 711, 1457, 1457, 711, 711, 711, 711, 711, 03313 03314 711, 711, 711, 1457, 711, 1457, 711, 711, 711, 1457, 03315 1457, 1457, 1457, 711, 1457, 711, 998, 1457, 998, 998, 03316 998, 998, 998, 998, 1457, 1457, 998, 998, 998, 998, 03317 998, 998, 998, 998, 1457, 998, 1457, 998, 998, 998, 03318 1457, 1457, 1457, 1457, 998, 1457, 998, 945, 1457, 945, 03319 945, 945, 945, 945, 945, 1457, 1457, 945, 945, 945, 03320 945, 945, 945, 945, 945, 945, 945, 1457, 945, 945, 03321 945, 1457, 1457, 1457, 1457, 945, 1457, 945, 876, 1457, 03322 876, 876, 876, 876, 876, 876, 1457, 1457, 876, 876, 03323 876, 876, 876, 876, 876, 876, 876, 876, 1457, 876, 03324 03325 876, 876, 1457, 1457, 1457, 1457, 876, 1457, 876, 1001, 03326 1001, 1457, 1001, 1001, 1457, 1001, 1001, 1001, 1001, 1001, 03327 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 03328 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 03329 1001, 1001, 1001, 1001, 880, 880, 1457, 880, 880, 1457, 03330 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 03331 880, 880, 880, 880, 880, 880, 880, 880, 1457, 880, 03332 880, 880, 880, 880, 880, 880, 880, 880, 880, 451, 03333 1457, 1457, 1457, 1457, 1457, 1457, 1457, 451, 1457, 1457, 03334 451, 451, 1457, 451, 1457, 1457, 1457, 451, 451, 1457, 03335 03336 451, 1457, 451, 1457, 1457, 451, 262, 1457, 1457, 1457, 03337 262, 262, 1457, 1457, 1457, 1457, 262, 262, 1457, 262, 03338 262, 1457, 262, 262, 262, 262, 1457, 1457, 1457, 262, 03339 1457, 1457, 262, 262, 1457, 1457, 1457, 262, 1457, 1457, 03340 262, 265, 1457, 1457, 1457, 265, 265, 1457, 1457, 1457, 03341 1457, 265, 265, 1457, 265, 265, 1457, 265, 265, 265, 03342 265, 1457, 1457, 1457, 265, 265, 1457, 265, 265, 1457, 03343 265, 1457, 265, 1457, 1457, 265, 439, 1457, 1457, 1457, 03344 439, 439, 1457, 1457, 1457, 1457, 439, 439, 1457, 439, 03345 439, 1457, 439, 1457, 439, 439, 1457, 1457, 1457, 439, 03346 03347 1457, 1457, 1457, 439, 1457, 1457, 1457, 439, 1457, 1457, 03348 439, 533, 533, 1457, 533, 533, 533, 533, 533, 533, 03349 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 03350 533, 533, 533, 533, 533, 533, 533, 533, 533, 533, 03351 533, 533, 533, 533, 533, 533, 531, 531, 1457, 531, 03352 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 03353 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 03354 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 03355 531, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 03356 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 03357 03358 1457, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1457, 1146, 03359 1146, 1146, 1146, 1146, 1146, 1146, 1151, 1151, 1151, 1151, 03360 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 03361 1151, 1151, 1151, 1151, 1151, 1457, 1151, 1151, 1151, 1151, 03362 1151, 1151, 1151, 1457, 1151, 1151, 1151, 1151, 1151, 1151, 03363 1151, 844, 1457, 1457, 1457, 1457, 844, 1457, 1457, 1457, 03364 1457, 1457, 844, 1457, 844, 844, 1457, 844, 1457, 1457, 03365 1457, 1457, 844, 669, 1457, 1457, 1457, 1457, 669, 1457, 03366 1457, 1457, 1457, 1457, 669, 1457, 669, 669, 1457, 669, 03367 1457, 1457, 1457, 1457, 669, 1154, 1154, 1457, 1154, 1154, 03368 03369 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 03370 1154, 1154, 1457, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 03371 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 03372 563, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 563, 1457, 03373 563, 1457, 563, 1457, 563, 1457, 1457, 1457, 563, 563, 03374 1457, 563, 563, 563, 1457, 1457, 563, 772, 1457, 1457, 03375 1457, 1457, 772, 1457, 1457, 1457, 1457, 1457, 772, 1457, 03376 772, 772, 1457, 772, 1457, 1457, 1457, 1457, 772, 579, 03377 1457, 579, 579, 1457, 579, 1457, 579, 579, 1457, 579, 03378 1457, 579, 579, 579, 579, 579, 579, 579, 579, 1457, 03379 03380 579, 579, 579, 1457, 1457, 579, 579, 1457, 1457, 579, 03381 1457, 1457, 579, 779, 1457, 1457, 1457, 1457, 779, 1457, 03382 1457, 779, 1457, 779, 779, 1457, 779, 779, 1457, 779, 03383 1457, 1457, 1457, 779, 779, 587, 1457, 587, 587, 1457, 03384 587, 1457, 587, 587, 1457, 587, 1457, 587, 587, 587, 03385 587, 587, 587, 587, 587, 1457, 587, 587, 587, 1457, 03386 587, 587, 587, 1457, 1457, 587, 1457, 1457, 587, 995, 03387 1457, 995, 995, 995, 995, 995, 995, 1457, 1457, 995, 03388 995, 995, 995, 995, 995, 995, 995, 995, 995, 1457, 03389 995, 995, 995, 1457, 1457, 1457, 1457, 995, 1457, 995, 03390 03391 876, 1457, 876, 876, 876, 876, 876, 876, 1457, 1457, 03392 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, 03393 1457, 876, 876, 876, 1457, 1457, 1457, 1457, 876, 1457, 03394 876, 880, 880, 1457, 880, 880, 1457, 880, 880, 880, 03395 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, 03396 880, 880, 880, 880, 880, 1457, 880, 880, 880, 880, 03397 880, 880, 880, 880, 880, 880, 1196, 1457, 1457, 1457, 03398 1457, 1457, 1457, 1457, 1196, 1457, 1457, 1196, 1196, 1457, 03399 1196, 1457, 1457, 1457, 1196, 1196, 1457, 1196, 1457, 1196, 03400 1457, 1457, 1196, 262, 1457, 1457, 1457, 262, 262, 1457, 03401 03402 1457, 1457, 1457, 262, 262, 1457, 262, 262, 1457, 262, 03403 262, 262, 262, 1457, 1457, 1457, 262, 1457, 1457, 262, 03404 262, 1457, 1457, 1457, 262, 1457, 1457, 262, 265, 1457, 03405 1457, 1457, 265, 265, 1457, 1457, 1457, 1457, 265, 265, 03406 1457, 265, 265, 1457, 265, 265, 265, 265, 1457, 1457, 03407 1457, 265, 1457, 1457, 265, 265, 1457, 265, 1457, 265, 03408 1457, 1457, 265, 1101, 1457, 1457, 1457, 1457, 1457, 1457, 03409 1457, 1101, 1457, 1457, 1457, 1101, 1457, 1101, 1457, 1457, 03410 1457, 1101, 1101, 1457, 1457, 1457, 1101, 1457, 1457, 1101, 03411 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 03412 03413 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1457, 03414 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1457, 1232, 1232, 03415 1232, 1232, 1232, 1232, 1232, 1238, 1238, 1457, 1457, 1238, 03416 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 03417 1457, 1238, 1457, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 03418 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 03419 1240, 1240, 1457, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 03420 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1457, 1240, 1240, 03421 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 03422 1240, 1240, 1240, 1240, 1240, 1265, 1457, 1457, 1457, 1457, 03423 03424 1457, 1457, 1457, 1265, 1457, 1457, 1265, 1265, 1457, 1265, 03425 1457, 1457, 1457, 1265, 1265, 1457, 1265, 1457, 1265, 1457, 03426 1457, 1265, 687, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 03427 687, 1457, 687, 1457, 687, 1457, 687, 1457, 1457, 1457, 03428 687, 687, 1457, 687, 687, 687, 1457, 1457, 687, 263, 03429 1457, 1457, 263, 1457, 263, 263, 1457, 263, 1457, 1457, 03430 1457, 263, 1457, 1457, 263, 263, 758, 1457, 1457, 1457, 03431 1457, 1457, 1457, 1457, 758, 1457, 758, 1457, 758, 1457, 03432 758, 1457, 1457, 1457, 758, 758, 1457, 758, 758, 758, 03433 1457, 1457, 758, 1305, 1457, 1457, 1457, 1457, 1457, 1457, 03434 03435 1457, 1305, 1457, 1457, 1305, 1305, 1457, 1305, 1457, 1457, 03436 1457, 1305, 1305, 1457, 1305, 1457, 1305, 1457, 1457, 1305, 03437 1309, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1309, 1457, 03438 1457, 1309, 1309, 1457, 1309, 1457, 1457, 1457, 1309, 1309, 03439 1457, 1309, 1457, 1309, 1457, 1457, 1309, 990, 990, 990, 03440 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 03441 990, 990, 990, 990, 990, 990, 1457, 990, 990, 990, 03442 990, 990, 990, 990, 1457, 990, 990, 990, 990, 990, 03443 990, 990, 711, 1457, 711, 711, 711, 711, 711, 711, 03444 1457, 1457, 711, 711, 711, 711, 711, 711, 711, 711, 03445 03446 1457, 711, 1457, 711, 711, 711, 1457, 1457, 1457, 1457, 03447 711, 1457, 711, 943, 1457, 1457, 943, 1457, 943, 943, 03448 943, 943, 943, 1457, 943, 943, 943, 943, 943, 943, 03449 943, 943, 943, 943, 943, 943, 943, 943, 943, 943, 03450 1457, 1457, 1457, 1457, 1457, 943, 943, 881, 881, 1457, 03451 881, 881, 1457, 881, 881, 881, 881, 881, 881, 881, 03452 881, 881, 881, 881, 881, 881, 881, 881, 881, 881, 03453 881, 1457, 881, 881, 881, 881, 881, 881, 881, 881, 03454 881, 881, 1412, 1457, 1457, 1412, 1457, 1412, 1412, 1412, 03455 1412, 1412, 1457, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 03456 03457 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1457, 03458 1457, 1457, 1457, 1457, 1412, 1412, 67, 1457, 1457, 1457, 03459 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 03460 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 03461 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 03462 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 03463 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 03464 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 03465 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 03466 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457 03467 03468 } ; 03469 03470 static yyconst flex_int16_t yy_chk[20999] = 03471 { 0, 03472 0, 0, 1, 72, 72, 72, 72, 1, 1, 1, 03473 1, 2, 74, 74, 74, 74, 2, 2, 2, 2, 03474 0, 85, 383, 1, 0, 1, 4, 1, 4, 4, 03475 106, 383, 2, 106, 2, 85, 2, 112, 123, 4, 03476 112, 123, 4, 4, 4, 73, 73, 73, 73, 431, 03477 1, 93, 181, 93, 93, 181, 609, 181, 73, 2, 03478 431, 73, 73, 73, 90, 91, 92, 181, 76, 91, 03479 269, 204, 92, 90, 204, 92, 467, 93, 91, 287, 03480 1, 76, 132, 269, 132, 132, 287, 467, 609, 2, 03481 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 03482 03483 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 03484 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 03485 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 03486 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 03487 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 03488 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 03489 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 03490 3, 5, 135, 600, 135, 135, 5, 5, 5, 5, 03491 600, 217, 6, 217, 217, 289, 5, 6, 6, 6, 03492 6, 289, 5, 21, 5, 135, 5, 6, 21, 21, 03493 03494 21, 21, 463, 6, 22, 6, 189, 6, 189, 22, 03495 22, 22, 22, 278, 21, 23, 21, 463, 21, 5, 03496 23, 23, 23, 23, 286, 22, 278, 22, 286, 22, 03497 6, 98, 288, 98, 98, 429, 23, 189, 23, 465, 03498 23, 21, 288, 235, 98, 235, 235, 98, 98, 5, 03499 492, 24, 22, 291, 465, 291, 24, 24, 24, 24, 03500 6, 7, 7, 23, 7, 429, 7, 7, 7, 7, 03501 7, 21, 24, 25, 24, 613, 24, 282, 25, 25, 03502 25, 25, 22, 7, 26, 7, 282, 7, 282, 26, 03503 26, 26, 26, 23, 25, 27, 25, 492, 25, 24, 03504 03505 27, 27, 27, 27, 366, 26, 366, 26, 613, 26, 03506 7, 144, 144, 144, 144, 426, 27, 478, 27, 308, 03507 27, 25, 308, 145, 145, 145, 145, 310, 426, 24, 03508 310, 28, 26, 144, 481, 366, 28, 28, 28, 28, 03509 7, 8, 8, 27, 8, 145, 8, 8, 8, 8, 03510 8, 25, 28, 29, 28, 1264, 28, 478, 29, 29, 03511 29, 29, 26, 8, 481, 8, 407, 8, 183, 183, 03512 183, 183, 320, 27, 29, 320, 29, 30, 29, 28, 03513 407, 595, 30, 30, 30, 30, 213, 31, 213, 213, 03514 8, 213, 31, 31, 31, 31, 385, 595, 30, 385, 03515 03516 30, 29, 30, 178, 178, 178, 178, 466, 31, 28, 03517 31, 466, 31, 100, 100, 100, 100, 1264, 178, 683, 03518 8, 9, 9, 9, 9, 30, 9, 9, 9, 9, 03519 9, 29, 9, 9, 460, 31, 9, 461, 9, 100, 03520 461, 9, 9, 9, 461, 9, 9, 9, 179, 179, 03521 179, 179, 468, 460, 461, 30, 139, 139, 139, 139, 03522 488, 188, 188, 179, 188, 31, 468, 32, 464, 9, 03523 9, 9, 32, 32, 32, 32, 611, 683, 96, 96, 03524 96, 96, 139, 180, 180, 180, 180, 464, 32, 488, 03525 32, 96, 32, 188, 96, 96, 96, 9, 180, 9, 03526 03527 9, 10, 10, 10, 10, 139, 10, 10, 10, 10, 03528 10, 611, 10, 10, 472, 32, 10, 290, 10, 290, 03529 290, 10, 10, 10, 428, 10, 10, 10, 472, 186, 03530 186, 186, 186, 428, 475, 428, 140, 140, 140, 140, 03531 596, 190, 190, 290, 190, 32, 596, 33, 186, 10, 03532 10, 10, 33, 33, 33, 33, 494, 482, 97, 97, 03533 97, 97, 140, 1594, 197, 197, 197, 197, 33, 197, 03534 33, 97, 33, 190, 97, 97, 97, 10, 475, 10, 03535 10, 11, 11, 11, 11, 140, 11, 11, 11, 11, 03536 11, 469, 11, 11, 482, 33, 11, 325, 11, 325, 03537 03538 325, 11, 11, 11, 494, 11, 11, 11, 191, 191, 03539 469, 191, 198, 198, 198, 198, 480, 198, 216, 216, 03540 216, 216, 493, 365, 365, 33, 365, 34, 498, 11, 03541 11, 11, 34, 34, 34, 34, 194, 700, 194, 194, 03542 191, 578, 195, 473, 195, 195, 473, 194, 34, 1565, 03543 34, 700, 34, 195, 578, 365, 480, 11, 498, 11, 03544 11, 12, 12, 12, 12, 483, 12, 12, 12, 12, 03545 12, 493, 12, 12, 487, 34, 12, 329, 12, 329, 03546 329, 12, 12, 12, 202, 12, 12, 12, 230, 202, 03547 250, 194, 250, 250, 202, 202, 202, 195, 202, 246, 03548 03549 246, 246, 246, 250, 483, 34, 250, 250, 194, 12, 03550 12, 12, 567, 487, 195, 230, 256, 230, 230, 598, 03551 594, 256, 230, 567, 580, 230, 230, 256, 598, 230, 03552 256, 230, 256, 580, 230, 580, 230, 12, 594, 12, 03553 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 03554 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 03555 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 03556 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 03557 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 03558 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 03559 03560 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 03561 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 03562 13, 13, 15, 15, 15, 15, 599, 597, 15, 15, 03563 15, 15, 599, 479, 39, 249, 249, 249, 249, 39, 03564 39, 39, 39, 597, 15, 706, 15, 326, 15, 326, 03565 326, 390, 39, 390, 390, 39, 390, 39, 40, 39, 03566 528, 602, 528, 40, 40, 40, 40, 43, 43, 484, 03567 326, 15, 43, 43, 43, 43, 40, 479, 706, 40, 03568 602, 40, 39, 40, 252, 252, 252, 252, 43, 476, 03569 43, 528, 43, 251, 251, 251, 251, 581, 612, 251, 03570 03571 1550, 15, 16, 16, 16, 16, 40, 607, 16, 16, 03572 16, 16, 39, 484, 565, 43, 605, 266, 476, 266, 03573 266, 604, 476, 614, 16, 604, 16, 581, 16, 266, 03574 612, 476, 44, 44, 615, 605, 40, 44, 44, 44, 03575 44, 296, 296, 296, 296, 43, 272, 272, 272, 272, 03576 607, 16, 614, 44, 55, 44, 617, 44, 565, 55, 03577 55, 55, 55, 704, 272, 295, 295, 295, 295, 601, 03578 272, 295, 601, 367, 367, 55, 367, 55, 615, 55, 03579 44, 16, 17, 17, 17, 17, 617, 1539, 17, 17, 03580 17, 17, 302, 302, 302, 302, 440, 440, 247, 247, 03581 03582 247, 247, 55, 603, 17, 367, 17, 603, 17, 704, 03583 44, 247, 56, 1538, 247, 247, 247, 56, 56, 56, 03584 56, 603, 368, 368, 280, 368, 280, 280, 440, 280, 03585 684, 17, 55, 56, 57, 56, 280, 56, 591, 57, 03586 57, 57, 57, 303, 303, 303, 303, 591, 788, 591, 03587 298, 699, 298, 298, 368, 57, 645, 57, 699, 57, 03588 56, 17, 18, 18, 18, 18, 298, 298, 18, 18, 03589 18, 18, 355, 355, 355, 355, 280, 684, 248, 248, 03590 248, 248, 57, 608, 18, 788, 18, 355, 18, 280, 03591 56, 248, 58, 610, 248, 248, 248, 58, 58, 58, 03592 03593 58, 300, 300, 300, 300, 628, 327, 300, 327, 327, 03594 645, 18, 57, 58, 63, 58, 628, 58, 300, 63, 03595 63, 63, 63, 328, 608, 328, 328, 670, 705, 327, 03596 356, 356, 356, 356, 610, 63, 670, 63, 670, 63, 03597 58, 18, 19, 19, 19, 19, 328, 257, 19, 19, 03598 19, 19, 257, 86, 86, 86, 86, 394, 257, 394, 03599 394, 257, 63, 257, 19, 1100, 19, 1100, 19, 86, 03600 58, 86, 64, 86, 705, 866, 668, 64, 64, 64, 03601 64, 360, 360, 360, 360, 293, 293, 293, 293, 668, 03602 618, 19, 63, 64, 866, 64, 86, 64, 293, 702, 03603 03604 710, 293, 293, 293, 395, 86, 395, 395, 257, 315, 03605 315, 315, 315, 702, 86, 332, 332, 332, 332, 86, 03606 64, 19, 20, 20, 20, 20, 86, 315, 20, 20, 03607 20, 20, 358, 315, 618, 358, 294, 358, 294, 294, 03608 411, 332, 411, 411, 20, 697, 20, 358, 20, 294, 03609 64, 710, 294, 294, 81, 393, 393, 393, 393, 81, 03610 81, 707, 736, 1534, 332, 81, 697, 299, 81, 299, 03611 299, 20, 81, 81, 305, 629, 305, 305, 81, 646, 03612 299, 81, 624, 299, 299, 1263, 412, 305, 412, 412, 03613 305, 305, 333, 333, 333, 333, 119, 119, 119, 119, 03614 03615 707, 20, 35, 35, 35, 35, 81, 35, 35, 35, 03616 35, 35, 119, 736, 119, 624, 119, 35, 333, 629, 03617 129, 129, 129, 129, 35, 708, 35, 513, 35, 513, 03618 513, 624, 81, 646, 81, 671, 129, 1263, 129, 119, 03619 129, 333, 336, 336, 336, 336, 357, 357, 357, 357, 03620 689, 35, 211, 211, 211, 211, 337, 337, 337, 337, 03621 783, 357, 119, 129, 336, 671, 709, 708, 211, 119, 03622 211, 783, 211, 363, 363, 363, 363, 372, 337, 372, 03623 372, 35, 36, 36, 36, 36, 129, 36, 36, 36, 03624 36, 36, 363, 129, 689, 211, 231, 36, 369, 369, 03625 03626 231, 369, 231, 231, 36, 709, 36, 231, 36, 1528, 03627 231, 231, 378, 485, 231, 753, 231, 378, 211, 231, 03628 701, 231, 378, 378, 378, 211, 378, 698, 1524, 753, 03629 369, 36, 372, 376, 376, 376, 376, 701, 376, 784, 03630 382, 418, 418, 418, 418, 382, 784, 1521, 698, 372, 03631 382, 382, 382, 485, 382, 421, 421, 421, 421, 485, 03632 485, 36, 37, 37, 37, 37, 37, 37, 37, 37, 03633 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 03634 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 03635 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 03636 03637 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 03638 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 03639 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 03640 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 03641 37, 37, 37, 41, 41, 41, 41, 41, 41, 41, 03642 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 03643 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 03644 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 03645 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 03646 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 03647 03648 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 03649 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 03650 41, 41, 41, 41, 45, 45, 45, 45, 711, 786, 03651 45, 45, 45, 45, 865, 735, 760, 419, 262, 419, 03652 419, 616, 790, 262, 262, 786, 45, 1500, 45, 262, 03653 45, 865, 262, 419, 419, 868, 262, 262, 422, 422, 03654 422, 422, 262, 267, 371, 262, 371, 371, 267, 267, 03655 1192, 616, 787, 45, 267, 371, 1192, 267, 267, 787, 03656 760, 790, 267, 374, 616, 374, 374, 267, 735, 438, 03657 262, 438, 438, 711, 374, 526, 526, 868, 526, 1496, 03658 03659 45, 438, 45, 45, 46, 46, 46, 46, 486, 427, 03660 46, 46, 46, 46, 427, 267, 262, 789, 262, 371, 03661 427, 785, 965, 427, 1142, 427, 46, 526, 46, 424, 03662 46, 424, 424, 792, 869, 785, 371, 486, 374, 867, 03663 486, 267, 424, 267, 486, 424, 424, 1485, 867, 374, 03664 789, 449, 486, 46, 486, 374, 449, 442, 442, 442, 03665 442, 806, 449, 458, 1009, 449, 792, 449, 458, 1142, 03666 1395, 965, 806, 1395, 458, 442, 1009, 458, 869, 458, 03667 46, 442, 46, 46, 47, 47, 47, 47, 47, 47, 03668 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 03669 03670 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 03671 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 03672 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 03673 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 03674 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 03675 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 03676 47, 47, 47, 47, 47, 49, 49, 49, 49, 1397, 03677 49, 49, 49, 49, 49, 1397, 49, 49, 527, 527, 03678 49, 527, 49, 430, 905, 49, 49, 49, 430, 49, 03679 49, 49, 794, 870, 430, 938, 791, 430, 824, 430, 03680 03681 444, 444, 444, 444, 470, 906, 375, 872, 375, 375, 03682 527, 938, 1455, 49, 49, 49, 450, 375, 444, 470, 03683 452, 450, 452, 452, 444, 470, 470, 450, 870, 1175, 03684 450, 1175, 450, 770, 430, 770, 770, 791, 825, 939, 03685 1169, 49, 905, 49, 49, 50, 50, 50, 50, 1034, 03686 50, 50, 50, 50, 50, 824, 50, 50, 794, 1454, 03687 50, 375, 50, 906, 1170, 50, 50, 50, 462, 50, 03688 50, 50, 375, 872, 462, 452, 462, 450, 375, 825, 03689 939, 770, 462, 1278, 1453, 532, 1169, 532, 532, 462, 03690 1278, 453, 452, 50, 50, 50, 453, 532, 454, 453, 03691 03692 1034, 453, 453, 454, 1450, 453, 454, 453, 454, 454, 03693 1170, 453, 454, 903, 454, 903, 903, 855, 454, 855, 03694 855, 50, 477, 50, 50, 51, 51, 51, 51, 51, 03695 51, 51, 51, 51, 51, 51, 51, 1255, 1449, 51, 03696 532, 51, 915, 1052, 915, 915, 1053, 51, 51, 51, 03697 51, 51, 51, 996, 477, 1052, 477, 532, 1053, 454, 03698 471, 477, 996, 471, 1448, 855, 471, 1348, 477, 499, 03699 471, 499, 499, 561, 51, 51, 51, 51, 561, 471, 03700 1167, 471, 499, 1255, 561, 499, 499, 561, 1193, 561, 03701 681, 681, 681, 681, 541, 681, 541, 541, 1193, 1363, 03702 03703 681, 1253, 51, 51, 51, 51, 52, 52, 52, 52, 03704 52, 52, 52, 52, 52, 52, 52, 52, 996, 1167, 03705 52, 500, 52, 500, 500, 1010, 1348, 1010, 52, 52, 03706 52, 52, 52, 52, 500, 1256, 1446, 500, 500, 1010, 03707 1253, 505, 505, 505, 505, 507, 507, 507, 507, 541, 03708 535, 1311, 535, 535, 1386, 52, 52, 52, 52, 505, 03709 1276, 535, 564, 507, 1363, 505, 541, 564, 538, 507, 03710 538, 538, 934, 564, 934, 934, 564, 1276, 564, 538, 03711 1261, 1256, 1261, 52, 52, 52, 52, 53, 53, 53, 03712 53, 1056, 53, 53, 53, 53, 53, 1311, 53, 53, 03713 03714 1386, 1444, 53, 1056, 53, 535, 1019, 53, 53, 53, 03715 562, 53, 53, 53, 560, 562, 560, 560, 1019, 1019, 03716 1060, 562, 535, 538, 562, 1396, 562, 560, 1396, 1357, 03717 560, 560, 1060, 538, 1441, 53, 53, 53, 566, 539, 03718 538, 539, 539, 566, 1357, 962, 579, 962, 962, 566, 03719 539, 579, 566, 53, 566, 1429, 969, 579, 969, 969, 03720 579, 1429, 579, 53, 1319, 53, 53, 54, 54, 54, 03721 54, 562, 54, 54, 54, 54, 54, 1319, 54, 54, 03722 1430, 1439, 54, 973, 54, 973, 973, 54, 54, 54, 03723 1430, 54, 54, 54, 539, 574, 574, 574, 574, 1277, 03724 03725 566, 1277, 539, 1438, 721, 721, 721, 721, 1054, 721, 03726 1054, 539, 1062, 574, 721, 54, 54, 54, 574, 574, 03727 587, 593, 1054, 1437, 1062, 587, 593, 1322, 587, 1322, 03728 587, 587, 593, 54, 587, 593, 587, 593, 1456, 977, 03729 587, 977, 977, 54, 1456, 54, 54, 59, 59, 59, 03730 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 03731 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 03732 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 03733 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 03734 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 03735 03736 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 03737 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 03738 59, 59, 59, 59, 59, 59, 59, 59, 61, 61, 03739 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 03740 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 03741 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 03742 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 03743 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 03744 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 03745 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 03746 03747 61, 61, 61, 61, 61, 61, 61, 61, 61, 65, 03748 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 03749 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 03750 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 03751 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 03752 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 03753 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 03754 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 03755 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 03756 75, 1057, 75, 75, 1057, 75, 75, 75, 75, 75, 03757 03758 1497, 75, 75, 1057, 1414, 75, 1414, 75, 582, 1497, 03759 75, 75, 75, 582, 75, 75, 75, 1484, 583, 582, 03760 583, 583, 582, 964, 582, 964, 964, 1435, 1452, 586, 03761 1452, 586, 586, 1484, 586, 964, 1433, 669, 75, 75, 03762 75, 586, 669, 644, 588, 644, 644, 1351, 669, 588, 03763 1063, 669, 588, 669, 588, 588, 672, 1431, 588, 582, 03764 588, 672, 1063, 1063, 588, 1065, 75, 672, 75, 82, 03765 672, 1428, 672, 583, 82, 82, 651, 1065, 651, 651, 03766 82, 586, 1423, 82, 82, 1084, 1351, 82, 82, 771, 03767 583, 771, 771, 82, 586, 588, 82, 1084, 644, 630, 03768 03769 630, 630, 630, 649, 1066, 649, 649, 672, 765, 765, 03770 765, 765, 1086, 1426, 649, 644, 1066, 630, 1112, 82, 03771 1112, 82, 630, 630, 1086, 650, 765, 650, 650, 675, 03772 685, 651, 765, 1112, 675, 685, 650, 771, 1422, 1421, 03773 675, 685, 1420, 675, 685, 675, 685, 82, 651, 82, 03774 87, 987, 1426, 987, 987, 87, 87, 87, 649, 771, 03775 1419, 87, 87, 1417, 87, 87, 1415, 87, 87, 87, 03776 1066, 87, 649, 87, 87, 649, 675, 87, 650, 1411, 03777 650, 679, 679, 679, 679, 680, 680, 680, 680, 793, 03778 1515, 793, 793, 1502, 1410, 1502, 686, 650, 1515, 679, 03779 03780 87, 686, 87, 680, 679, 679, 688, 686, 680, 680, 03781 686, 688, 686, 690, 1279, 1409, 1407, 688, 690, 1502, 03782 688, 1279, 688, 1025, 690, 1025, 1025, 690, 87, 690, 03783 87, 88, 88, 88, 88, 1406, 1026, 793, 1026, 1026, 03784 719, 719, 719, 719, 1541, 693, 1541, 88, 1089, 88, 03785 693, 88, 1541, 693, 793, 693, 693, 686, 719, 693, 03786 1089, 693, 703, 719, 719, 693, 909, 703, 909, 909, 03787 1090, 1405, 1404, 703, 88, 690, 703, 88, 703, 694, 03788 756, 1090, 1090, 88, 694, 756, 1400, 694, 1399, 694, 03789 694, 756, 88, 694, 756, 694, 756, 88, 1038, 694, 03790 03791 1038, 1038, 1059, 1390, 88, 89, 1033, 1059, 1033, 1033, 03792 89, 89, 89, 1389, 1059, 1059, 89, 89, 1033, 89, 03793 89, 909, 89, 89, 89, 695, 89, 1442, 89, 89, 03794 695, 1061, 89, 695, 1442, 695, 695, 1388, 909, 695, 03795 694, 695, 1061, 1061, 1061, 695, 720, 720, 720, 720, 03796 856, 1387, 856, 856, 1385, 89, 1044, 89, 1044, 1044, 03797 739, 757, 739, 739, 720, 1384, 757, 89, 759, 720, 03798 720, 739, 757, 759, 1061, 757, 89, 757, 740, 759, 03799 740, 740, 759, 89, 759, 89, 95, 695, 1443, 740, 03800 1091, 95, 95, 761, 1383, 1443, 1087, 95, 761, 1087, 03801 03802 95, 95, 1091, 95, 761, 95, 95, 761, 1087, 761, 03803 95, 856, 762, 763, 1483, 739, 856, 762, 763, 1092, 03804 1382, 1483, 757, 762, 763, 1374, 762, 763, 762, 763, 03805 739, 1092, 739, 740, 766, 766, 766, 766, 95, 766, 03806 772, 1102, 1373, 1372, 766, 772, 1371, 1133, 740, 1156, 03807 740, 772, 1369, 1102, 772, 761, 772, 1367, 766, 1133, 03808 944, 1156, 944, 944, 95, 1356, 95, 99, 99, 99, 03809 99, 99, 99, 99, 99, 1353, 1157, 763, 99, 774, 03810 1352, 99, 99, 1205, 774, 99, 99, 776, 1157, 1205, 03811 774, 99, 776, 774, 99, 774, 1205, 1116, 776, 1116, 03812 03813 779, 776, 1347, 776, 972, 779, 972, 972, 779, 1367, 03814 779, 779, 1116, 780, 779, 944, 779, 99, 780, 99, 03815 779, 780, 1367, 780, 780, 1346, 972, 780, 1160, 780, 03816 774, 1088, 944, 780, 776, 828, 1088, 828, 828, 1039, 03817 1160, 1039, 1039, 1088, 1088, 99, 828, 99, 114, 1344, 03818 114, 114, 1343, 114, 114, 114, 114, 114, 1552, 114, 03819 114, 1039, 1341, 114, 780, 114, 1552, 1327, 114, 114, 03820 114, 781, 114, 114, 114, 1071, 781, 1071, 1071, 781, 03821 1326, 781, 781, 1325, 1323, 781, 991, 781, 991, 991, 03822 828, 781, 807, 807, 807, 807, 114, 114, 114, 808, 03823 03824 808, 808, 808, 928, 808, 928, 928, 828, 1095, 808, 03825 807, 829, 1318, 829, 829, 1317, 807, 1158, 781, 1158, 03826 1095, 1315, 829, 808, 114, 1161, 114, 254, 1161, 254, 03827 254, 1158, 254, 254, 254, 254, 254, 1161, 254, 254, 03828 1314, 991, 254, 1163, 254, 844, 1567, 254, 254, 254, 03829 844, 254, 254, 254, 1567, 1163, 844, 846, 991, 844, 03830 1549, 844, 846, 1330, 928, 1330, 829, 1549, 846, 928, 03831 1164, 846, 829, 846, 1095, 254, 254, 254, 1330, 848, 03832 849, 1164, 1164, 829, 848, 849, 850, 850, 850, 850, 03833 848, 849, 1309, 848, 849, 848, 849, 1165, 852, 852, 03834 03835 852, 852, 1162, 254, 850, 254, 265, 1162, 846, 1165, 03836 850, 265, 265, 1305, 1162, 1162, 852, 265, 858, 1570, 03837 265, 265, 852, 858, 265, 265, 848, 1570, 1303, 858, 03838 265, 859, 858, 265, 858, 1023, 859, 1023, 1023, 860, 03839 849, 1571, 859, 1571, 860, 859, 1023, 859, 1168, 1068, 03840 860, 1068, 1068, 860, 863, 860, 265, 1023, 265, 863, 03841 1168, 864, 863, 1300, 863, 863, 864, 1571, 863, 864, 03842 863, 864, 864, 1284, 863, 864, 1101, 864, 1176, 1101, 03843 858, 864, 1283, 1177, 265, 1101, 265, 281, 1280, 1101, 03844 1176, 1101, 281, 281, 281, 1177, 1101, 1242, 281, 281, 03845 03846 1101, 281, 281, 860, 281, 281, 281, 1273, 281, 1242, 03847 281, 281, 1272, 1269, 281, 1068, 863, 888, 888, 888, 03848 888, 910, 1243, 910, 910, 864, 890, 890, 890, 890, 03849 1267, 925, 910, 1553, 1243, 888, 925, 281, 932, 281, 03850 1553, 888, 925, 932, 890, 925, 1115, 925, 1166, 932, 03851 890, 1115, 932, 1115, 932, 1265, 1260, 1115, 933, 983, 03852 1166, 1166, 1115, 933, 983, 281, 1246, 281, 283, 933, 03853 983, 283, 933, 983, 933, 983, 910, 283, 1246, 1188, 03854 1259, 283, 1188, 283, 910, 932, 1258, 283, 283, 1245, 03855 1240, 1188, 283, 910, 1188, 283, 283, 283, 283, 283, 03856 03857 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 03858 283, 283, 283, 283, 283, 283, 1239, 1238, 933, 983, 03859 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 03860 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 03861 283, 283, 283, 283, 285, 966, 1607, 966, 966, 285, 03862 285, 285, 1244, 1607, 1244, 285, 285, 966, 285, 285, 03863 1235, 285, 285, 285, 924, 285, 1244, 285, 285, 924, 03864 1135, 285, 1135, 1135, 926, 924, 1230, 1249, 924, 926, 03865 924, 927, 1228, 1540, 1540, 926, 927, 1226, 926, 1249, 03866 926, 1540, 927, 1585, 285, 927, 285, 927, 1225, 936, 03867 03868 966, 1585, 1196, 1136, 936, 1136, 1136, 936, 285, 936, 03869 936, 1247, 1195, 936, 1247, 936, 1250, 966, 968, 936, 03870 968, 968, 285, 1247, 285, 292, 924, 1250, 1250, 968, 03871 292, 292, 1144, 1171, 1144, 1144, 292, 292, 926, 292, 03872 292, 1251, 292, 927, 292, 1171, 936, 937, 292, 292, 03873 1254, 1194, 937, 1251, 982, 937, 1186, 937, 937, 982, 03874 1185, 937, 1254, 937, 1262, 982, 1598, 937, 982, 985, 03875 982, 985, 985, 968, 1598, 968, 1262, 292, 988, 1179, 03876 1606, 1173, 989, 988, 985, 1172, 1049, 989, 1606, 988, 03877 968, 1049, 988, 989, 988, 1159, 989, 1049, 989, 1171, 03878 03879 1049, 982, 1049, 292, 1308, 292, 311, 937, 311, 311, 03880 1154, 311, 311, 311, 311, 311, 1308, 311, 311, 985, 03881 1150, 311, 1148, 311, 1148, 1148, 311, 311, 311, 993, 03882 311, 311, 311, 1067, 993, 1067, 1067, 993, 1149, 993, 03883 993, 1145, 988, 993, 989, 993, 1189, 1143, 1067, 993, 03884 1049, 1189, 994, 1257, 311, 311, 311, 994, 1189, 1189, 03885 994, 1189, 994, 994, 1271, 1257, 994, 1004, 994, 1004, 03886 1004, 1070, 994, 1070, 1070, 1271, 1271, 1233, 1004, 1233, 03887 1233, 1622, 311, 1067, 311, 373, 1070, 373, 373, 1622, 03888 1275, 1634, 373, 993, 373, 1141, 373, 373, 1140, 1634, 03889 03890 1139, 1005, 1275, 1005, 1005, 1275, 1008, 373, 1008, 1008, 03891 1138, 373, 1005, 1006, 994, 1006, 1006, 1008, 1564, 1257, 03892 1564, 1070, 1004, 1107, 1006, 1107, 1564, 1137, 1008, 1008, 03893 1072, 1107, 1107, 1004, 373, 1072, 1134, 1006, 1107, 1004, 03894 373, 1072, 1252, 1004, 1072, 1234, 1072, 1234, 1234, 1012, 03895 1358, 1012, 1012, 1248, 1252, 1252, 1005, 373, 1248, 1096, 03896 1012, 373, 1358, 373, 439, 1248, 1248, 1005, 1006, 439, 03897 439, 1012, 1012, 1005, 1094, 439, 1636, 1005, 439, 439, 03898 1093, 1489, 439, 439, 1636, 1006, 1085, 1016, 439, 1006, 03899 1072, 1077, 1016, 1016, 1181, 1489, 1181, 1181, 1016, 1016, 03900 03901 1645, 1016, 1016, 1076, 1489, 1612, 1016, 1018, 1645, 1018, 03902 1018, 1016, 1612, 1648, 439, 1358, 439, 1050, 1018, 1075, 03903 1612, 1648, 1050, 1064, 1021, 1659, 1021, 1021, 1050, 1018, 03904 1018, 1050, 1659, 1050, 1074, 1021, 1074, 1074, 1178, 1016, 03905 1178, 1178, 439, 1058, 439, 490, 1021, 1021, 1055, 1046, 03906 490, 490, 490, 1613, 1613, 1181, 490, 490, 1045, 490, 03907 490, 1613, 490, 490, 490, 1016, 490, 1016, 490, 490, 03908 1078, 1022, 490, 1022, 1022, 1078, 1653, 1043, 1078, 1050, 03909 1078, 1078, 1022, 1653, 1078, 1268, 1078, 1268, 1268, 1074, 03910 1078, 1653, 1042, 1022, 1022, 490, 1097, 490, 1097, 1097, 03911 03912 1108, 1037, 1108, 490, 1178, 1032, 1074, 1097, 1108, 1302, 03913 1656, 1302, 1302, 1108, 1109, 1108, 1031, 1110, 1656, 1110, 03914 1109, 1110, 1109, 490, 1359, 490, 491, 1110, 1109, 1109, 03915 1078, 491, 491, 491, 1110, 1109, 1359, 491, 491, 1030, 03916 491, 491, 1029, 491, 491, 491, 1268, 491, 1022, 491, 03917 491, 1097, 1028, 491, 1111, 1027, 1111, 1103, 1024, 1111, 03918 1103, 1298, 1111, 1298, 1298, 1569, 1103, 1569, 1097, 1111, 03919 1103, 1104, 1103, 1569, 1104, 1020, 491, 1103, 491, 1113, 03920 1104, 1103, 1626, 1626, 1104, 1113, 1104, 1113, 1014, 1359, 03921 1626, 1104, 1557, 1113, 1658, 1104, 1105, 1011, 1113, 1105, 03922 03923 1113, 1557, 1658, 1557, 491, 1105, 491, 497, 1557, 1105, 03924 992, 1105, 497, 497, 1104, 1360, 1105, 1360, 497, 497, 03925 1105, 497, 497, 1105, 497, 1106, 497, 1105, 1106, 1360, 03926 497, 497, 986, 1127, 1106, 1127, 980, 1105, 1106, 1298, 03927 1106, 1127, 1665, 1665, 1316, 1106, 1316, 1316, 1127, 1106, 03928 1665, 979, 1114, 1117, 1114, 1106, 1117, 1106, 1117, 497, 03929 1114, 1114, 1530, 1106, 1117, 1530, 1127, 1114, 1114, 978, 03930 1106, 1117, 1118, 1530, 1338, 1119, 1338, 1338, 1118, 976, 03931 1118, 1119, 1360, 1119, 1671, 497, 1118, 497, 531, 1119, 03932 531, 531, 1671, 1118, 1316, 531, 1119, 531, 1672, 531, 03933 03934 531, 1544, 975, 1120, 1544, 1120, 1672, 1121, 974, 1121, 03935 531, 1120, 1544, 1548, 531, 1121, 1548, 971, 1120, 1119, 03936 970, 1122, 1121, 1122, 1548, 1381, 1120, 1381, 1381, 1122, 03937 1120, 963, 961, 1121, 960, 1121, 1122, 531, 1602, 1120, 03938 1121, 1602, 1123, 531, 1123, 1676, 1200, 1121, 1200, 1602, 03939 1123, 959, 1338, 1676, 1200, 1122, 1681, 1123, 1200, 1362, 03940 531, 1200, 1362, 1681, 531, 958, 531, 534, 957, 534, 03941 534, 1362, 955, 1125, 534, 1125, 534, 1124, 534, 534, 03942 1123, 1125, 1705, 1124, 1126, 1124, 1126, 1706, 1125, 534, 03943 1705, 1124, 1126, 534, 1129, 1706, 1129, 1125, 1124, 1126, 03944 03945 1128, 1365, 1129, 1131, 954, 1131, 1128, 953, 1128, 1129, 03946 1687, 1131, 1687, 1365, 1128, 1126, 534, 1124, 1131, 1710, 03947 1687, 1128, 534, 935, 1362, 931, 1152, 1710, 1129, 930, 03948 1174, 1152, 1174, 1174, 1129, 1129, 1131, 1152, 1366, 534, 03949 1152, 1174, 1152, 534, 1128, 534, 536, 929, 536, 536, 03950 1366, 1738, 1130, 536, 1130, 536, 923, 536, 536, 1738, 03951 1130, 1132, 1202, 1132, 1202, 922, 1365, 1130, 536, 1132, 03952 1202, 1324, 536, 1324, 1324, 1130, 1132, 1202, 1130, 1597, 03953 1739, 1597, 1130, 921, 1132, 1174, 1152, 1597, 1739, 1609, 03954 1130, 1180, 1130, 1180, 1180, 536, 1184, 920, 1609, 1182, 03955 03956 1609, 536, 1174, 1366, 1182, 1609, 1180, 1184, 1184, 1184, 03957 1182, 919, 536, 1182, 1197, 1182, 1197, 1197, 536, 1324, 03958 918, 1615, 536, 1615, 536, 537, 917, 537, 537, 1615, 03959 916, 914, 537, 913, 537, 912, 537, 537, 1187, 1184, 03960 911, 1180, 1354, 1187, 1354, 1354, 1187, 537, 1187, 1187, 03961 904, 537, 1187, 1403, 1187, 1403, 1403, 1198, 1187, 900, 03962 899, 1182, 1198, 898, 1350, 1199, 1350, 1350, 1198, 1197, 03963 1199, 1198, 897, 1198, 537, 1201, 1199, 1201, 896, 1199, 03964 537, 1199, 894, 1201, 893, 1201, 1197, 1206, 1206, 1206, 03965 1201, 537, 1354, 1691, 892, 1206, 1418, 537, 1418, 1418, 03966 03967 1187, 537, 1206, 537, 620, 1204, 1691, 1204, 1204, 620, 03968 620, 620, 1350, 1204, 1691, 620, 620, 891, 620, 620, 03969 1204, 620, 620, 620, 1203, 620, 1203, 620, 620, 1743, 03970 1207, 620, 1203, 1207, 1203, 1207, 1208, 1743, 1208, 1203, 03971 889, 1207, 887, 1209, 1208, 1209, 871, 1209, 1207, 1208, 03972 1631, 1208, 1631, 1209, 620, 862, 620, 1209, 1631, 1210, 03973 1209, 1210, 1211, 1210, 1211, 1212, 1219, 861, 1219, 1210, 03974 1211, 1212, 1752, 1212, 1219, 1211, 1210, 1211, 857, 1212, 03975 1752, 1219, 620, 854, 620, 621, 1212, 621, 621, 621, 03976 621, 621, 621, 1219, 853, 621, 621, 621, 621, 621, 03977 03978 621, 621, 621, 621, 621, 851, 621, 621, 1213, 1214, 03979 1213, 1214, 1215, 1216, 1215, 1216, 1213, 1214, 1771, 847, 03980 1215, 1216, 845, 1213, 1214, 843, 1771, 1215, 1216, 1616, 03981 1616, 1218, 1616, 1218, 1217, 1220, 1217, 1220, 1215, 1218, 03982 1616, 842, 1217, 1220, 1214, 1213, 1218, 1772, 1216, 1217, 03983 1220, 1635, 841, 1635, 1221, 1772, 1221, 1218, 1220, 1635, 03984 621, 622, 1221, 1217, 840, 839, 622, 622, 622, 1221, 03985 838, 837, 622, 622, 836, 622, 622, 834, 622, 622, 03986 622, 1222, 622, 1222, 622, 622, 1776, 833, 622, 1222, 03987 832, 1223, 1221, 1223, 1776, 1224, 1222, 1224, 1416, 1223, 03988 03989 1416, 1416, 831, 1224, 1781, 1222, 1223, 830, 823, 1236, 03990 1224, 622, 1781, 622, 1236, 1223, 1237, 822, 1222, 1281, 03991 1236, 1281, 1281, 1236, 821, 1236, 820, 1237, 1237, 1237, 03992 1281, 622, 1266, 1224, 1266, 1266, 819, 818, 817, 622, 03993 816, 622, 647, 815, 647, 647, 1416, 814, 1285, 647, 03994 1285, 647, 1797, 647, 647, 1282, 1285, 1282, 1282, 1237, 03995 1797, 1798, 813, 1285, 647, 812, 811, 1281, 647, 1798, 03996 1286, 1236, 1286, 1287, 1287, 1287, 810, 1425, 1286, 1425, 03997 1425, 1287, 1802, 809, 1288, 1286, 1288, 1266, 1287, 804, 03998 1802, 647, 1288, 1290, 1289, 1290, 1289, 647, 1292, 1288, 03999 04000 1292, 1290, 1289, 1828, 1266, 1289, 1292, 647, 1290, 1289, 04001 1282, 1828, 778, 1292, 647, 777, 775, 773, 647, 769, 04002 647, 648, 768, 648, 648, 1425, 1291, 1282, 648, 767, 04003 648, 1291, 648, 648, 764, 758, 755, 1291, 1292, 754, 04004 1291, 752, 1291, 648, 751, 749, 1293, 648, 1293, 1295, 04005 1294, 1295, 1294, 1306, 1293, 1306, 1306, 1295, 1294, 748, 04006 1296, 1293, 1296, 1655, 1295, 1294, 1655, 745, 1296, 1307, 04007 648, 1307, 1307, 744, 1655, 1296, 648, 1294, 743, 742, 04008 1307, 741, 1295, 734, 648, 1310, 1293, 1310, 1310, 1313, 04009 733, 1313, 1313, 648, 732, 731, 1296, 648, 730, 648, 04010 04011 712, 729, 712, 712, 712, 712, 712, 712, 1306, 728, 04012 712, 712, 712, 712, 712, 712, 712, 712, 1297, 712, 04013 1297, 712, 712, 727, 1307, 1306, 1297, 1328, 1427, 1328, 04014 1427, 1427, 1328, 1297, 1312, 1328, 1312, 1312, 726, 725, 04015 1310, 1307, 1328, 724, 1313, 1312, 723, 722, 1329, 1329, 04016 1329, 1297, 1434, 718, 1434, 1434, 1329, 1310, 1331, 717, 04017 1331, 1313, 712, 1329, 716, 696, 1331, 1436, 1331, 1436, 04018 1436, 692, 712, 1331, 691, 712, 713, 713, 687, 713, 04019 713, 713, 1312, 713, 713, 713, 713, 713, 713, 713, 04020 713, 713, 713, 713, 713, 713, 713, 713, 713, 713, 04021 04022 713, 682, 713, 713, 713, 713, 713, 713, 713, 713, 04023 713, 713, 713, 713, 713, 713, 713, 713, 713, 713, 04024 713, 713, 713, 713, 713, 713, 713, 713, 713, 713, 04025 713, 713, 713, 713, 713, 713, 713, 713, 713, 713, 04026 713, 713, 713, 713, 713, 713, 713, 713, 713, 713, 04027 713, 713, 713, 713, 713, 713, 713, 714, 1332, 1332, 04028 1332, 678, 714, 714, 714, 677, 1332, 674, 714, 714, 04029 673, 714, 714, 1332, 714, 714, 714, 1333, 714, 1333, 04030 714, 714, 667, 666, 714, 1333, 1334, 1335, 1334, 1335, 04031 665, 1336, 1333, 1336, 1334, 1335, 1337, 664, 1337, 1336, 04032 04033 663, 1334, 1335, 661, 1337, 1364, 1336, 714, 1333, 714, 04034 1364, 1337, 1342, 1334, 1342, 1342, 660, 1364, 1364, 1345, 04035 1335, 1345, 1345, 1337, 658, 1349, 1336, 1349, 1349, 657, 04036 1368, 1611, 1368, 1368, 655, 714, 1349, 714, 715, 1611, 04037 654, 1368, 1611, 715, 715, 715, 1644, 1611, 1644, 715, 04038 715, 653, 715, 715, 1644, 715, 715, 715, 652, 715, 04039 1652, 715, 715, 643, 1375, 715, 1375, 1342, 1652, 642, 04040 1364, 1652, 1375, 1349, 1345, 1375, 1652, 641, 640, 1375, 04041 639, 1376, 638, 1376, 1342, 1368, 637, 636, 715, 1376, 04042 715, 1345, 635, 1368, 1376, 1377, 1376, 1377, 1377, 1378, 04043 04044 634, 1378, 1368, 1377, 1661, 633, 1368, 1378, 632, 715, 04045 1377, 631, 627, 1661, 1378, 1661, 715, 626, 715, 737, 04046 1661, 737, 737, 625, 623, 1379, 737, 1379, 737, 619, 04047 737, 737, 606, 1379, 592, 1378, 1380, 590, 1380, 589, 04048 1379, 737, 585, 584, 1380, 737, 577, 1393, 576, 1393, 04049 1393, 1380, 575, 1394, 570, 1394, 1394, 569, 1393, 1413, 04050 563, 1413, 1413, 1379, 1394, 1380, 557, 1398, 737, 1398, 04051 1398, 1401, 556, 1401, 737, 555, 554, 553, 1398, 1401, 04052 552, 1401, 1408, 551, 1408, 1408, 1401, 1451, 737, 1451, 04053 1451, 737, 550, 1408, 549, 737, 548, 737, 738, 547, 04054 04055 738, 738, 1393, 546, 545, 738, 544, 738, 1394, 738, 04056 738, 542, 540, 533, 1413, 1398, 1394, 530, 529, 1393, 04057 738, 522, 521, 520, 738, 1394, 1402, 519, 1402, 1394, 04058 1408, 1413, 1686, 1686, 1402, 1686, 1503, 1424, 1503, 1424, 04059 1424, 1402, 1531, 1686, 1531, 518, 517, 738, 1424, 516, 04060 515, 738, 514, 738, 1503, 512, 510, 1531, 1503, 509, 04061 1531, 1402, 1503, 506, 1717, 1717, 503, 1717, 1531, 496, 04062 738, 495, 489, 474, 738, 1717, 738, 795, 459, 795, 04063 795, 795, 795, 795, 795, 1424, 457, 795, 795, 795, 04064 795, 795, 456, 795, 795, 795, 795, 455, 795, 795, 04065 04066 1572, 1603, 1572, 1603, 451, 1721, 448, 1721, 447, 446, 04067 1823, 1824, 1823, 1824, 443, 1827, 1603, 1827, 1572, 1603, 04068 441, 437, 1572, 1721, 435, 433, 1572, 1603, 1823, 1824, 04069 432, 1721, 1721, 1827, 416, 413, 1823, 1824, 409, 408, 04070 406, 1827, 405, 404, 403, 402, 401, 400, 398, 795, 04071 396, 389, 795, 796, 386, 796, 796, 796, 796, 796, 04072 796, 381, 364, 796, 796, 796, 796, 796, 359, 796, 04073 796, 796, 796, 353, 796, 796, 351, 349, 347, 345, 04074 343, 341, 339, 338, 335, 334, 324, 321, 318, 313, 04075 312, 307, 297, 284, 279, 277, 276, 275, 270, 263, 04076 04077 261, 260, 255, 253, 242, 238, 236, 229, 221, 210, 04078 201, 176, 172, 168, 164, 160, 796, 156, 151, 150, 04079 146, 143, 118, 110, 104, 796, 101, 84, 796, 797, 04080 83, 797, 797, 797, 797, 797, 797, 77, 67, 797, 04081 797, 797, 797, 797, 797, 797, 797, 0, 797, 0, 04082 797, 797, 0, 0, 0, 0, 0, 0, 0, 0, 04083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04085 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04086 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04087 04088 0, 797, 0, 0, 797, 798, 798, 0, 798, 798, 04089 0, 0, 0, 0, 0, 0, 0, 798, 798, 798, 04090 0, 0, 0, 0, 0, 0, 0, 0, 798, 0, 04091 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04092 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04093 0, 0, 0, 0, 798, 798, 798, 798, 0, 0, 04094 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04096 0, 0, 798, 798, 798, 799, 799, 0, 799, 799, 04097 0, 0, 0, 0, 0, 0, 0, 799, 799, 799, 04098 04099 0, 0, 0, 0, 0, 0, 0, 0, 799, 0, 04100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04102 0, 0, 0, 0, 799, 799, 799, 799, 0, 0, 04103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04105 0, 0, 799, 799, 799, 800, 800, 0, 800, 800, 04106 0, 0, 0, 0, 0, 0, 0, 800, 800, 800, 04107 0, 0, 0, 0, 0, 0, 0, 0, 800, 0, 04108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04109 04110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04111 0, 0, 0, 0, 800, 800, 800, 800, 0, 0, 04112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04113 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04114 0, 0, 800, 800, 800, 801, 801, 0, 801, 801, 04115 801, 0, 801, 801, 801, 801, 801, 801, 801, 801, 04116 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 04117 0, 801, 801, 801, 801, 801, 801, 801, 801, 801, 04118 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 04119 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 04120 04121 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 04122 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 04123 801, 801, 801, 801, 801, 801, 802, 802, 0, 802, 04124 802, 802, 0, 802, 802, 802, 802, 802, 802, 802, 04125 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 04126 802, 0, 802, 802, 802, 802, 802, 802, 802, 802, 04127 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 04128 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 04129 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 04130 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, 04131 04132 802, 802, 802, 802, 802, 802, 802, 803, 0, 0, 04133 0, 0, 803, 803, 803, 0, 0, 0, 803, 803, 04134 0, 803, 803, 0, 803, 803, 803, 0, 803, 0, 04135 803, 803, 0, 0, 803, 0, 0, 0, 0, 0, 04136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04137 0, 0, 0, 0, 0, 0, 0, 803, 0, 803, 04138 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04139 0, 0, 0, 0, 803, 0, 0, 0, 0, 0, 04140 0, 0, 0, 0, 0, 803, 0, 803, 826, 0, 04141 826, 826, 0, 0, 0, 826, 0, 826, 0, 826, 04142 04143 826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04144 826, 0, 0, 0, 826, 0, 0, 0, 0, 0, 04145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04146 0, 0, 0, 0, 0, 0, 0, 826, 0, 0, 04147 0, 0, 0, 826, 0, 0, 0, 0, 0, 0, 04148 0, 0, 0, 0, 0, 0, 0, 0, 826, 0, 04149 826, 0, 0, 0, 826, 0, 826, 827, 0, 827, 04150 827, 0, 0, 0, 827, 0, 827, 0, 827, 827, 04151 0, 0, 0, 0, 0, 0, 0, 0, 0, 827, 04152 0, 0, 0, 827, 0, 0, 0, 0, 0, 0, 04153 04154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04155 0, 0, 0, 0, 0, 0, 827, 0, 0, 0, 04156 0, 0, 827, 0, 0, 0, 0, 0, 0, 0, 04157 0, 0, 0, 0, 0, 0, 0, 827, 0, 827, 04158 0, 0, 0, 827, 0, 827, 874, 0, 874, 874, 04159 874, 874, 874, 874, 0, 0, 874, 874, 874, 874, 04160 874, 874, 874, 874, 0, 874, 0, 874, 874, 0, 04161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04164 04165 0, 0, 0, 0, 0, 0, 0, 0, 874, 0, 04166 0, 0, 0, 0, 0, 0, 0, 0, 874, 0, 04167 0, 874, 875, 0, 0, 875, 875, 0, 875, 875, 04168 875, 0, 875, 0, 875, 875, 875, 0, 875, 875, 04169 875, 0, 0, 875, 875, 875, 875, 875, 875, 0, 04170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04175 04176 875, 875, 876, 0, 876, 876, 876, 876, 876, 876, 04177 0, 0, 876, 876, 876, 876, 876, 0, 876, 876, 04178 876, 876, 0, 876, 876, 0, 0, 0, 0, 0, 04179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04181 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04183 0, 0, 0, 0, 876, 0, 0, 876, 877, 0, 04184 877, 877, 877, 877, 877, 877, 0, 0, 877, 877, 04185 877, 877, 877, 877, 877, 877, 877, 877, 0, 877, 04186 04187 877, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04191 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04192 877, 0, 0, 877, 878, 0, 878, 878, 878, 878, 04193 878, 878, 0, 0, 878, 878, 878, 878, 878, 0, 04194 878, 878, 878, 878, 0, 878, 878, 0, 0, 0, 04195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04197 04198 0, 0, 0, 0, 0, 0, 0, 878, 0, 0, 04199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04200 0, 0, 0, 0, 0, 0, 878, 0, 0, 878, 04201 879, 0, 879, 879, 879, 879, 879, 879, 0, 0, 04202 879, 879, 879, 879, 879, 0, 879, 879, 879, 879, 04203 0, 879, 879, 0, 0, 0, 0, 0, 0, 0, 04204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04208 04209 0, 0, 879, 0, 0, 879, 880, 880, 0, 880, 04210 880, 0, 0, 0, 0, 0, 0, 0, 880, 880, 04211 880, 0, 0, 0, 0, 0, 0, 0, 0, 880, 04212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04213 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04214 0, 0, 0, 0, 0, 880, 880, 880, 880, 0, 04215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04217 0, 0, 0, 880, 880, 880, 881, 881, 0, 881, 04218 881, 0, 0, 0, 0, 0, 0, 0, 881, 881, 04219 04220 881, 0, 0, 0, 0, 0, 0, 0, 0, 881, 04221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04223 0, 0, 0, 0, 0, 881, 881, 881, 881, 0, 04224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04226 0, 0, 0, 881, 881, 881, 882, 882, 0, 882, 04227 882, 0, 0, 0, 0, 0, 0, 0, 882, 882, 04228 882, 0, 0, 0, 0, 0, 0, 0, 0, 882, 04229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04230 04231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04232 0, 0, 0, 0, 0, 882, 882, 882, 882, 0, 04233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04235 0, 0, 0, 882, 882, 882, 883, 883, 0, 883, 04236 883, 883, 0, 883, 883, 883, 0, 883, 883, 883, 04237 883, 883, 0, 883, 883, 883, 0, 0, 883, 883, 04238 883, 883, 883, 883, 0, 0, 0, 0, 0, 0, 04239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04240 0, 0, 0, 0, 0, 883, 883, 883, 883, 0, 04241 04242 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04243 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04244 0, 0, 0, 883, 883, 883, 883, 884, 884, 0, 04245 884, 884, 0, 0, 0, 0, 0, 0, 0, 884, 04246 884, 884, 0, 0, 0, 0, 0, 0, 0, 0, 04247 884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04249 0, 0, 0, 0, 0, 0, 884, 884, 884, 884, 04250 0, 0, 884, 0, 0, 0, 0, 0, 0, 0, 04251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04252 04253 0, 0, 0, 0, 884, 884, 884, 885, 885, 0, 04254 885, 885, 885, 0, 885, 885, 885, 885, 885, 885, 04255 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 04256 885, 885, 0, 885, 885, 885, 885, 885, 885, 885, 04257 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 04258 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 04259 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 04260 885, 885, 885, 885, 885, 885, 885, 885, 885, 885, 04261 885, 885, 885, 885, 885, 885, 885, 885, 886, 0, 04262 0, 0, 0, 886, 886, 886, 0, 0, 0, 886, 04263 04264 886, 0, 886, 886, 0, 886, 886, 886, 0, 886, 04265 0, 886, 886, 0, 0, 886, 0, 0, 0, 0, 04266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04267 0, 0, 0, 0, 0, 0, 0, 0, 886, 0, 04268 886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04269 0, 0, 0, 0, 0, 0, 0, 886, 0, 0, 04270 0, 0, 0, 0, 0, 0, 886, 0, 886, 907, 04271 0, 907, 907, 0, 0, 0, 907, 0, 907, 0, 04272 907, 907, 0, 0, 0, 0, 0, 0, 0, 0, 04273 0, 907, 0, 0, 0, 907, 0, 0, 0, 0, 04274 04275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04276 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 04277 0, 0, 0, 0, 907, 0, 0, 0, 0, 0, 04278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04279 0, 907, 0, 0, 0, 907, 0, 907, 908, 0, 04280 908, 908, 0, 0, 0, 908, 0, 908, 0, 908, 04281 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04282 908, 0, 0, 0, 908, 0, 0, 0, 0, 0, 04283 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04284 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, 04285 04286 0, 0, 0, 908, 0, 0, 0, 0, 0, 908, 04287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04288 908, 0, 0, 0, 908, 0, 908, 941, 0, 941, 04289 941, 941, 941, 941, 941, 0, 0, 941, 941, 941, 04290 941, 941, 0, 941, 941, 941, 941, 0, 941, 941, 04291 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04295 0, 0, 0, 0, 0, 0, 0, 0, 0, 941, 04296 04297 0, 0, 941, 942, 0, 942, 942, 942, 942, 942, 04298 942, 0, 0, 942, 942, 942, 942, 942, 0, 942, 04299 942, 942, 942, 0, 942, 942, 0, 0, 0, 0, 04300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04303 0, 0, 0, 0, 0, 0, 942, 0, 0, 0, 04304 0, 0, 0, 0, 0, 942, 0, 0, 942, 943, 04305 0, 0, 943, 943, 0, 943, 943, 943, 0, 943, 04306 0, 943, 943, 943, 0, 943, 943, 943, 0, 0, 04307 04308 943, 943, 943, 943, 943, 943, 0, 0, 0, 0, 04309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04313 0, 0, 0, 0, 0, 0, 0, 943, 943, 945, 04314 0, 945, 945, 945, 945, 945, 945, 0, 0, 945, 04315 945, 945, 945, 945, 0, 945, 945, 0, 945, 0, 04316 945, 945, 0, 0, 0, 0, 0, 0, 0, 0, 04317 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04318 04319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04322 0, 945, 0, 0, 945, 946, 0, 946, 946, 946, 04323 946, 946, 946, 0, 0, 946, 946, 946, 946, 946, 04324 0, 946, 946, 946, 946, 0, 946, 946, 0, 0, 04325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04328 0, 0, 0, 0, 0, 0, 0, 0, 0, 946, 04329 04330 0, 0, 0, 0, 0, 0, 0, 946, 0, 0, 04331 946, 947, 0, 947, 947, 947, 947, 947, 947, 0, 04332 0, 947, 947, 947, 947, 947, 0, 947, 947, 947, 04333 947, 0, 947, 947, 0, 0, 0, 0, 0, 0, 04334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04338 0, 0, 0, 947, 0, 0, 947, 948, 948, 0, 04339 948, 948, 948, 0, 948, 948, 948, 0, 948, 948, 04340 04341 948, 948, 948, 0, 948, 948, 948, 0, 0, 948, 04342 948, 948, 948, 948, 948, 0, 0, 0, 0, 0, 04343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04344 0, 0, 0, 0, 0, 0, 948, 948, 948, 948, 04345 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04347 0, 0, 0, 0, 948, 948, 948, 948, 949, 949, 04348 0, 949, 949, 949, 0, 949, 949, 949, 0, 949, 04349 949, 949, 949, 949, 0, 949, 949, 949, 0, 0, 04350 949, 949, 949, 949, 949, 949, 0, 0, 0, 0, 04351 04352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04353 0, 0, 0, 0, 0, 0, 0, 949, 949, 949, 04354 949, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04355 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04356 0, 0, 0, 0, 0, 949, 949, 949, 949, 950, 04357 950, 0, 950, 950, 0, 0, 0, 0, 0, 0, 04358 0, 950, 950, 950, 0, 0, 0, 0, 0, 0, 04359 0, 0, 950, 0, 0, 0, 0, 0, 0, 0, 04360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04361 0, 0, 0, 0, 0, 0, 0, 0, 950, 950, 04362 04363 950, 950, 0, 0, 0, 950, 0, 0, 0, 0, 04364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04365 0, 0, 950, 0, 0, 0, 950, 950, 950, 951, 04366 951, 0, 951, 951, 0, 0, 0, 0, 0, 0, 04367 0, 951, 951, 951, 0, 0, 0, 0, 0, 0, 04368 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, 04369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04370 0, 0, 0, 0, 0, 0, 0, 0, 951, 951, 04371 951, 951, 0, 0, 0, 0, 0, 0, 0, 0, 04372 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 04373 04374 0, 0, 0, 0, 0, 0, 951, 951, 951, 952, 04375 952, 0, 952, 952, 952, 952, 952, 0, 952, 952, 04376 952, 952, 0, 952, 952, 952, 952, 952, 952, 0, 04377 952, 0, 952, 952, 952, 0, 952, 0, 0, 0, 04378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04379 0, 0, 0, 0, 0, 0, 0, 0, 952, 952, 04380 0, 952, 0, 0, 0, 0, 0, 0, 0, 0, 04381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04382 0, 0, 0, 0, 0, 0, 0, 952, 0, 952, 04383 967, 0, 967, 967, 0, 0, 0, 967, 0, 967, 04384 04385 0, 967, 967, 0, 0, 0, 0, 0, 0, 0, 04386 0, 0, 967, 0, 0, 0, 967, 0, 0, 0, 04387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04388 0, 0, 0, 0, 0, 0, 0, 0, 0, 967, 04389 0, 0, 0, 0, 0, 967, 0, 0, 0, 0, 04390 0, 0, 0, 967, 0, 0, 0, 0, 0, 0, 04391 0, 0, 967, 0, 0, 0, 967, 0, 967, 984, 04392 0, 984, 984, 984, 0, 984, 0, 984, 984, 0, 04393 984, 0, 984, 984, 984, 984, 984, 984, 0, 984, 04394 0, 984, 984, 984, 0, 0, 0, 0, 0, 0, 04395 04396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04397 0, 0, 0, 0, 0, 0, 0, 984, 0, 0, 04398 984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04400 0, 0, 0, 0, 0, 0, 984, 0, 984, 995, 04401 0, 995, 995, 995, 995, 995, 995, 0, 0, 995, 04402 995, 995, 995, 995, 0, 995, 995, 995, 995, 0, 04403 995, 995, 0, 0, 0, 0, 0, 0, 0, 0, 04404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04406 04407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04409 0, 995, 0, 0, 995, 997, 0, 997, 997, 997, 04410 997, 997, 997, 0, 0, 997, 997, 997, 997, 997, 04411 0, 997, 997, 997, 997, 0, 997, 997, 0, 0, 04412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04414 0, 0, 0, 0, 0, 0, 0, 0, 997, 0, 04415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04416 0, 0, 0, 0, 0, 0, 0, 997, 0, 0, 04417 04418 997, 998, 0, 998, 998, 998, 998, 998, 998, 0, 04419 0, 998, 998, 998, 998, 998, 0, 998, 998, 0, 04420 998, 0, 998, 998, 0, 0, 0, 0, 0, 0, 04421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04425 0, 0, 0, 998, 0, 0, 998, 999, 0, 999, 04426 999, 999, 999, 999, 999, 0, 0, 999, 999, 999, 04427 999, 999, 999, 999, 999, 999, 999, 0, 999, 999, 04428 04429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04433 0, 0, 0, 0, 0, 0, 0, 0, 0, 999, 04434 0, 0, 999, 1000, 0, 1000, 1000, 1000, 1000, 1000, 04435 1000, 0, 0, 1000, 1000, 1000, 1000, 1000, 0, 1000, 04436 1000, 1000, 1000, 0, 1000, 1000, 0, 0, 0, 0, 04437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04439 04440 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0, 04441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04442 0, 0, 0, 0, 0, 1000, 0, 0, 1000, 1001, 04443 1001, 0, 1001, 1001, 1001, 0, 1001, 1001, 1001, 0, 04444 1001, 1001, 1001, 1001, 1001, 0, 1001, 1001, 1001, 0, 04445 0, 1001, 1001, 1001, 1001, 1001, 1001, 0, 0, 0, 04446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04447 0, 0, 0, 0, 0, 0, 0, 0, 1001, 1001, 04448 1001, 1001, 0, 0, 0, 0, 0, 0, 0, 0, 04449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04450 04451 0, 0, 0, 0, 0, 0, 1001, 1001, 1001, 1001, 04452 1002, 1002, 0, 1002, 1002, 0, 0, 0, 0, 0, 04453 0, 0, 1002, 1002, 1002, 0, 0, 0, 0, 0, 04454 0, 0, 0, 1002, 0, 0, 0, 0, 0, 0, 04455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04456 0, 0, 0, 0, 0, 0, 0, 0, 0, 1002, 04457 1002, 1002, 1002, 0, 0, 0, 1002, 0, 0, 0, 04458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04459 0, 0, 0, 1002, 0, 0, 0, 1002, 1002, 1002, 04460 1003, 1003, 0, 1003, 1003, 0, 0, 0, 0, 0, 04461 04462 0, 0, 1003, 1003, 1003, 0, 0, 0, 0, 0, 04463 0, 0, 0, 1003, 0, 0, 0, 0, 0, 0, 04464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04465 0, 0, 0, 0, 0, 0, 0, 0, 0, 1003, 04466 1003, 1003, 1003, 0, 0, 0, 1003, 0, 0, 0, 04467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04468 0, 0, 0, 1003, 0, 0, 0, 1003, 1003, 1003, 04469 1007, 0, 1007, 1007, 1007, 0, 0, 0, 1007, 1007, 04470 0, 1007, 0, 1007, 1007, 1007, 1007, 0, 1007, 0, 04471 0, 0, 1007, 1007, 1007, 0, 0, 0, 0, 0, 04472 04473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04474 0, 0, 0, 0, 0, 0, 0, 0, 1007, 0, 04475 0, 1007, 0, 0, 0, 0, 1007, 0, 0, 0, 04476 0, 0, 0, 0, 0, 1007, 0, 0, 0, 0, 04477 0, 0, 0, 0, 0, 0, 0, 1007, 0, 1007, 04478 1013, 0, 0, 0, 0, 1013, 1013, 0, 0, 0, 04479 0, 1013, 1013, 0, 1013, 1013, 0, 0, 1013, 1013, 04480 0, 0, 0, 0, 1013, 0, 0, 1013, 0, 0, 04481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04483 04484 0, 0, 1013, 0, 0, 0, 0, 0, 0, 0, 04485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04486 0, 0, 0, 0, 0, 0, 0, 0, 1013, 0, 04487 1013, 1015, 0, 0, 0, 0, 1015, 1015, 0, 0, 04488 0, 0, 1015, 1015, 0, 1015, 1015, 0, 1015, 1015, 04489 1015, 0, 0, 0, 0, 1015, 1015, 0, 1015, 0, 04490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04492 0, 1015, 0, 1015, 0, 0, 0, 0, 0, 0, 04493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04494 04495 0, 0, 0, 0, 0, 0, 0, 0, 0, 1015, 04496 0, 1015, 1017, 0, 0, 1017, 0, 0, 0, 0, 04497 0, 1017, 0, 1017, 0, 1017, 0, 1017, 0, 0, 04498 0, 1017, 1017, 0, 1017, 1017, 1017, 0, 0, 1017, 04499 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 04500 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 04501 0, 0, 0, 0, 1017, 1017, 1017, 1017, 1017, 1017, 04502 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 04503 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1035, 0, 04504 1035, 1035, 0, 0, 0, 1035, 0, 1035, 0, 1035, 04505 04506 1035, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04507 1035, 0, 0, 0, 1035, 0, 0, 0, 0, 0, 04508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04509 0, 0, 0, 0, 0, 0, 0, 1035, 0, 0, 04510 0, 0, 0, 1035, 0, 1035, 0, 0, 0, 0, 04511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04512 1035, 0, 0, 0, 1035, 0, 1035, 1051, 0, 1051, 04513 1051, 1051, 0, 0, 0, 1051, 1051, 0, 1051, 0, 04514 1051, 1051, 1051, 1051, 0, 1051, 0, 0, 0, 1051, 04515 1051, 1051, 0, 0, 0, 0, 0, 0, 0, 0, 04516 04517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04518 0, 0, 0, 0, 0, 1051, 0, 0, 1051, 0, 04519 0, 0, 0, 1051, 0, 0, 0, 0, 0, 0, 04520 0, 0, 1051, 0, 0, 0, 0, 0, 0, 0, 04521 0, 0, 0, 0, 1051, 0, 1051, 1073, 0, 1073, 04522 1073, 1073, 0, 1073, 0, 1073, 1073, 0, 1073, 0, 04523 1073, 1073, 1073, 1073, 1073, 1073, 0, 1073, 0, 1073, 04524 1073, 1073, 0, 0, 0, 0, 0, 0, 0, 0, 04525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04526 0, 0, 0, 0, 0, 1073, 0, 0, 1073, 0, 04527 04528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04530 0, 0, 0, 0, 1073, 0, 1073, 1079, 0, 1079, 04531 1079, 1079, 0, 1079, 0, 1079, 1079, 0, 1079, 0, 04532 1079, 1079, 1079, 1079, 1079, 1079, 0, 1079, 0, 1079, 04533 1079, 1079, 0, 1079, 0, 0, 0, 0, 0, 0, 04534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04535 0, 0, 0, 0, 0, 1079, 0, 0, 1079, 0, 04536 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04538 04539 0, 0, 0, 0, 1079, 0, 1079, 1080, 0, 1080, 04540 1080, 1080, 1080, 1080, 1080, 0, 0, 1080, 1080, 1080, 04541 1080, 1080, 0, 1080, 1080, 1080, 1080, 0, 1080, 1080, 04542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04546 0, 1080, 0, 0, 0, 0, 0, 0, 0, 1080, 04547 0, 0, 1080, 1081, 0, 1081, 1081, 1081, 1081, 1081, 04548 1081, 0, 0, 1081, 1081, 1081, 1081, 1081, 0, 1081, 04549 04550 1081, 1081, 1081, 0, 1081, 1081, 0, 0, 0, 0, 04551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04554 0, 0, 0, 0, 0, 0, 0, 0, 0, 1081, 04555 0, 0, 0, 0, 0, 1081, 0, 0, 1081, 1082, 04556 1082, 0, 1082, 1082, 0, 0, 0, 0, 0, 0, 04557 0, 1082, 1082, 1082, 0, 0, 0, 0, 0, 0, 04558 0, 0, 1082, 0, 0, 0, 0, 0, 0, 0, 04559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04560 04561 0, 0, 0, 0, 0, 0, 0, 0, 1082, 1082, 04562 1082, 1082, 0, 0, 0, 0, 0, 0, 0, 0, 04563 0, 0, 0, 0, 0, 1082, 0, 0, 0, 0, 04564 0, 0, 0, 0, 0, 0, 1082, 1082, 1082, 1083, 04565 1083, 0, 1083, 1083, 0, 0, 0, 0, 0, 0, 04566 0, 1083, 1083, 1083, 0, 0, 0, 0, 0, 0, 04567 0, 0, 1083, 0, 0, 0, 0, 0, 0, 0, 04568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04569 0, 0, 0, 0, 0, 0, 0, 0, 1083, 1083, 04570 1083, 1083, 0, 0, 0, 0, 0, 0, 0, 0, 04571 04572 0, 0, 0, 1083, 0, 0, 0, 0, 0, 0, 04573 0, 0, 0, 0, 0, 0, 1083, 1083, 1083, 1098, 04574 0, 0, 0, 0, 1098, 1098, 0, 0, 0, 0, 04575 1098, 1098, 0, 1098, 0, 0, 0, 1098, 1098, 0, 04576 0, 0, 0, 1098, 0, 0, 1098, 0, 0, 0, 04577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04579 0, 1098, 0, 0, 0, 0, 0, 0, 0, 0, 04580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04581 0, 0, 0, 0, 0, 0, 0, 1098, 0, 1098, 04582 04583 1099, 0, 0, 0, 0, 1099, 1099, 0, 0, 0, 04584 0, 1099, 1099, 0, 1099, 1099, 0, 0, 1099, 1099, 04585 0, 0, 0, 0, 1099, 0, 0, 1099, 0, 0, 04586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04588 1099, 0, 1099, 0, 0, 0, 0, 0, 0, 0, 04589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04590 0, 0, 0, 0, 0, 0, 0, 0, 1099, 0, 04591 1099, 1153, 0, 1153, 1153, 1153, 0, 1153, 0, 1153, 04592 1153, 0, 1153, 0, 1153, 1153, 1153, 1153, 1153, 1153, 04593 04594 0, 1153, 0, 1153, 1153, 1153, 0, 0, 0, 0, 04595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04596 0, 0, 0, 0, 0, 0, 0, 0, 0, 1153, 04597 0, 0, 1153, 0, 0, 0, 0, 0, 0, 0, 04598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04599 0, 0, 0, 0, 0, 0, 0, 0, 1153, 0, 04600 1153, 1155, 0, 1155, 1155, 1155, 0, 0, 0, 1155, 04601 1155, 0, 1155, 0, 1155, 1155, 1155, 1155, 0, 1155, 04602 0, 0, 0, 1155, 1155, 1155, 0, 0, 0, 0, 04603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04604 04605 0, 0, 0, 0, 0, 0, 0, 0, 0, 1155, 04606 0, 0, 1155, 0, 0, 0, 0, 1155, 0, 0, 04607 0, 0, 0, 0, 0, 0, 1155, 0, 0, 0, 04608 0, 0, 0, 0, 0, 0, 0, 0, 1155, 0, 04609 1155, 1183, 0, 1183, 1183, 1183, 0, 0, 0, 1183, 04610 1183, 0, 1183, 0, 1183, 1183, 1183, 1183, 0, 1183, 04611 0, 0, 0, 1183, 1183, 1183, 0, 0, 0, 0, 04612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04613 0, 0, 0, 0, 0, 0, 0, 0, 0, 1183, 04614 0, 0, 1183, 0, 0, 0, 0, 1183, 0, 0, 04615 04616 0, 0, 0, 0, 0, 0, 1183, 0, 0, 0, 04617 0, 0, 0, 0, 0, 0, 0, 0, 1183, 0, 04618 1183, 1190, 0, 1190, 1190, 1190, 1190, 1190, 1190, 0, 04619 0, 1190, 1190, 1190, 1190, 1190, 0, 1190, 1190, 1190, 04620 1190, 0, 1190, 1190, 0, 0, 0, 0, 0, 0, 04621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04623 1190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04625 0, 0, 0, 1190, 0, 0, 1190, 1191, 0, 1191, 04626 04627 1191, 1191, 1191, 1191, 1191, 0, 0, 1191, 1191, 1191, 04628 1191, 1191, 0, 1191, 1191, 1191, 1191, 0, 1191, 1191, 04629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04632 0, 0, 0, 0, 0, 0, 0, 0, 0, 1191, 04633 0, 0, 0, 0, 0, 0, 0, 0, 0, 1191, 04634 0, 0, 1191, 1241, 0, 1241, 1241, 1241, 0, 0, 04635 0, 1241, 1241, 0, 1241, 0, 1241, 1241, 1241, 1241, 04636 0, 1241, 0, 0, 0, 1241, 1241, 1241, 0, 0, 04637 04638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04640 0, 1241, 0, 0, 1241, 0, 0, 0, 0, 1241, 04641 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 04642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04643 1241, 0, 1241, 1270, 0, 1270, 1270, 1270, 0, 1270, 04644 0, 1270, 1270, 0, 1270, 0, 1270, 1270, 1270, 1270, 04645 1270, 1270, 0, 1270, 0, 1270, 1270, 1270, 0, 0, 04646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04648 04649 0, 1270, 0, 0, 1270, 0, 0, 0, 0, 0, 04650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04652 1270, 0, 1270, 1274, 0, 1274, 1274, 1274, 0, 1274, 04653 0, 1274, 1274, 0, 1274, 0, 1274, 1274, 1274, 1274, 04654 1274, 1274, 0, 1274, 0, 1274, 1274, 1274, 0, 1274, 04655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04657 0, 1274, 0, 0, 1274, 0, 0, 0, 0, 0, 04658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04659 04660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04661 1274, 0, 1274, 1304, 0, 1304, 1304, 1304, 0, 1304, 04662 0, 1304, 1304, 0, 1304, 0, 1304, 1304, 1304, 1304, 04663 1304, 1304, 0, 1304, 0, 1304, 1304, 1304, 0, 0, 04664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04666 0, 1304, 0, 0, 1304, 0, 0, 0, 0, 0, 04667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04669 1304, 0, 1304, 1320, 0, 1320, 1320, 1320, 0, 0, 04670 04671 0, 1320, 1320, 0, 1320, 0, 1320, 1320, 1320, 1320, 04672 0, 1320, 0, 0, 0, 1320, 1320, 1320, 0, 0, 04673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04675 0, 1320, 0, 0, 1320, 0, 0, 0, 0, 0, 04676 0, 0, 0, 0, 0, 0, 0, 0, 0, 1320, 04677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04678 1320, 0, 1320, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 04679 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 04680 1321, 1321, 1321, 0, 1321, 1321, 1321, 1321, 1321, 1321, 04681 04682 1321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04684 0, 0, 1321, 1321, 1321, 1321, 0, 0, 0, 0, 04685 0, 0, 0, 0, 0, 0, 0, 1321, 0, 0, 04686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04687 1321, 1321, 1321, 1321, 1361, 0, 0, 1361, 1361, 0, 04688 1361, 1361, 1361, 0, 1361, 0, 1361, 1361, 1361, 0, 04689 1361, 1361, 1361, 0, 0, 1361, 1361, 1361, 1361, 1361, 04690 1361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04692 04693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04696 0, 0, 1361, 1361, 1370, 1370, 0, 1370, 1370, 0, 04697 0, 0, 0, 0, 0, 0, 1370, 1370, 1370, 0, 04698 0, 0, 0, 0, 0, 0, 0, 1370, 0, 0, 04699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04701 0, 0, 0, 1370, 1370, 1370, 1370, 0, 0, 0, 04702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04703 04704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04705 0, 1370, 1370, 1370, 1391, 0, 1391, 1391, 1391, 0, 04706 0, 0, 1391, 1391, 0, 1391, 0, 1391, 1391, 1391, 04707 1391, 0, 1391, 0, 0, 0, 1391, 1391, 1391, 0, 04708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04710 0, 0, 1391, 0, 0, 1391, 0, 1391, 0, 0, 04711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04713 0, 1391, 0, 1391, 1392, 0, 0, 1392, 1392, 0, 04714 04715 1392, 1392, 1392, 0, 1392, 0, 1392, 1392, 1392, 0, 04716 1392, 1392, 1392, 0, 0, 1392, 1392, 1392, 1392, 1392, 04717 1392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04722 0, 0, 1392, 1392, 1412, 0, 0, 1412, 1412, 0, 04723 1412, 1412, 1412, 0, 1412, 0, 1412, 1412, 1412, 0, 04724 1412, 1412, 1412, 0, 0, 1412, 1412, 1412, 1412, 1412, 04725 04726 1412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04731 0, 0, 1412, 1412, 1458, 1458, 1458, 1458, 1458, 1458, 04732 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 04733 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 04734 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1459, 04735 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 04736 04737 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 04738 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 04739 1459, 1459, 1459, 1459, 1460, 1460, 1460, 1460, 1460, 1460, 04740 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 04741 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 04742 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1461, 04743 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 04744 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 04745 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 04746 1461, 1461, 1461, 1461, 1462, 1462, 1462, 1462, 1462, 1462, 04747 04748 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 04749 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 04750 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1463, 04751 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 04752 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 04753 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 04754 1463, 1463, 1463, 1463, 1464, 1464, 1464, 1464, 1464, 1464, 04755 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 04756 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 04757 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1465, 04758 04759 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 04760 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 04761 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 04762 1465, 1465, 1465, 1465, 1466, 1466, 1466, 1466, 1466, 1466, 04763 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 04764 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 04765 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1467, 04766 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 04767 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 04768 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 04769 04770 1467, 1467, 1467, 1467, 1468, 1468, 1468, 1468, 1468, 1468, 04771 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 04772 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 04773 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1469, 04774 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 04775 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 04776 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 04777 1469, 1469, 1469, 1469, 1470, 1470, 1470, 1470, 1470, 1470, 04778 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 04779 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 04780 04781 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1471, 04782 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 04783 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 04784 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 04785 1471, 1471, 1471, 1471, 1472, 1472, 1472, 1472, 1472, 1472, 04786 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 04787 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 04788 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1473, 04789 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 04790 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 04791 04792 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 04793 1473, 1473, 1473, 1473, 1474, 1474, 1474, 1474, 1474, 1474, 04794 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 04795 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 04796 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1475, 04797 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 04798 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 04799 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 04800 1475, 1475, 1475, 1475, 1476, 1476, 1476, 1476, 1476, 1476, 04801 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 04802 04803 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 04804 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1477, 04805 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 04806 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 04807 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 04808 1477, 1477, 1477, 1477, 1478, 1478, 1478, 1478, 1478, 1478, 04809 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 04810 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 04811 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1479, 04812 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 04813 04814 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 04815 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 04816 1479, 1479, 1479, 1479, 1480, 1480, 1480, 1480, 1480, 1480, 04817 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 04818 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 04819 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1481, 04820 0, 0, 0, 1481, 1481, 0, 0, 0, 0, 1481, 04821 0, 0, 1481, 1481, 0, 1481, 0, 1481, 1481, 0, 04822 0, 0, 1481, 0, 0, 0, 1481, 0, 0, 0, 04823 1481, 0, 0, 1481, 1482, 1482, 0, 1482, 1482, 1482, 04824 04825 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 04826 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 04827 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1486, 04828 0, 0, 0, 1486, 1486, 0, 0, 0, 0, 1486, 04829 0, 0, 1486, 1486, 0, 1486, 1486, 1486, 1486, 0, 04830 0, 0, 1486, 0, 0, 1486, 1486, 0, 0, 0, 04831 1486, 0, 0, 1486, 1487, 0, 0, 0, 1487, 1487, 04832 0, 0, 0, 0, 1487, 0, 0, 1487, 1487, 0, 04833 1487, 1487, 1487, 1487, 0, 0, 0, 1487, 0, 0, 04834 1487, 1487, 0, 1487, 0, 1487, 0, 0, 1487, 1488, 04835 04836 0, 1488, 1488, 0, 1488, 0, 0, 0, 0, 0, 04837 0, 1488, 1488, 1490, 1490, 1490, 1490, 0, 0, 0, 04838 0, 0, 0, 0, 0, 0, 1490, 0, 0, 1490, 04839 0, 1490, 0, 1490, 1490, 0, 1490, 0, 0, 0, 04840 0, 1490, 1491, 0, 0, 0, 1491, 1491, 1491, 0, 04841 0, 0, 1491, 1491, 0, 1491, 1491, 0, 1491, 1491, 04842 1491, 1491, 1491, 0, 1491, 1491, 0, 0, 1491, 1491, 04843 0, 1491, 0, 1491, 0, 0, 1491, 1492, 0, 0, 04844 0, 1492, 1492, 0, 0, 0, 0, 1492, 0, 0, 04845 1492, 1492, 0, 1492, 0, 1492, 1492, 0, 0, 0, 04846 04847 1492, 0, 0, 0, 1492, 0, 0, 0, 1492, 0, 04848 0, 1492, 1493, 1493, 0, 1493, 1493, 1493, 1493, 1493, 04849 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 0, 1493, 04850 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 04851 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1494, 0, 0, 04852 0, 1494, 1494, 0, 0, 0, 0, 1494, 0, 0, 04853 1494, 1494, 0, 1494, 0, 1494, 1494, 0, 0, 0, 04854 1494, 0, 0, 0, 1494, 0, 0, 0, 1494, 0, 04855 0, 1494, 1495, 1495, 0, 1495, 1495, 1495, 1495, 1495, 04856 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 04857 04858 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 04859 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1498, 1498, 1498, 04860 1498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04861 1498, 0, 0, 1498, 0, 1498, 0, 1498, 1498, 0, 04862 1498, 0, 0, 0, 0, 1498, 1499, 0, 0, 0, 04863 1499, 0, 0, 0, 0, 0, 1499, 0, 0, 1499, 04864 1499, 0, 1499, 0, 1499, 1499, 0, 0, 0, 1499, 04865 0, 0, 0, 1499, 0, 0, 0, 1499, 0, 0, 04866 1499, 1501, 1501, 1501, 1501, 0, 0, 0, 0, 0, 04867 0, 0, 0, 0, 1501, 0, 0, 1501, 0, 1501, 04868 04869 0, 1501, 1501, 0, 1501, 0, 0, 0, 0, 1501, 04870 1504, 0, 0, 0, 1504, 1504, 1504, 1504, 1504, 1504, 04871 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 04872 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 04873 1504, 1504, 1504, 1504, 1504, 1505, 1505, 0, 1505, 1505, 04874 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 04875 1505, 1505, 1505, 1505, 1505, 1505, 1505, 0, 1505, 1505, 04876 1505, 0, 1505, 1505, 0, 1505, 1505, 1505, 1505, 1505, 04877 1506, 1506, 0, 1506, 1506, 1506, 1506, 0, 1506, 1506, 04878 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 04879 04880 1506, 1506, 1506, 1506, 1506, 1506, 0, 1506, 1506, 0, 04881 1506, 1506, 1506, 1506, 1506, 1507, 1507, 0, 1507, 1507, 04882 1507, 1507, 0, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 04883 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 04884 1507, 0, 1507, 1507, 0, 1507, 1507, 1507, 1507, 1507, 04885 1508, 1508, 0, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 04886 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 04887 1508, 1508, 1508, 1508, 1508, 1508, 0, 1508, 1508, 0, 04888 1508, 1508, 1508, 1508, 1508, 1509, 1509, 0, 1509, 1509, 04889 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 04890 04891 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 04892 1509, 0, 1509, 1509, 0, 1509, 1509, 1509, 1509, 1509, 04893 1510, 1510, 0, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 04894 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 04895 1510, 1510, 1510, 1510, 1510, 1510, 0, 1510, 1510, 0, 04896 1510, 1510, 1510, 1510, 1510, 1511, 1511, 0, 1511, 1511, 04897 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 04898 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 04899 1511, 0, 1511, 1511, 0, 1511, 1511, 1511, 1511, 1511, 04900 1512, 1512, 0, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 04901 04902 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 04903 1512, 1512, 1512, 1512, 1512, 1512, 0, 1512, 1512, 0, 04904 1512, 1512, 1512, 1512, 1512, 1513, 0, 0, 1513, 1513, 04905 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 04906 0, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 04907 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 04908 1514, 1514, 0, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 04909 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 04910 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 04911 1514, 1514, 1514, 1514, 1514, 1516, 1516, 0, 1516, 1516, 04912 04913 0, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 04914 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 04915 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 04916 1517, 0, 1517, 1517, 1517, 1517, 1517, 0, 0, 0, 04917 0, 0, 0, 1517, 0, 1517, 1518, 0, 1518, 0, 04918 1518, 1518, 1518, 0, 0, 0, 0, 0, 0, 1518, 04919 0, 1518, 1519, 1519, 0, 0, 1519, 1519, 1519, 1519, 04920 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 04921 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 04922 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1520, 1520, 0, 04923 04924 1520, 1520, 1520, 1520, 0, 1520, 0, 1520, 1520, 1520, 04925 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 0, 04926 1520, 1520, 1520, 0, 1520, 1520, 0, 1520, 1520, 0, 04927 0, 1520, 1522, 0, 0, 0, 0, 1522, 0, 0, 04928 0, 0, 1522, 1522, 1522, 1522, 1522, 0, 0, 0, 04929 0, 0, 0, 1522, 1523, 0, 0, 0, 1523, 0, 04930 0, 0, 0, 0, 1523, 0, 0, 1523, 1523, 0, 04931 1523, 0, 1523, 1523, 0, 0, 0, 1523, 0, 0, 04932 0, 1523, 0, 0, 0, 1523, 0, 0, 1523, 1525, 04933 1525, 1525, 1525, 0, 0, 0, 0, 0, 0, 0, 04934 04935 0, 0, 1525, 0, 0, 1525, 0, 1525, 0, 1525, 04936 1525, 0, 1525, 0, 0, 0, 0, 1525, 1526, 0, 04937 0, 0, 0, 1526, 1526, 0, 1526, 0, 1526, 1526, 04938 1526, 1526, 1526, 0, 0, 0, 0, 0, 0, 1526, 04939 1527, 0, 0, 0, 1527, 1527, 0, 0, 0, 0, 04940 1527, 0, 0, 1527, 1527, 0, 1527, 0, 1527, 1527, 04941 0, 0, 0, 1527, 0, 0, 0, 1527, 0, 0, 04942 0, 1527, 0, 0, 1527, 1529, 1529, 0, 1529, 1529, 04943 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 04944 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 04945 04946 1529, 0, 1529, 1529, 0, 1529, 1529, 1529, 1529, 1529, 04947 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 04948 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 04949 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 04950 1532, 1532, 1532, 1532, 1532, 1533, 1533, 1533, 1533, 1533, 04951 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 04952 1533, 0, 1533, 1533, 0, 1533, 1533, 1533, 1533, 1533, 04953 1533, 0, 0, 1533, 0, 1533, 1533, 1533, 1533, 1533, 04954 1535, 1535, 0, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 04955 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 04956 04957 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 04958 1535, 1535, 1535, 1535, 1535, 1536, 1536, 0, 1536, 1536, 04959 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 04960 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 04961 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 04962 1537, 0, 0, 0, 0, 1537, 0, 0, 0, 0, 04963 0, 1537, 0, 1537, 1537, 0, 1537, 0, 0, 0, 04964 0, 1537, 1542, 0, 0, 0, 1542, 1542, 0, 0, 04965 0, 0, 1542, 0, 0, 1542, 1542, 0, 1542, 1542, 04966 1542, 1542, 0, 0, 0, 1542, 0, 0, 1542, 1542, 04967 04968 0, 0, 0, 1542, 0, 0, 1542, 1543, 0, 1543, 04969 1543, 0, 1543, 0, 0, 0, 0, 0, 0, 1543, 04970 1543, 1545, 0, 0, 0, 1545, 1545, 0, 0, 0, 04971 0, 1545, 0, 0, 1545, 1545, 0, 1545, 1545, 1545, 04972 1545, 0, 0, 0, 1545, 0, 0, 1545, 1545, 0, 04973 1545, 0, 1545, 0, 0, 1545, 1546, 0, 1546, 1546, 04974 0, 1546, 0, 0, 0, 0, 0, 0, 1546, 1546, 04975 1547, 0, 0, 0, 1547, 1547, 0, 0, 0, 0, 04976 1547, 0, 0, 1547, 1547, 0, 1547, 0, 1547, 1547, 04977 0, 0, 0, 1547, 0, 0, 0, 1547, 0, 0, 04978 04979 0, 1547, 0, 0, 1547, 1551, 1551, 1551, 0, 0, 04980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 04981 0, 0, 1551, 1551, 0, 0, 0, 0, 1551, 0, 04982 0, 1551, 1554, 0, 0, 0, 0, 0, 0, 0, 04983 1554, 0, 0, 1554, 1554, 0, 1554, 0, 0, 0, 04984 1554, 1554, 0, 1554, 0, 1554, 0, 0, 1554, 1555, 04985 0, 1555, 1555, 0, 1555, 0, 0, 0, 0, 0, 04986 0, 1555, 1555, 0, 0, 0, 0, 0, 0, 1555, 04987 1556, 0, 0, 0, 1556, 1556, 1556, 0, 0, 0, 04988 1556, 1556, 0, 1556, 1556, 0, 1556, 1556, 1556, 1556, 04989 04990 1556, 0, 1556, 1556, 0, 0, 1556, 1556, 0, 1556, 04991 0, 1556, 0, 0, 1556, 1558, 0, 0, 0, 1558, 04992 1558, 0, 0, 0, 0, 1558, 1558, 0, 1558, 1558, 04993 0, 1558, 0, 1558, 1558, 0, 0, 1558, 1558, 0, 04994 0, 0, 1558, 0, 0, 0, 1558, 0, 0, 1558, 04995 1559, 1559, 0, 1559, 1559, 1559, 0, 0, 0, 0, 04996 1559, 0, 0, 1559, 1559, 0, 1559, 1559, 1559, 1559, 04997 0, 0, 0, 1559, 0, 0, 0, 1559, 0, 0, 04998 0, 1559, 0, 0, 1559, 1560, 1560, 0, 1560, 1560, 04999 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 05000 05001 1560, 0, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 05002 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 05003 1561, 0, 0, 0, 1561, 1561, 0, 0, 0, 0, 05004 1561, 0, 0, 1561, 1561, 0, 1561, 0, 1561, 1561, 05005 0, 0, 0, 1561, 0, 0, 0, 1561, 0, 0, 05006 0, 1561, 0, 0, 1561, 1562, 1562, 0, 1562, 1562, 05007 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 05008 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 05009 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 05010 1563, 1563, 0, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 05011 05012 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 05013 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 05014 1563, 1563, 1563, 1563, 1563, 1566, 1566, 1566, 0, 0, 05015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 05016 0, 0, 1566, 1566, 0, 0, 0, 0, 1566, 0, 05017 0, 1566, 1568, 0, 0, 0, 1568, 0, 0, 0, 05018 0, 0, 1568, 0, 0, 1568, 1568, 0, 1568, 0, 05019 1568, 1568, 0, 0, 0, 1568, 0, 0, 0, 1568, 05020 0, 0, 0, 1568, 0, 0, 1568, 1573, 0, 0, 05021 0, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 05022 05023 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 05024 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 05025 1573, 1573, 1574, 1574, 0, 1574, 1574, 1574, 1574, 1574, 05026 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 05027 1574, 1574, 1574, 1574, 0, 1574, 1574, 1574, 0, 1574, 05028 1574, 0, 1574, 1574, 1574, 1574, 1574, 1575, 1575, 0, 05029 1575, 1575, 1575, 1575, 0, 1575, 1575, 1575, 1575, 1575, 05030 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 05031 1575, 1575, 1575, 0, 1575, 1575, 0, 1575, 1575, 1575, 05032 1575, 1575, 1576, 1576, 0, 1576, 1576, 1576, 1576, 0, 05033 05034 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 05035 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 0, 1576, 05036 1576, 0, 1576, 1576, 1576, 1576, 1576, 1577, 1577, 0, 05037 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 05038 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 05039 1577, 1577, 1577, 0, 1577, 1577, 0, 1577, 1577, 1577, 05040 1577, 1577, 1578, 1578, 0, 1578, 1578, 1578, 1578, 1578, 05041 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 05042 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 0, 1578, 05043 1578, 0, 1578, 1578, 1578, 1578, 1578, 1579, 1579, 0, 05044 05045 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 05046 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 05047 1579, 1579, 1579, 0, 1579, 1579, 0, 1579, 1579, 1579, 05048 1579, 1579, 1580, 1580, 0, 1580, 1580, 1580, 1580, 1580, 05049 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 05050 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 0, 1580, 05051 1580, 0, 1580, 1580, 1580, 1580, 1580, 1581, 1581, 0, 05052 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 05053 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 05054 1581, 1581, 1581, 0, 1581, 1581, 0, 1581, 1581, 1581, 05055 05056 1581, 1581, 1582, 0, 0, 1582, 1582, 1582, 1582, 1582, 05057 1582, 1582, 1582, 1582, 1582, 1582, 1582, 0, 1582, 1582, 05058 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 05059 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1583, 1583, 0, 05060 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 05061 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 05062 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 05063 1583, 1583, 1584, 1584, 0, 1584, 1584, 1584, 1584, 1584, 05064 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 05065 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 05066 05067 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1586, 1586, 0, 05068 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 05069 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 05070 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 05071 1586, 1586, 1587, 0, 1587, 1587, 1587, 1587, 1587, 0, 05072 0, 0, 0, 0, 0, 1587, 0, 1587, 1588, 0, 05073 1588, 0, 1588, 1588, 1588, 0, 0, 0, 0, 0, 05074 0, 1588, 0, 1588, 1589, 0, 1589, 1589, 1589, 1589, 05075 1589, 0, 0, 0, 0, 0, 0, 1589, 0, 1589, 05076 1590, 1590, 0, 0, 1590, 1590, 1590, 1590, 1590, 1590, 05077 05078 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 05079 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 05080 1590, 1590, 1590, 1590, 1590, 1591, 1591, 0, 1591, 1591, 05081 1591, 1591, 0, 1591, 0, 1591, 1591, 1591, 1591, 1591, 05082 1591, 1591, 1591, 1591, 1591, 1591, 1591, 0, 1591, 1591, 05083 1591, 0, 1591, 1591, 0, 1591, 1591, 0, 0, 1591, 05084 1592, 1592, 0, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 05085 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 05086 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 05087 1592, 1592, 1592, 1592, 1592, 1593, 0, 0, 0, 0, 05088 05089 1593, 0, 0, 0, 0, 1593, 1593, 1593, 1593, 1593, 05090 0, 0, 0, 0, 0, 0, 1593, 1595, 0, 0, 05091 0, 0, 0, 0, 0, 1595, 0, 0, 1595, 1595, 05092 0, 1595, 0, 0, 0, 1595, 1595, 0, 1595, 0, 05093 1595, 0, 0, 1595, 1596, 0, 0, 0, 1596, 0, 05094 0, 0, 0, 0, 1596, 0, 0, 1596, 1596, 0, 05095 1596, 0, 1596, 1596, 0, 0, 0, 1596, 0, 0, 05096 0, 1596, 0, 0, 0, 1596, 0, 0, 1596, 1599, 05097 0, 0, 0, 0, 1599, 1599, 0, 1599, 0, 1599, 05098 1599, 1599, 1599, 1599, 0, 0, 0, 0, 0, 0, 05099 05100 1599, 1600, 0, 0, 0, 1600, 1600, 0, 0, 0, 05101 0, 1600, 0, 0, 1600, 1600, 0, 1600, 0, 1600, 05102 1600, 0, 0, 0, 1600, 0, 0, 0, 1600, 0, 05103 0, 0, 1600, 0, 0, 1600, 1601, 1601, 0, 1601, 05104 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 05105 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 05106 1601, 1601, 0, 1601, 1601, 0, 1601, 1601, 1601, 1601, 05107 1601, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 05108 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 05109 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 05110 05111 1604, 1604, 1604, 1604, 1604, 1604, 1605, 1605, 1605, 1605, 05112 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 05113 1605, 1605, 0, 1605, 1605, 0, 1605, 1605, 1605, 1605, 05114 1605, 1605, 0, 0, 1605, 0, 1605, 1605, 1605, 1605, 05115 1605, 1608, 0, 0, 0, 0, 1608, 0, 0, 0, 05116 0, 0, 1608, 0, 1608, 1608, 0, 1608, 0, 0, 05117 0, 0, 1608, 1610, 0, 0, 0, 0, 0, 0, 05118 0, 1610, 0, 0, 0, 1610, 0, 1610, 0, 0, 05119 0, 1610, 1610, 0, 0, 0, 1610, 0, 0, 1610, 05120 1614, 1614, 0, 1614, 1614, 1614, 1614, 0, 1614, 1614, 05121 05122 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 05123 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 05124 1614, 1614, 1614, 1614, 1614, 1617, 0, 1617, 1617, 0, 05125 1617, 0, 0, 0, 0, 0, 0, 1617, 1617, 1618, 05126 0, 0, 0, 1618, 1618, 0, 0, 0, 0, 1618, 05127 0, 0, 1618, 1618, 0, 1618, 1618, 1618, 1618, 0, 05128 0, 0, 1618, 0, 0, 0, 1618, 0, 1618, 0, 05129 1618, 0, 0, 1618, 1619, 1619, 1619, 1619, 0, 0, 05130 0, 0, 0, 0, 0, 1619, 0, 1619, 1620, 1620, 05131 1620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 05132 05133 0, 0, 0, 0, 0, 1620, 0, 0, 0, 0, 05134 0, 1620, 0, 0, 1620, 1621, 1621, 1621, 0, 0, 05135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 05136 0, 0, 1621, 1621, 0, 0, 0, 0, 1621, 0, 05137 0, 1621, 1623, 0, 0, 0, 0, 1623, 0, 0, 05138 0, 0, 0, 1623, 0, 1623, 1623, 0, 1623, 0, 05139 0, 0, 0, 1623, 1624, 0, 0, 0, 0, 0, 05140 0, 0, 1624, 0, 0, 1624, 1624, 0, 1624, 0, 05141 0, 0, 1624, 1624, 0, 1624, 0, 1624, 0, 0, 05142 1624, 1625, 0, 0, 0, 0, 1625, 0, 0, 1625, 05143 05144 0, 1625, 1625, 0, 1625, 1625, 0, 1625, 0, 0, 05145 0, 1625, 1625, 1627, 0, 0, 0, 0, 0, 0, 05146 0, 1627, 0, 0, 0, 1627, 0, 1627, 0, 0, 05147 0, 1627, 1627, 0, 0, 0, 1627, 0, 0, 1627, 05148 1628, 0, 0, 0, 1628, 1628, 1628, 0, 0, 0, 05149 1628, 1628, 0, 1628, 1628, 0, 1628, 1628, 1628, 1628, 05150 1628, 0, 1628, 1628, 0, 0, 1628, 1628, 0, 1628, 05151 0, 1628, 0, 0, 1628, 1629, 0, 0, 0, 1629, 05152 1629, 0, 0, 0, 0, 1629, 1629, 0, 1629, 1629, 05153 0, 1629, 0, 1629, 1629, 0, 0, 1629, 1629, 0, 05154 05155 0, 0, 1629, 0, 0, 0, 1629, 0, 0, 1629, 05156 1630, 0, 0, 0, 0, 0, 0, 0, 1630, 0, 05157 0, 0, 1630, 0, 1630, 0, 0, 0, 1630, 1630, 05158 0, 0, 0, 1630, 0, 0, 1630, 1632, 1632, 1632, 05159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 05160 0, 0, 0, 0, 1632, 0, 0, 0, 0, 0, 05161 1632, 0, 0, 1632, 1633, 1633, 1633, 0, 0, 0, 05162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 05163 0, 1633, 1633, 0, 0, 0, 0, 1633, 0, 0, 05164 1633, 1637, 0, 0, 1637, 1637, 1637, 1637, 1637, 1637, 05165 05166 1637, 1637, 1637, 1637, 1637, 1637, 0, 1637, 1637, 1637, 05167 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 05168 1637, 1637, 1637, 1637, 1637, 1637, 1638, 0, 1638, 1638, 05169 1638, 1638, 1638, 0, 0, 0, 0, 0, 0, 1638, 05170 0, 1638, 1639, 0, 1639, 0, 1639, 1639, 1639, 0, 05171 0, 0, 0, 0, 0, 1639, 0, 1639, 1640, 1640, 05172 0, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 05173 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 05174 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 05175 1640, 1640, 1640, 1641, 1641, 0, 1641, 1641, 1641, 1641, 05176 05177 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 05178 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 05179 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1642, 1642, 05180 0, 1642, 1642, 1642, 1642, 0, 1642, 0, 1642, 1642, 05181 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 05182 0, 1642, 1642, 1642, 0, 1642, 1642, 0, 1642, 1642, 05183 0, 0, 1642, 1643, 0, 0, 0, 0, 0, 0, 05184 0, 1643, 0, 0, 1643, 1643, 0, 1643, 0, 0, 05185 0, 1643, 1643, 0, 1643, 0, 1643, 0, 0, 1643, 05186 1646, 0, 0, 0, 1646, 1646, 0, 0, 0, 0, 05187 05188 1646, 0, 0, 1646, 1646, 0, 1646, 0, 1646, 1646, 05189 0, 0, 0, 1646, 0, 0, 0, 1646, 0, 0, 05190 0, 1646, 0, 0, 1646, 1647, 1647, 0, 1647, 1647, 05191 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 05192 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 05193 1647, 0, 1647, 1647, 0, 1647, 1647, 1647, 1647, 1647, 05194 1649, 0, 0, 0, 0, 1649, 0, 0, 0, 0, 05195 0, 1649, 0, 1649, 1649, 0, 1649, 0, 0, 0, 05196 0, 1649, 1650, 0, 0, 0, 0, 0, 0, 0, 05197 1650, 0, 0, 0, 1650, 0, 1650, 0, 0, 0, 05198 05199 1650, 1650, 0, 0, 0, 1650, 0, 0, 1650, 1651, 05200 0, 0, 0, 0, 1651, 0, 0, 0, 0, 0, 05201 1651, 0, 1651, 1651, 0, 1651, 0, 0, 0, 0, 05202 1651, 1654, 1654, 0, 1654, 1654, 1654, 1654, 1654, 1654, 05203 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 05204 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 05205 1654, 1654, 1654, 1654, 1654, 1654, 1657, 1657, 1657, 0, 05206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 05207 0, 0, 0, 1657, 1657, 0, 0, 0, 1657, 1657, 05208 0, 0, 1657, 1660, 0, 0, 0, 0, 1660, 0, 05209 05210 0, 0, 0, 0, 1660, 0, 1660, 1660, 0, 1660, 05211 0, 0, 0, 0, 1660, 1662, 0, 0, 0, 0, 05212 0, 0, 0, 1662, 0, 0, 0, 1662, 0, 1662, 05213 0, 0, 0, 1662, 1662, 0, 0, 0, 1662, 0, 05214 0, 1662, 1663, 0, 1663, 1663, 0, 1663, 0, 0, 05215 0, 0, 0, 0, 1663, 1663, 0, 0, 0, 0, 05216 0, 0, 1663, 1664, 0, 0, 0, 0, 1664, 0, 05217 0, 1664, 0, 1664, 1664, 0, 1664, 1664, 0, 1664, 05218 0, 0, 0, 1664, 1664, 1666, 0, 0, 0, 0, 05219 0, 0, 0, 1666, 0, 0, 0, 1666, 0, 1666, 05220 05221 0, 0, 0, 1666, 1666, 0, 0, 0, 1666, 0, 05222 0, 1666, 1667, 0, 0, 0, 1667, 1667, 1667, 0, 05223 0, 0, 1667, 1667, 0, 1667, 1667, 0, 1667, 1667, 05224 1667, 1667, 1667, 0, 1667, 1667, 0, 0, 1667, 1667, 05225 0, 1667, 0, 1667, 0, 0, 1667, 1668, 0, 1668, 05226 1668, 1668, 1668, 1668, 1668, 0, 0, 1668, 1668, 1668, 05227 1668, 1668, 1668, 1668, 1668, 1668, 1668, 0, 1668, 1668, 05228 1668, 0, 0, 0, 0, 0, 0, 1668, 1669, 0, 05229 0, 0, 0, 0, 0, 0, 1669, 0, 0, 0, 05230 1669, 0, 1669, 0, 0, 0, 1669, 1669, 0, 0, 05231 05232 0, 1669, 0, 0, 1669, 1670, 1670, 1670, 0, 0, 05233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 05234 0, 0, 1670, 1670, 0, 0, 0, 1670, 1670, 0, 05235 0, 1670, 1673, 1673, 0, 1673, 1673, 1673, 1673, 1673, 05236 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 05237 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 05238 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1674, 1674, 0, 05239 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 05240 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 05241 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 05242 05243 1674, 1674, 1675, 1675, 0, 1675, 1675, 1675, 1675, 0, 05244 1675, 0, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 05245 1675, 1675, 1675, 1675, 0, 1675, 1675, 1675, 0, 1675, 05246 1675, 0, 1675, 1675, 0, 0, 1675, 1677, 0, 0, 05247 0, 1677, 1677, 0, 0, 0, 0, 1677, 0, 0, 05248 1677, 1677, 0, 1677, 0, 1677, 1677, 0, 0, 0, 05249 1677, 0, 0, 0, 1677, 0, 0, 0, 1677, 0, 05250 0, 1677, 1678, 1678, 0, 1678, 1678, 1678, 1678, 1678, 05251 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 05252 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 0, 1678, 05253 05254 1678, 0, 1678, 1678, 1678, 1678, 1678, 1679, 1679, 1679, 05255 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 05256 1679, 1679, 1679, 1679, 1679, 1679, 0, 1679, 1679, 1679, 05257 1679, 1679, 1679, 1679, 0, 1679, 1679, 1679, 1679, 1679, 05258 1679, 1679, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 05259 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 05260 1680, 0, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 0, 05261 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1682, 0, 0, 05262 0, 0, 1682, 0, 0, 0, 0, 0, 1682, 0, 05263 1682, 1682, 0, 1682, 0, 0, 0, 0, 1682, 1683, 05264 05265 0, 0, 0, 0, 0, 0, 0, 1683, 0, 0, 05266 0, 1683, 0, 1683, 0, 0, 0, 1683, 1683, 0, 05267 0, 0, 1683, 0, 0, 1683, 1684, 0, 0, 0, 05268 0, 0, 0, 0, 1684, 0, 0, 0, 1684, 0, 05269 1684, 0, 0, 0, 1684, 1684, 0, 0, 0, 1684, 05270 0, 0, 1684, 1685, 0, 0, 0, 0, 1685, 0, 05271 0, 0, 0, 0, 1685, 0, 1685, 1685, 0, 1685, 05272 0, 0, 0, 0, 1685, 1688, 1688, 1688, 0, 0, 05273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 05274 0, 0, 1688, 0, 0, 0, 0, 1688, 1688, 0, 05275 05276 0, 1688, 1689, 1689, 1689, 0, 0, 0, 0, 0, 05277 0, 0, 0, 0, 0, 0, 0, 0, 0, 1689, 05278 1689, 0, 0, 0, 1689, 1689, 0, 0, 1689, 1690, 05279 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 05280 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 05281 1690, 0, 1690, 0, 1690, 1690, 1690, 1690, 1690, 1690, 05282 1690, 1690, 1690, 1690, 1692, 0, 0, 0, 0, 1692, 05283 0, 0, 0, 0, 0, 1692, 0, 1692, 1692, 0, 05284 1692, 0, 0, 0, 0, 1692, 1693, 0, 0, 0, 05285 0, 0, 0, 0, 1693, 0, 0, 0, 1693, 0, 05286 05287 1693, 0, 0, 0, 1693, 1693, 0, 0, 0, 1693, 05288 0, 0, 1693, 1694, 0, 0, 0, 0, 1694, 0, 05289 0, 0, 0, 0, 1694, 0, 1694, 1694, 0, 1694, 05290 0, 0, 0, 0, 1694, 1695, 0, 0, 0, 0, 05291 1695, 0, 0, 1695, 0, 1695, 1695, 0, 1695, 1695, 05292 0, 1695, 0, 0, 0, 1695, 1695, 1696, 0, 0, 05293 0, 0, 1696, 0, 0, 1696, 0, 1696, 1696, 0, 05294 1696, 1696, 0, 1696, 0, 0, 0, 1696, 1696, 1697, 05295 0, 0, 0, 0, 0, 0, 0, 1697, 0, 0, 05296 0, 1697, 0, 1697, 0, 0, 0, 1697, 1697, 0, 05297 05298 0, 0, 1697, 0, 0, 1697, 1698, 0, 1698, 1698, 05299 1698, 1698, 1698, 1698, 0, 0, 1698, 1698, 1698, 1698, 05300 1698, 1698, 1698, 1698, 0, 1698, 0, 1698, 1698, 1698, 05301 0, 0, 0, 0, 1698, 0, 1698, 1699, 0, 1699, 05302 1699, 1699, 1699, 1699, 1699, 0, 0, 1699, 1699, 1699, 05303 1699, 1699, 1699, 1699, 1699, 0, 1699, 0, 1699, 1699, 05304 1699, 0, 0, 0, 0, 1699, 0, 1699, 1700, 0, 05305 0, 0, 1700, 1700, 1700, 0, 0, 0, 1700, 1700, 05306 0, 1700, 1700, 0, 1700, 1700, 1700, 1700, 1700, 0, 05307 1700, 1700, 0, 0, 1700, 1700, 0, 1700, 0, 1700, 05308 05309 0, 0, 1700, 1701, 0, 0, 0, 0, 0, 0, 05310 0, 1701, 0, 0, 0, 1701, 0, 1701, 0, 0, 05311 0, 1701, 1701, 0, 0, 0, 1701, 0, 0, 1701, 05312 1702, 1702, 1702, 0, 0, 0, 0, 0, 0, 0, 05313 0, 0, 0, 0, 0, 0, 0, 1702, 0, 0, 05314 0, 0, 1702, 1702, 0, 0, 1702, 1703, 1703, 1703, 05315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 05316 0, 0, 0, 0, 1703, 1703, 0, 0, 0, 1703, 05317 1703, 0, 0, 1703, 1704, 1704, 1704, 1704, 1704, 1704, 05318 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 05319 05320 1704, 1704, 1704, 1704, 1704, 1704, 0, 1704, 0, 1704, 05321 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1707, 05322 1707, 0, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 05323 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 05324 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 05325 1707, 1707, 1707, 1707, 1708, 1708, 0, 1708, 1708, 1708, 05326 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 05327 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 05328 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1709, 05329 1709, 0, 1709, 1709, 1709, 1709, 0, 1709, 0, 1709, 05330 05331 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 05332 1709, 0, 1709, 1709, 1709, 0, 1709, 1709, 0, 1709, 05333 1709, 0, 0, 1709, 1711, 0, 0, 0, 1711, 1711, 05334 0, 0, 0, 0, 1711, 0, 0, 1711, 1711, 0, 05335 1711, 0, 1711, 1711, 0, 0, 0, 1711, 0, 0, 05336 0, 1711, 0, 0, 0, 1711, 0, 0, 1711, 1712, 05337 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 05338 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 0, 1712, 05339 1712, 1712, 1712, 1712, 1712, 1712, 0, 1712, 1712, 1712, 05340 1712, 1712, 1712, 1712, 1713, 0, 0, 0, 0, 1713, 05341 05342 0, 0, 0, 0, 0, 1713, 0, 1713, 1713, 0, 05343 1713, 0, 0, 0, 0, 1713, 1714, 0, 0, 0, 05344 0, 0, 0, 0, 1714, 0, 0, 0, 1714, 0, 05345 1714, 0, 0, 0, 1714, 1714, 0, 0, 0, 1714, 05346 0, 0, 1714, 1715, 0, 0, 0, 0, 1715, 0, 05347 0, 0, 0, 0, 1715, 0, 1715, 1715, 0, 1715, 05348 0, 0, 0, 0, 1715, 1716, 0, 0, 0, 0, 05349 1716, 0, 0, 0, 0, 0, 1716, 0, 1716, 1716, 05350 0, 1716, 0, 0, 0, 0, 1716, 1718, 1718, 1718, 05351 1718, 1718, 0, 1718, 1718, 1718, 1718, 0, 1718, 1718, 05352 05353 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 0, 05354 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 05355 1718, 1718, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 05356 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 05357 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 05358 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1720, 1720, 1720, 05359 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 05360 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 05361 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 05362 1720, 1720, 1722, 0, 0, 0, 0, 1722, 0, 0, 05363 05364 0, 0, 0, 1722, 0, 1722, 1722, 0, 1722, 0, 05365 0, 0, 0, 1722, 1723, 0, 0, 0, 0, 0, 05366 0, 0, 1723, 0, 0, 0, 1723, 0, 1723, 0, 05367 0, 0, 1723, 1723, 0, 0, 0, 1723, 0, 0, 05368 1723, 1724, 0, 0, 0, 0, 1724, 0, 0, 0, 05369 0, 0, 1724, 0, 1724, 1724, 0, 1724, 0, 0, 05370 0, 0, 1724, 1725, 0, 0, 0, 0, 1725, 0, 05371 0, 1725, 0, 1725, 1725, 0, 1725, 1725, 0, 1725, 05372 0, 0, 0, 1725, 1725, 1726, 0, 0, 0, 0, 05373 1726, 0, 0, 1726, 0, 1726, 1726, 0, 1726, 1726, 05374 05375 0, 1726, 0, 0, 0, 1726, 1726, 1727, 0, 0, 05376 0, 0, 0, 0, 0, 1727, 0, 0, 0, 1727, 05377 0, 1727, 0, 0, 0, 1727, 1727, 0, 0, 0, 05378 1727, 0, 0, 1727, 1728, 0, 1728, 1728, 1728, 1728, 05379 1728, 0, 1728, 0, 1728, 1728, 1728, 1728, 1728, 1728, 05380 1728, 1728, 0, 1728, 0, 1728, 1728, 1728, 0, 0, 05381 0, 0, 0, 1728, 1728, 1729, 0, 1729, 1729, 1729, 05382 1729, 1729, 1729, 0, 0, 1729, 1729, 1729, 1729, 1729, 05383 1729, 1729, 1729, 1729, 1729, 0, 1729, 1729, 1729, 0, 05384 0, 0, 0, 1729, 0, 1729, 1730, 0, 1730, 1730, 05385 05386 1730, 1730, 1730, 1730, 0, 0, 1730, 1730, 1730, 1730, 05387 1730, 1730, 1730, 1730, 0, 1730, 0, 1730, 1730, 1730, 05388 0, 0, 0, 0, 1730, 0, 1730, 1731, 1731, 0, 05389 1731, 1731, 0, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 05390 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 05391 1731, 0, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 05392 1731, 1731, 1732, 1732, 0, 1732, 1732, 0, 1732, 1732, 05393 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 05394 1732, 1732, 1732, 1732, 1732, 1732, 0, 1732, 1732, 1732, 05395 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1733, 1733, 0, 05396 05397 1733, 1733, 0, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 05398 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 05399 1733, 0, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 05400 1733, 1733, 1734, 0, 0, 0, 1734, 1734, 1734, 0, 05401 0, 0, 1734, 1734, 0, 1734, 1734, 0, 1734, 1734, 05402 1734, 1734, 1734, 0, 1734, 1734, 0, 0, 1734, 1734, 05403 0, 1734, 0, 1734, 0, 0, 1734, 1735, 1735, 1735, 05404 1735, 1735, 0, 1735, 1735, 1735, 1735, 0, 1735, 1735, 05405 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 0, 05406 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 05407 05408 1735, 1735, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 05409 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 05410 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 05411 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1737, 1737, 1737, 05412 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 05413 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 05414 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 05415 1737, 1737, 1740, 1740, 0, 1740, 1740, 1740, 1740, 1740, 05416 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 05417 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 05418 05419 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1741, 1741, 0, 05420 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 05421 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 05422 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 05423 1741, 1741, 1742, 1742, 0, 1742, 1742, 1742, 1742, 0, 05424 1742, 0, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 05425 1742, 1742, 1742, 1742, 0, 1742, 1742, 1742, 0, 1742, 05426 1742, 0, 1742, 1742, 0, 0, 1742, 1744, 0, 0, 05427 0, 1744, 1744, 0, 0, 0, 0, 1744, 0, 0, 05428 1744, 1744, 0, 1744, 0, 1744, 1744, 0, 0, 0, 05429 05430 1744, 0, 0, 0, 1744, 0, 0, 0, 1744, 0, 05431 0, 1744, 1745, 0, 0, 0, 0, 1745, 0, 0, 05432 0, 0, 0, 1745, 0, 1745, 1745, 0, 1745, 0, 05433 0, 0, 0, 1745, 1746, 0, 0, 0, 0, 0, 05434 0, 0, 1746, 0, 0, 0, 1746, 0, 1746, 0, 05435 0, 0, 1746, 1746, 0, 0, 0, 1746, 0, 0, 05436 1746, 1747, 0, 0, 0, 0, 1747, 0, 0, 0, 05437 0, 0, 1747, 0, 1747, 1747, 0, 1747, 0, 0, 05438 0, 0, 1747, 1748, 0, 0, 0, 0, 1748, 0, 05439 0, 0, 0, 0, 1748, 0, 1748, 1748, 0, 1748, 05440 05441 0, 0, 0, 0, 1748, 1749, 1749, 1749, 1749, 1749, 05442 0, 1749, 1749, 1749, 1749, 0, 1749, 1749, 1749, 1749, 05443 1749, 1749, 1749, 1749, 1749, 1749, 1749, 0, 1749, 1749, 05444 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 05445 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 05446 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 05447 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 05448 1750, 1750, 1750, 1750, 1750, 1751, 1751, 1751, 1751, 1751, 05449 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 05450 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 05451 05452 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 05453 1753, 0, 0, 0, 0, 1753, 0, 0, 0, 0, 05454 0, 1753, 0, 1753, 1753, 0, 1753, 0, 0, 0, 05455 0, 1753, 1754, 0, 0, 0, 0, 1754, 0, 0, 05456 0, 0, 0, 1754, 0, 1754, 1754, 0, 1754, 0, 05457 0, 0, 0, 1754, 1755, 0, 0, 0, 0, 1755, 05458 0, 0, 1755, 0, 1755, 1755, 0, 1755, 1755, 0, 05459 1755, 0, 0, 0, 1755, 1755, 1756, 0, 0, 0, 05460 0, 1756, 0, 0, 1756, 0, 1756, 1756, 0, 1756, 05461 1756, 0, 1756, 0, 0, 0, 1756, 1756, 1757, 0, 05462 05463 0, 0, 0, 0, 0, 0, 1757, 0, 0, 0, 05464 1757, 0, 1757, 0, 0, 0, 1757, 1757, 0, 0, 05465 0, 1757, 0, 0, 1757, 1758, 0, 1758, 1758, 1758, 05466 1758, 1758, 0, 1758, 0, 1758, 1758, 1758, 1758, 1758, 05467 1758, 1758, 1758, 0, 1758, 0, 1758, 1758, 1758, 0, 05468 0, 0, 0, 0, 1758, 1758, 1759, 0, 1759, 1759, 05469 1759, 1759, 1759, 1759, 0, 0, 1759, 1759, 1759, 1759, 05470 1759, 1759, 1759, 1759, 0, 1759, 0, 1759, 1759, 1759, 05471 0, 0, 0, 0, 1759, 0, 1759, 1760, 0, 0, 05472 1760, 0, 1760, 1760, 1760, 1760, 1760, 0, 1760, 1760, 05473 05474 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 05475 1760, 1760, 1760, 1760, 0, 0, 0, 0, 0, 1760, 05476 1760, 1761, 0, 1761, 1761, 1761, 1761, 1761, 1761, 0, 05477 0, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 05478 1761, 0, 1761, 1761, 1761, 0, 0, 0, 0, 1761, 05479 0, 1761, 1762, 0, 1762, 1762, 1762, 1762, 1762, 1762, 05480 0, 0, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 05481 1762, 1762, 0, 1762, 1762, 1762, 0, 0, 0, 0, 05482 1762, 0, 1762, 1763, 0, 1763, 1763, 1763, 1763, 1763, 05483 1763, 0, 0, 1763, 1763, 1763, 1763, 1763, 1763, 1763, 05484 05485 1763, 1763, 1763, 0, 1763, 1763, 1763, 0, 0, 0, 05486 0, 1763, 0, 1763, 1764, 1764, 0, 1764, 1764, 0, 05487 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 05488 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 0, 1764, 05489 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1765, 05490 1765, 0, 1765, 1765, 0, 1765, 1765, 1765, 1765, 1765, 05491 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 05492 1765, 1765, 1765, 0, 1765, 1765, 1765, 1765, 1765, 1765, 05493 1765, 1765, 1765, 1765, 1766, 1766, 0, 1766, 1766, 0, 05494 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 05495 05496 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 05497 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1767, 05498 0, 0, 0, 1767, 1767, 1767, 0, 0, 0, 1767, 05499 1767, 0, 1767, 1767, 0, 1767, 1767, 1767, 1767, 1767, 05500 0, 1767, 1767, 0, 0, 1767, 1767, 0, 1767, 0, 05501 1767, 0, 0, 1767, 1768, 1768, 1768, 1768, 1768, 0, 05502 1768, 1768, 1768, 1768, 0, 1768, 1768, 1768, 1768, 1768, 05503 1768, 1768, 1768, 1768, 1768, 1768, 0, 1768, 1768, 1768, 05504 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1769, 05505 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 05506 05507 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 05508 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 05509 1769, 1769, 1769, 1769, 1770, 1770, 1770, 1770, 1770, 1770, 05510 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 05511 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 05512 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1773, 05513 1773, 0, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 05514 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 05515 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 05516 1773, 1773, 1773, 1773, 1774, 1774, 0, 1774, 1774, 1774, 05517 05518 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 05519 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 05520 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1775, 05521 1775, 0, 1775, 1775, 1775, 1775, 0, 1775, 0, 1775, 05522 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 05523 1775, 0, 1775, 1775, 1775, 0, 1775, 1775, 0, 1775, 05524 1775, 0, 0, 1775, 1777, 0, 0, 0, 1777, 1777, 05525 0, 0, 0, 0, 1777, 0, 0, 1777, 1777, 0, 05526 1777, 0, 1777, 1777, 0, 0, 0, 1777, 0, 0, 05527 0, 1777, 0, 0, 0, 1777, 0, 0, 1777, 1778, 05528 05529 0, 0, 0, 0, 1778, 0, 0, 0, 0, 0, 05530 1778, 0, 1778, 1778, 0, 1778, 0, 0, 0, 0, 05531 1778, 1779, 0, 0, 0, 0, 1779, 0, 0, 0, 05532 0, 0, 1779, 0, 1779, 1779, 0, 1779, 0, 0, 05533 0, 0, 1779, 1780, 0, 0, 0, 0, 1780, 0, 05534 0, 0, 0, 0, 1780, 0, 1780, 1780, 0, 1780, 05535 0, 0, 0, 0, 1780, 1782, 0, 0, 0, 0, 05536 1782, 0, 0, 0, 0, 0, 1782, 0, 1782, 1782, 05537 0, 1782, 0, 0, 0, 0, 1782, 1783, 0, 0, 05538 0, 0, 1783, 0, 0, 0, 0, 0, 1783, 0, 05539 05540 1783, 1783, 0, 1783, 0, 0, 0, 0, 1783, 1784, 05541 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 05542 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 0, 1784, 05543 1784, 1784, 1784, 1784, 1784, 1784, 0, 1784, 1784, 1784, 05544 1784, 1784, 1784, 1784, 1785, 0, 0, 0, 0, 1785, 05545 0, 0, 1785, 0, 1785, 1785, 0, 1785, 1785, 0, 05546 1785, 0, 0, 0, 1785, 1785, 1786, 0, 0, 0, 05547 0, 1786, 0, 0, 1786, 0, 1786, 1786, 0, 1786, 05548 1786, 0, 1786, 0, 0, 0, 1786, 1786, 1787, 0, 05549 0, 0, 0, 0, 0, 0, 1787, 0, 0, 0, 05550 05551 1787, 0, 1787, 0, 0, 0, 1787, 1787, 0, 0, 05552 0, 1787, 0, 0, 1787, 1788, 0, 1788, 1788, 1788, 05553 1788, 1788, 1788, 0, 0, 1788, 1788, 1788, 1788, 1788, 05554 1788, 1788, 1788, 1788, 1788, 0, 1788, 1788, 1788, 0, 05555 0, 0, 0, 1788, 0, 1788, 1789, 0, 0, 1789, 05556 0, 1789, 1789, 1789, 1789, 1789, 0, 1789, 1789, 1789, 05557 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 05558 1789, 1789, 1789, 0, 0, 0, 0, 0, 1789, 1789, 05559 1790, 0, 1790, 1790, 1790, 1790, 1790, 1790, 0, 0, 05560 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 0, 1790, 05561 05562 0, 1790, 1790, 1790, 0, 0, 0, 0, 1790, 0, 05563 1790, 1791, 0, 1791, 1791, 1791, 1791, 1791, 1791, 0, 05564 0, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 05565 1791, 0, 1791, 1791, 1791, 0, 0, 0, 0, 1791, 05566 0, 1791, 1792, 0, 1792, 1792, 1792, 1792, 1792, 1792, 05567 0, 0, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 05568 1792, 1792, 0, 1792, 1792, 1792, 0, 0, 0, 0, 05569 1792, 0, 1792, 1793, 1793, 0, 1793, 1793, 0, 1793, 05570 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 05571 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 05572 05573 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1794, 1794, 05574 0, 1794, 1794, 0, 1794, 1794, 1794, 1794, 1794, 1794, 05575 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 05576 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 05577 1794, 1794, 1794, 1795, 1795, 0, 1795, 1795, 0, 1795, 05578 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 05579 1795, 1795, 1795, 1795, 1795, 1795, 1795, 0, 1795, 1795, 05580 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1796, 1796, 05581 0, 1796, 1796, 1796, 1796, 0, 1796, 1796, 1796, 1796, 05582 0, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 0, 05583 05584 1796, 1796, 1796, 0, 1796, 1796, 1796, 1796, 0, 1796, 05585 0, 0, 1796, 1799, 1799, 0, 1799, 1799, 1799, 1799, 05586 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 05587 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 05588 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1800, 1800, 05589 0, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 05590 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 05591 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 05592 1800, 1800, 1800, 1801, 1801, 0, 1801, 1801, 1801, 1801, 05593 0, 1801, 0, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 05594 05595 1801, 1801, 1801, 1801, 1801, 0, 1801, 1801, 1801, 0, 05596 1801, 1801, 0, 1801, 1801, 0, 0, 1801, 1803, 1803, 05597 0, 1803, 1803, 1803, 0, 0, 0, 0, 1803, 0, 05598 0, 1803, 1803, 0, 1803, 0, 1803, 1803, 0, 0, 05599 1803, 1803, 0, 0, 0, 1803, 0, 0, 0, 1803, 05600 0, 0, 1803, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 05601 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 05602 1804, 1804, 0, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 05603 0, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1805, 0, 05604 0, 0, 0, 1805, 0, 0, 0, 0, 0, 1805, 05605 05606 0, 1805, 1805, 0, 1805, 0, 0, 0, 0, 1805, 05607 1806, 0, 0, 0, 0, 1806, 0, 0, 0, 0, 05608 0, 1806, 0, 1806, 1806, 0, 1806, 0, 0, 0, 05609 0, 1806, 1807, 0, 1807, 1807, 0, 1807, 0, 1807, 05610 1807, 0, 1807, 0, 1807, 1807, 1807, 1807, 1807, 1807, 05611 1807, 1807, 0, 1807, 1807, 1807, 0, 0, 1807, 1807, 05612 0, 0, 1807, 0, 0, 1807, 1808, 0, 0, 0, 05613 0, 1808, 0, 0, 0, 0, 0, 1808, 0, 1808, 05614 1808, 0, 1808, 0, 0, 0, 0, 1808, 1809, 0, 05615 0, 0, 0, 1809, 0, 0, 0, 0, 0, 1809, 05616 05617 0, 1809, 1809, 0, 1809, 0, 0, 0, 0, 1809, 05618 1810, 0, 0, 0, 0, 1810, 0, 0, 1810, 0, 05619 1810, 1810, 0, 1810, 1810, 0, 1810, 0, 0, 0, 05620 1810, 1810, 1811, 0, 0, 0, 0, 1811, 0, 0, 05621 1811, 0, 1811, 1811, 0, 1811, 1811, 0, 1811, 0, 05622 0, 0, 1811, 1811, 1812, 0, 1812, 1812, 1812, 1812, 05623 1812, 1812, 0, 0, 1812, 1812, 1812, 1812, 1812, 1812, 05624 1812, 1812, 1812, 1812, 0, 1812, 1812, 1812, 0, 0, 05625 0, 0, 1812, 0, 1812, 1813, 0, 1813, 1813, 1813, 05626 1813, 1813, 1813, 0, 0, 1813, 1813, 1813, 1813, 1813, 05627 05628 1813, 1813, 1813, 0, 1813, 0, 1813, 1813, 1813, 0, 05629 0, 0, 0, 1813, 0, 1813, 1814, 0, 1814, 1814, 05630 1814, 1814, 1814, 1814, 0, 0, 1814, 1814, 1814, 1814, 05631 1814, 1814, 1814, 1814, 0, 1814, 0, 1814, 1814, 1814, 05632 0, 0, 0, 0, 1814, 0, 1814, 1815, 0, 1815, 05633 1815, 1815, 1815, 1815, 1815, 0, 0, 1815, 1815, 1815, 05634 1815, 1815, 1815, 1815, 1815, 1815, 1815, 0, 1815, 1815, 05635 1815, 0, 0, 0, 0, 1815, 0, 1815, 1816, 0, 05636 1816, 1816, 1816, 1816, 1816, 1816, 0, 0, 1816, 1816, 05637 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 0, 1816, 05638 05639 1816, 1816, 0, 0, 0, 0, 1816, 0, 1816, 1817, 05640 1817, 0, 1817, 1817, 0, 1817, 1817, 1817, 1817, 1817, 05641 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 05642 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 05643 1817, 1817, 1817, 1817, 1818, 1818, 0, 1818, 1818, 0, 05644 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 05645 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 0, 1818, 05646 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1819, 05647 0, 0, 0, 0, 0, 0, 0, 1819, 0, 0, 05648 1819, 1819, 0, 1819, 0, 0, 0, 1819, 1819, 0, 05649 05650 1819, 0, 1819, 0, 0, 1819, 1820, 0, 0, 0, 05651 1820, 1820, 0, 0, 0, 0, 1820, 1820, 0, 1820, 05652 1820, 0, 1820, 1820, 1820, 1820, 0, 0, 0, 1820, 05653 0, 0, 1820, 1820, 0, 0, 0, 1820, 0, 0, 05654 1820, 1821, 0, 0, 0, 1821, 1821, 0, 0, 0, 05655 0, 1821, 1821, 0, 1821, 1821, 0, 1821, 1821, 1821, 05656 1821, 0, 0, 0, 1821, 1821, 0, 1821, 1821, 0, 05657 1821, 0, 1821, 0, 0, 1821, 1822, 0, 0, 0, 05658 1822, 1822, 0, 0, 0, 0, 1822, 1822, 0, 1822, 05659 1822, 0, 1822, 0, 1822, 1822, 0, 0, 0, 1822, 05660 05661 0, 0, 0, 1822, 0, 0, 0, 1822, 0, 0, 05662 1822, 1825, 1825, 0, 1825, 1825, 1825, 1825, 1825, 1825, 05663 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 05664 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 05665 1825, 1825, 1825, 1825, 1825, 1825, 1826, 1826, 0, 1826, 05666 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 05667 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 05668 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 05669 1826, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 05670 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 05671 05672 0, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 0, 1829, 05673 1829, 1829, 1829, 1829, 1829, 1829, 1830, 1830, 1830, 1830, 05674 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 05675 1830, 1830, 1830, 1830, 1830, 0, 1830, 1830, 1830, 1830, 05676 1830, 1830, 1830, 0, 1830, 1830, 1830, 1830, 1830, 1830, 05677 1830, 1831, 0, 0, 0, 0, 1831, 0, 0, 0, 05678 0, 0, 1831, 0, 1831, 1831, 0, 1831, 0, 0, 05679 0, 0, 1831, 1832, 0, 0, 0, 0, 1832, 0, 05680 0, 0, 0, 0, 1832, 0, 1832, 1832, 0, 1832, 05681 0, 0, 0, 0, 1832, 1833, 1833, 0, 1833, 1833, 05682 05683 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 05684 1833, 1833, 0, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 05685 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 05686 1834, 0, 0, 0, 0, 0, 0, 0, 1834, 0, 05687 1834, 0, 1834, 0, 1834, 0, 0, 0, 1834, 1834, 05688 0, 1834, 1834, 1834, 0, 0, 1834, 1835, 0, 0, 05689 0, 0, 1835, 0, 0, 0, 0, 0, 1835, 0, 05690 1835, 1835, 0, 1835, 0, 0, 0, 0, 1835, 1836, 05691 0, 1836, 1836, 0, 1836, 0, 1836, 1836, 0, 1836, 05692 0, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 0, 05693 05694 1836, 1836, 1836, 0, 0, 1836, 1836, 0, 0, 1836, 05695 0, 0, 1836, 1837, 0, 0, 0, 0, 1837, 0, 05696 0, 1837, 0, 1837, 1837, 0, 1837, 1837, 0, 1837, 05697 0, 0, 0, 1837, 1837, 1838, 0, 1838, 1838, 0, 05698 1838, 0, 1838, 1838, 0, 1838, 0, 1838, 1838, 1838, 05699 1838, 1838, 1838, 1838, 1838, 0, 1838, 1838, 1838, 0, 05700 1838, 1838, 1838, 0, 0, 1838, 0, 0, 1838, 1839, 05701 0, 1839, 1839, 1839, 1839, 1839, 1839, 0, 0, 1839, 05702 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 0, 05703 1839, 1839, 1839, 0, 0, 0, 0, 1839, 0, 1839, 05704 05705 1840, 0, 1840, 1840, 1840, 1840, 1840, 1840, 0, 0, 05706 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 05707 0, 1840, 1840, 1840, 0, 0, 0, 0, 1840, 0, 05708 1840, 1841, 1841, 0, 1841, 1841, 0, 1841, 1841, 1841, 05709 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 05710 1841, 1841, 1841, 1841, 1841, 0, 1841, 1841, 1841, 1841, 05711 1841, 1841, 1841, 1841, 1841, 1841, 1842, 0, 0, 0, 05712 0, 0, 0, 0, 1842, 0, 0, 1842, 1842, 0, 05713 1842, 0, 0, 0, 1842, 1842, 0, 1842, 0, 1842, 05714 0, 0, 1842, 1843, 0, 0, 0, 1843, 1843, 0, 05715 05716 0, 0, 0, 1843, 1843, 0, 1843, 1843, 0, 1843, 05717 1843, 1843, 1843, 0, 0, 0, 1843, 0, 0, 1843, 05718 1843, 0, 0, 0, 1843, 0, 0, 1843, 1844, 0, 05719 0, 0, 1844, 1844, 0, 0, 0, 0, 1844, 1844, 05720 0, 1844, 1844, 0, 1844, 1844, 1844, 1844, 0, 0, 05721 0, 1844, 0, 0, 1844, 1844, 0, 1844, 0, 1844, 05722 0, 0, 1844, 1845, 0, 0, 0, 0, 0, 0, 05723 0, 1845, 0, 0, 0, 1845, 0, 1845, 0, 0, 05724 0, 1845, 1845, 0, 0, 0, 1845, 0, 0, 1845, 05725 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 05726 05727 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 0, 05728 1846, 1846, 1846, 1846, 1846, 1846, 1846, 0, 1846, 1846, 05729 1846, 1846, 1846, 1846, 1846, 1847, 1847, 0, 0, 1847, 05730 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 05731 0, 1847, 0, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 05732 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 05733 1848, 1848, 0, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 05734 1848, 1848, 1848, 1848, 1848, 1848, 1848, 0, 1848, 1848, 05735 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 05736 1848, 1848, 1848, 1848, 1848, 1849, 0, 0, 0, 0, 05737 05738 0, 0, 0, 1849, 0, 0, 1849, 1849, 0, 1849, 05739 0, 0, 0, 1849, 1849, 0, 1849, 0, 1849, 0, 05740 0, 1849, 1850, 0, 0, 0, 0, 0, 0, 0, 05741 1850, 0, 1850, 0, 1850, 0, 1850, 0, 0, 0, 05742 1850, 1850, 0, 1850, 1850, 1850, 0, 0, 1850, 1851, 05743 0, 0, 1851, 0, 1851, 1851, 0, 1851, 0, 0, 05744 0, 1851, 0, 0, 1851, 1851, 1852, 0, 0, 0, 05745 0, 0, 0, 0, 1852, 0, 1852, 0, 1852, 0, 05746 1852, 0, 0, 0, 1852, 1852, 0, 1852, 1852, 1852, 05747 0, 0, 1852, 1853, 0, 0, 0, 0, 0, 0, 05748 05749 0, 1853, 0, 0, 1853, 1853, 0, 1853, 0, 0, 05750 0, 1853, 1853, 0, 1853, 0, 1853, 0, 0, 1853, 05751 1854, 0, 0, 0, 0, 0, 0, 0, 1854, 0, 05752 0, 1854, 1854, 0, 1854, 0, 0, 0, 1854, 1854, 05753 0, 1854, 0, 1854, 0, 0, 1854, 1855, 1855, 1855, 05754 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 05755 1855, 1855, 1855, 1855, 1855, 1855, 0, 1855, 1855, 1855, 05756 1855, 1855, 1855, 1855, 0, 1855, 1855, 1855, 1855, 1855, 05757 1855, 1855, 1856, 0, 1856, 1856, 1856, 1856, 1856, 1856, 05758 0, 0, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 05759 05760 0, 1856, 0, 1856, 1856, 1856, 0, 0, 0, 0, 05761 1856, 0, 1856, 1857, 0, 0, 1857, 0, 1857, 1857, 05762 1857, 1857, 1857, 0, 1857, 1857, 1857, 1857, 1857, 1857, 05763 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 05764 0, 0, 0, 0, 0, 1857, 1857, 1858, 1858, 0, 05765 1858, 1858, 0, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 05766 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 05767 1858, 0, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 05768 1858, 1858, 1859, 0, 0, 1859, 0, 1859, 1859, 1859, 05769 1859, 1859, 0, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 05770 05771 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 0, 05772 0, 0, 0, 0, 1859, 1859, 1457, 1457, 1457, 1457, 05773 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 05774 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 05775 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 05776 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 05777 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 05778 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 05779 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 05780 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457 05781 05782 } ; 05783 05784 /* Table of booleans, true if rule could match eol. */ 05785 static yyconst flex_int32_t yy_rule_can_match_eol[153] = 05786 { 0, 05787 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 05788 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 05789 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 05790 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 05791 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 05792 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 05793 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 05794 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, }; 05795 05796 extern int doctokenizerYY_flex_debug; 05797 int doctokenizerYY_flex_debug = 0; 05798 05799 static yy_state_type *yy_state_buf=0, *yy_state_ptr=0; 05800 static char *yy_full_match; 05801 static int yy_lp; 05802 static int yy_looking_for_trail_begin = 0; 05803 static int yy_full_lp; 05804 static int *yy_full_state; 05805 #define YY_TRAILING_MASK 0x2000 05806 #define YY_TRAILING_HEAD_MASK 0x4000 05807 #define REJECT \ 05808 { \ 05809 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */ \ 05810 yy_cp = (yy_full_match); /* restore poss. backed-over text */ \ 05811 (yy_lp) = yy_full_lp; /* restore orig. accepting pos. */ \ 05812 (yy_state_ptr) = yy_full_state; /* restore orig. state */ \ 05813 yy_current_state = *(yy_state_ptr); /* restore curr. state */ \ 05814 ++(yy_lp); \ 05815 goto find_rule; \ 05816 } 05817 05818 #define yymore() yymore_used_but_not_detected 05819 #define YY_MORE_ADJ 0 05820 #define YY_RESTORE_YY_MORE_OFFSET 05821 char *doctokenizerYYtext; 05822 #line 1 "doctokenizer.l" 05823 /****************************************************************************** 05824 * 05825 * $Id: $ 05826 * 05827 * 05828 * Copyright (C) 1997-2008 by Dimitri van Heesch. 05829 * 05830 * Permission to use, copy, modify, and distribute this software and its 05831 * documentation under the terms of the GNU General Public License is hereby 05832 * granted. No representations are made about the suitability of this software 05833 * for any purpose. It is provided "as is" without express or implied warranty. 05834 * See the GNU General Public License for more details. 05835 * 05836 * Documents produced by Doxygen are derivative works derived from the 05837 * input used in their production; they are not affected by this license. 05838 * 05839 */ 05840 #line 20 "doctokenizer.l" 05841 05842 #include <qfile.h> 05843 #include <qstring.h> 05844 #include <qstack.h> 05845 #include <qdict.h> 05846 05847 #include "doctokenizer.h" 05848 #include "cmdmapper.h" 05849 #include "config.h" 05850 #include "message.h" 05851 #include "section.h" 05852 #include "membergroup.h" 05853 #include "definition.h" 05854 #include "doxygen.h" 05855 #include "portable.h" 05856 05857 #define YY_NEVER_INTERACTIVE 1 05858 05859 //-------------------------------------------------------------------------- 05860 05861 // context for tokenizer phase 05862 static int g_commentState; 05863 TokenInfo *g_token = 0; 05864 static int g_inputPos = 0; 05865 static const char *g_inputString; 05866 static QString g_fileName; 05867 static bool g_insidePre; 05868 05869 // context for section finding phase 05870 static Definition *g_definition; 05871 static MemberGroup *g_memberGroup; 05872 static QCString g_secLabel; 05873 static QCString g_secTitle; 05874 static SectionInfo::SectionType g_secType; 05875 static QCString g_endMarker; 05876 05877 struct DocLexerContext 05878 { 05879 TokenInfo *token; 05880 int rule; 05881 int inputPos; 05882 const char *inputString; 05883 YY_BUFFER_STATE state; 05884 }; 05885 05886 static QStack<DocLexerContext> g_lexerStack; 05887 05888 //-------------------------------------------------------------------------- 05889 05890 void doctokenizerYYpushContext() 05891 { 05892 DocLexerContext *ctx = new DocLexerContext; 05893 ctx->rule = YY_START; 05894 ctx->token = g_token; 05895 ctx->inputPos = g_inputPos; 05896 ctx->inputString = g_inputString; 05897 ctx->state = YY_CURRENT_BUFFER; 05898 g_lexerStack.push(ctx); 05899 doctokenizerYY_switch_to_buffer(doctokenizerYY_create_buffer(doctokenizerYYin,YY_BUF_SIZE)); 05900 } 05901 05902 bool doctokenizerYYpopContext() 05903 { 05904 if (g_lexerStack.isEmpty()) return FALSE; 05905 DocLexerContext *ctx = g_lexerStack.pop(); 05906 g_inputPos = ctx->inputPos; 05907 g_inputString = ctx->inputString; 05908 doctokenizerYY_delete_buffer(YY_CURRENT_BUFFER); 05909 doctokenizerYY_switch_to_buffer(ctx->state); 05910 BEGIN(ctx->rule); 05911 delete ctx; 05912 return TRUE; 05913 } 05914 05915 05916 //-------------------------------------------------------------------------- 05917 05918 const char *tokToString(int token) 05919 { 05920 switch (token) 05921 { 05922 case 0: return "TK_EOF"; 05923 case TK_WORD: return "TK_WORD"; 05924 case TK_LNKWORD: return "TK_LNKWORD"; 05925 case TK_WHITESPACE: return "TK_WHITESPACE"; 05926 case TK_LISTITEM: return "TK_LISTITEM"; 05927 case TK_ENDLIST: return "TK_ENDLIST"; 05928 case TK_COMMAND: return "TK_COMMAND"; 05929 case TK_HTMLTAG: return "TK_HTMLTAG"; 05930 case TK_SYMBOL: return "TK_SYMBOL"; 05931 case TK_NEWPARA: return "TK_NEWPARA"; 05932 case TK_RCSTAG: return "TK_RCSTAG"; 05933 case TK_URL: return "TK_URL"; 05934 } 05935 return "ERROR"; 05936 } 05937 05938 static int computeIndent(const char *str,int length) 05939 { 05940 int i; 05941 int indent=0; 05942 int tabSize=Config_getInt("TAB_SIZE"); 05943 for (i=0;i<length;i++) 05944 { 05945 if (str[i]=='\t') 05946 { 05947 indent+=tabSize - (indent%tabSize); 05948 } 05949 else if (str[i]=='\n') 05950 { 05951 indent=0; 05952 } 05953 else 05954 { 05955 indent++; 05956 } 05957 } 05958 return indent; 05959 } 05960 05961 //-------------------------------------------------------------------------- 05962 05963 static void processSection() 05964 { 05965 //printf("%s: found section/anchor with name `%s'\n",g_fileName.data(),g_secLabel.data()); 05966 QCString file; 05967 if (g_memberGroup) 05968 { 05969 file = g_memberGroup->parent()->getOutputFileBase(); 05970 } 05971 else if (g_definition) 05972 { 05973 file = g_definition->getOutputFileBase(); 05974 } 05975 else 05976 { 05977 warn(g_fileName,doctokenizerYYlineno,"Found section/anchor %s without context\n",g_secLabel.data()); 05978 } 05979 SectionInfo *si=0; 05980 if ((si=Doxygen::sectionDict.find(g_secLabel))) 05981 { 05982 si->fileName = file; 05983 //si = new SectionInfo(file,g_secLabel,g_secTitle,g_secType); 05984 //Doxygen::sectionDict.insert(g_secLabel,si); 05985 } 05986 } 05987 05988 static void handleHtmlTag() 05989 { 05990 QCString tagText=doctokenizerYYtext; 05991 g_token->attribs.clear(); 05992 g_token->endTag = FALSE; 05993 g_token->emptyTag = FALSE; 05994 05995 // Check for end tag 05996 int startNamePos=1; 05997 if (tagText.at(1)=='/') 05998 { 05999 g_token->endTag = TRUE; 06000 startNamePos++; 06001 } 06002 06003 // Parse the name portion 06004 int i = startNamePos; 06005 for (i=startNamePos; i < doctokenizerYYleng; i++) 06006 { 06007 // Check for valid HTML/XML name chars (including namespaces) 06008 char c = tagText.at(i); 06009 if (!(isalnum(c) || c=='-' || c=='_' || c==':')) break; 06010 } 06011 g_token->name = tagText.mid(startNamePos,i-startNamePos); 06012 06013 // Parse the attributes. Each attribute is a name, value pair 06014 // The result is stored in g_token->attribs. 06015 int startName,endName,startAttrib,endAttrib; 06016 while (i<doctokenizerYYleng) 06017 { 06018 char c=tagText.at(i); 06019 // skip spaces 06020 while (i<doctokenizerYYleng && isspace(c)) { c=tagText.at(++i); } 06021 // check for end of the tag 06022 if (c == '>') break; 06023 // Check for XML style "empty" tag. 06024 if (c == '/') 06025 { 06026 g_token->emptyTag = TRUE; 06027 break; 06028 } 06029 startName=i; 06030 // search for end of name 06031 while (i<doctokenizerYYleng && !isspace(c) && c!='=') { c=tagText.at(++i); } 06032 endName=i; 06033 HtmlAttrib opt; 06034 opt.name = tagText.mid(startName,endName-startName).lower(); 06035 // skip spaces 06036 while (i<doctokenizerYYleng && isspace(c)) { c=tagText.at(++i); } 06037 if (tagText.at(i)=='=') // option has value 06038 { 06039 c=tagText.at(++i); 06040 // skip spaces 06041 while (i<doctokenizerYYleng && isspace(c)) { c=tagText.at(++i); } 06042 if (tagText.at(i)=='\'') // option '...' 06043 { 06044 c=tagText.at(++i); 06045 startAttrib=i; 06046 06047 // search for matching quote 06048 while (i<doctokenizerYYleng && c!='\'') { c=tagText.at(++i); } 06049 endAttrib=i; 06050 if (i<doctokenizerYYleng) c=tagText.at(++i); 06051 } 06052 else if (tagText.at(i)=='"') // option "..." 06053 { 06054 c=tagText.at(++i); 06055 startAttrib=i; 06056 // search for matching quote 06057 while (i<doctokenizerYYleng && c!='"') { c=tagText.at(++i); } 06058 endAttrib=i; 06059 if (i<doctokenizerYYleng) c=tagText.at(++i); 06060 } 06061 else // value without any quotes 06062 { 06063 startAttrib=i; 06064 // search for separator 06065 while (i<doctokenizerYYleng && !isspace(c)) { c=tagText.at(++i); } 06066 endAttrib=i; 06067 if (i<doctokenizerYYleng) c=tagText.at(++i); 06068 } 06069 opt.value = tagText.mid(startAttrib,endAttrib-startAttrib); 06070 } 06071 else // start next option 06072 { 06073 } 06074 //printf("=====> Adding option name=<%s> value=<%s>\n", 06075 // opt.name.data(),opt.value.data()); 06076 g_token->attribs.append(&opt); 06077 } 06078 } 06079 06080 static QString stripEmptyLines(const char *s) 06081 { 06082 int result=0,p=0; 06083 for (;;) 06084 { 06085 int c; 06086 while ((c=s[p]) && isspace(c)) p++; 06087 if (s[p]=='\n') result=++p; else break; 06088 } 06089 return &s[result]; 06090 } 06091 06092 //-------------------------------------------------------------------------- 06093 06094 #undef YY_INPUT 06095 #define YY_INPUT(buf,result,max_size) result=yyread(buf,max_size); 06096 06097 static int yyread(char *buf,int max_size) 06098 { 06099 int c=0; 06100 const char *src=g_inputString+g_inputPos; 06101 while ( c < max_size && *src ) *buf++ = *src++, c++; 06102 g_inputPos+=c; 06103 return c; 06104 } 06105 06106 //-------------------------------------------------------------------------- 06107 06108 06109 06110 06111 06112 06113 06114 06115 06116 06117 06118 06119 06120 06121 06122 06123 06124 06125 06126 06127 06128 06129 06130 06131 06132 06133 06134 06135 06136 06137 06138 06139 06140 #line 6141 "<stdout>" 06141 06142 #define INITIAL 0 06143 #define St_Para 1 06144 #define St_Comment 2 06145 #define St_Title 3 06146 #define St_TitleN 4 06147 #define St_TitleQ 5 06148 #define St_TitleA 6 06149 #define St_TitleV 7 06150 #define St_Code 8 06151 #define St_XmlCode 9 06152 #define St_HtmlOnly 10 06153 #define St_ManOnly 11 06154 #define St_LatexOnly 12 06155 #define St_XmlOnly 13 06156 #define St_Verbatim 14 06157 #define St_Dot 15 06158 #define St_Msc 16 06159 #define St_Param 17 06160 #define St_XRefItem 18 06161 #define St_XRefItem2 19 06162 #define St_File 20 06163 #define St_Pattern 21 06164 #define St_Link 22 06165 #define St_Ref 23 06166 #define St_Ref2 24 06167 #define St_IntRef 25 06168 #define St_Text 26 06169 #define St_SkipTitle 27 06170 #define St_Sections 28 06171 #define St_SecLabel1 29 06172 #define St_SecLabel2 30 06173 #define St_SecTitle 31 06174 #define St_SecSkip 32 06175 06176 #ifndef YY_NO_UNISTD_H 06177 /* Special case for "unistd.h", since it is non-ANSI. We include it way 06178 * down here because we want the user's section 1 to have been scanned first. 06179 * The user has a chance to override it with an option. 06180 */ 06181 #include <unistd.h> 06182 #endif 06183 06184 #ifndef YY_EXTRA_TYPE 06185 #define YY_EXTRA_TYPE void * 06186 #endif 06187 06188 static int yy_init_globals (void ); 06189 06190 /* Macros after this point can all be overridden by user definitions in 06191 * section 1. 06192 */ 06193 06194 #ifndef YY_SKIP_YYWRAP 06195 #ifdef __cplusplus 06196 extern "C" int doctokenizerYYwrap (void ); 06197 #else 06198 extern int doctokenizerYYwrap (void ); 06199 #endif 06200 #endif 06201 06202 static void yyunput (int c,char *buf_ptr ); 06203 06204 #ifndef yytext_ptr 06205 static void yy_flex_strncpy (char *,yyconst char *,int ); 06206 #endif 06207 06208 #ifdef YY_NEED_STRLEN 06209 static int yy_flex_strlen (yyconst char * ); 06210 #endif 06211 06212 #ifndef YY_NO_INPUT 06213 06214 #ifdef __cplusplus 06215 static int yyinput (void ); 06216 #else 06217 static int input (void ); 06218 #endif 06219 06220 #endif 06221 06222 /* Amount of stuff to slurp up with each read. */ 06223 #ifndef YY_READ_BUF_SIZE 06224 #define YY_READ_BUF_SIZE 8192 06225 #endif 06226 06227 /* Copy whatever the last rule matched to the standard output. */ 06228 #ifndef ECHO 06229 /* This used to be an fputs(), but since the string might contain NUL's, 06230 * we now use fwrite(). 06231 */ 06232 #define ECHO (void) fwrite( doctokenizerYYtext, doctokenizerYYleng, 1, doctokenizerYYout ) 06233 #endif 06234 06235 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 06236 * is returned in "result". 06237 */ 06238 #ifndef YY_INPUT 06239 #define YY_INPUT(buf,result,max_size) \ 06240 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 06241 { \ 06242 int c = '*'; \ 06243 size_t n; \ 06244 for ( n = 0; n < max_size && \ 06245 (c = getc( doctokenizerYYin )) != EOF && c != '\n'; ++n ) \ 06246 buf[n] = (char) c; \ 06247 if ( c == '\n' ) \ 06248 buf[n++] = (char) c; \ 06249 if ( c == EOF && ferror( doctokenizerYYin ) ) \ 06250 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 06251 result = n; \ 06252 } \ 06253 else \ 06254 { \ 06255 errno=0; \ 06256 while ( (result = fread(buf, 1, max_size, doctokenizerYYin))==0 && ferror(doctokenizerYYin)) \ 06257 { \ 06258 if( errno != EINTR) \ 06259 { \ 06260 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 06261 break; \ 06262 } \ 06263 errno=0; \ 06264 clearerr(doctokenizerYYin); \ 06265 } \ 06266 }\ 06267 \ 06268 06269 #endif 06270 06271 /* No semi-colon after return; correct usage is to write "yyterminate();" - 06272 * we don't want an extra ';' after the "return" because that will cause 06273 * some compilers to complain about unreachable statements. 06274 */ 06275 #ifndef yyterminate 06276 #define yyterminate() return YY_NULL 06277 #endif 06278 06279 /* Number of entries by which start-condition stack grows. */ 06280 #ifndef YY_START_STACK_INCR 06281 #define YY_START_STACK_INCR 25 06282 #endif 06283 06284 /* Report a fatal error. */ 06285 #ifndef YY_FATAL_ERROR 06286 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 06287 #endif 06288 06289 /* end tables serialization structures and prototypes */ 06290 06291 /* Default declaration of generated scanner - a define so the user can 06292 * easily add parameters. 06293 */ 06294 #ifndef YY_DECL 06295 #define YY_DECL_IS_OURS 1 06296 06297 extern int doctokenizerYYlex (void); 06298 06299 #define YY_DECL int doctokenizerYYlex (void) 06300 #endif /* !YY_DECL */ 06301 06302 /* Code executed at the beginning of each rule, after doctokenizerYYtext and doctokenizerYYleng 06303 * have been set up. 06304 */ 06305 #ifndef YY_USER_ACTION 06306 #define YY_USER_ACTION 06307 #endif 06308 06309 /* Code executed at the end of each rule. */ 06310 #ifndef YY_BREAK 06311 #define YY_BREAK break; 06312 #endif 06313 06314 #define YY_RULE_SETUP \ 06315 if ( doctokenizerYYleng > 0 ) \ 06316 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \ 06317 (doctokenizerYYtext[doctokenizerYYleng - 1] == '\n'); \ 06318 YY_USER_ACTION 06319 06322 YY_DECL 06323 { 06324 register yy_state_type yy_current_state; 06325 register char *yy_cp, *yy_bp; 06326 register int yy_act; 06327 06328 #line 381 "doctokenizer.l" 06329 06330 #line 6331 "<stdout>" 06331 06332 if ( !(yy_init) ) 06333 { 06334 (yy_init) = 1; 06335 06336 #ifdef YY_USER_INIT 06337 YY_USER_INIT; 06338 #endif 06339 06340 /* Create the reject buffer large enough to save one state per allowed character. */ 06341 if ( ! (yy_state_buf) ) 06342 (yy_state_buf) = (yy_state_type *)doctokenizerYYalloc(YY_STATE_BUF_SIZE ); 06343 06344 if ( ! (yy_start) ) 06345 (yy_start) = 1; /* first start state */ 06346 06347 if ( ! doctokenizerYYin ) 06348 doctokenizerYYin = stdin; 06349 06350 if ( ! doctokenizerYYout ) 06351 doctokenizerYYout = stdout; 06352 06353 if ( ! YY_CURRENT_BUFFER ) { 06354 doctokenizerYYensure_buffer_stack (); 06355 YY_CURRENT_BUFFER_LVALUE = 06356 doctokenizerYY_create_buffer(doctokenizerYYin,YY_BUF_SIZE ); 06357 } 06358 06359 doctokenizerYY_load_buffer_state( ); 06360 } 06361 06362 while ( 1 ) /* loops until end-of-file is reached */ 06363 { 06364 yy_cp = (yy_c_buf_p); 06365 06366 /* Support of doctokenizerYYtext. */ 06367 *yy_cp = (yy_hold_char); 06368 06369 /* yy_bp points to the position in yy_ch_buf of the start of 06370 * the current run. 06371 */ 06372 yy_bp = yy_cp; 06373 06374 yy_current_state = (yy_start); 06375 yy_current_state += YY_AT_BOL(); 06376 06377 (yy_state_ptr) = (yy_state_buf); 06378 *(yy_state_ptr)++ = yy_current_state; 06379 06380 yy_match: 06381 do 06382 { 06383 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 06384 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 06385 { 06386 yy_current_state = (int) yy_def[yy_current_state]; 06387 if ( yy_current_state >= 1458 ) 06388 yy_c = yy_meta[(unsigned int) yy_c]; 06389 } 06390 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 06391 *(yy_state_ptr)++ = yy_current_state; 06392 ++yy_cp; 06393 } 06394 while ( yy_base[yy_current_state] != 20917 ); 06395 06396 yy_find_action: 06397 yy_current_state = *--(yy_state_ptr); 06398 (yy_lp) = yy_accept[yy_current_state]; 06399 find_rule: /* we branch to this label when backing up */ 06400 for ( ; ; ) /* until we find what rule we matched */ 06401 { 06402 if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] ) 06403 { 06404 yy_act = yy_acclist[(yy_lp)]; 06405 if ( yy_act & YY_TRAILING_HEAD_MASK || 06406 yy_looking_for_trail_begin ) 06407 { 06408 if ( yy_act == yy_looking_for_trail_begin ) 06409 { 06410 yy_looking_for_trail_begin = 0; 06411 yy_act &= ~YY_TRAILING_HEAD_MASK; 06412 break; 06413 } 06414 } 06415 else if ( yy_act & YY_TRAILING_MASK ) 06416 { 06417 yy_looking_for_trail_begin = yy_act & ~YY_TRAILING_MASK; 06418 yy_looking_for_trail_begin |= YY_TRAILING_HEAD_MASK; 06419 } 06420 else 06421 { 06422 (yy_full_match) = yy_cp; 06423 yy_full_state = (yy_state_ptr); 06424 yy_full_lp = (yy_lp); 06425 break; 06426 } 06427 ++(yy_lp); 06428 goto find_rule; 06429 } 06430 --yy_cp; 06431 yy_current_state = *--(yy_state_ptr); 06432 (yy_lp) = yy_accept[yy_current_state]; 06433 } 06434 06435 YY_DO_BEFORE_ACTION; 06436 06437 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] ) 06438 { 06439 int yyl; 06440 for ( yyl = 0; yyl < doctokenizerYYleng; ++yyl ) 06441 if ( doctokenizerYYtext[yyl] == '\n' ) 06442 06443 doctokenizerYYlineno++; 06444 ; 06445 } 06446 06447 do_action: /* This label is used only to access EOF actions. */ 06448 06449 switch ( yy_act ) 06450 { /* beginning of action switch */ 06451 case 1: 06452 YY_RULE_SETUP 06453 #line 382 "doctokenizer.l" 06454 /* skip carriage return */ 06455 YY_BREAK 06456 case 2: 06457 /* rule 2 can match eol */ 06458 YY_RULE_SETUP 06459 #line 383 "doctokenizer.l" 06460 { /* list item */ 06461 QString text=doctokenizerYYtext; 06462 int dashPos = text.findRev('-'); 06463 g_token->isEnumList = text.at(dashPos+1)=='#'; 06464 g_token->indent = computeIndent(doctokenizerYYtext,dashPos); 06465 return TK_LISTITEM; 06466 } 06467 YY_BREAK 06468 case 3: 06469 /* rule 3 can match eol */ 06470 YY_RULE_SETUP 06471 #line 390 "doctokenizer.l" 06472 { /* list item on next line */ 06473 QString text=doctokenizerYYtext; 06474 text=text.right(text.length()-text.find('\n')-1); 06475 int dashPos = text.findRev('-'); 06476 g_token->isEnumList = text.at(dashPos+1)=='#'; 06477 g_token->indent = computeIndent(text,dashPos); 06478 return TK_LISTITEM; 06479 } 06480 YY_BREAK 06481 case 4: 06482 /* rule 4 can match eol */ 06483 YY_RULE_SETUP 06484 #line 398 "doctokenizer.l" 06485 { /* end list */ 06486 int dotPos = QString(doctokenizerYYtext).findRev('.'); 06487 g_token->indent = computeIndent(doctokenizerYYtext,dotPos); 06488 return TK_ENDLIST; 06489 } 06490 YY_BREAK 06491 case 5: 06492 /* rule 5 can match eol */ 06493 YY_RULE_SETUP 06494 #line 403 "doctokenizer.l" 06495 { /* end list on next line */ 06496 QString text=doctokenizerYYtext; 06497 text=text.right(text.length()-text.find('\n')-1); 06498 int dotPos = text.findRev('.'); 06499 g_token->indent = computeIndent(text,dotPos); 06500 return TK_ENDLIST; 06501 } 06502 YY_BREAK 06503 case 6: 06504 YY_RULE_SETUP 06505 #line 410 "doctokenizer.l" 06506 { 06507 g_token->name = "javalink"; 06508 return TK_COMMAND; 06509 } 06510 YY_BREAK 06511 case 7: 06512 YY_RULE_SETUP 06513 #line 414 "doctokenizer.l" 06514 { 06515 g_token->name = "inheritdoc"; 06516 return TK_COMMAND; 06517 } 06518 YY_BREAK 06519 case 8: 06520 YY_RULE_SETUP 06521 #line 418 "doctokenizer.l" 06522 { // artificial new line 06523 doctokenizerYYlineno++; 06524 } 06525 YY_BREAK 06526 case 9: 06527 YY_RULE_SETUP 06528 #line 421 "doctokenizer.l" 06529 { 06530 g_token->name = "form"; 06531 bool ok; 06532 g_token->id = QString(doctokenizerYYtext).right(doctokenizerYYleng-6).toInt(&ok); 06533 ASSERT(ok); 06534 return TK_COMMAND; 06535 } 06536 YY_BREAK 06537 case 10: 06538 #line 429 "doctokenizer.l" 06539 case 11: 06540 YY_RULE_SETUP 06541 #line 429 "doctokenizer.l" 06542 { /* special command */ 06543 g_token->name = doctokenizerYYtext+1; 06544 g_token->name = g_token->name.stripWhiteSpace(); 06545 g_token->paramDir=TokenInfo::Unspecified; 06546 return TK_COMMAND; 06547 } 06548 YY_BREAK 06549 case 12: 06550 YY_RULE_SETUP 06551 #line 435 "doctokenizer.l" 06552 { /* param [in,out] command */ 06553 g_token->name = "param"; 06554 QString s(doctokenizerYYtext); 06555 bool isIn = s.find("in")!=-1; 06556 bool isOut = s.find("out")!=-1; 06557 if (isIn) 06558 { 06559 if (isOut) 06560 { 06561 g_token->paramDir=TokenInfo::InOut; 06562 } 06563 else 06564 { 06565 g_token->paramDir=TokenInfo::In; 06566 } 06567 } 06568 else if (isOut) 06569 { 06570 g_token->paramDir=TokenInfo::Out; 06571 } 06572 else 06573 { 06574 g_token->paramDir=TokenInfo::Unspecified; 06575 } 06576 return TK_COMMAND; 06577 } 06578 YY_BREAK 06579 case 13: 06580 YY_RULE_SETUP 06581 #line 461 "doctokenizer.l" 06582 { // URL 06583 g_token->name=doctokenizerYYtext; 06584 g_token->isEMailAddr=FALSE; 06585 return TK_URL; 06586 } 06587 YY_BREAK 06588 case 14: 06589 YY_RULE_SETUP 06590 #line 466 "doctokenizer.l" 06591 { // Mail address 06592 g_token->name=doctokenizerYYtext; 06593 g_token->isEMailAddr=TRUE; 06594 return TK_URL; 06595 } 06596 YY_BREAK 06597 case 15: 06598 YY_RULE_SETUP 06599 #line 471 "doctokenizer.l" 06600 { /* RCS tag */ 06601 QString tagName(doctokenizerYYtext+1); 06602 int index=tagName.find(':'); 06603 g_token->name = tagName.left(index); 06604 g_token->text = tagName.mid(index+1,tagName.length()-index-2); 06605 return TK_RCSTAG; 06606 } 06607 YY_BREAK 06608 case 16: 06609 YY_RULE_SETUP 06610 #line 478 "doctokenizer.l" 06611 { /* environment variable */ 06612 QCString name = &doctokenizerYYtext[2]; 06613 name = name.left(name.length()-1); 06614 QCString value = portable_getenv(name); 06615 for (int i=value.length()-1;i>=0;i--) unput(value.at(i)); 06616 } 06617 YY_BREAK 06618 case 17: 06619 /* rule 17 can match eol */ 06620 YY_RULE_SETUP 06621 #line 484 "doctokenizer.l" 06622 { /* html tag */ 06623 handleHtmlTag(); 06624 return TK_HTMLTAG; 06625 } 06626 YY_BREAK 06627 case 18: 06628 YY_RULE_SETUP 06629 #line 488 "doctokenizer.l" 06630 { /* special symbol */ 06631 g_token->name = doctokenizerYYtext; 06632 return TK_SYMBOL; 06633 } 06634 YY_BREAK 06635 /********* patterns for linkable words ******************/ 06636 case 19: 06637 YY_RULE_SETUP 06638 #line 495 "doctokenizer.l" 06639 { /* this rule is to prevent opening html 06640 * tag to be recognized as a templated classes 06641 */ 06642 g_token->name = doctokenizerYYtext; 06643 return TK_LNKWORD; 06644 } 06645 YY_BREAK 06646 case 20: 06647 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */ 06648 (yy_c_buf_p) = yy_cp -= 4; 06649 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */ 06650 #line 502 "doctokenizer.l" 06651 case 21: 06652 #line 503 "doctokenizer.l" 06653 case 22: 06654 #line 504 "doctokenizer.l" 06655 case 23: 06656 #line 505 "doctokenizer.l" 06657 case 24: 06658 YY_RULE_SETUP 06659 #line 505 "doctokenizer.l" 06660 { 06661 g_token->name = doctokenizerYYtext; 06662 return TK_LNKWORD; 06663 } 06664 YY_BREAK 06665 case 25: 06666 /* rule 25 can match eol */ 06667 YY_RULE_SETUP 06668 #line 509 "doctokenizer.l" 06669 { 06670 g_token->name = doctokenizerYYtext; 06671 g_token->name = g_token->name.left(g_token->name.length()-1); 06672 unput(doctokenizerYYtext[doctokenizerYYleng-1]); 06673 return TK_LNKWORD; 06674 } 06675 YY_BREAK 06676 /********* patterns for normal words ******************/ 06677 case 26: 06678 #line 518 "doctokenizer.l" 06679 case 27: 06680 YY_RULE_SETUP 06681 #line 518 "doctokenizer.l" 06682 { /* function call */ 06683 if (doctokenizerYYtext[0]=='%') // strip % if present 06684 g_token->name = &doctokenizerYYtext[1]; 06685 else 06686 g_token->name = doctokenizerYYtext; 06687 return TK_WORD; 06688 06689 /* the following is dummy code to please the 06690 * compiler, removing this results in a warning 06691 * on my machine 06692 */ 06693 goto find_rule; 06694 } 06695 YY_BREAK 06696 case 28: 06697 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */ 06698 (yy_c_buf_p) = yy_cp = yy_bp + 8; 06699 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */ 06700 YY_RULE_SETUP 06701 #line 531 "doctokenizer.l" 06702 { // Special case: word "operator" followed by a HTML command 06703 // avoid interpretation as "operator <" 06704 g_token->name = doctokenizerYYtext; 06705 return TK_WORD; 06706 } 06707 YY_BREAK 06708 /*******************************************************/ 06709 case 29: 06710 #line 540 "doctokenizer.l" 06711 case 30: 06712 /* rule 30 can match eol */ 06713 YY_RULE_SETUP 06714 #line 540 "doctokenizer.l" 06715 { /* white space */ 06716 g_token->chars=doctokenizerYYtext; 06717 return TK_WHITESPACE; 06718 } 06719 YY_BREAK 06720 case 31: 06721 YY_RULE_SETUP 06722 #line 544 "doctokenizer.l" 06723 { 06724 g_token->name = doctokenizerYYtext; 06725 return TK_COMMAND; 06726 } 06727 YY_BREAK 06728 case 32: 06729 /* rule 32 can match eol */ 06730 YY_RULE_SETUP 06731 #line 548 "doctokenizer.l" 06732 { 06733 if (g_insidePre) 06734 { 06735 /* Inside a <pre>..</pre> blank lines are treated 06736 * as whitespace. 06737 */ 06738 g_token->chars=doctokenizerYYtext; 06739 return TK_WHITESPACE; 06740 } 06741 else 06742 { 06743 /* start of a new paragraph */ 06744 return TK_NEWPARA; 06745 } 06746 } 06747 YY_BREAK 06748 case 33: 06749 /* rule 33 can match eol */ 06750 YY_RULE_SETUP 06751 #line 563 "doctokenizer.l" 06752 { 06753 return RetVal_OK; 06754 } 06755 YY_BREAK 06756 case 34: 06757 /* rule 34 can match eol */ 06758 YY_RULE_SETUP 06759 #line 566 "doctokenizer.l" 06760 { 06761 return RetVal_OK; 06762 } 06763 YY_BREAK 06764 case 35: 06765 #line 570 "doctokenizer.l" 06766 case 36: 06767 /* rule 36 can match eol */ 06768 #line 571 "doctokenizer.l" 06769 case 37: 06770 /* rule 37 can match eol */ 06771 YY_RULE_SETUP 06772 #line 571 "doctokenizer.l" 06773 { 06774 g_token->verb+=doctokenizerYYtext; 06775 } 06776 YY_BREAK 06777 case 38: 06778 YY_RULE_SETUP 06779 #line 574 "doctokenizer.l" 06780 { 06781 return RetVal_OK; 06782 } 06783 YY_BREAK 06784 case 39: 06785 #line 578 "doctokenizer.l" 06786 case 40: 06787 /* rule 40 can match eol */ 06788 #line 579 "doctokenizer.l" 06789 case 41: 06790 /* rule 41 can match eol */ 06791 YY_RULE_SETUP 06792 #line 579 "doctokenizer.l" 06793 { 06794 g_token->verb+=doctokenizerYYtext; 06795 } 06796 YY_BREAK 06797 case 42: 06798 YY_RULE_SETUP 06799 #line 582 "doctokenizer.l" 06800 { 06801 return RetVal_OK; 06802 } 06803 YY_BREAK 06804 case 43: 06805 #line 586 "doctokenizer.l" 06806 case 44: 06807 /* rule 44 can match eol */ 06808 #line 587 "doctokenizer.l" 06809 case 45: 06810 /* rule 45 can match eol */ 06811 YY_RULE_SETUP 06812 #line 587 "doctokenizer.l" 06813 { 06814 g_token->verb+=doctokenizerYYtext; 06815 } 06816 YY_BREAK 06817 case 46: 06818 YY_RULE_SETUP 06819 #line 590 "doctokenizer.l" 06820 { 06821 return RetVal_OK; 06822 } 06823 YY_BREAK 06824 case 47: 06825 #line 594 "doctokenizer.l" 06826 case 48: 06827 /* rule 48 can match eol */ 06828 #line 595 "doctokenizer.l" 06829 case 49: 06830 /* rule 49 can match eol */ 06831 YY_RULE_SETUP 06832 #line 595 "doctokenizer.l" 06833 { 06834 g_token->verb+=doctokenizerYYtext; 06835 } 06836 YY_BREAK 06837 case 50: 06838 YY_RULE_SETUP 06839 #line 598 "doctokenizer.l" 06840 { 06841 return RetVal_OK; 06842 } 06843 YY_BREAK 06844 case 51: 06845 #line 602 "doctokenizer.l" 06846 case 52: 06847 /* rule 52 can match eol */ 06848 #line 603 "doctokenizer.l" 06849 case 53: 06850 /* rule 53 can match eol */ 06851 YY_RULE_SETUP 06852 #line 603 "doctokenizer.l" 06853 { 06854 g_token->verb+=doctokenizerYYtext; 06855 } 06856 YY_BREAK 06857 case 54: 06858 YY_RULE_SETUP 06859 #line 606 "doctokenizer.l" 06860 { 06861 g_token->verb=stripEmptyLines(g_token->verb); 06862 return RetVal_OK; 06863 } 06864 YY_BREAK 06865 case 55: 06866 #line 611 "doctokenizer.l" 06867 case 56: 06868 /* rule 56 can match eol */ 06869 #line 612 "doctokenizer.l" 06870 case 57: 06871 /* rule 57 can match eol */ 06872 YY_RULE_SETUP 06873 #line 612 "doctokenizer.l" 06874 { /* Verbatim text */ 06875 g_token->verb+=doctokenizerYYtext; 06876 } 06877 YY_BREAK 06878 case 58: 06879 YY_RULE_SETUP 06880 #line 615 "doctokenizer.l" 06881 { 06882 return RetVal_OK; 06883 } 06884 YY_BREAK 06885 case 59: 06886 #line 619 "doctokenizer.l" 06887 case 60: 06888 /* rule 60 can match eol */ 06889 #line 620 "doctokenizer.l" 06890 case 61: 06891 /* rule 61 can match eol */ 06892 YY_RULE_SETUP 06893 #line 620 "doctokenizer.l" 06894 { /* dot text */ 06895 g_token->verb+=doctokenizerYYtext; 06896 } 06897 YY_BREAK 06898 case 62: 06899 YY_RULE_SETUP 06900 #line 623 "doctokenizer.l" 06901 { 06902 return RetVal_OK; 06903 } 06904 YY_BREAK 06905 case 63: 06906 #line 627 "doctokenizer.l" 06907 case 64: 06908 /* rule 64 can match eol */ 06909 #line 628 "doctokenizer.l" 06910 case 65: 06911 /* rule 65 can match eol */ 06912 YY_RULE_SETUP 06913 #line 628 "doctokenizer.l" 06914 { /* msc text */ 06915 g_token->verb+=doctokenizerYYtext; 06916 } 06917 YY_BREAK 06918 case 66: 06919 YY_RULE_SETUP 06920 #line 631 "doctokenizer.l" 06921 { // quoted title 06922 BEGIN(St_TitleQ); 06923 } 06924 YY_BREAK 06925 case 67: 06926 YY_RULE_SETUP 06927 #line 634 "doctokenizer.l" 06928 { 06929 g_token->chars=doctokenizerYYtext; 06930 return TK_WHITESPACE; 06931 } 06932 YY_BREAK 06933 case 68: 06934 YY_RULE_SETUP 06935 #line 638 "doctokenizer.l" 06936 { // non-quoted title 06937 unput(*doctokenizerYYtext); 06938 BEGIN(St_TitleN); 06939 } 06940 YY_BREAK 06941 case 69: 06942 /* rule 69 can match eol */ 06943 YY_RULE_SETUP 06944 #line 642 "doctokenizer.l" 06945 { 06946 unput(*doctokenizerYYtext); 06947 return 0; 06948 } 06949 YY_BREAK 06950 case 70: 06951 YY_RULE_SETUP 06952 #line 646 "doctokenizer.l" 06953 { /* symbol */ 06954 g_token->name = doctokenizerYYtext; 06955 return TK_SYMBOL; 06956 } 06957 YY_BREAK 06958 case 71: 06959 /* rule 71 can match eol */ 06960 YY_RULE_SETUP 06961 #line 650 "doctokenizer.l" 06962 { 06963 } 06964 YY_BREAK 06965 case 72: 06966 #line 653 "doctokenizer.l" 06967 case 73: 06968 YY_RULE_SETUP 06969 #line 653 "doctokenizer.l" 06970 { /* special command */ 06971 g_token->name = doctokenizerYYtext+1; 06972 g_token->paramDir=TokenInfo::Unspecified; 06973 return TK_COMMAND; 06974 } 06975 YY_BREAK 06976 case 74: 06977 #line 659 "doctokenizer.l" 06978 case 75: 06979 YY_RULE_SETUP 06980 #line 659 "doctokenizer.l" 06981 { /* word */ 06982 if (doctokenizerYYtext[0]=='%') // strip % if present 06983 g_token->name = &doctokenizerYYtext[1]; 06984 else 06985 g_token->name = doctokenizerYYtext; 06986 return TK_WORD; 06987 } 06988 YY_BREAK 06989 case 76: 06990 YY_RULE_SETUP 06991 #line 666 "doctokenizer.l" 06992 { 06993 g_token->chars=doctokenizerYYtext; 06994 return TK_WHITESPACE; 06995 } 06996 YY_BREAK 06997 case 77: 06998 /* rule 77 can match eol */ 06999 YY_RULE_SETUP 07000 #line 670 "doctokenizer.l" 07001 { /* new line => end of title */ 07002 unput(*doctokenizerYYtext); 07003 return 0; 07004 } 07005 YY_BREAK 07006 case 78: 07007 YY_RULE_SETUP 07008 #line 674 "doctokenizer.l" 07009 { /* symbol */ 07010 g_token->name = doctokenizerYYtext; 07011 return TK_SYMBOL; 07012 } 07013 YY_BREAK 07014 case 79: 07015 #line 679 "doctokenizer.l" 07016 case 80: 07017 YY_RULE_SETUP 07018 #line 679 "doctokenizer.l" 07019 { /* special command */ 07020 g_token->name = doctokenizerYYtext+1; 07021 g_token->paramDir=TokenInfo::Unspecified; 07022 return TK_COMMAND; 07023 } 07024 YY_BREAK 07025 case 81: 07026 #line 685 "doctokenizer.l" 07027 case 82: 07028 YY_RULE_SETUP 07029 #line 685 "doctokenizer.l" 07030 { /* word */ 07031 g_token->name = doctokenizerYYtext; 07032 return TK_WORD; 07033 } 07034 YY_BREAK 07035 case 83: 07036 YY_RULE_SETUP 07037 #line 689 "doctokenizer.l" 07038 { 07039 g_token->chars=doctokenizerYYtext; 07040 return TK_WHITESPACE; 07041 } 07042 YY_BREAK 07043 case 84: 07044 YY_RULE_SETUP 07045 #line 693 "doctokenizer.l" 07046 { /* closing quote => end of title */ 07047 BEGIN(St_TitleA); 07048 return 0; 07049 } 07050 YY_BREAK 07051 case 85: 07052 /* rule 85 can match eol */ 07053 YY_RULE_SETUP 07054 #line 697 "doctokenizer.l" 07055 { /* new line => end of title */ 07056 unput(*doctokenizerYYtext); 07057 return 0; 07058 } 07059 YY_BREAK 07060 case 86: 07061 YY_RULE_SETUP 07062 #line 701 "doctokenizer.l" 07063 { // title attribute 07064 g_token->name = doctokenizerYYtext; 07065 g_token->name = g_token->name.left( 07066 g_token->name.find('=')).stripWhiteSpace(); 07067 BEGIN(St_TitleV); 07068 } 07069 YY_BREAK 07070 case 87: 07071 YY_RULE_SETUP 07072 #line 707 "doctokenizer.l" 07073 { // attribute value 07074 g_token->chars = doctokenizerYYtext; 07075 BEGIN(St_TitleN); 07076 return TK_WORD; 07077 } 07078 YY_BREAK 07079 case 88: 07080 YY_RULE_SETUP 07081 #line 712 "doctokenizer.l" 07082 { 07083 unput(*doctokenizerYYtext); 07084 return 0; 07085 } 07086 YY_BREAK 07087 case 89: 07088 /* rule 89 can match eol */ 07089 YY_RULE_SETUP 07090 #line 716 "doctokenizer.l" 07091 { 07092 return 0; 07093 } 07094 YY_BREAK 07095 case 90: 07096 YY_RULE_SETUP 07097 #line 720 "doctokenizer.l" 07098 { // label to refer to 07099 g_token->name=doctokenizerYYtext; 07100 return TK_WORD; 07101 } 07102 YY_BREAK 07103 case 91: 07104 YY_RULE_SETUP 07105 #line 724 "doctokenizer.l" 07106 { // white space 07107 unput(' '); 07108 return 0; 07109 } 07110 YY_BREAK 07111 case 92: 07112 /* rule 92 can match eol */ 07113 YY_RULE_SETUP 07114 #line 728 "doctokenizer.l" 07115 { // white space following by quoted string 07116 BEGIN(St_Ref2); 07117 } 07118 YY_BREAK 07119 case 93: 07120 /* rule 93 can match eol */ 07121 YY_RULE_SETUP 07122 #line 731 "doctokenizer.l" 07123 { // new line 07124 unput(*doctokenizerYYtext); 07125 return 0; 07126 } 07127 YY_BREAK 07128 case 94: 07129 YY_RULE_SETUP 07130 #line 735 "doctokenizer.l" 07131 { // any other character 07132 unput(*doctokenizerYYtext); 07133 return 0; 07134 } 07135 YY_BREAK 07136 case 95: 07137 YY_RULE_SETUP 07138 #line 739 "doctokenizer.l" 07139 { 07140 g_token->name = doctokenizerYYtext; 07141 return TK_WORD; 07142 } 07143 YY_BREAK 07144 case 96: 07145 YY_RULE_SETUP 07146 #line 743 "doctokenizer.l" 07147 { 07148 BEGIN(St_Ref2); 07149 } 07150 YY_BREAK 07151 case 97: 07152 YY_RULE_SETUP 07153 #line 746 "doctokenizer.l" 07154 { /* symbol */ 07155 g_token->name = doctokenizerYYtext; 07156 return TK_SYMBOL; 07157 } 07158 YY_BREAK 07159 case 98: 07160 #line 751 "doctokenizer.l" 07161 case 99: 07162 YY_RULE_SETUP 07163 #line 751 "doctokenizer.l" 07164 { /* special command */ 07165 g_token->name = doctokenizerYYtext+1; 07166 g_token->paramDir=TokenInfo::Unspecified; 07167 return TK_COMMAND; 07168 } 07169 YY_BREAK 07170 case 100: 07171 #line 757 "doctokenizer.l" 07172 case 101: 07173 YY_RULE_SETUP 07174 #line 757 "doctokenizer.l" 07175 { 07176 /* word */ 07177 g_token->name = doctokenizerYYtext; 07178 return TK_WORD; 07179 } 07180 YY_BREAK 07181 case 102: 07182 YY_RULE_SETUP 07183 #line 762 "doctokenizer.l" 07184 { 07185 g_token->chars=doctokenizerYYtext; 07186 return TK_WHITESPACE; 07187 } 07188 YY_BREAK 07189 case 103: 07190 /* rule 103 can match eol */ 07191 YY_RULE_SETUP 07192 #line 766 "doctokenizer.l" 07193 { /* " or \n => end of title */ 07194 return 0; 07195 } 07196 YY_BREAK 07197 case 104: 07198 YY_RULE_SETUP 07199 #line 769 "doctokenizer.l" 07200 { 07201 g_token->name=doctokenizerYYtext; 07202 } 07203 YY_BREAK 07204 case 105: 07205 YY_RULE_SETUP 07206 #line 772 "doctokenizer.l" 07207 { 07208 BEGIN(St_XRefItem2); 07209 } 07210 YY_BREAK 07211 case 106: 07212 /* rule 106 can match eol */ 07213 YY_RULE_SETUP 07214 #line 775 "doctokenizer.l" 07215 { 07216 QString numStr=doctokenizerYYtext; 07217 numStr=numStr.left(doctokenizerYYleng-1); 07218 g_token->id=numStr.toInt(); 07219 return RetVal_OK; 07220 } 07221 YY_BREAK 07222 case 107: 07223 YY_RULE_SETUP 07224 #line 781 "doctokenizer.l" 07225 { /* html style comment block */ 07226 g_commentState = YY_START; 07227 BEGIN(St_Comment); 07228 } 07229 YY_BREAK 07230 case 108: 07231 YY_RULE_SETUP 07232 #line 785 "doctokenizer.l" 07233 { 07234 g_token->name = doctokenizerYYtext+1; 07235 g_token->name = g_token->name.left(doctokenizerYYleng-2); 07236 return TK_WORD; 07237 } 07238 YY_BREAK 07239 case 109: 07240 YY_RULE_SETUP 07241 #line 790 "doctokenizer.l" 07242 { 07243 g_token->name = doctokenizerYYtext; 07244 return TK_WORD; 07245 } 07246 YY_BREAK 07247 case 110: 07248 /* rule 110 can match eol */ 07249 YY_RULE_SETUP 07250 #line 794 "doctokenizer.l" 07251 /* param separator */ 07252 YY_BREAK 07253 case 111: 07254 /* rule 111 can match eol */ 07255 YY_RULE_SETUP 07256 #line 795 "doctokenizer.l" 07257 { 07258 g_token->chars=doctokenizerYYtext; 07259 return TK_WHITESPACE; 07260 } 07261 YY_BREAK 07262 case 112: 07263 YY_RULE_SETUP 07264 #line 799 "doctokenizer.l" 07265 { 07266 g_token->name = doctokenizerYYtext; 07267 return TK_WORD; 07268 } 07269 YY_BREAK 07270 case 113: 07271 YY_RULE_SETUP 07272 #line 803 "doctokenizer.l" 07273 { 07274 QString text=doctokenizerYYtext; 07275 g_token->name = text.mid(1,text.length()-2); 07276 return TK_WORD; 07277 } 07278 YY_BREAK 07279 case 114: 07280 YY_RULE_SETUP 07281 #line 808 "doctokenizer.l" 07282 { 07283 g_token->name = doctokenizerYYtext; 07284 g_token->name = g_token->name.stripWhiteSpace(); 07285 return TK_WORD; 07286 } 07287 YY_BREAK 07288 case 115: 07289 YY_RULE_SETUP 07290 #line 813 "doctokenizer.l" 07291 { 07292 g_token->name = doctokenizerYYtext; 07293 return TK_WORD; 07294 } 07295 YY_BREAK 07296 case 116: 07297 YY_RULE_SETUP 07298 #line 817 "doctokenizer.l" 07299 { /* end of html comment */ 07300 BEGIN(g_commentState); 07301 } 07302 YY_BREAK 07303 case 117: 07304 YY_RULE_SETUP 07305 #line 820 "doctokenizer.l" 07306 /* inside html comment */ 07307 YY_BREAK 07308 case 118: 07309 YY_RULE_SETUP 07310 #line 821 "doctokenizer.l" 07311 /* inside html comment */ 07312 YY_BREAK 07313 /* State for skipping title (all chars until the end of the line) */ 07314 case 119: 07315 YY_RULE_SETUP 07316 #line 825 "doctokenizer.l" 07317 07318 YY_BREAK 07319 case 120: 07320 /* rule 120 can match eol */ 07321 YY_RULE_SETUP 07322 #line 826 "doctokenizer.l" 07323 { return 0; } 07324 YY_BREAK 07325 /* State for the pass used to find the anchors and sections */ 07326 case 121: 07327 YY_RULE_SETUP 07328 #line 830 "doctokenizer.l" 07329 07330 YY_BREAK 07331 case 122: 07332 YY_RULE_SETUP 07333 #line 831 "doctokenizer.l" 07334 07335 YY_BREAK 07336 case 123: 07337 YY_RULE_SETUP 07338 #line 832 "doctokenizer.l" 07339 { 07340 g_secType = SectionInfo::Anchor; 07341 BEGIN(St_SecLabel1); 07342 } 07343 YY_BREAK 07344 case 124: 07345 YY_RULE_SETUP 07346 #line 836 "doctokenizer.l" 07347 { 07348 g_secType = SectionInfo::Section; 07349 BEGIN(St_SecLabel2); 07350 } 07351 YY_BREAK 07352 case 125: 07353 YY_RULE_SETUP 07354 #line 840 "doctokenizer.l" 07355 { 07356 g_secType = SectionInfo::Subsection; 07357 BEGIN(St_SecLabel2); 07358 } 07359 YY_BREAK 07360 case 126: 07361 YY_RULE_SETUP 07362 #line 844 "doctokenizer.l" 07363 { 07364 g_secType = SectionInfo::Subsubsection; 07365 BEGIN(St_SecLabel2); 07366 } 07367 YY_BREAK 07368 case 127: 07369 YY_RULE_SETUP 07370 #line 848 "doctokenizer.l" 07371 { 07372 g_secType = SectionInfo::Paragraph; 07373 BEGIN(St_SecLabel2); 07374 } 07375 YY_BREAK 07376 case 128: 07377 /* rule 128 can match eol */ 07378 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */ 07379 (yy_c_buf_p) = yy_cp -= 1; 07380 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */ 07381 YY_RULE_SETUP 07382 #line 852 "doctokenizer.l" 07383 { 07384 g_endMarker="endverbatim"; 07385 BEGIN(St_SecSkip); 07386 } 07387 YY_BREAK 07388 case 129: 07389 /* rule 129 can match eol */ 07390 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */ 07391 (yy_c_buf_p) = yy_cp -= 1; 07392 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */ 07393 YY_RULE_SETUP 07394 #line 856 "doctokenizer.l" 07395 { 07396 g_endMarker="enddot"; 07397 BEGIN(St_SecSkip); 07398 } 07399 YY_BREAK 07400 case 130: 07401 /* rule 130 can match eol */ 07402 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */ 07403 (yy_c_buf_p) = yy_cp -= 1; 07404 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */ 07405 YY_RULE_SETUP 07406 #line 860 "doctokenizer.l" 07407 { 07408 g_endMarker="endmsc"; 07409 BEGIN(St_SecSkip); 07410 } 07411 YY_BREAK 07412 case 131: 07413 /* rule 131 can match eol */ 07414 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */ 07415 (yy_c_buf_p) = yy_cp -= 1; 07416 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */ 07417 YY_RULE_SETUP 07418 #line 864 "doctokenizer.l" 07419 { 07420 g_endMarker="endhtmlonly"; 07421 BEGIN(St_SecSkip); 07422 } 07423 YY_BREAK 07424 case 132: 07425 /* rule 132 can match eol */ 07426 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */ 07427 (yy_c_buf_p) = yy_cp -= 1; 07428 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */ 07429 YY_RULE_SETUP 07430 #line 868 "doctokenizer.l" 07431 { 07432 g_endMarker="endlatexonly"; 07433 BEGIN(St_SecSkip); 07434 } 07435 YY_BREAK 07436 case 133: 07437 /* rule 133 can match eol */ 07438 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */ 07439 (yy_c_buf_p) = yy_cp -= 1; 07440 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */ 07441 YY_RULE_SETUP 07442 #line 872 "doctokenizer.l" 07443 { 07444 g_endMarker="endxmlonly"; 07445 BEGIN(St_SecSkip); 07446 } 07447 YY_BREAK 07448 case 134: 07449 /* rule 134 can match eol */ 07450 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */ 07451 (yy_c_buf_p) = yy_cp -= 1; 07452 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */ 07453 YY_RULE_SETUP 07454 #line 876 "doctokenizer.l" 07455 { 07456 g_endMarker="endcode"; 07457 BEGIN(St_SecSkip); 07458 } 07459 YY_BREAK 07460 case 135: 07461 YY_RULE_SETUP 07462 #line 880 "doctokenizer.l" 07463 { 07464 g_endMarker="-->"; 07465 BEGIN(St_SecSkip); 07466 } 07467 YY_BREAK 07468 case 136: 07469 YY_RULE_SETUP 07470 #line 884 "doctokenizer.l" 07471 { 07472 if (strcmp(doctokenizerYYtext+1,g_endMarker)==0) 07473 { 07474 BEGIN(St_Sections); 07475 } 07476 } 07477 YY_BREAK 07478 case 137: 07479 YY_RULE_SETUP 07480 #line 890 "doctokenizer.l" 07481 { 07482 if (strcmp(doctokenizerYYtext,g_endMarker)==0) 07483 { 07484 BEGIN(St_Sections); 07485 } 07486 } 07487 YY_BREAK 07488 case 138: 07489 /* rule 138 can match eol */ 07490 YY_RULE_SETUP 07491 #line 896 "doctokenizer.l" 07492 07493 YY_BREAK 07494 case 139: 07495 YY_RULE_SETUP 07496 #line 897 "doctokenizer.l" 07497 07498 YY_BREAK 07499 case 140: 07500 /* rule 140 can match eol */ 07501 YY_RULE_SETUP 07502 #line 898 "doctokenizer.l" 07503 07504 YY_BREAK 07505 case 141: 07506 YY_RULE_SETUP 07507 #line 899 "doctokenizer.l" 07508 07509 YY_BREAK 07510 case 142: 07511 /* rule 142 can match eol */ 07512 YY_RULE_SETUP 07513 #line 900 "doctokenizer.l" 07514 07515 YY_BREAK 07516 case 143: 07517 YY_RULE_SETUP 07518 #line 901 "doctokenizer.l" 07519 { 07520 g_secLabel = doctokenizerYYtext; 07521 processSection(); 07522 BEGIN(St_Sections); 07523 } 07524 YY_BREAK 07525 case 144: 07526 #line 907 "doctokenizer.l" 07527 case 145: 07528 YY_RULE_SETUP 07529 #line 907 "doctokenizer.l" 07530 { 07531 g_secLabel = doctokenizerYYtext; 07532 g_secLabel = g_secLabel.stripWhiteSpace(); 07533 BEGIN(St_SecTitle); 07534 } 07535 YY_BREAK 07536 case 146: 07537 #line 913 "doctokenizer.l" 07538 case 147: 07539 /* rule 147 can match eol */ 07540 YY_RULE_SETUP 07541 #line 913 "doctokenizer.l" 07542 { 07543 g_secTitle = doctokenizerYYtext; 07544 g_secTitle = g_secTitle.stripWhiteSpace(); 07545 processSection(); 07546 BEGIN(St_Sections); 07547 } 07548 YY_BREAK 07549 case 148: 07550 YY_RULE_SETUP 07551 #line 919 "doctokenizer.l" 07552 { 07553 warn(g_fileName,doctokenizerYYlineno,"Error: Unexpected character `%s' while looking for section label or title",doctokenizerYYtext); 07554 } 07555 YY_BREAK 07556 /* Generic rules that work for all states */ 07557 case 149: 07558 /* rule 149 can match eol */ 07559 YY_RULE_SETUP 07560 #line 924 "doctokenizer.l" 07561 { 07562 warn(g_fileName,doctokenizerYYlineno,"Error: Unexpected new line character"); 07563 } 07564 YY_BREAK 07565 case 150: 07566 YY_RULE_SETUP 07567 #line 927 "doctokenizer.l" 07568 { /* unescaped special character */ 07569 //warn(g_fileName,doctokenizerYYlineno,"Warning: Unexpected character `%s', assuming command \\%s was meant.",doctokenizerYYtext,doctokenizerYYtext); 07570 g_token->name = doctokenizerYYtext; 07571 return TK_COMMAND; 07572 } 07573 YY_BREAK 07574 case 151: 07575 YY_RULE_SETUP 07576 #line 932 "doctokenizer.l" 07577 { 07578 warn(g_fileName,doctokenizerYYlineno,"Error: Unexpected character `%s'",doctokenizerYYtext); 07579 } 07580 YY_BREAK 07581 case 152: 07582 YY_RULE_SETUP 07583 #line 935 "doctokenizer.l" 07584 ECHO; 07585 YY_BREAK 07586 #line 7587 "<stdout>" 07587 case YY_STATE_EOF(INITIAL): 07588 case YY_STATE_EOF(St_Para): 07589 case YY_STATE_EOF(St_Comment): 07590 case YY_STATE_EOF(St_Title): 07591 case YY_STATE_EOF(St_TitleN): 07592 case YY_STATE_EOF(St_TitleQ): 07593 case YY_STATE_EOF(St_TitleA): 07594 case YY_STATE_EOF(St_TitleV): 07595 case YY_STATE_EOF(St_Code): 07596 case YY_STATE_EOF(St_XmlCode): 07597 case YY_STATE_EOF(St_HtmlOnly): 07598 case YY_STATE_EOF(St_ManOnly): 07599 case YY_STATE_EOF(St_LatexOnly): 07600 case YY_STATE_EOF(St_XmlOnly): 07601 case YY_STATE_EOF(St_Verbatim): 07602 case YY_STATE_EOF(St_Dot): 07603 case YY_STATE_EOF(St_Msc): 07604 case YY_STATE_EOF(St_Param): 07605 case YY_STATE_EOF(St_XRefItem): 07606 case YY_STATE_EOF(St_XRefItem2): 07607 case YY_STATE_EOF(St_File): 07608 case YY_STATE_EOF(St_Pattern): 07609 case YY_STATE_EOF(St_Link): 07610 case YY_STATE_EOF(St_Ref): 07611 case YY_STATE_EOF(St_Ref2): 07612 case YY_STATE_EOF(St_IntRef): 07613 case YY_STATE_EOF(St_Text): 07614 case YY_STATE_EOF(St_SkipTitle): 07615 case YY_STATE_EOF(St_Sections): 07616 case YY_STATE_EOF(St_SecLabel1): 07617 case YY_STATE_EOF(St_SecLabel2): 07618 case YY_STATE_EOF(St_SecTitle): 07619 case YY_STATE_EOF(St_SecSkip): 07620 yyterminate(); 07621 07622 case YY_END_OF_BUFFER: 07623 { 07624 /* Amount of text matched not including the EOB char. */ 07625 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; 07626 07627 /* Undo the effects of YY_DO_BEFORE_ACTION. */ 07628 *yy_cp = (yy_hold_char); 07629 YY_RESTORE_YY_MORE_OFFSET 07630 07631 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) 07632 { 07633 /* We're scanning a new file or input source. It's 07634 * possible that this happened because the user 07635 * just pointed doctokenizerYYin at a new source and called 07636 * doctokenizerYYlex(). If so, then we have to assure 07637 * consistency between YY_CURRENT_BUFFER and our 07638 * globals. Here is the right place to do so, because 07639 * this is the first action (other than possibly a 07640 * back-up) that will match for the new input source. 07641 */ 07642 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 07643 YY_CURRENT_BUFFER_LVALUE->yy_input_file = doctokenizerYYin; 07644 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 07645 } 07646 07647 /* Note that here we test for yy_c_buf_p "<=" to the position 07648 * of the first EOB in the buffer, since yy_c_buf_p will 07649 * already have been incremented past the NUL character 07650 * (since all states make transitions on EOB to the 07651 * end-of-buffer state). Contrast this with the test 07652 * in input(). 07653 */ 07654 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 07655 { /* This was really a NUL. */ 07656 yy_state_type yy_next_state; 07657 07658 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; 07659 07660 yy_current_state = yy_get_previous_state( ); 07661 07662 /* Okay, we're now positioned to make the NUL 07663 * transition. We couldn't have 07664 * yy_get_previous_state() go ahead and do it 07665 * for us because it doesn't know how to deal 07666 * with the possibility of jamming (and we don't 07667 * want to build jamming into it because then it 07668 * will run more slowly). 07669 */ 07670 07671 yy_next_state = yy_try_NUL_trans( yy_current_state ); 07672 07673 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 07674 07675 if ( yy_next_state ) 07676 { 07677 /* Consume the NUL. */ 07678 yy_cp = ++(yy_c_buf_p); 07679 yy_current_state = yy_next_state; 07680 goto yy_match; 07681 } 07682 07683 else 07684 { 07685 yy_cp = (yy_c_buf_p); 07686 goto yy_find_action; 07687 } 07688 } 07689 07690 else switch ( yy_get_next_buffer( ) ) 07691 { 07692 case EOB_ACT_END_OF_FILE: 07693 { 07694 (yy_did_buffer_switch_on_eof) = 0; 07695 07696 if ( doctokenizerYYwrap( ) ) 07697 { 07698 /* Note: because we've taken care in 07699 * yy_get_next_buffer() to have set up 07700 * doctokenizerYYtext, we can now set up 07701 * yy_c_buf_p so that if some total 07702 * hoser (like flex itself) wants to 07703 * call the scanner after we return the 07704 * YY_NULL, it'll still work - another 07705 * YY_NULL will get returned. 07706 */ 07707 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; 07708 07709 yy_act = YY_STATE_EOF(YY_START); 07710 goto do_action; 07711 } 07712 07713 else 07714 { 07715 if ( ! (yy_did_buffer_switch_on_eof) ) 07716 YY_NEW_FILE; 07717 } 07718 break; 07719 } 07720 07721 case EOB_ACT_CONTINUE_SCAN: 07722 (yy_c_buf_p) = 07723 (yytext_ptr) + yy_amount_of_matched_text; 07724 07725 yy_current_state = yy_get_previous_state( ); 07726 07727 yy_cp = (yy_c_buf_p); 07728 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 07729 goto yy_match; 07730 07731 case EOB_ACT_LAST_MATCH: 07732 (yy_c_buf_p) = 07733 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; 07734 07735 yy_current_state = yy_get_previous_state( ); 07736 07737 yy_cp = (yy_c_buf_p); 07738 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 07739 goto yy_find_action; 07740 } 07741 break; 07742 } 07743 07744 default: 07745 YY_FATAL_ERROR( 07746 "fatal flex scanner internal error--no action found" ); 07747 } /* end of action switch */ 07748 } /* end of scanning one token */ 07749 } /* end of doctokenizerYYlex */ 07750 07751 /* yy_get_next_buffer - try to read in a new buffer 07752 * 07753 * Returns a code representing an action: 07754 * EOB_ACT_LAST_MATCH - 07755 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 07756 * EOB_ACT_END_OF_FILE - end of file 07757 */ 07758 static int yy_get_next_buffer (void) 07759 { 07760 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 07761 register char *source = (yytext_ptr); 07762 register int number_to_move, i; 07763 int ret_val; 07764 07765 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) 07766 YY_FATAL_ERROR( 07767 "fatal flex scanner internal error--end of buffer missed" ); 07768 07769 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) 07770 { /* Don't try to fill the buffer, so this is an EOF. */ 07771 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) 07772 { 07773 /* We matched a single character, the EOB, so 07774 * treat this as a final EOF. 07775 */ 07776 return EOB_ACT_END_OF_FILE; 07777 } 07778 07779 else 07780 { 07781 /* We matched some text prior to the EOB, first 07782 * process it. 07783 */ 07784 return EOB_ACT_LAST_MATCH; 07785 } 07786 } 07787 07788 /* Try to read more data. */ 07789 07790 /* First move last chars to start of buffer. */ 07791 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; 07792 07793 for ( i = 0; i < number_to_move; ++i ) 07794 *(dest++) = *(source++); 07795 07796 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 07797 /* don't do the read, it's not guaranteed to return an EOF, 07798 * just force an EOF 07799 */ 07800 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; 07801 07802 else 07803 { 07804 int num_to_read = 07805 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 07806 07807 while ( num_to_read <= 0 ) 07808 { /* Not enough room in the buffer - grow it. */ 07809 07810 YY_FATAL_ERROR( 07811 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); 07812 07813 } 07814 07815 if ( num_to_read > YY_READ_BUF_SIZE ) 07816 num_to_read = YY_READ_BUF_SIZE; 07817 07818 /* Read in more data. */ 07819 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 07820 (yy_n_chars), num_to_read ); 07821 07822 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 07823 } 07824 07825 if ( (yy_n_chars) == 0 ) 07826 { 07827 if ( number_to_move == YY_MORE_ADJ ) 07828 { 07829 ret_val = EOB_ACT_END_OF_FILE; 07830 doctokenizerYYrestart(doctokenizerYYin ); 07831 } 07832 07833 else 07834 { 07835 ret_val = EOB_ACT_LAST_MATCH; 07836 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 07837 YY_BUFFER_EOF_PENDING; 07838 } 07839 } 07840 07841 else 07842 ret_val = EOB_ACT_CONTINUE_SCAN; 07843 07844 (yy_n_chars) += number_to_move; 07845 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; 07846 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; 07847 07848 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 07849 07850 return ret_val; 07851 } 07852 07853 /* yy_get_previous_state - get the state just before the EOB char was reached */ 07854 07855 static yy_state_type yy_get_previous_state (void) 07856 { 07857 register yy_state_type yy_current_state; 07858 register char *yy_cp; 07859 07860 yy_current_state = (yy_start); 07861 yy_current_state += YY_AT_BOL(); 07862 07863 (yy_state_ptr) = (yy_state_buf); 07864 *(yy_state_ptr)++ = yy_current_state; 07865 07866 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 07867 { 07868 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 07869 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 07870 { 07871 yy_current_state = (int) yy_def[yy_current_state]; 07872 if ( yy_current_state >= 1458 ) 07873 yy_c = yy_meta[(unsigned int) yy_c]; 07874 } 07875 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 07876 *(yy_state_ptr)++ = yy_current_state; 07877 } 07878 07879 return yy_current_state; 07880 } 07881 07882 /* yy_try_NUL_trans - try to make a transition on the NUL character 07883 * 07884 * synopsis 07885 * next_state = yy_try_NUL_trans( current_state ); 07886 */ 07887 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) 07888 { 07889 register int yy_is_jam; 07890 07891 register YY_CHAR yy_c = 1; 07892 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 07893 { 07894 yy_current_state = (int) yy_def[yy_current_state]; 07895 if ( yy_current_state >= 1458 ) 07896 yy_c = yy_meta[(unsigned int) yy_c]; 07897 } 07898 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 07899 yy_is_jam = (yy_current_state == 1457); 07900 if ( ! yy_is_jam ) 07901 *(yy_state_ptr)++ = yy_current_state; 07902 07903 return yy_is_jam ? 0 : yy_current_state; 07904 } 07905 07906 static void yyunput (int c, register char * yy_bp ) 07907 { 07908 register char *yy_cp; 07909 07910 yy_cp = (yy_c_buf_p); 07911 07912 /* undo effects of setting up doctokenizerYYtext */ 07913 *yy_cp = (yy_hold_char); 07914 07915 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) 07916 { /* need to shift things up to make room */ 07917 /* +2 for EOB chars. */ 07918 register int number_to_move = (yy_n_chars) + 2; 07919 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ 07920 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; 07921 register char *source = 07922 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; 07923 07924 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 07925 *--dest = *--source; 07926 07927 yy_cp += (int) (dest - source); 07928 yy_bp += (int) (dest - source); 07929 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = 07930 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; 07931 07932 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) 07933 YY_FATAL_ERROR( "flex scanner push-back overflow" ); 07934 } 07935 07936 *--yy_cp = (char) c; 07937 07938 if ( c == '\n' ){ 07939 --doctokenizerYYlineno; 07940 } 07941 07942 (yytext_ptr) = yy_bp; 07943 (yy_hold_char) = *yy_cp; 07944 (yy_c_buf_p) = yy_cp; 07945 } 07946 07947 #ifndef YY_NO_INPUT 07948 #ifdef __cplusplus 07949 static int yyinput (void) 07950 #else 07951 static int input (void) 07952 #endif 07953 07954 { 07955 int c; 07956 07957 *(yy_c_buf_p) = (yy_hold_char); 07958 07959 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) 07960 { 07961 /* yy_c_buf_p now points to the character we want to return. 07962 * If this occurs *before* the EOB characters, then it's a 07963 * valid NUL; if not, then we've hit the end of the buffer. 07964 */ 07965 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 07966 /* This was really a NUL. */ 07967 *(yy_c_buf_p) = '\0'; 07968 07969 else 07970 { /* need more input */ 07971 int offset = (yy_c_buf_p) - (yytext_ptr); 07972 ++(yy_c_buf_p); 07973 07974 switch ( yy_get_next_buffer( ) ) 07975 { 07976 case EOB_ACT_LAST_MATCH: 07977 /* This happens because yy_g_n_b() 07978 * sees that we've accumulated a 07979 * token and flags that we need to 07980 * try matching the token before 07981 * proceeding. But for input(), 07982 * there's no matching to consider. 07983 * So convert the EOB_ACT_LAST_MATCH 07984 * to EOB_ACT_END_OF_FILE. 07985 */ 07986 07987 /* Reset buffer status. */ 07988 doctokenizerYYrestart(doctokenizerYYin ); 07989 07990 /*FALLTHROUGH*/ 07991 07992 case EOB_ACT_END_OF_FILE: 07993 { 07994 if ( doctokenizerYYwrap( ) ) 07995 return 0; 07996 07997 if ( ! (yy_did_buffer_switch_on_eof) ) 07998 YY_NEW_FILE; 07999 #ifdef __cplusplus 08000 return yyinput(); 08001 #else 08002 return input(); 08003 #endif 08004 } 08005 08006 case EOB_ACT_CONTINUE_SCAN: 08007 (yy_c_buf_p) = (yytext_ptr) + offset; 08008 break; 08009 } 08010 } 08011 } 08012 08013 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ 08014 *(yy_c_buf_p) = '\0'; /* preserve doctokenizerYYtext */ 08015 (yy_hold_char) = *++(yy_c_buf_p); 08016 08017 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n'); 08018 if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol ) 08019 08020 doctokenizerYYlineno++; 08021 ; 08022 08023 return c; 08024 } 08025 #endif /* ifndef YY_NO_INPUT */ 08026 08032 void doctokenizerYYrestart (FILE * input_file ) 08033 { 08034 08035 if ( ! YY_CURRENT_BUFFER ){ 08036 doctokenizerYYensure_buffer_stack (); 08037 YY_CURRENT_BUFFER_LVALUE = 08038 doctokenizerYY_create_buffer(doctokenizerYYin,YY_BUF_SIZE ); 08039 } 08040 08041 doctokenizerYY_init_buffer(YY_CURRENT_BUFFER,input_file ); 08042 doctokenizerYY_load_buffer_state( ); 08043 } 08044 08049 void doctokenizerYY_switch_to_buffer (YY_BUFFER_STATE new_buffer ) 08050 { 08051 08052 /* TODO. We should be able to replace this entire function body 08053 * with 08054 * doctokenizerYYpop_buffer_state(); 08055 * doctokenizerYYpush_buffer_state(new_buffer); 08056 */ 08057 doctokenizerYYensure_buffer_stack (); 08058 if ( YY_CURRENT_BUFFER == new_buffer ) 08059 return; 08060 08061 if ( YY_CURRENT_BUFFER ) 08062 { 08063 /* Flush out information for old buffer. */ 08064 *(yy_c_buf_p) = (yy_hold_char); 08065 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 08066 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 08067 } 08068 08069 YY_CURRENT_BUFFER_LVALUE = new_buffer; 08070 doctokenizerYY_load_buffer_state( ); 08071 08072 /* We don't actually know whether we did this switch during 08073 * EOF (doctokenizerYYwrap()) processing, but the only time this flag 08074 * is looked at is after doctokenizerYYwrap() is called, so it's safe 08075 * to go ahead and always set it. 08076 */ 08077 (yy_did_buffer_switch_on_eof) = 1; 08078 } 08079 08080 static void doctokenizerYY_load_buffer_state (void) 08081 { 08082 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 08083 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 08084 doctokenizerYYin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 08085 (yy_hold_char) = *(yy_c_buf_p); 08086 } 08087 08094 YY_BUFFER_STATE doctokenizerYY_create_buffer (FILE * file, int size ) 08095 { 08096 YY_BUFFER_STATE b; 08097 08098 b = (YY_BUFFER_STATE) doctokenizerYYalloc(sizeof( struct yy_buffer_state ) ); 08099 if ( ! b ) 08100 YY_FATAL_ERROR( "out of dynamic memory in doctokenizerYY_create_buffer()" ); 08101 08102 b->yy_buf_size = size; 08103 08104 /* yy_ch_buf has to be 2 characters longer than the size given because 08105 * we need to put in 2 end-of-buffer characters. 08106 */ 08107 b->yy_ch_buf = (char *) doctokenizerYYalloc(b->yy_buf_size + 2 ); 08108 if ( ! b->yy_ch_buf ) 08109 YY_FATAL_ERROR( "out of dynamic memory in doctokenizerYY_create_buffer()" ); 08110 08111 b->yy_is_our_buffer = 1; 08112 08113 doctokenizerYY_init_buffer(b,file ); 08114 08115 return b; 08116 } 08117 08122 void doctokenizerYY_delete_buffer (YY_BUFFER_STATE b ) 08123 { 08124 08125 if ( ! b ) 08126 return; 08127 08128 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ 08129 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; 08130 08131 if ( b->yy_is_our_buffer ) 08132 doctokenizerYYfree((void *) b->yy_ch_buf ); 08133 08134 doctokenizerYYfree((void *) b ); 08135 } 08136 08137 #ifndef __cplusplus 08138 extern int isatty (int ); 08139 #endif /* __cplusplus */ 08140 08141 /* Initializes or reinitializes a buffer. 08142 * This function is sometimes called more than once on the same buffer, 08143 * such as during a doctokenizerYYrestart() or at EOF. 08144 */ 08145 static void doctokenizerYY_init_buffer (YY_BUFFER_STATE b, FILE * file ) 08146 08147 { 08148 int oerrno = errno; 08149 08150 doctokenizerYY_flush_buffer(b ); 08151 08152 b->yy_input_file = file; 08153 b->yy_fill_buffer = 1; 08154 08155 /* If b is the current buffer, then doctokenizerYY_init_buffer was _probably_ 08156 * called from doctokenizerYYrestart() or through yy_get_next_buffer. 08157 * In that case, we don't want to reset the lineno or column. 08158 */ 08159 if (b != YY_CURRENT_BUFFER){ 08160 b->yy_bs_lineno = 1; 08161 b->yy_bs_column = 0; 08162 } 08163 08164 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 08165 08166 errno = oerrno; 08167 } 08168 08173 void doctokenizerYY_flush_buffer (YY_BUFFER_STATE b ) 08174 { 08175 if ( ! b ) 08176 return; 08177 08178 b->yy_n_chars = 0; 08179 08180 /* We always need two end-of-buffer characters. The first causes 08181 * a transition to the end-of-buffer state. The second causes 08182 * a jam in that state. 08183 */ 08184 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 08185 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 08186 08187 b->yy_buf_pos = &b->yy_ch_buf[0]; 08188 08189 b->yy_at_bol = 1; 08190 b->yy_buffer_status = YY_BUFFER_NEW; 08191 08192 if ( b == YY_CURRENT_BUFFER ) 08193 doctokenizerYY_load_buffer_state( ); 08194 } 08195 08202 void doctokenizerYYpush_buffer_state (YY_BUFFER_STATE new_buffer ) 08203 { 08204 if (new_buffer == NULL) 08205 return; 08206 08207 doctokenizerYYensure_buffer_stack(); 08208 08209 /* This block is copied from doctokenizerYY_switch_to_buffer. */ 08210 if ( YY_CURRENT_BUFFER ) 08211 { 08212 /* Flush out information for old buffer. */ 08213 *(yy_c_buf_p) = (yy_hold_char); 08214 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 08215 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 08216 } 08217 08218 /* Only push if top exists. Otherwise, replace top. */ 08219 if (YY_CURRENT_BUFFER) 08220 (yy_buffer_stack_top)++; 08221 YY_CURRENT_BUFFER_LVALUE = new_buffer; 08222 08223 /* copied from doctokenizerYY_switch_to_buffer. */ 08224 doctokenizerYY_load_buffer_state( ); 08225 (yy_did_buffer_switch_on_eof) = 1; 08226 } 08227 08232 void doctokenizerYYpop_buffer_state (void) 08233 { 08234 if (!YY_CURRENT_BUFFER) 08235 return; 08236 08237 doctokenizerYY_delete_buffer(YY_CURRENT_BUFFER ); 08238 YY_CURRENT_BUFFER_LVALUE = NULL; 08239 if ((yy_buffer_stack_top) > 0) 08240 --(yy_buffer_stack_top); 08241 08242 if (YY_CURRENT_BUFFER) { 08243 doctokenizerYY_load_buffer_state( ); 08244 (yy_did_buffer_switch_on_eof) = 1; 08245 } 08246 } 08247 08248 /* Allocates the stack if it does not exist. 08249 * Guarantees space for at least one push. 08250 */ 08251 static void doctokenizerYYensure_buffer_stack (void) 08252 { 08253 int num_to_alloc; 08254 08255 if (!(yy_buffer_stack)) { 08256 08257 /* First allocation is just for 2 elements, since we don't know if this 08258 * scanner will even need a stack. We use 2 instead of 1 to avoid an 08259 * immediate realloc on the next call. 08260 */ 08261 num_to_alloc = 1; 08262 (yy_buffer_stack) = (struct yy_buffer_state**)doctokenizerYYalloc 08263 (num_to_alloc * sizeof(struct yy_buffer_state*) 08264 ); 08265 08266 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 08267 08268 (yy_buffer_stack_max) = num_to_alloc; 08269 (yy_buffer_stack_top) = 0; 08270 return; 08271 } 08272 08273 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ 08274 08275 /* Increase the buffer to prepare for a possible push. */ 08276 int grow_size = 8 /* arbitrary grow size */; 08277 08278 num_to_alloc = (yy_buffer_stack_max) + grow_size; 08279 (yy_buffer_stack) = (struct yy_buffer_state**)doctokenizerYYrealloc 08280 ((yy_buffer_stack), 08281 num_to_alloc * sizeof(struct yy_buffer_state*) 08282 ); 08283 08284 /* zero only the new slots.*/ 08285 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); 08286 (yy_buffer_stack_max) = num_to_alloc; 08287 } 08288 } 08289 08296 YY_BUFFER_STATE doctokenizerYY_scan_buffer (char * base, yy_size_t size ) 08297 { 08298 YY_BUFFER_STATE b; 08299 08300 if ( size < 2 || 08301 base[size-2] != YY_END_OF_BUFFER_CHAR || 08302 base[size-1] != YY_END_OF_BUFFER_CHAR ) 08303 /* They forgot to leave room for the EOB's. */ 08304 return 0; 08305 08306 b = (YY_BUFFER_STATE) doctokenizerYYalloc(sizeof( struct yy_buffer_state ) ); 08307 if ( ! b ) 08308 YY_FATAL_ERROR( "out of dynamic memory in doctokenizerYY_scan_buffer()" ); 08309 08310 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ 08311 b->yy_buf_pos = b->yy_ch_buf = base; 08312 b->yy_is_our_buffer = 0; 08313 b->yy_input_file = 0; 08314 b->yy_n_chars = b->yy_buf_size; 08315 b->yy_is_interactive = 0; 08316 b->yy_at_bol = 1; 08317 b->yy_fill_buffer = 0; 08318 b->yy_buffer_status = YY_BUFFER_NEW; 08319 08320 doctokenizerYY_switch_to_buffer(b ); 08321 08322 return b; 08323 } 08324 08333 YY_BUFFER_STATE doctokenizerYY_scan_string (yyconst char * yystr ) 08334 { 08335 08336 return doctokenizerYY_scan_bytes(yystr,strlen(yystr) ); 08337 } 08338 08346 YY_BUFFER_STATE doctokenizerYY_scan_bytes (yyconst char * yybytes, int _yybytes_len ) 08347 { 08348 YY_BUFFER_STATE b; 08349 char *buf; 08350 yy_size_t n; 08351 int i; 08352 08353 /* Get memory for full buffer, including space for trailing EOB's. */ 08354 n = _yybytes_len + 2; 08355 buf = (char *) doctokenizerYYalloc(n ); 08356 if ( ! buf ) 08357 YY_FATAL_ERROR( "out of dynamic memory in doctokenizerYY_scan_bytes()" ); 08358 08359 for ( i = 0; i < _yybytes_len; ++i ) 08360 buf[i] = yybytes[i]; 08361 08362 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; 08363 08364 b = doctokenizerYY_scan_buffer(buf,n ); 08365 if ( ! b ) 08366 YY_FATAL_ERROR( "bad buffer in doctokenizerYY_scan_bytes()" ); 08367 08368 /* It's okay to grow etc. this buffer, and we should throw it 08369 * away when we're done. 08370 */ 08371 b->yy_is_our_buffer = 1; 08372 08373 return b; 08374 } 08375 08376 #ifndef YY_EXIT_FAILURE 08377 #define YY_EXIT_FAILURE 2 08378 #endif 08379 08380 static void yy_fatal_error (yyconst char* msg ) 08381 { 08382 (void) fprintf( stderr, "%s\n", msg ); 08383 exit( YY_EXIT_FAILURE ); 08384 } 08385 08386 /* Redefine yyless() so it works in section 3 code. */ 08387 08388 #undef yyless 08389 #define yyless(n) \ 08390 do \ 08391 { \ 08392 /* Undo effects of setting up doctokenizerYYtext. */ \ 08393 int yyless_macro_arg = (n); \ 08394 YY_LESS_LINENO(yyless_macro_arg);\ 08395 doctokenizerYYtext[doctokenizerYYleng] = (yy_hold_char); \ 08396 (yy_c_buf_p) = doctokenizerYYtext + yyless_macro_arg; \ 08397 (yy_hold_char) = *(yy_c_buf_p); \ 08398 *(yy_c_buf_p) = '\0'; \ 08399 doctokenizerYYleng = yyless_macro_arg; \ 08400 } \ 08401 while ( 0 ) 08402 08403 /* Accessor methods (get/set functions) to struct members. */ 08404 08408 int doctokenizerYYget_lineno (void) 08409 { 08410 08411 return doctokenizerYYlineno; 08412 } 08413 08417 FILE *doctokenizerYYget_in (void) 08418 { 08419 return doctokenizerYYin; 08420 } 08421 08425 FILE *doctokenizerYYget_out (void) 08426 { 08427 return doctokenizerYYout; 08428 } 08429 08433 int doctokenizerYYget_leng (void) 08434 { 08435 return doctokenizerYYleng; 08436 } 08437 08442 char *doctokenizerYYget_text (void) 08443 { 08444 return doctokenizerYYtext; 08445 } 08446 08451 void doctokenizerYYset_lineno (int line_number ) 08452 { 08453 08454 doctokenizerYYlineno = line_number; 08455 } 08456 08463 void doctokenizerYYset_in (FILE * in_str ) 08464 { 08465 doctokenizerYYin = in_str ; 08466 } 08467 08468 void doctokenizerYYset_out (FILE * out_str ) 08469 { 08470 doctokenizerYYout = out_str ; 08471 } 08472 08473 int doctokenizerYYget_debug (void) 08474 { 08475 return doctokenizerYY_flex_debug; 08476 } 08477 08478 void doctokenizerYYset_debug (int bdebug ) 08479 { 08480 doctokenizerYY_flex_debug = bdebug ; 08481 } 08482 08483 static int yy_init_globals (void) 08484 { 08485 /* Initialization is the same as for the non-reentrant scanner. 08486 * This function is called from doctokenizerYYlex_destroy(), so don't allocate here. 08487 */ 08488 08489 /* We do not touch doctokenizerYYlineno unless the option is enabled. */ 08490 doctokenizerYYlineno = 1; 08491 08492 (yy_buffer_stack) = 0; 08493 (yy_buffer_stack_top) = 0; 08494 (yy_buffer_stack_max) = 0; 08495 (yy_c_buf_p) = (char *) 0; 08496 (yy_init) = 0; 08497 (yy_start) = 0; 08498 08499 (yy_state_buf) = 0; 08500 (yy_state_ptr) = 0; 08501 (yy_full_match) = 0; 08502 (yy_lp) = 0; 08503 08504 /* Defined in main.c */ 08505 #ifdef YY_STDINIT 08506 doctokenizerYYin = stdin; 08507 doctokenizerYYout = stdout; 08508 #else 08509 doctokenizerYYin = (FILE *) 0; 08510 doctokenizerYYout = (FILE *) 0; 08511 #endif 08512 08513 /* For future reference: Set errno on error, since we are called by 08514 * doctokenizerYYlex_init() 08515 */ 08516 return 0; 08517 } 08518 08519 /* doctokenizerYYlex_destroy is for both reentrant and non-reentrant scanners. */ 08520 int doctokenizerYYlex_destroy (void) 08521 { 08522 08523 /* Pop the buffer stack, destroying each element. */ 08524 while(YY_CURRENT_BUFFER){ 08525 doctokenizerYY_delete_buffer(YY_CURRENT_BUFFER ); 08526 YY_CURRENT_BUFFER_LVALUE = NULL; 08527 doctokenizerYYpop_buffer_state(); 08528 } 08529 08530 /* Destroy the stack itself. */ 08531 doctokenizerYYfree((yy_buffer_stack) ); 08532 (yy_buffer_stack) = NULL; 08533 08534 doctokenizerYYfree ( (yy_state_buf) ); 08535 (yy_state_buf) = NULL; 08536 08537 /* Reset the globals. This is important in a non-reentrant scanner so the next time 08538 * doctokenizerYYlex() is called, initialization will occur. */ 08539 yy_init_globals( ); 08540 08541 return 0; 08542 } 08543 08544 /* 08545 * Internal utility routines. 08546 */ 08547 08548 #ifndef yytext_ptr 08549 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) 08550 { 08551 register int i; 08552 for ( i = 0; i < n; ++i ) 08553 s1[i] = s2[i]; 08554 } 08555 #endif 08556 08557 #ifdef YY_NEED_STRLEN 08558 static int yy_flex_strlen (yyconst char * s ) 08559 { 08560 register int n; 08561 for ( n = 0; s[n]; ++n ) 08562 ; 08563 08564 return n; 08565 } 08566 #endif 08567 08568 void *doctokenizerYYalloc (yy_size_t size ) 08569 { 08570 return (void *) malloc( size ); 08571 } 08572 08573 void *doctokenizerYYrealloc (void * ptr, yy_size_t size ) 08574 { 08575 /* The cast to (char *) in the following accommodates both 08576 * implementations that use char* generic pointers, and those 08577 * that use void* generic pointers. It works with the latter 08578 * because both ANSI C and C++ allow castless assignment from 08579 * any pointer type to void*, and deal with argument conversions 08580 * as though doing an assignment. 08581 */ 08582 return (void *) realloc( (char *) ptr, size ); 08583 } 08584 08585 void doctokenizerYYfree (void * ptr ) 08586 { 08587 free( (char *) ptr ); /* see doctokenizerYYrealloc() for (char *) cast */ 08588 } 08589 08590 #define YYTABLES_NAME "yytables" 08591 08592 #line 935 "doctokenizer.l" 08593 08594 08595 08596 //-------------------------------------------------------------------------- 08597 08598 void doctokenizerYYFindSections(const char *input,Definition *d, 08599 MemberGroup *mg,const char *fileName) 08600 { 08601 if (input==0) return; 08602 g_inputString = input; 08603 //printf("parsing --->`%s'<---\n",input); 08604 g_inputPos = 0; 08605 g_definition = d; 08606 g_memberGroup = mg; 08607 g_fileName = fileName; 08608 BEGIN(St_Sections); 08609 doctokenizerYYlineno = 1; 08610 doctokenizerYYlex(); 08611 } 08612 08613 void doctokenizerYYinit(const char *input,const char *fileName) 08614 { 08615 g_inputString = input; 08616 g_inputPos = 0; 08617 g_fileName = fileName; 08618 g_insidePre = FALSE; 08619 BEGIN(St_Para); 08620 } 08621 08622 void doctokenizerYYsetStatePara() 08623 { 08624 BEGIN(St_Para); 08625 } 08626 08627 void doctokenizerYYsetStateTitle() 08628 { 08629 BEGIN(St_Title); 08630 } 08631 08632 void doctokenizerYYsetStateTitleAttrValue() 08633 { 08634 BEGIN(St_TitleV); 08635 } 08636 08637 void doctokenizerYYsetStateCode() 08638 { 08639 g_token->verb=""; 08640 BEGIN(St_Code); 08641 } 08642 08643 void doctokenizerYYsetStateXmlCode() 08644 { 08645 g_token->verb=""; 08646 BEGIN(St_XmlCode); 08647 } 08648 08649 void doctokenizerYYsetStateHtmlOnly() 08650 { 08651 g_token->verb=""; 08652 BEGIN(St_HtmlOnly); 08653 } 08654 08655 void doctokenizerYYsetStateManOnly() 08656 { 08657 g_token->verb=""; 08658 BEGIN(St_ManOnly); 08659 } 08660 08661 void doctokenizerYYsetStateXmlOnly() 08662 { 08663 g_token->verb=""; 08664 BEGIN(St_XmlOnly); 08665 } 08666 08667 void doctokenizerYYsetStateLatexOnly() 08668 { 08669 g_token->verb=""; 08670 BEGIN(St_LatexOnly); 08671 } 08672 08673 void doctokenizerYYsetStateVerbatim() 08674 { 08675 g_token->verb=""; 08676 BEGIN(St_Verbatim); 08677 } 08678 08679 void doctokenizerYYsetStateDot() 08680 { 08681 g_token->verb=""; 08682 BEGIN(St_Dot); 08683 } 08684 08685 void doctokenizerYYsetStateMsc() 08686 { 08687 g_token->verb=""; 08688 BEGIN(St_Msc); 08689 } 08690 08691 void doctokenizerYYsetStateParam() 08692 { 08693 BEGIN(St_Param); 08694 } 08695 08696 void doctokenizerYYsetStateXRefItem() 08697 { 08698 BEGIN(St_XRefItem); 08699 } 08700 08701 void doctokenizerYYsetStateFile() 08702 { 08703 BEGIN(St_File); 08704 } 08705 08706 void doctokenizerYYsetStatePattern() 08707 { 08708 BEGIN(St_Pattern); 08709 } 08710 08711 void doctokenizerYYsetStateLink() 08712 { 08713 BEGIN(St_Link); 08714 } 08715 08716 void doctokenizerYYsetStateRef() 08717 { 08718 BEGIN(St_Ref); 08719 } 08720 08721 void doctokenizerYYsetStateInternalRef() 08722 { 08723 BEGIN(St_IntRef); 08724 } 08725 08726 void doctokenizerYYsetStateText() 08727 { 08728 BEGIN(St_Text); 08729 } 08730 08731 void doctokenizerYYsetStateSkipTitle() 08732 { 08733 BEGIN(St_SkipTitle); 08734 } 08735 08736 void doctokenizerYYcleanup() 08737 { 08738 doctokenizerYY_delete_buffer(YY_CURRENT_BUFFER ); 08739 } 08740 08741 void doctokenizerYYsetInsidePre(bool b) 08742 { 08743 g_insidePre = b; 08744 } 08745 08746 void doctokenizerYYpushBackHtmlTag(const char *tag) 08747 { 08748 QCString tagName = tag; 08749 int i,l = tagName.length(); 08750 unput('>'); 08751 for (i=l-1;i>=0;i--) 08752 { 08753 unput(tag[i]); 08754 } 08755 unput('<'); 08756 } 08757 08758 #if !defined(YY_FLEX_SUBMINOR_VERSION) 08759 extern "C" { // some bogus code to keep the compiler happy 08760 void doctokenizerYYdummy() { yy_flex_realloc(0,0); } 08761 } 08762 #endif 08763 08764