2 #line 3 "scanner.c"
4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
8 #define FLEX_SCANNER
9 #define YY_FLEX_MAJOR_VERSION 2
10 #define YY_FLEX_MINOR_VERSION 5
11 #define YY_FLEX_SUBMINOR_VERSION 39
12 #if YY_FLEX_SUBMINOR_VERSION > 0
13 #define FLEX_BETA
14 #endif
16 /* First, we deal with platform-specific or compiler-specific issues. */
18 /* begin standard C headers. */
19 #include <stdio.h>
20 #include <string.h>
21 #include <errno.h>
22 #include <stdlib.h>
24 /* end standard C headers. */
26 /* flex integer type definitions */
28 #ifndef FLEXINT_H
29 #define FLEXINT_H
31 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
33 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
35 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
36 * if you want the limit (max/min) macros for int types.
37 */
38 #ifndef __STDC_LIMIT_MACROS
39 #define __STDC_LIMIT_MACROS 1
40 #endif
42 #include <inttypes.h>
43 typedef int8_t flex_int8_t;
44 typedef uint8_t flex_uint8_t;
45 typedef int16_t flex_int16_t;
46 typedef uint16_t flex_uint16_t;
47 typedef int32_t flex_int32_t;
48 typedef uint32_t flex_uint32_t;
49 #else
50 typedef signed char flex_int8_t;
51 typedef short int flex_int16_t;
52 typedef int flex_int32_t;
53 typedef unsigned char flex_uint8_t;
54 typedef unsigned short int flex_uint16_t;
55 typedef unsigned int flex_uint32_t;
57 /* Limits of integral types. */
58 #ifndef INT8_MIN
59 #define INT8_MIN (-128)
60 #endif
61 #ifndef INT16_MIN
62 #define INT16_MIN (-32767-1)
63 #endif
64 #ifndef INT32_MIN
65 #define INT32_MIN (-2147483647-1)
66 #endif
67 #ifndef INT8_MAX
68 #define INT8_MAX (127)
69 #endif
70 #ifndef INT16_MAX
71 #define INT16_MAX (32767)
72 #endif
73 #ifndef INT32_MAX
74 #define INT32_MAX (2147483647)
75 #endif
76 #ifndef UINT8_MAX
77 #define UINT8_MAX (255U)
78 #endif
79 #ifndef UINT16_MAX
80 #define UINT16_MAX (65535U)
81 #endif
82 #ifndef UINT32_MAX
83 #define UINT32_MAX (4294967295U)
84 #endif
86 #endif /* ! C99 */
88 #endif /* ! FLEXINT_H */
90 #ifdef __cplusplus
92 /* The "const" storage-class-modifier is valid. */
93 #define YY_USE_CONST
95 #else /* ! __cplusplus */
97 /* C99 requires __STDC__ to be defined as 1. */
98 #if defined (__STDC__)
100 #define YY_USE_CONST
102 #endif /* defined (__STDC__) */
103 #endif /* ! __cplusplus */
105 #ifdef YY_USE_CONST
106 #define yyconst const
107 #else
108 #define yyconst
109 #endif
111 /* Returned upon end-of-file. */
112 #define YY_NULL 0
114 /* Promotes a possibly negative, possibly signed char to an unsigned
115 * integer for use as an array index. If the signed char is negative,
116 * we want to instead treat it as an 8-bit unsigned char, hence the
117 * double cast.
118 */
119 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
121 /* Enter a start condition. This macro really ought to take a parameter,
122 * but we do it the disgusting crufty way forced on us by the ()-less
123 * definition of BEGIN.
124 */
125 #define BEGIN (yy_start) = 1 + 2 *
127 /* Translate the current start state into a value that can be later handed
128 * to BEGIN to return to the state. The YYSTATE alias is for lex
129 * compatibility.
130 */
131 #define YY_START (((yy_start) - 1) / 2)
132 #define YYSTATE YY_START
134 /* Action number for EOF rule of a given start state. */
135 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
137 /* Special action meaning "start processing a new file". */
138 #define YY_NEW_FILE yyrestart(yyin )
140 #define YY_END_OF_BUFFER_CHAR 0
142 /* Size of default input buffer. */
143 #ifndef YY_BUF_SIZE
144 #ifdef __ia64__
145 /* On IA-64, the buffer size is 16k, not 8k.
146 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
147 * Ditto for the __ia64__ case accordingly.
148 */
149 #define YY_BUF_SIZE 32768
150 #else
151 #define YY_BUF_SIZE 16384
152 #endif /* __ia64__ */
153 #endif
155 /* The state buf must be large enough to hold one state per character in the main buffer.
156 */
157 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
159 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
160 #define YY_TYPEDEF_YY_BUFFER_STATE
161 typedef struct yy_buffer_state *YY_BUFFER_STATE;
162 #endif
164 #ifndef YY_TYPEDEF_YY_SIZE_T
165 #define YY_TYPEDEF_YY_SIZE_T
166 typedef size_t yy_size_t;
167 #endif
169 extern yy_size_t yyleng;
171 extern FILE *yyin, *yyout;
173 #define EOB_ACT_CONTINUE_SCAN 0
174 #define EOB_ACT_END_OF_FILE 1
175 #define EOB_ACT_LAST_MATCH 2
177 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
178 * access to the local variable yy_act. Since yyless() is a macro, it would break
179 * existing scanners that call yyless() from OUTSIDE yylex.
180 * One obvious solution it to make yy_act a global. I tried that, and saw
181 * a 5% performance hit in a non-yylineno scanner, because yy_act is
182 * normally declared as a register variable-- so it is not worth it.
183 */
184 #define YY_LESS_LINENO(n) \
185 do { \
186 int yyl;\
187 for ( yyl = n; yyl < yyleng; ++yyl )\
188 if ( yytext[yyl] == '\n' )\
189 --yylineno;\
190 }while(0)
191 #define YY_LINENO_REWIND_TO(dst) \
192 do {\
193 const char *p;\
194 for ( p = yy_cp-1; p >= (dst); --p)\
195 if ( *p == '\n' )\
196 --yylineno;\
197 }while(0)
199 /* Return all but the first "n" matched characters back to the input stream. */
200 #define yyless(n) \
201 do \
202 { \
203 /* Undo effects of setting up yytext. */ \
204 int yyless_macro_arg = (n); \
205 YY_LESS_LINENO(yyless_macro_arg);\
206 *yy_cp = (yy_hold_char); \
207 YY_RESTORE_YY_MORE_OFFSET \
208 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
209 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
210 } \
211 while ( 0 )
213 #define unput(c) yyunput( c, (yytext_ptr) )
215 #ifndef YY_STRUCT_YY_BUFFER_STATE
216 #define YY_STRUCT_YY_BUFFER_STATE
217 struct yy_buffer_state
218 {
219 FILE *yy_input_file;
221 char *yy_ch_buf; /* input buffer */
222 char *yy_buf_pos; /* current position in input buffer */
224 /* Size of input buffer in bytes, not including room for EOB
225 * characters.
226 */
227 yy_size_t yy_buf_size;
229 /* Number of characters read into yy_ch_buf, not including EOB
230 * characters.
231 */
232 yy_size_t yy_n_chars;
234 /* Whether we "own" the buffer - i.e., we know we created it,
235 * and can realloc() it to grow it, and should free() it to
236 * delete it.
237 */
238 int yy_is_our_buffer;
240 /* Whether this is an "interactive" input source; if so, and
241 * if we're using stdio for input, then we want to use getc()
242 * instead of fread(), to make sure we stop fetching input after
243 * each newline.
244 */
245 int yy_is_interactive;
247 /* Whether we're considered to be at the beginning of a line.
248 * If so, '^' rules will be active on the next match, otherwise
249 * not.
250 */
251 int yy_at_bol;
253 int yy_bs_lineno; /**< The line count. */
254 int yy_bs_column; /**< The column count. */
256 /* Whether to try to fill the input buffer when we reach the
257 * end of it.
258 */
259 int yy_fill_buffer;
261 int yy_buffer_status;
263 #define YY_BUFFER_NEW 0
264 #define YY_BUFFER_NORMAL 1
265 /* When an EOF's been seen but there's still some text to process
266 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
267 * shouldn't try reading from the input source any more. We might
268 * still have a bunch of tokens to match, though, because of
269 * possible backing-up.
270 *
271 * When we actually see the EOF, we change the status to "new"
272 * (via yyrestart()), so that the user can continue scanning by
273 * just pointing yyin at a new input file.
274 */
275 #define YY_BUFFER_EOF_PENDING 2
277 };
278 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
280 /* Stack of input buffers. */
281 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
282 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
283 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
285 /* We provide macros for accessing buffer states in case in the
286 * future we want to put the buffer states in a more general
287 * "scanner state".
288 *
289 * Returns the top of the stack, or NULL.
290 */
291 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
292 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
293 : NULL)
295 /* Same as previous macro, but useful when we know that the buffer stack is not
296 * NULL or when we need an lvalue. For internal use only.
297 */
298 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
300 /* yy_hold_char holds the character lost when yytext is formed. */
301 static char yy_hold_char;
302 static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
303 yy_size_t yyleng;
305 /* Points to current character in buffer. */
306 static char *yy_c_buf_p = (char *) 0;
307 static int yy_init = 0; /* whether we need to initialize */
308 static int yy_start = 0; /* start state number */
310 /* Flag which is used to allow yywrap()'s to do buffer switches
311 * instead of setting up a fresh yyin. A bit of a hack ...
312 */
313 static int yy_did_buffer_switch_on_eof;
315 void yyrestart (FILE *input_file );
316 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
317 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
318 void yy_delete_buffer (YY_BUFFER_STATE b );
319 void yy_flush_buffer (YY_BUFFER_STATE b );
320 void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
321 void yypop_buffer_state (void );
323 static void yyensure_buffer_stack (void );
324 static void yy_load_buffer_state (void );
325 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
327 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
329 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
330 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
331 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len );
333 void *yyalloc (yy_size_t );
334 void *yyrealloc (void *,yy_size_t );
335 void yyfree (void * );
337 #define yy_new_buffer yy_create_buffer
339 #define yy_set_interactive(is_interactive) \
340 { \
341 if ( ! YY_CURRENT_BUFFER ){ \
342 yyensure_buffer_stack (); \
343 YY_CURRENT_BUFFER_LVALUE = \
344 yy_create_buffer(yyin,YY_BUF_SIZE ); \
345 } \
346 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
347 }
349 #define yy_set_bol(at_bol) \
350 { \
351 if ( ! YY_CURRENT_BUFFER ){\
352 yyensure_buffer_stack (); \
353 YY_CURRENT_BUFFER_LVALUE = \
354 yy_create_buffer(yyin,YY_BUF_SIZE ); \
355 } \
356 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
357 }
359 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
361 /* Begin user sect3 */
363 #define yywrap() 1
364 #define YY_SKIP_YYWRAP
366 typedef unsigned char YY_CHAR;
368 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
370 typedef int yy_state_type;
372 extern int yylineno;
374 int yylineno = 1;
376 extern char *yytext;
377 #define yytext_ptr yytext
379 static yy_state_type yy_get_previous_state (void );
380 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
381 static int yy_get_next_buffer (void );
382 static void yy_fatal_error (yyconst char msg[] );
384 /* Done after the current pattern has been matched and before the
385 * corresponding action - sets up yytext.
386 */
387 #define YY_DO_BEFORE_ACTION \
388 (yytext_ptr) = yy_bp; \
389 yyleng = (size_t) (yy_cp - yy_bp); \
390 (yy_hold_char) = *yy_cp; \
391 *yy_cp = '\0'; \
392 (yy_c_buf_p) = yy_cp;
394 #define YY_NUM_RULES 19
395 #define YY_END_OF_BUFFER 20
396 /* This struct is not used in this scanner,
397 but its presence is necessary. */
398 struct yy_trans_info
399 {
400 flex_int32_t yy_verify;
401 flex_int32_t yy_nxt;
402 };
403 static yyconst flex_int16_t yy_accept[1519] =
404 { 0,
405 0, 0, 0, 0, 20, 19, 1, 4, 19, 19,
406 2, 19, 19, 5, 12, 12, 12, 12, 19, 6,
407 7, 14, 14, 19, 19, 14, 14, 14, 14, 14,
408 19, 16, 4, 0, 13, 0, 2, 0, 12, 12,
409 0, 12, 12, 0, 14, 14, 14, 12, 12, 12,
410 12, 11, 0, 0, 3, 0, 14, 9, 14, 8,
411 14, 14, 0, 18, 0, 16, 0, 15, 0, 0,
412 12, 12, 12, 12, 12, 12, 14, 0, 11, 12,
413 12, 11, 11, 11, 11, 11, 0, 0, 0, 14,
414 14, 0, 17, 0, 15, 0, 0, 12, 12, 12,
416 12, 12, 14, 0, 0, 11, 11, 11, 11, 11,
417 0, 11, 0, 11, 11, 11, 11, 0, 0, 0,
418 0, 0, 0, 0, 0, 11, 14, 17, 12, 0,
419 0, 0, 0, 12, 12, 0, 0, 11, 11, 0,
420 11, 11, 11, 11, 0, 0, 0, 0, 11, 11,
421 11, 11, 11, 11, 11, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 11, 11,
424 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
425 0, 0, 0, 0, 11, 0, 11, 0, 11, 11,
427 11, 11, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 11, 11, 11, 10, 10, 10, 10, 0,
430 0, 11, 11, 0, 11, 11, 11, 11, 11, 11,
431 0, 11, 11, 11, 11, 0, 0, 0, 0, 0,
432 0, 0, 0, 11, 11, 11, 11, 11, 11, 11,
433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 11, 11, 11,
436 11, 0, 10, 10, 10, 0, 0, 0, 11, 11,
438 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
439 11, 11, 11, 11, 11, 11, 11, 0, 0, 0,
440 0, 0, 0, 0, 0, 11, 0, 11, 0, 11,
441 11, 11, 11, 0, 0, 0, 0, 0, 0, 0,
442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
444 0, 0, 0, 0, 11, 11, 11, 11, 11, 10,
445 10, 10, 0, 0, 11, 11, 0, 11, 11, 11,
446 11, 11, 11, 0, 11, 11, 11, 11, 11, 11,
447 0, 11, 11, 11, 11, 11, 11, 11, 11, 0,
449 0, 0, 0, 0, 0, 0, 0, 11, 11, 11,
450 11, 11, 11, 11, 0, 0, 0, 0, 0, 0,
451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
454 0, 0, 11, 11, 11, 11, 11, 11, 10, 10,
455 10, 10, 0, 0, 0, 11, 11, 11, 11, 11,
456 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
457 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
458 11, 0, 11, 11, 11, 0, 0, 0, 0, 0,
460 0, 0, 0, 11, 0, 11, 0, 11, 11, 11,
461 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
465 0, 0, 0, 11, 10, 10, 10, 10, 10, 0,
466 0, 11, 11, 0, 11, 11, 11, 11, 11, 11,
467 0, 11, 11, 11, 11, 11, 11, 0, 11, 11,
468 11, 11, 11, 11, 0, 11, 11, 11, 11, 11,
469 11, 11, 11, 11, 11, 11, 0, 0, 0, 0,
471 0, 0, 0, 0, 11, 11, 11, 11, 11, 11,
472 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
477 10, 10, 10, 10, 10, 10, 0, 0, 0, 11,
478 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
479 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
480 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
482 11, 11, 11, 11, 11, 11, 0, 11, 11, 11,
483 0, 0, 0, 0, 0, 0, 0, 0, 11, 0,
484 11, 0, 11, 11, 11, 11, 0, 0, 0, 0,
485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
489 0, 0, 0, 0, 0, 0, 0, 0, 10, 0,
490 0, 0, 0, 0, 11, 0, 11, 0, 11, 11,
491 11, 11, 11, 11, 0, 11, 11, 11, 11, 11,
493 11, 0, 11, 11, 11, 11, 11, 11, 0, 11,
494 11, 11, 11, 11, 11, 0, 11, 11, 11, 11,
495 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
496 11, 11, 0, 0, 0, 0, 0, 0, 0, 0,
497 11, 11, 11, 11, 11, 11, 11, 0, 0, 0,
498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
505 0, 0, 0, 0, 0, 11, 11, 11, 11, 11,
506 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
507 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
508 11, 0, 11, 11, 11, 0, 0, 0, 0, 0,
509 0, 0, 0, 11, 0, 11, 0, 11, 11, 11,
510 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
518 0, 0, 0, 0, 11, 11, 0, 11, 11, 11,
519 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
520 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
521 11, 0, 0, 0, 0, 0, 0, 0, 0, 11,
522 11, 11, 0, 0, 0, 0, 0, 0, 0, 0,
523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
529 0, 11, 11, 11, 11, 11, 11, 11, 11, 11,
530 11, 11, 11, 11, 11, 11, 11, 11, 0, 11,
531 11, 11, 0, 0, 0, 0, 0, 0, 0, 0,
532 11, 11, 0, 0, 0, 0, 0, 0, 0, 0,
533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
535 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
537 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
538 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
539 11, 11, 11, 11, 11, 11, 11, 11, 11, 0,
540 0, 0, 0, 11, 0, 0, 0, 0, 0, 0,
541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
544 0, 0, 0, 0, 11, 11, 11, 11, 11, 11,
545 11, 11, 11, 11, 0, 11, 11, 11, 0, 0,
546 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
548 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
550 0, 0, 11, 11, 11, 11, 11, 11, 11, 11,
551 11, 11, 11, 11, 11, 11, 11, 11, 11, 0,
552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
554 0, 0, 0, 11, 11, 11, 11, 11, 11, 11,
555 11, 11, 11, 11, 11, 11, 0, 11, 11, 11,
556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
557 0, 0, 0, 0, 0, 0, 0, 11, 11, 11,
559 11, 11, 11, 11, 11, 11, 11, 11, 11, 0,
560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
561 0, 0, 0, 0, 0, 0, 0, 11, 11, 11,
562 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
563 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
564 0, 0, 0, 11, 11, 11, 11, 11, 11, 11,
565 11, 11, 11, 11, 0, 0, 0, 0, 0, 0,
566 0, 0, 0, 0, 0, 0, 0, 0, 11, 11,
567 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
570 0, 11, 11, 0, 0, 0, 0, 0, 0, 0,
571 0, 0, 0, 0, 0, 0, 0, 0
572 } ;
574 static yyconst flex_int32_t yy_ec[256] =
575 { 0,
576 1, 1, 1, 1, 1, 1, 1, 2, 2, 3,
577 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
578 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
579 1, 2, 1, 5, 6, 1, 1, 1, 1, 1,
580 1, 1, 7, 1, 7, 8, 9, 10, 11, 12,
581 13, 14, 15, 16, 17, 18, 18, 19, 1, 20,
582 1, 21, 1, 1, 22, 22, 22, 22, 23, 22,
583 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
584 24, 24, 24, 24, 24, 24, 24, 25, 24, 24,
585 26, 27, 28, 1, 24, 1, 29, 22, 22, 22,
587 30, 31, 24, 24, 24, 24, 24, 32, 24, 33,
588 34, 24, 24, 35, 36, 37, 38, 24, 24, 25,
589 39, 24, 1, 1, 1, 1, 1, 1, 1, 1,
590 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
591 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
592 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
593 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
594 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
595 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
596 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
598 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
599 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
600 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
601 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
602 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
603 1, 1, 1, 1, 1
604 } ;
606 static yyconst flex_int32_t yy_meta[40] =
607 { 0,
608 1, 1, 2, 1, 1, 1, 1, 3, 1, 4,
609 5, 5, 5, 5, 5, 6, 6, 6, 7, 1,
610 1, 8, 9, 10, 10, 1, 1, 11, 8, 9,
611 8, 10, 10, 10, 10, 10, 10, 10, 10
612 } ;
614 static yyconst flex_int16_t yy_base[2140] =
615 { 0,
616 0, 0, 4302, 4301, 4302, 9978, 9978, 9978, 4298, 35,
617 0, 4292, 0, 9978, 55, 85, 101, 110, 4280, 9978,
618 9978, 118, 0, 4279, 38, 4263, 4257, 12, 4255, 4259,
619 48, 4283, 9978, 49, 9978, 43, 0, 0, 4266, 21,
620 38, 129, 159, 4250, 169, 0, 178, 210, 0, 39,
621 4260, 219, 4248, 4247, 9978, 4262, 4230, 0, 4230, 0,
622 4222, 4210, 54, 9978, 57, 4243, 77, 9978, 235, 4237,
623 231, 235, 258, 279, 287, 317, 327, 4224, 336, 0,
624 4232, 119, 360, 384, 406, 236, 4220, 4219, 412, 4189,
625 4194, 78, 9978, 280, 151, 0, 96, 0, 0, 181,
627 436, 446, 4204, 4203, 4202, 237, 456, 480, 502, 238,
628 194, 4199, 508, 532, 0, 235, 259, 4198, 4187, 554,
629 567, 588, 612, 634, 631, 4182, 4170, 255, 0, 4191,
630 4190, 652, 4189, 4175, 4174, 4173, 4145, 661, 4144, 683,
631 707, 0, 297, 361, 4154, 4153, 731, 4152, 4138, 385,
632 742, 766, 788, 457, 481, 4137, 4126, 4121, 785, 806,
633 830, 852, 849, 345, 258, 868, 892, 0, 344, 868,
634 368, 398, 4131, 4130, 4129, 4117, 4114, 4113, 533, 916,
635 940, 962, 570, 4102, 571, 970, 994, 1016, 572, 573,
636 421, 4102, 4101, 4100, 4088, 426, 4087, 1022, 1046, 0,
638 464, 589, 4084, 4083, 1068, 268, 1090, 1114, 0, 488,
639 1127, 4083, 4078, 1148, 4077, 508, 1149, 1170, 1194, 1216,
640 1213, 1225, 0, 1244, 0, 4065, 4064, 1253, 4063, 4060,
641 4059, 1263, 4048, 1285, 1309, 0, 516, 613, 4037, 4036,
642 1331, 1355, 0, 540, 708, 4046, 4045, 1379, 4044, 4041,
643 4040, 1390, 4029, 4013, 732, 1401, 1425, 1447, 767, 786,
644 4012, 4011, 4010, 1444, 1465, 1489, 1511, 1508, 633, 1520,
645 1541, 1565, 1587, 1522, 1584, 602, 4020, 4017, 4016, 661,
646 626, 683, 1603, 1627, 0, 637, 1603, 0, 0, 1649,
647 0, 640, 3994, 3983, 3982, 3981, 3980, 3979, 807, 1660,
649 1684, 1706, 831, 3976, 893, 1714, 1738, 1760, 917, 941,
650 3975, 960, 1768, 1792, 1814, 995, 1047, 675, 3975, 3970,
651 3969, 697, 3968, 3967, 3966, 3952, 721, 3951, 1820, 1844,
652 0, 750, 1115, 3940, 3929, 1866, 1022, 1888, 1912, 0,
653 774, 1925, 1090, 1119, 1944, 1968, 0, 790, 1944, 3939,
654 3938, 1992, 3937, 3936, 3933, 2003, 3932, 1120, 2004, 2025,
655 2049, 2071, 2068, 2080, 0, 0, 0, 2099, 799, 0,
656 2108, 0, 3905, 3904, 2117, 3903, 2139, 2163, 0, 814,
657 1132, 3902, 3898, 2185, 2209, 0, 838, 1133, 3897, 3881,
658 2231, 2255, 0, 853, 1171, 3880, 3879, 2277, 3878, 3885,
660 3884, 2289, 3869, 3868, 3867, 2300, 3866, 3852, 1195, 2311,
661 2335, 2357, 1226, 1227, 3851, 3834, 3833, 2354, 2375, 2399,
662 2421, 2418, 1148, 2430, 2451, 2475, 2497, 2432, 2494, 1219,
663 2506, 2527, 2551, 2573, 2508, 2570, 862, 3843, 3839, 3838,
664 882, 3825, 3824, 3823, 1220, 906, 1221, 2589, 2613, 0,
665 924, 2589, 0, 0, 0, 0, 948, 9978, 0, 0,
666 2635, 0, 3811, 3810, 3809, 1310, 2646, 2670, 2692, 1356,
667 3808, 1380, 2700, 2724, 2746, 1402, 1426, 3795, 1445, 2754,
668 2778, 2800, 1466, 1490, 3794, 1521, 2808, 2832, 2854, 1523,
669 1524, 978, 3793, 3790, 3789, 1008, 3783, 3782, 3781, 1036,
671 3777, 3776, 3762, 3749, 1060, 3736, 2860, 2884, 0, 1071,
672 1525, 3719, 3718, 2906, 1223, 2928, 2952, 0, 1076, 2965,
673 1224, 1263, 2984, 3008, 0, 1098, 2984, 1285, 1331, 3030,
674 3054, 0, 1153, 3067, 1518, 1519, 3086, 1546, 3728, 3725,
675 3107, 3724, 3707, 3706, 3118, 3705, 1608, 3119, 3140, 3164,
676 3186, 3183, 3195, 9978, 0, 0, 0, 3214, 1162, 3690,
677 3689, 3223, 3675, 3245, 3269, 0, 1178, 1526, 3673, 3660,
678 3291, 3315, 0, 1202, 1661, 3643, 3642, 3337, 3361, 0,
679 1271, 1685, 3641, 3638, 3383, 3407, 0, 1293, 1704, 0,
680 3429, 0, 3637, 3620, 3438, 3619, 3629, 3625, 3450, 3624,
682 3610, 3608, 3461, 3595, 3567, 1739, 3472, 3496, 3518, 1758,
683 1793, 3566, 3565, 3562, 3515, 3536, 3560, 3582, 3579, 1820,
684 3591, 3612, 3636, 3658, 3593, 3655, 1825, 3667, 3688, 3712,
685 3734, 3669, 3731, 1888, 3743, 3764, 3788, 3810, 3745, 3807,
686 1317, 1893, 1917, 1918, 1345, 3572, 3555, 3554, 1369, 3553,
687 3549, 3548, 1919, 1415, 1920, 3826, 3850, 0, 1433, 3826,
688 0, 0, 0, 0, 1449, 9978, 3523, 3522, 3872, 1969,
689 3896, 3920, 3942, 2026, 3521, 2050, 3950, 3974, 3996, 2081,
690 2082, 3520, 2083, 4004, 4028, 4050, 2084, 2085, 3519, 2086,
691 4058, 4082, 4104, 2087, 2164, 3518, 2210, 4112, 4136, 4158,
693 2256, 2290, 0, 0, 4164, 0, 1452, 3516, 3505, 3503,
694 1479, 3513, 3512, 3509, 1503, 3508, 3492, 3491, 3479, 1556,
695 3478, 4173, 4197, 0, 1573, 2312, 3474, 3473, 4219, 1973,
696 4241, 4265, 0, 1588, 4278, 2003, 2079, 4297, 4321, 0,
697 1591, 4297, 2117, 2139, 4343, 4367, 0, 1612, 4380, 2185,
698 2231, 4399, 4423, 0, 1635, 4399, 3453, 4445, 3442, 2316,
699 2356, 4464, 2380, 3451, 3427, 4485, 3420, 3419, 3402, 4496,
700 3401, 2420, 4497, 4518, 4542, 4564, 4561, 4573, 9978, 3389,
701 2355, 4594, 4618, 4640, 0, 2433, 3385, 0, 4648, 0,
702 1668, 2434, 3384, 3370, 0, 4672, 0, 1692, 2435, 3363,
704 3362, 0, 4696, 0, 1722, 2436, 3339, 3338, 0, 4720,
705 0, 1746, 2437, 3324, 3317, 0, 4744, 0, 1776, 2476,
706 0, 0, 0, 4766, 1806, 0, 4775, 0, 3293, 3292,
707 4784, 3278, 3282, 3281, 4796, 3258, 3257, 3242, 4807, 3236,
708 3224, 2507, 4818, 4842, 4864, 2509, 2510, 3201, 3187, 4870,
709 4575, 4894, 4918, 4940, 4937, 2502, 4949, 4970, 4994, 5016,
710 4951, 5013, 2504, 5025, 5046, 5070, 5092, 5027, 5089, 2505,
711 5101, 5122, 5146, 5168, 5103, 5165, 2532, 5177, 5198, 5222,
712 5244, 5179, 5241, 3177, 3157, 5260, 3156, 1829, 2594, 2651,
713 2705, 1858, 3153, 3152, 3137, 1875, 3131, 3105, 3104, 2759,
715 1880, 2813, 5279, 5303, 0, 1897, 5279, 3087, 1939, 3075,
716 3055, 5327, 0, 1952, 2512, 0, 3032, 0, 2647, 3031,
717 0, 2690, 3016, 0, 2744, 3010, 0, 2798, 3009, 0,
718 2885, 0, 0, 0, 0, 1977, 9978, 0, 0, 5349,
719 0, 2008, 2986, 2985, 2972, 2017, 2978, 2977, 2947, 2039,
720 2941, 2940, 2904, 2886, 2063, 2868, 0, 5360, 0, 2125,
721 2953, 2862, 2968, 5384, 5408, 5430, 2852, 2969, 2860, 0,
722 5438, 0, 2147, 5451, 2928, 2989, 0, 5472, 0, 2171,
723 5485, 3030, 3035, 0, 5506, 0, 2193, 5519, 3059, 3060,
724 0, 5540, 0, 2217, 5553, 3061, 3062, 0, 5574, 0,
726 2239, 5587, 2832, 2831, 2825, 5606, 2269, 2824, 5625, 2808,
727 3088, 3118, 5644, 3121, 2821, 2820, 5665, 2797, 2791, 2790,
728 5676, 2774, 3145, 5677, 5698, 5722, 5744, 5741, 5753, 2767,
729 2766, 5774, 2743, 2726, 0, 9978, 2970, 0, 2725, 0,
730 2709, 0, 2702, 0, 2701, 0, 2678, 0, 9978, 0,
731 0, 0, 5783, 2326, 0, 5792, 0, 2672, 2671, 5801,
732 2648, 2626, 2625, 5813, 2602, 2601, 2588, 5824, 2564, 2552,
733 0, 2971, 2529, 2349, 2528, 2500, 5835, 0, 2360, 3196,
734 2468, 3188, 2450, 5755, 3189, 2444, 5848, 3190, 2443, 5851,
735 3191, 2429, 5852, 3193, 2422, 5853, 2419, 2392, 2391, 2368,
737 2367, 2328, 2327, 2304, 5872, 2255, 2363, 3194, 3223, 3245,
738 2390, 2268, 2250, 2244, 2413, 2243, 2229, 2228, 3250, 2465,
739 3291, 0, 5893, 0, 2483, 5906, 2542, 2222, 2204, 2198,
740 2186, 0, 0, 0, 0, 0, 0, 0, 0, 0,
741 0, 0, 2559, 9978, 0, 0, 5925, 0, 2574, 2172,
742 2171, 2165, 2583, 2158, 2152, 2151, 2604, 2136, 2130, 2129,
743 2078, 0, 2062, 2044, 5936, 2038, 2011, 1961, 1943, 3316,
744 1937, 3337, 1936, 3342, 1904, 3383, 1881, 3388, 1880, 3477,
745 1865, 1844, 1843, 1837, 1836, 5945, 2627, 1813, 5964, 1812,
746 3517, 3541, 5983, 3581, 1812, 1805, 6004, 1788, 1787, 1781,
748 6015, 1780, 3583, 1737, 6016, 1751, 1734, 6037, 1733, 0,
749 9978, 9978, 9978, 9978, 9978, 9978, 9978, 0, 0, 0,
750 6046, 2661, 0, 6055, 0, 1716, 1715, 6064, 1692, 1697,
751 1680, 6076, 1679, 0, 2684, 1673, 1646, 1640, 1628, 1596,
752 1595, 1582, 1558, 1557, 1534, 1533, 1507, 1482, 1464, 1458,
753 1443, 1418, 1401, 1400, 6085, 1394, 2709, 3585, 3586, 3587,
754 2738, 1375, 1374, 1368, 2769, 1350, 1344, 1343, 3589, 1309,
755 2792, 1328, 1322, 1304, 0, 0, 0, 0, 2817, 9978,
756 0, 0, 6104, 0, 2840, 1287, 1286, 1271, 2874, 1276,
757 1275, 1242, 9978, 1229, 1228, 6115, 1207, 1169, 1163, 1126,
759 1125, 1122, 1121, 1089, 1083, 1082, 1067, 1046, 6124, 2898,
760 1045, 6143, 1039, 3617, 3657, 6162, 3659, 1041, 1035, 6183,
761 1034, 994, 1002, 996, 6192, 979, 9978, 0, 0, 0,
762 6202, 2920, 0, 6211, 0, 978, 972, 6220, 971, 2915,
763 959, 953, 936, 915, 909, 891, 885, 867, 861, 860,
764 847, 6230, 823, 2936, 3661, 3662, 3663, 2999, 825, 819,
765 779, 742, 3016, 750, 744, 743, 0, 0, 0, 0,
766 3039, 9978, 0, 0, 6249, 0, 3075, 716, 715, 709,
767 3665, 3693, 6258, 3733, 682, 676, 675, 660, 6277, 3098,
768 654, 6296, 653, 3735, 3737, 6315, 3738, 0, 6334, 0,
770 9978, 0, 0, 0, 6343, 3131, 0, 6352, 0, 3149,
771 3739, 3741, 3769, 623, 605, 587, 581, 566, 565, 560,
772 559, 6361, 546, 3172, 3831, 3877, 3901, 0, 0, 6380,
773 0, 0, 0, 0, 0, 3231, 9978, 0, 0, 6389,
774 0, 545, 6398, 532, 531, 525, 507, 501, 6417, 3283,
775 500, 6436, 480, 0, 0, 0, 6455, 3305, 9978, 0,
776 0, 0, 6464, 3329, 479, 473, 6473, 456, 455, 449,
777 417, 411, 384, 383, 377, 360, 6492, 359, 0, 0,
778 0, 0, 3254, 9978, 0, 0, 0, 0, 3346, 9978,
779 353, 336, 335, 6511, 3375, 308, 280, 24, 30, 6530,
781 3421, 9978, 9978, 36, 81, 121, 122, 127, 129, 191,
782 219, 231, 235, 236, 251, 252, 256, 9978, 6558, 6569,
783 6580, 6589, 6592, 6595, 6602, 6611, 6622, 6630, 6633, 6639,
784 6648, 6657, 6663, 6670, 6676, 6682, 6688, 6691, 6694, 6700,
785 6707, 6713, 6716, 6722, 6728, 6735, 6744, 6748, 6751, 6757,
786 6763, 6770, 6774, 6777, 6784, 6790, 6796, 6803, 6811, 6814,
787 6821, 6824, 6828, 6830, 6836, 6843, 6849, 6856, 6862, 6866,
788 6868, 6871, 6877, 6883, 6889, 6898, 6902, 6905, 6914, 6922,
789 6925, 6928, 6932, 6936, 6942, 6948, 6954, 6961, 6965, 6969,
790 6973, 6976, 6983, 6989, 6995, 7002, 7010, 7019, 7027, 7031,
792 7033, 7036, 7044, 7047, 7050, 7052, 7055, 7059, 7065, 7072,
793 7078, 7085, 7091, 7098, 7104, 7108, 7112, 7114, 7118, 7122,
794 7124, 7127, 7133, 7139, 7145, 7153, 7162, 7166, 7170, 7174,
795 7177, 7186, 7194, 7197, 7200, 7203, 7206, 7209, 7215, 7221,
796 7227, 7233, 7239, 7243, 7248, 7252, 7256, 7260, 7263, 7270,
797 7276, 7282, 7289, 7297, 7306, 7314, 7323, 7331, 7335, 7339,
798 7341, 7345, 7349, 7351, 7354, 7362, 7365, 7368, 7371, 7374,
799 7380, 7387, 7393, 7400, 7406, 7413, 7419, 7426, 7431, 7434,
800 7438, 7442, 7446, 7450, 7452, 7456, 7460, 7462, 7465, 7471,
801 7477, 7483, 7491, 7499, 7507, 7515, 7524, 7528, 7532, 7536,
803 7539, 7548, 7556, 7559, 7562, 7565, 7571, 7577, 7583, 7589,
804 7595, 7601, 7604, 7607, 7611, 7616, 7620, 7624, 7628, 7631,
805 7638, 7644, 7650, 7657, 7665, 7674, 7682, 7691, 7699, 7708,
806 7715, 7718, 7726, 7734, 7738, 7742, 7744, 7748, 7752, 7754,
807 7757, 7765, 7768, 7775, 7781, 7788, 7794, 7801, 7807, 7814,
808 7820, 7827, 7833, 7836, 7839, 7841, 7844, 7848, 7852, 7856,
809 7860, 7862, 7866, 7870, 7872, 7875, 7881, 7887, 7893, 7901,
810 7909, 7917, 7925, 7933, 7941, 7949, 7958, 7962, 7966, 7970,
811 7973, 7982, 7990, 7997, 8003, 8009, 8015, 8021, 8027, 8033,
812 8039, 8045, 8051, 8057, 8063, 8069, 8072, 8075, 8078, 8081,
814 8084, 8088, 8093, 8097, 8101, 8105, 8108, 8115, 8121, 8128,
815 8136, 8145, 8153, 8162, 8170, 8179, 8187, 8196, 8204, 8212,
816 8220, 8227, 8230, 8238, 8246, 8250, 8254, 8256, 8260, 8264,
817 8266, 8269, 8277, 8280, 8286, 8292, 8298, 8304, 8310, 8316,
818 8322, 8328, 8334, 8340, 8346, 8352, 8358, 8361, 8364, 8367,
819 8369, 8372, 8376, 8380, 8384, 8388, 8390, 8394, 8398, 8400,
820 8403, 8409, 8415, 8422, 8428, 8436, 8444, 8450, 8458, 8464,
821 8472, 8478, 8486, 8492, 8500, 8506, 8514, 8522, 8530, 8538,
822 8546, 8554, 8563, 8567, 8571, 8575, 8578, 8587, 8596, 8600,
823 8603, 8609, 8615, 8621, 8627, 8633, 8639, 8645, 8651, 8654,
825 8657, 8660, 8663, 8666, 8670, 8675, 8679, 8683, 8687, 8690,
826 8696, 8702, 8705, 8711, 8717, 8725, 8733, 8741, 8749, 8757,
827 8765, 8773, 8781, 8789, 8797, 8805, 8813, 8821, 8829, 8837,
828 8844, 8847, 8855, 8863, 8867, 8871, 8873, 8877, 8881, 8883,
829 8886, 8894, 8900, 8904, 8908, 8910, 8916, 8922, 8928, 8934,
830 8940, 8946, 8952, 8955, 8958, 8961, 8963, 8966, 8970, 8974,
831 8978, 8982, 8984, 8988, 8992, 8994, 9001, 9005, 9008, 9014,
832 9022, 9030, 9038, 9046, 9054, 9062, 9070, 9078, 9086, 9094,
833 9102, 9110, 9118, 9127, 9131, 9135, 9139, 9142, 9150, 9159,
834 9163, 9166, 9172, 9175, 9178, 9181, 9184, 9187, 9191, 9196,
836 9200, 9203, 9209, 9213, 9215, 9223, 9231, 9239, 9247, 9255,
837 9263, 9271, 9279, 9287, 9295, 9303, 9310, 9313, 9321, 9325,
838 9327, 9331, 9333, 9341, 9345, 9347, 9350, 9353, 9356, 9358,
839 9361, 9365, 9369, 9372, 9376, 9379, 9387, 9395, 9403, 9411,
840 9419, 9427, 9435, 9444, 9448, 9451, 9459, 9463, 9467, 9470,
841 9473, 9476, 9479, 9482, 9486, 9490, 9494, 9496, 9504, 9512,
842 9520, 9528, 9535, 9538, 9546, 9550, 9551, 9554, 9558, 9561,
843 9564, 9567, 9569, 9572, 9576, 9584, 9592, 9600, 9608, 9616,
844 9624, 9632, 9640, 9648, 9651, 9654, 9657, 9660, 9663, 9666,
845 9668, 9671, 9679, 9687, 9695, 9703, 9711, 9718, 9721, 9729,
847 9732, 9735, 9738, 9741, 9744, 9747, 9750, 9758, 9766, 9774,
848 9782, 9790, 9798, 9806, 9809, 9812, 9815, 9818, 9821, 9824,
849 9832, 9840, 9848, 9856, 9864, 9872, 9880, 9888, 9891, 9894,
850 9902, 9910, 9918, 9926, 9934, 9942, 9950, 9958, 9966
851 } ;
853 static yyconst flex_int16_t yy_def[2140] =
854 { 0,
855 1518, 1, 1519, 1519, 1518, 1518, 1518, 1518, 1518, 1520,
856 1521, 1522, 1523, 1518, 1518, 15, 16, 17, 1518, 1518,
857 1518, 17, 1524, 1525, 1518, 22, 1524, 1524, 1524, 1524,
858 1526, 1518, 1518, 1520, 1518, 1527, 1521, 1523, 1522, 1523,
859 1528, 1518, 42, 1529, 42, 1524, 1518, 42, 48, 48,
860 43, 1518, 1530, 1518, 1518, 1518, 45, 1524, 1524, 1524,
861 1524, 1524, 1526, 1518, 1531, 1518, 1520, 1518, 1520, 1518,
862 1523, 1532, 1518, 73, 1518, 75, 75, 1533, 1518, 47,
863 76, 1534, 1518, 1518, 84, 1534, 1535, 1536, 1518, 1524,
864 1524, 1526, 1518, 1526, 1520, 1537, 1538, 74, 74, 74,
866 1524, 101, 1524, 1539, 1540, 1541, 1518, 1518, 108, 1541,
867 1542, 1543, 1518, 1518, 114, 114, 1543, 1544, 1545, 1518,
868 1546, 1518, 1518, 123, 1546, 1518, 1524, 1526, 1537, 1518,
869 1547, 1518, 1548, 101, 102, 1549, 1550, 1518, 1551, 1518,
870 1518, 141, 141, 1551, 1518, 1552, 1518, 1553, 1554, 1555,
871 1518, 1518, 152, 1555, 1554, 1518, 1556, 1557, 1558, 1518,
872 1518, 161, 1558, 1559, 1560, 1518, 1518, 167, 167, 1560,
873 1561, 1562, 1548, 1548, 1563, 1518, 1564, 1565, 1566, 1518,
874 1518, 181, 1566, 1567, 1568, 1518, 1518, 187, 1568, 1567,
875 1569, 1553, 1553, 1570, 1518, 1571, 1572, 1518, 1518, 199,
877 199, 1572, 1573, 1574, 1518, 1575, 1518, 1518, 208, 208,
878 1575, 1518, 1576, 1518, 1577, 1578, 1579, 1518, 1518, 219,
879 1579, 1578, 1580, 1518, 1581, 1518, 1582, 1518, 1583, 1584,
880 1585, 1518, 1586, 1518, 1518, 235, 235, 1586, 1518, 1587,
881 1518, 1518, 242, 242, 1587, 1518, 1588, 1518, 1589, 1518,
882 1590, 1518, 1591, 1592, 1593, 1518, 1518, 257, 1593, 1592,
883 1518, 1594, 1595, 1596, 1518, 1518, 266, 1596, 1597, 1598,
884 1518, 1518, 272, 1598, 1597, 1599, 1577, 1577, 1600, 1518,
885 1601, 1602, 1518, 1518, 284, 284, 1602, 1603, 1604, 1518,
886 1605, 1606, 1583, 1583, 1607, 1518, 1608, 1609, 1610, 1518,
888 1518, 301, 1610, 1611, 1612, 1518, 1518, 307, 1612, 1611,
889 1613, 1614, 1518, 1518, 314, 1614, 1613, 1615, 1616, 1616,
890 1617, 1618, 1619, 1619, 1620, 1518, 1621, 1622, 1518, 1518,
891 330, 330, 1622, 1623, 1624, 1518, 1625, 1518, 1518, 339,
892 339, 1625, 1518, 1626, 1518, 1518, 346, 346, 1626, 1518,
893 1627, 1518, 1628, 1518, 1629, 1518, 1630, 1631, 1632, 1518,
894 1518, 361, 1632, 1631, 1633, 1634, 1635, 1518, 368, 1636,
895 1518, 1637, 1638, 1639, 1518, 1640, 1518, 1518, 378, 378,
896 1640, 1518, 1641, 1518, 1518, 385, 385, 1641, 1518, 1642,
897 1518, 1518, 392, 392, 1642, 1518, 1643, 1518, 1644, 1518,
899 1645, 1518, 1646, 1518, 1647, 1518, 1648, 1649, 1650, 1518,
900 1518, 411, 1650, 1649, 1518, 1651, 1652, 1653, 1518, 1518,
901 420, 1653, 1654, 1655, 1518, 1518, 426, 1655, 1654, 1656,
902 1657, 1518, 1518, 433, 1657, 1656, 1658, 1659, 1659, 1660,
903 1661, 1662, 1662, 1663, 1518, 1664, 1665, 1518, 1518, 449,
904 449, 1665, 1666, 1666, 1666, 1666, 1666, 1518, 1667, 1668,
905 1518, 1669, 1518, 1670, 1671, 1672, 1518, 1518, 468, 1672,
906 1673, 1674, 1518, 1518, 474, 1674, 1673, 1675, 1676, 1518,
907 1518, 481, 1676, 1675, 1677, 1678, 1518, 1518, 488, 1678,
908 1677, 1679, 1680, 1680, 1681, 1682, 1683, 1683, 1684, 1685,
910 1686, 1686, 1687, 1518, 1688, 1689, 1518, 1518, 508, 508,
911 1689, 1690, 1691, 1518, 1692, 1518, 1518, 517, 517, 1692,
912 1518, 1693, 1518, 1518, 524, 524, 1693, 1518, 1694, 1518,
913 1518, 531, 531, 1694, 1518, 1695, 1518, 1696, 1518, 1697,
914 1518, 1698, 1518, 1699, 1518, 1700, 1701, 1702, 1518, 1518,
915 550, 1702, 1701, 1518, 1703, 1704, 1705, 1518, 558, 1706,
916 1707, 1518, 1708, 1518, 1518, 565, 565, 1708, 1518, 1709,
917 1518, 1518, 572, 572, 1709, 1518, 1710, 1518, 1518, 579,
918 579, 1710, 1518, 1711, 1518, 1518, 586, 586, 1711, 1712,
919 1518, 1713, 1518, 1714, 1518, 1715, 1518, 1716, 1518, 1717,
921 1518, 1718, 1518, 1719, 1720, 1721, 1518, 1518, 608, 1721,
922 1720, 1518, 1722, 1723, 1724, 1518, 1518, 617, 1724, 1725,
923 1726, 1518, 1518, 623, 1726, 1725, 1727, 1728, 1518, 1518,
924 630, 1728, 1727, 1729, 1730, 1518, 1518, 637, 1730, 1729,
925 1731, 1732, 1732, 1733, 1734, 1735, 1735, 1736, 1737, 1738,
926 1738, 1739, 1518, 1740, 1741, 1518, 1518, 657, 657, 1741,
927 1742, 1742, 1742, 1742, 1742, 1518, 1518, 1743, 1518, 1744,
928 1518, 1518, 672, 1744, 1745, 1746, 1518, 1518, 678, 1746,
929 1745, 1747, 1748, 1518, 1518, 685, 1748, 1747, 1749, 1750,
930 1518, 1518, 692, 1750, 1749, 1751, 1752, 1518, 1518, 699,
932 1752, 1751, 1753, 1754, 1518, 1755, 1756, 1757, 1757, 1758,
933 1759, 1760, 1760, 1761, 1762, 1763, 1763, 1764, 1518, 1765,
934 1766, 1518, 1518, 723, 723, 1766, 1767, 1768, 1518, 1769,
935 1518, 1518, 732, 732, 1769, 1518, 1770, 1518, 1518, 739,
936 739, 1770, 1518, 1771, 1518, 1518, 746, 746, 1771, 1518,
937 1772, 1518, 1518, 753, 753, 1772, 1773, 1518, 1774, 1518,
938 1775, 1518, 1776, 1518, 1777, 1518, 1778, 1518, 1779, 1518,
939 1780, 1781, 1782, 1518, 1518, 775, 1782, 1781, 1518, 1783,
940 1784, 1518, 1518, 783, 1785, 1784, 1786, 1787, 1518, 789,
941 789, 1786, 1518, 1788, 1789, 1518, 796, 796, 1788, 1518,
943 1790, 1791, 1518, 803, 803, 1790, 1518, 1792, 1793, 1518,
944 810, 810, 1792, 1518, 1794, 1795, 1518, 817, 817, 1794,
945 1796, 1797, 1798, 1518, 824, 1799, 1518, 1800, 1518, 1801,
946 1518, 1802, 1518, 1803, 1518, 1804, 1518, 1805, 1518, 1806,
947 1807, 1808, 1518, 1518, 844, 1808, 1807, 1518, 1809, 1518,
948 1810, 1518, 1518, 853, 1810, 1811, 1812, 1518, 1518, 859,
949 1812, 1811, 1813, 1814, 1518, 1518, 866, 1814, 1813, 1815,
950 1816, 1518, 1518, 873, 1816, 1815, 1817, 1818, 1518, 1518,
951 880, 1818, 1817, 1819, 1820, 1518, 1821, 1822, 1823, 1823,
952 1824, 1825, 1826, 1826, 1827, 1828, 1829, 1829, 1830, 1518,
954 1831, 1832, 1518, 1518, 904, 904, 1832, 1518, 1833, 1834,
955 1835, 1518, 912, 912, 1834, 1836, 1837, 1838, 1837, 1839,
956 1840, 1839, 1841, 1842, 1841, 1843, 1844, 1843, 1845, 1846,
957 1845, 1847, 1847, 1847, 1847, 1847, 1518, 1848, 1849, 1518,
958 1850, 1851, 1852, 1852, 1853, 1854, 1855, 1855, 1856, 1857,
959 1858, 1858, 1859, 1518, 1860, 1861, 1862, 1518, 958, 958,
960 1861, 1863, 1864, 1518, 1518, 965, 1865, 1864, 1866, 1867,
961 1518, 971, 971, 1866, 1518, 1868, 1869, 1518, 978, 978,
962 1868, 1518, 1870, 1871, 1518, 985, 985, 1870, 1518, 1872,
963 1873, 1518, 992, 992, 1872, 1518, 1874, 1875, 1518, 999,
965 999, 1874, 1876, 1877, 1878, 1518, 1006, 1879, 1518, 1880,
966 1518, 1881, 1518, 1882, 1518, 1883, 1518, 1884, 1518, 1885,
967 1518, 1886, 1887, 1888, 1518, 1518, 1026, 1888, 1887, 1518,
968 1889, 1518, 1890, 1891, 1892, 1518, 1891, 1893, 1518, 1894,
969 1518, 1895, 1518, 1896, 1518, 1897, 1518, 1898, 1518, 1899,
970 1900, 1901, 1518, 1053, 1902, 1518, 1903, 1518, 1904, 1518,
971 1905, 1518, 1906, 1518, 1907, 1518, 1908, 1518, 1909, 1910,
972 1911, 1910, 1518, 1912, 1913, 1914, 1518, 1077, 1077, 1913,
973 1915, 1916, 1917, 1916, 1918, 1919, 1918, 1920, 1921, 1920,
974 1922, 1923, 1922, 1924, 1925, 1924, 1926, 1926, 1926, 1926,
976 1927, 1518, 1928, 1929, 1518, 1930, 1931, 1932, 1932, 1933,
977 1934, 1935, 1935, 1936, 1937, 1938, 1938, 1939, 1518, 1940,
978 1941, 1942, 1518, 1123, 1123, 1941, 1943, 1944, 1944, 1945,
979 1518, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1953,
980 1953, 1953, 1953, 1518, 1954, 1955, 1518, 1956, 1957, 1958,
981 1958, 1959, 1960, 1961, 1961, 1962, 1963, 1964, 1964, 1965,
982 1518, 1966, 1518, 1967, 1518, 1968, 1969, 1970, 1518, 1969,
983 1971, 1518, 1972, 1518, 1973, 1518, 1974, 1518, 1975, 1518,
984 1976, 1518, 1977, 1978, 1979, 1518, 1186, 1980, 1518, 1981,
985 1518, 1982, 1518, 1983, 1518, 1984, 1518, 1985, 1518, 1986,
987 1518, 1987, 1988, 1989, 1988, 1518, 1990, 1518, 1991, 1992,
988 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1993, 1994, 1995,
989 1518, 1221, 1996, 1518, 1997, 1518, 1998, 1518, 1999, 1518,
990 2000, 1518, 2001, 2002, 2003, 1968, 1968, 2004, 1518, 2005,
991 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2012, 2012, 2012,
992 2013, 1518, 2014, 2015, 1518, 2016, 2017, 1983, 1983, 2018,
993 2019, 1985, 1985, 2020, 2021, 1987, 1987, 2022, 1518, 2023,
994 2024, 1991, 1991, 2025, 2026, 2026, 2026, 2026, 2026, 1518,
995 2027, 2028, 1518, 2029, 2030, 1999, 1999, 2031, 2032, 2001,
996 2001, 2033, 1518, 1518, 2034, 1518, 2035, 2036, 1518, 1518,
998 1518, 1518, 1518, 1518, 1518, 2037, 2038, 2039, 1518, 1309,
999 2040, 1518, 2041, 1518, 2042, 1518, 2043, 1518, 2044, 1518,
1000 2045, 2046, 1518, 2047, 1518, 2048, 1518, 2049, 2050, 2051,
1001 1518, 1331, 2052, 1518, 2053, 1518, 2054, 1518, 2055, 2056,
1002 2035, 2035, 2057, 2058, 2058, 2058, 2058, 2059, 1518, 2060,
1003 2061, 1518, 2062, 2063, 2043, 2043, 2064, 2065, 2045, 2045,
1004 2066, 1518, 2067, 2048, 2048, 2068, 2069, 2069, 2069, 2069,
1005 2069, 1518, 2070, 2071, 1518, 2072, 2073, 2055, 2055, 2074,
1006 1518, 2075, 1518, 2076, 1518, 2077, 2078, 2079, 1518, 1389,
1007 2080, 1518, 2081, 1518, 2082, 1518, 2083, 2084, 1518, 2085,
1009 1518, 2086, 2087, 2088, 1518, 1405, 2089, 1518, 2090, 2091,
1010 2076, 2076, 2092, 2093, 2093, 2093, 2093, 2094, 1518, 2095,
1011 2096, 1518, 2097, 2098, 2083, 2083, 2099, 2100, 2101, 1518,
1012 2102, 2103, 2103, 2103, 2103, 2103, 1518, 2104, 2105, 1518,
1013 2106, 2107, 1518, 2108, 1518, 2109, 2110, 2111, 1518, 1449,
1014 2112, 1518, 2113, 2114, 2115, 2116, 1518, 1457, 1518, 2117,
1015 2118, 2119, 1518, 1463, 2120, 2121, 1518, 2122, 2123, 2123,
1016 2123, 2123, 2124, 1518, 2125, 2126, 1518, 2127, 2128, 2128,
1017 2128, 2128, 2128, 1518, 2129, 2129, 2129, 2129, 2129, 1518,
1018 2130, 2131, 2132, 1518, 1494, 1518, 2133, 2134, 2135, 1518,
1020 1500, 1518, 1518, 2136, 2136, 2136, 2136, 2137, 1518, 2138,
1021 2138, 2138, 2138, 2139, 1518, 1518, 1518, 0, 1518, 1518,
1022 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1023 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1024 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1025 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1026 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1027 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1028 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1029 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1031 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1032 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1033 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1034 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1035 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1036 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1037 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1038 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1039 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1040 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1042 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1043 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1044 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1045 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1046 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1047 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1048 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1049 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1050 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1051 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1053 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1054 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1055 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1056 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1057 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1058 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1059 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1060 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1061 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1062 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1064 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1065 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1066 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1067 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1068 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1069 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1070 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1071 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1072 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1073 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1075 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1076 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1077 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1078 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1079 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1080 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1081 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1082 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1083 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1084 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1086 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1087 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1088 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1089 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518
1090 } ;
1092 static yyconst flex_int16_t yy_nxt[10018] =
1093 { 0,
1094 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1095 16, 17, 18, 18, 18, 18, 18, 18, 19, 20,
1096 21, 22, 22, 23, 23, 24, 25, 6, 22, 22,
1097 26, 23, 27, 28, 23, 23, 29, 23, 30, 35,
1098 55, 56, 59, 70, 60, 68, 69, 71, 72, 73,
1099 70, 126, 64, 35, 76, 76, 76, 126, 64, 93,
1100 94, 36, 41, 126, 42, 42, 42, 42, 42, 42,
1101 42, 42, 43, 44, 65, 36, 45, 45, 46, 47,
1102 65, 35, 64, 45, 45, 45, 46, 46, 46, 46,
1103 46, 46, 46, 46, 48, 48, 48, 48, 48, 48,
1105 48, 48, 48, 36, 65, 130, 131, 132, 126, 46,
1106 49, 49, 49, 49, 49, 50, 51, 51, 51, 51,
1107 51, 51, 51, 51, 51, 1518, 111, 45, 45, 45,
1108 45, 45, 45, 45, 45, 45, 38, 113, 75, 75,
1109 75, 75, 75, 75, 75, 75, 76, 44, 126, 126,
1110 77, 77, 46, 46, 126, 35, 126, 77, 77, 77,
1111 46, 46, 46, 46, 46, 46, 46, 46, 76, 76,
1112 76, 76, 76, 76, 76, 76, 1518, 36, 77, 77,
1113 77, 77, 77, 77, 77, 77, 77, 80, 80, 80,
1114 80, 80, 80, 80, 80, 80, 40, 40, 40, 80,
1116 80, 46, 46, 145, 146, 147, 80, 80, 80, 46,
1117 46, 46, 46, 46, 46, 46, 46, 41, 126, 81,
1118 81, 81, 81, 81, 81, 81, 81, 81, 82, 83,
1119 84, 85, 85, 85, 85, 85, 85, 95, 97, 35,
1120 86, 86, 97, 1518, 111, 1518, 126, 86, 86, 86,
1121 149, 149, 149, 70, 113, 140, 140, 70, 126, 64,
1122 70, 36, 126, 126, 70, 97, 111, 99, 99, 99,
1123 99, 99, 100, 71, 71, 71, 166, 113, 126, 126,
1124 70, 65, 128, 126, 64, 126, 207, 70, 71, 71,
1125 71, 71, 71, 71, 38, 126, 101, 101, 101, 101,
1127 101, 101, 101, 101, 102, 44, 65, 126, 103, 103,
1128 46, 46, 184, 184, 184, 103, 103, 103, 46, 46,
1129 46, 46, 46, 46, 46, 46, 102, 102, 102, 102,
1130 102, 102, 102, 102, 1518, 126, 103, 103, 103, 103,
1131 103, 103, 103, 103, 103, 106, 107, 108, 109, 109,
1132 109, 109, 109, 109, 212, 213, 214, 110, 110, 216,
1133 216, 216, 126, 126, 110, 110, 110, 111, 111, 114,
1134 114, 114, 114, 114, 114, 114, 114, 114, 113, 140,
1135 126, 112, 112, 224, 225, 225, 126, 126, 112, 112,
1136 112, 111, 196, 115, 115, 115, 115, 115, 116, 117,
1138 117, 117, 113, 198, 126, 112, 112, 226, 227, 228,
1139 126, 126, 112, 112, 112, 117, 117, 117, 117, 117,
1140 117, 121, 122, 123, 124, 124, 124, 124, 124, 124,
1141 246, 247, 248, 125, 125, 250, 251, 252, 126, 126,
1142 125, 125, 125, 38, 126, 134, 134, 134, 134, 134,
1143 134, 134, 134, 135, 44, 135, 135, 135, 135, 135,
1144 135, 135, 135, 111, 1518, 141, 141, 141, 141, 141,
1145 141, 141, 141, 141, 140, 198, 126, 139, 139, 254,
1146 254, 254, 126, 126, 139, 139, 139, 111, 111, 142,
1147 142, 142, 142, 142, 143, 144, 144, 144, 140, 113,
1149 126, 139, 139, 269, 269, 269, 126, 126, 139, 139,
1150 139, 144, 144, 144, 144, 144, 144, 150, 151, 152,
1151 153, 153, 153, 153, 153, 153, 166, 126, 126, 154,
1152 154, 304, 304, 304, 126, 126, 154, 154, 154, 111,
1153 111, 155, 155, 155, 155, 155, 155, 155, 155, 155,
1154 113, 234, 126, 149, 149, 311, 311, 311, 126, 126,
1155 149, 149, 149, 159, 160, 161, 162, 162, 162, 162,
1156 162, 162, 126, 126, 164, 163, 163, 1518, 196, 1518,
1157 111, 126, 163, 163, 163, 166, 126, 126, 234, 241,
1158 241, 140, 126, 126, 126, 164, 196, 167, 167, 167,
1160 167, 167, 167, 167, 167, 167, 166, 198, 126, 165,
1161 165, 350, 351, 352, 126, 126, 165, 165, 165, 164,
1162 111, 168, 168, 168, 168, 168, 169, 170, 170, 170,
1163 166, 234, 126, 165, 165, 354, 355, 356, 1518, 126,
1164 165, 165, 165, 170, 170, 170, 170, 170, 170, 166,
1165 126, 207, 358, 358, 358, 371, 372, 372, 126, 172,
1166 126, 174, 174, 174, 174, 174, 175, 130, 130, 130,
1167 179, 180, 181, 182, 182, 182, 182, 182, 182, 166,
1168 126, 126, 183, 183, 396, 397, 398, 126, 126, 183,
1169 183, 183, 185, 186, 187, 188, 188, 188, 188, 188,
1171 188, 283, 126, 126, 189, 189, 400, 401, 402, 126,
1172 126, 189, 189, 189, 111, 196, 190, 190, 190, 190,
1173 190, 190, 190, 190, 190, 140, 241, 1377, 184, 184,
1174 404, 405, 406, 1377, 1377, 184, 184, 184, 191, 327,
1175 193, 193, 193, 193, 193, 194, 145, 145, 145, 196,
1176 329, 199, 199, 199, 199, 199, 199, 199, 199, 199,
1177 198, 1363, 1363, 197, 197, 408, 408, 408, 1363, 126,
1178 197, 197, 197, 196, 1518, 200, 200, 200, 200, 200,
1179 201, 202, 202, 202, 198, 329, 1358, 197, 197, 423,
1180 423, 423, 164, 196, 197, 197, 197, 202, 202, 202,
1182 202, 202, 202, 207, 198, 430, 430, 430, 458, 458,
1183 458, 458, 126, 164, 111, 208, 208, 208, 208, 208,
1184 208, 208, 208, 208, 207, 377, 1358, 206, 206, 471,
1185 471, 471, 1358, 126, 206, 206, 206, 164, 1518, 209,
1186 209, 209, 209, 209, 210, 211, 211, 211, 207, 377,
1187 126, 206, 206, 478, 478, 478, 1518, 126, 206, 206,
1188 206, 211, 211, 211, 211, 211, 211, 207, 485, 485,
1189 485, 535, 536, 537, 126, 164, 126, 217, 218, 219,
1190 220, 220, 220, 220, 220, 220, 166, 126, 126, 221,
1191 221, 539, 540, 541, 126, 126, 221, 221, 221, 164,
1193 196, 222, 222, 222, 222, 222, 222, 222, 222, 222,
1194 166, 384, 126, 216, 216, 543, 544, 545, 126, 126,
1195 216, 216, 216, 111, 1518, 235, 235, 235, 235, 235,
1196 235, 235, 235, 235, 234, 384, 126, 233, 233, 547,
1197 547, 547, 126, 1340, 233, 233, 233, 111, 111, 236,
1198 236, 236, 236, 236, 237, 238, 238, 238, 234, 234,
1199 1340, 233, 233, 1518, 1518, 1518, 1340, 327, 233, 233,
1200 233, 238, 238, 238, 238, 238, 238, 196, 391, 242,
1201 242, 242, 242, 242, 242, 242, 242, 242, 241, 1377,
1202 1377, 240, 240, 591, 592, 592, 1377, 1363, 240, 240,
1204 240, 196, 1518, 243, 243, 243, 243, 243, 244, 245,
1205 245, 245, 241, 391, 1363, 240, 240, 593, 594, 595,
1206 1363, 126, 240, 240, 240, 245, 245, 245, 245, 245,
1207 245, 255, 256, 257, 258, 258, 258, 258, 258, 258,
1208 338, 1358, 1358, 259, 259, 597, 598, 599, 1358, 126,
1209 259, 259, 259, 196, 196, 260, 260, 260, 260, 260,
1210 260, 260, 260, 260, 198, 241, 126, 254, 254, 601,
1211 602, 603, 126, 126, 254, 254, 254, 264, 265, 266,
1212 267, 267, 267, 267, 267, 267, 605, 605, 605, 268,
1213 268, 620, 620, 620, 126, 126, 268, 268, 268, 270,
1215 271, 272, 273, 273, 273, 273, 273, 273, 207, 126,
1216 126, 274, 274, 627, 627, 627, 126, 126, 274, 274,
1217 274, 164, 327, 275, 275, 275, 275, 275, 275, 275,
1218 275, 275, 207, 329, 164, 269, 269, 345, 283, 111,
1219 196, 126, 269, 269, 269, 207, 126, 126, 126, 126,
1220 377, 384, 126, 126, 126, 276, 281, 278, 278, 278,
1221 278, 278, 279, 212, 212, 212, 338, 283, 634, 634,
1222 634, 666, 666, 666, 666, 126, 126, 281, 327, 284,
1223 284, 284, 284, 284, 284, 284, 284, 284, 283, 391,
1224 126, 282, 282, 675, 675, 675, 126, 126, 282, 282,
1226 282, 281, 505, 285, 285, 285, 285, 285, 286, 287,
1227 287, 287, 283, 507, 1340, 282, 282, 682, 682, 682,
1228 1518, 126, 282, 282, 282, 287, 287, 287, 287, 287,
1229 287, 283, 164, 1518, 327, 1340, 1340, 345, 283, 448,
1230 126, 516, 338, 166, 507, 329, 126, 126, 126, 1289,
1231 126, 126, 126, 289, 289, 289, 289, 289, 290, 291,
1232 291, 291, 294, 294, 294, 294, 294, 295, 226, 226,
1233 226, 292, 299, 300, 301, 302, 302, 302, 302, 302,
1234 302, 523, 1289, 1289, 303, 303, 689, 689, 689, 1285,
1235 126, 303, 303, 303, 305, 306, 307, 308, 308, 308,
1237 308, 308, 308, 345, 1285, 1285, 309, 309, 696, 696,
1238 696, 1271, 126, 309, 309, 309, 111, 111, 310, 310,
1239 310, 310, 310, 310, 310, 310, 310, 234, 564, 1271,
1240 304, 304, 758, 759, 759, 1271, 126, 304, 304, 304,
1241 312, 313, 314, 315, 315, 315, 315, 315, 315, 530,
1242 1265, 1265, 316, 316, 760, 761, 762, 1265, 126, 316,
1243 316, 316, 196, 1518, 317, 317, 317, 317, 317, 317,
1244 317, 317, 317, 241, 564, 1261, 311, 311, 764, 765,
1245 766, 1261, 1261, 311, 311, 311, 318, 196, 320, 320,
1246 320, 320, 320, 321, 246, 246, 246, 322, 571, 324,
1248 324, 324, 324, 324, 325, 250, 250, 250, 327, 1518,
1249 330, 330, 330, 330, 330, 330, 330, 330, 330, 329,
1250 571, 126, 328, 328, 768, 769, 770, 126, 126, 328,
1251 328, 328, 327, 111, 331, 331, 331, 331, 331, 332,
1252 333, 333, 333, 329, 377, 126, 328, 328, 772, 772,
1253 772, 164, 327, 328, 328, 328, 333, 333, 333, 333,
1254 333, 333, 338, 578, 1518, 1518, 1518, 827, 828, 828,
1255 126, 126, 164, 1518, 339, 339, 339, 339, 339, 339,
1256 339, 339, 339, 338, 578, 126, 337, 337, 829, 830,
1257 831, 126, 126, 337, 337, 337, 164, 196, 340, 340,
1259 340, 340, 340, 341, 342, 342, 342, 338, 384, 126,
1260 337, 337, 833, 834, 835, 1518, 126, 337, 337, 337,
1261 342, 342, 342, 342, 342, 342, 338, 281, 505, 1518,
1262 1518, 327, 505, 111, 126, 126, 641, 641, 345, 585,
1263 345, 585, 391, 507, 564, 126, 126, 126, 281, 126,
1264 346, 346, 346, 346, 346, 346, 346, 346, 346, 345,
1265 126, 126, 344, 344, 641, 837, 838, 839, 126, 344,
1266 344, 344, 281, 126, 347, 347, 347, 347, 347, 348,
1267 349, 349, 349, 345, 126, 126, 344, 344, 841, 841,
1268 841, 164, 126, 344, 344, 344, 349, 349, 349, 349,
1270 349, 349, 207, 856, 856, 856, 863, 863, 863, 126,
1271 281, 126, 359, 360, 361, 362, 362, 362, 362, 362,
1272 362, 283, 126, 126, 363, 363, 448, 870, 870, 870,
1273 126, 363, 363, 363, 281, 126, 364, 364, 364, 364,
1274 364, 364, 364, 364, 364, 283, 1076, 1235, 358, 358,
1275 877, 877, 877, 1235, 126, 358, 358, 358, 367, 367,
1276 367, 367, 367, 368, 369, 369, 369, 111, 196, 378,
1277 378, 378, 378, 378, 378, 378, 378, 378, 377, 571,
1278 1235, 376, 376, 917, 917, 917, 1289, 1289, 376, 376,
1279 376, 111, 327, 379, 379, 379, 379, 379, 380, 381,
1281 381, 381, 377, 578, 1289, 376, 376, 920, 920, 920,
1282 1285, 505, 376, 376, 376, 381, 381, 381, 381, 381,
1283 381, 196, 585, 385, 385, 385, 385, 385, 385, 385,
1284 385, 385, 384, 1285, 1285, 383, 383, 923, 923, 923,
1285 1271, 1271, 383, 383, 383, 196, 720, 386, 386, 386,
1286 386, 386, 387, 388, 388, 388, 384, 722, 1271, 383,
1287 383, 926, 926, 926, 126, 1518, 383, 383, 383, 388,
1288 388, 388, 388, 388, 388, 327, 722, 392, 392, 392,
1289 392, 392, 392, 392, 392, 392, 391, 1265, 1265, 390,
1290 390, 929, 929, 929, 1265, 1261, 390, 390, 390, 327,
1292 505, 393, 393, 393, 393, 393, 394, 395, 395, 395,
1293 391, 507, 1261, 390, 390, 937, 937, 937, 937, 1261,
1294 390, 390, 390, 395, 395, 395, 395, 395, 395, 409,
1295 410, 411, 412, 412, 412, 412, 412, 412, 516, 126,
1296 126, 413, 413, 523, 1009, 1010, 1010, 126, 413, 413,
1297 413, 327, 126, 414, 414, 414, 414, 414, 414, 414,
1298 414, 414, 329, 126, 126, 408, 408, 1011, 1012, 1013,
1299 126, 126, 408, 408, 408, 418, 419, 420, 421, 421,
1300 421, 421, 421, 421, 1015, 1016, 1017, 422, 422, 1019,
1301 1020, 1021, 126, 126, 422, 422, 422, 424, 425, 426,
1303 427, 427, 427, 427, 427, 427, 530, 126, 126, 428,
1304 428, 641, 1023, 1023, 1023, 126, 428, 428, 428, 164,
1305 126, 429, 429, 429, 429, 429, 429, 429, 429, 429,
1306 338, 126, 164, 423, 423, 641, 641, 448, 656, 126,
1307 423, 423, 423, 338, 126, 126, 126, 126, 1030, 1031,
1308 1032, 281, 126, 431, 432, 433, 434, 434, 434, 434,
1309 434, 434, 345, 126, 126, 435, 435, 1034, 1034, 1034,
1310 126, 126, 435, 435, 435, 281, 111, 436, 436, 436,
1311 436, 436, 436, 436, 436, 436, 345, 788, 126, 430,
1312 430, 731, 1518, 1518, 1518, 126, 430, 430, 430, 437,
1314 126, 439, 439, 439, 439, 439, 440, 350, 350, 350,
1315 441, 446, 443, 443, 443, 443, 443, 444, 354, 354,
1316 354, 516, 448, 1056, 1057, 1057, 1058, 1059, 1060, 1076,
1317 126, 126, 446, 1518, 449, 449, 449, 449, 449, 449,
1318 449, 449, 449, 448, 788, 1235, 447, 447, 1062, 1063,
1319 1064, 1235, 126, 447, 447, 447, 446, 196, 450, 450,
1320 450, 450, 450, 451, 452, 452, 452, 448, 795, 1235,
1321 447, 447, 1066, 1067, 1068, 1518, 126, 447, 447, 447,
1322 452, 452, 452, 452, 452, 452, 448, 281, 1518, 111,
1323 327, 1518, 196, 505, 1518, 126, 957, 738, 283, 795,
1325 564, 802, 802, 571, 809, 809, 126, 126, 456, 456,
1326 456, 457, 458, 458, 458, 458, 458, 460, 460, 460,
1327 460, 460, 461, 462, 462, 462, 466, 467, 468, 469,
1328 469, 469, 469, 469, 469, 523, 1157, 1157, 470, 470,
1329 1070, 1070, 1070, 1157, 126, 470, 470, 470, 472, 473,
1330 474, 475, 475, 475, 475, 475, 475, 745, 1153, 1153,
1331 476, 476, 1082, 1082, 1082, 1153, 126, 476, 476, 476,
1332 111, 327, 477, 477, 477, 477, 477, 477, 477, 477,
1333 477, 377, 578, 1149, 471, 471, 1085, 1085, 1085, 1149,
1334 1149, 471, 471, 471, 479, 480, 481, 482, 482, 482,
1336 482, 482, 482, 530, 911, 1127, 483, 483, 1088, 1088,
1337 1088, 1127, 126, 483, 483, 483, 196, 720, 484, 484,
1338 484, 484, 484, 484, 484, 484, 484, 384, 816, 1127,
1339 478, 478, 1091, 1091, 1091, 1115, 1115, 478, 478, 478,
1340 486, 487, 488, 489, 489, 489, 489, 489, 489, 752,
1341 1115, 1111, 490, 490, 1094, 1094, 1094, 1111, 126, 490,
1342 490, 490, 327, 1518, 491, 491, 491, 491, 491, 491,
1343 491, 491, 491, 391, 816, 1111, 485, 485, 1102, 1102,
1344 1102, 1102, 126, 485, 485, 485, 494, 494, 494, 494,
1345 494, 495, 396, 396, 396, 492, 496, 505, 498, 498,
1347 498, 498, 498, 499, 400, 400, 400, 500, 585, 502,
1348 502, 502, 502, 502, 503, 404, 404, 404, 505, 720,
1349 508, 508, 508, 508, 508, 508, 508, 508, 508, 507,
1350 722, 126, 506, 506, 888, 1144, 1144, 1144, 1144, 506,
1351 506, 506, 505, 126, 509, 509, 509, 509, 509, 510,
1352 511, 511, 511, 507, 126, 126, 506, 506, 1163, 1164,
1353 1165, 164, 909, 506, 506, 506, 511, 511, 511, 511,
1354 511, 511, 516, 911, 888, 1167, 1167, 1167, 1189, 1190,
1355 1190, 126, 164, 126, 517, 517, 517, 517, 517, 517,
1356 517, 517, 517, 516, 126, 126, 515, 515, 888, 1191,
1358 1192, 1193, 126, 515, 515, 515, 164, 126, 518, 518,
1359 518, 518, 518, 519, 520, 520, 520, 516, 126, 126,
1360 515, 515, 1195, 1196, 1197, 1518, 126, 515, 515, 515,
1361 520, 520, 520, 520, 520, 520, 516, 281, 656, 1518,
1362 1518, 111, 196, 327, 505, 126, 126, 126, 523, 126,
1363 523, 911, 788, 795, 802, 809, 126, 126, 281, 126,
1364 524, 524, 524, 524, 524, 524, 524, 524, 524, 523,
1365 126, 126, 522, 522, 1199, 1200, 1201, 126, 126, 522,
1366 522, 522, 281, 720, 525, 525, 525, 525, 525, 526,
1367 527, 527, 527, 523, 816, 126, 522, 522, 1203, 1203,
1369 1203, 164, 126, 522, 522, 522, 527, 527, 527, 527,
1370 527, 527, 338, 446, 955, 1518, 1518, 720, 1169, 909,
1371 731, 126, 738, 745, 530, 957, 530, 957, 722, 126,
1372 911, 126, 126, 126, 446, 126, 531, 531, 531, 531,
1373 531, 531, 531, 531, 531, 530, 1076, 850, 529, 529,
1374 752, 1206, 1207, 1208, 126, 529, 529, 529, 446, 126,
1375 532, 532, 532, 532, 532, 533, 534, 534, 534, 530,
1376 957, 1157, 529, 529, 1518, 1518, 1518, 281, 126, 529,
1377 529, 529, 534, 534, 534, 534, 534, 534, 345, 1224,
1378 1225, 1225, 1226, 1227, 1228, 1157, 446, 126, 548, 549,
1380 550, 551, 551, 551, 551, 551, 551, 448, 1157, 1153,
1381 552, 552, 888, 1230, 1231, 1232, 126, 552, 552, 552,
1382 446, 126, 553, 553, 553, 553, 553, 553, 553, 553,
1383 553, 448, 1153, 1153, 547, 547, 1252, 1252, 1252, 1252,
1384 126, 547, 547, 547, 557, 557, 557, 557, 557, 558,
1385 559, 559, 559, 111, 111, 565, 565, 565, 565, 565,
1386 565, 565, 565, 565, 564, 788, 1149, 563, 563, 888,
1387 1280, 1280, 1280, 1280, 563, 563, 563, 111, 126, 566,
1388 566, 566, 566, 566, 567, 568, 568, 568, 564, 1149,
1389 1149, 563, 563, 1294, 1295, 1296, 816, 196, 563, 563,
1391 563, 568, 568, 568, 568, 568, 568, 196, 795, 572,
1392 572, 572, 572, 572, 572, 572, 572, 572, 571, 809,
1393 802, 570, 570, 888, 1312, 1313, 1313, 795, 570, 570,
1394 570, 196, 126, 573, 573, 573, 573, 573, 574, 575,
1395 575, 575, 571, 788, 911, 570, 570, 1314, 1315, 1316,
1396 1127, 327, 570, 570, 570, 575, 575, 575, 575, 575,
1397 575, 327, 802, 579, 579, 579, 579, 579, 579, 579,
1398 579, 579, 578, 1127, 1127, 577, 577, 656, 1318, 1319,
1399 1320, 1115, 577, 577, 577, 327, 126, 580, 580, 580,
1400 580, 580, 581, 582, 582, 582, 578, 1115, 1115, 577,
1402 577, 1323, 1324, 1325, 1111, 505, 577, 577, 577, 582,
1403 582, 582, 582, 582, 582, 505, 809, 586, 586, 586,
1404 586, 586, 586, 586, 586, 586, 585, 1111, 1111, 584,
1405 584, 903, 1518, 1518, 1518, 126, 584, 584, 584, 505,
1406 126, 587, 587, 587, 587, 587, 588, 589, 589, 589,
1407 585, 126, 126, 584, 584, 1334, 1335, 1335, 126, 126,
1408 584, 584, 584, 589, 589, 589, 589, 589, 589, 606,
1409 607, 608, 609, 609, 609, 609, 609, 609, 970, 126,
1410 850, 610, 610, 1336, 1337, 1338, 957, 126, 610, 610,
1411 610, 505, 720, 611, 611, 611, 611, 611, 611, 611,
1413 611, 611, 507, 816, 722, 605, 605, 1349, 1349, 1349,
1414 1349, 950, 605, 605, 605, 615, 616, 617, 618, 618,
1415 618, 618, 618, 618, 1381, 1382, 1383, 619, 619, 1372,
1416 1372, 1372, 1372, 126, 619, 619, 619, 621, 622, 623,
1417 624, 624, 624, 624, 624, 624, 731, 950, 950, 625,
1418 625, 1392, 1393, 1393, 946, 126, 625, 625, 625, 164,
1419 955, 626, 626, 626, 626, 626, 626, 626, 626, 626,
1420 516, 957, 164, 620, 620, 1074, 1518, 909, 955, 126,
1421 620, 620, 620, 516, 946, 946, 1076, 1076, 911, 957,
1422 942, 281, 126, 628, 629, 630, 631, 631, 631, 631,
1424 631, 631, 523, 942, 942, 632, 632, 977, 1394, 1395,
1425 1396, 126, 632, 632, 632, 281, 126, 633, 633, 633,
1426 633, 633, 633, 633, 633, 633, 523, 816, 809, 627,
1427 627, 1399, 1400, 1400, 802, 126, 627, 627, 627, 635,
1428 636, 637, 638, 638, 638, 638, 638, 638, 738, 795,
1429 788, 639, 639, 984, 1518, 1518, 1518, 126, 639, 639,
1430 639, 446, 126, 640, 640, 640, 640, 640, 640, 640,
1431 640, 640, 530, 1036, 446, 634, 634, 745, 991, 752,
1432 998, 126, 634, 634, 634, 530, 126, 126, 126, 126,
1433 1408, 1409, 1409, 911, 126, 643, 643, 643, 643, 643,
1435 644, 535, 535, 535, 641, 669, 1107, 1419, 1419, 1419,
1436 1419, 896, 896, 126, 645, 126, 647, 647, 647, 647,
1437 647, 648, 539, 539, 539, 649, 654, 651, 651, 651,
1438 651, 651, 652, 543, 543, 543, 1107, 656, 896, 1107,
1439 1437, 1437, 1437, 1437, 892, 126, 126, 654, 126, 657,
1440 657, 657, 657, 657, 657, 657, 657, 657, 656, 892,
1441 892, 655, 655, 903, 1443, 1444, 1444, 126, 655, 655,
1442 655, 654, 126, 658, 658, 658, 658, 658, 659, 660,
1443 660, 660, 656, 126, 126, 655, 655, 1452, 1453, 1453,
1444 1518, 126, 655, 655, 655, 660, 660, 660, 660, 660,
1446 660, 656, 446, 1074, 126, 850, 970, 977, 984, 991,
1447 126, 998, 1107, 448, 1076, 126, 126, 126, 126, 614,
1448 126, 126, 126, 664, 664, 664, 665, 666, 666, 666,
1449 666, 666, 670, 671, 672, 673, 673, 673, 673, 673,
1450 673, 1107, 722, 950, 674, 674, 1518, 1518, 1518, 950,
1451 126, 674, 674, 674, 676, 677, 678, 679, 679, 679,
1452 679, 679, 679, 1107, 950, 946, 680, 680, 903, 1518,
1453 1518, 1518, 126, 680, 680, 680, 111, 126, 681, 681,
1454 681, 681, 681, 681, 681, 681, 681, 564, 946, 946,
1455 675, 675, 1474, 1474, 1474, 1474, 942, 675, 675, 675,
1457 683, 684, 685, 686, 686, 686, 686, 686, 686, 1122,
1458 942, 942, 687, 687, 1484, 1484, 1484, 1484, 126, 687,
1459 687, 687, 196, 1074, 688, 688, 688, 688, 688, 688,
1460 688, 688, 688, 571, 1076, 816, 682, 682, 1490, 1490,
1461 1490, 1490, 585, 682, 682, 682, 690, 691, 692, 693,
1462 693, 693, 693, 693, 693, 970, 809, 578, 694, 694,
1463 977, 1518, 1518, 1518, 126, 694, 694, 694, 327, 126,
1464 695, 695, 695, 695, 695, 695, 695, 695, 695, 578,
1465 802, 571, 689, 689, 1509, 1509, 1509, 1509, 795, 689,
1466 689, 689, 697, 698, 699, 700, 700, 700, 700, 700,
1468 700, 984, 564, 788, 701, 701, 991, 669, 896, 896,
1469 126, 701, 701, 701, 505, 126, 702, 702, 702, 702,
1470 702, 702, 702, 702, 702, 585, 896, 892, 696, 696,
1471 1515, 1515, 1515, 1515, 892, 696, 696, 696, 704, 704,
1472 704, 704, 704, 705, 706, 706, 706, 709, 709, 709,
1473 709, 709, 710, 593, 593, 593, 707, 711, 892, 713,
1474 713, 713, 713, 713, 714, 597, 597, 597, 715, 126,
1475 717, 717, 717, 717, 717, 718, 601, 601, 601, 720,
1476 126, 723, 723, 723, 723, 723, 723, 723, 723, 723,
1477 722, 850, 614, 721, 721, 998, 722, 507, 715, 715,
1479 721, 721, 721, 720, 126, 724, 724, 724, 724, 724,
1480 725, 726, 726, 726, 722, 715, 711, 721, 721, 711,
1481 711, 707, 164, 707, 721, 721, 721, 726, 726, 726,
1482 726, 726, 726, 731, 707, 1257, 585, 578, 571, 564,
1483 669, 465, 126, 164, 126, 732, 732, 732, 732, 732,
1484 732, 732, 732, 732, 731, 649, 649, 730, 730, 1257,
1485 649, 645, 645, 126, 730, 730, 730, 164, 126, 733,
1486 733, 733, 733, 733, 734, 735, 735, 735, 731, 645,
1487 729, 730, 730, 614, 417, 507, 1518, 126, 730, 730,
1488 730, 735, 735, 735, 735, 735, 735, 731, 281, 1257,
1490 1518, 1122, 715, 1257, 1257, 1257, 126, 1122, 126, 738,
1491 126, 738, 126, 126, 126, 715, 126, 715, 126, 281,
1492 126, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1493 738, 711, 711, 737, 737, 1354, 711, 707, 707, 126,
1494 737, 737, 737, 281, 126, 740, 740, 740, 740, 740,
1495 741, 742, 742, 742, 738, 707, 585, 737, 737, 391,
1496 578, 384, 164, 126, 737, 737, 737, 742, 742, 742,
1497 742, 742, 742, 516, 446, 1354, 1518, 1354, 571, 1354,
1498 1354, 1354, 126, 1410, 126, 745, 126, 745, 126, 126,
1499 126, 377, 126, 564, 126, 446, 126, 746, 746, 746,
1501 746, 746, 746, 746, 746, 746, 745, 669, 465, 744,
1502 744, 1410, 649, 649, 649, 126, 744, 744, 744, 446,
1503 126, 747, 747, 747, 747, 747, 748, 749, 749, 749,
1504 745, 645, 645, 744, 744, 645, 614, 417, 281, 126,
1505 744, 744, 744, 749, 749, 749, 749, 749, 749, 523,
1506 654, 1410, 1518, 1424, 507, 1424, 1424, 1410, 126, 1410,
1507 126, 752, 126, 752, 126, 126, 126, 329, 126, 500,
1508 126, 654, 126, 753, 753, 753, 753, 753, 753, 753,
1509 753, 753, 752, 500, 500, 751, 751, 1410, 496, 496,
1510 496, 126, 751, 751, 751, 654, 126, 754, 754, 754,
1512 754, 754, 755, 756, 756, 756, 752, 492, 492, 751,
1513 751, 492, 391, 384, 446, 126, 751, 751, 751, 756,
1514 756, 756, 756, 756, 756, 530, 377, 562, 465, 298,
1515 441, 441, 441, 654, 126, 773, 774, 775, 776, 776,
1516 776, 776, 776, 776, 656, 437, 437, 777, 777, 1424,
1517 437, 514, 417, 126, 777, 777, 777, 654, 126, 778,
1518 778, 778, 778, 778, 778, 778, 778, 778, 656, 263,
1519 329, 772, 772, 500, 500, 500, 496, 126, 772, 772,
1520 772, 781, 782, 783, 784, 784, 784, 784, 784, 784,
1521 785, 496, 496, 786, 786, 1424, 492, 492, 492, 391,
1523 786, 786, 786, 111, 126, 789, 789, 789, 789, 789,
1524 789, 789, 789, 789, 788, 241, 384, 787, 787, 1424,
1525 234, 377, 465, 298, 787, 787, 787, 111, 126, 790,
1526 790, 790, 790, 790, 791, 792, 792, 792, 788, 441,
1527 441, 787, 787, 441, 437, 437, 437, 417, 787, 787,
1528 787, 792, 792, 792, 792, 792, 792, 196, 263, 796,
1529 796, 796, 796, 796, 796, 796, 796, 796, 795, 329,
1530 198, 794, 794, 322, 322, 322, 318, 318, 794, 794,
1531 794, 196, 318, 797, 797, 797, 797, 797, 798, 799,
1532 799, 799, 795, 241, 234, 794, 794, 375, 298, 178,
1534 292, 292, 794, 794, 794, 799, 799, 799, 799, 799,
1535 799, 327, 292, 803, 803, 803, 803, 803, 803, 803,
1536 803, 803, 802, 276, 276, 801, 801, 276, 336, 263,
1537 158, 198, 801, 801, 801, 327, 322, 804, 804, 804,
1538 804, 804, 805, 806, 806, 806, 802, 322, 322, 801,
1539 801, 318, 318, 318, 241, 140, 801, 801, 801, 806,
1540 806, 806, 806, 806, 806, 505, 234, 810, 810, 810,
1541 810, 810, 810, 810, 810, 810, 809, 298, 178, 808,
1542 808, 292, 292, 292, 276, 276, 808, 808, 808, 505,
1543 276, 811, 811, 811, 811, 811, 812, 813, 813, 813,
1545 809, 263, 158, 808, 808, 198, 113, 191, 191, 191,
1546 808, 808, 808, 813, 813, 813, 813, 813, 813, 720,
1547 140, 817, 817, 817, 817, 817, 817, 817, 817, 817,
1548 816, 232, 178, 815, 815, 105, 172, 172, 172, 205,
1549 815, 815, 815, 720, 158, 818, 818, 818, 818, 818,
1550 819, 820, 820, 820, 816, 88, 113, 815, 815, 191,
1551 191, 191, 140, 178, 815, 815, 815, 820, 820, 820,
1552 820, 820, 820, 823, 823, 823, 823, 823, 824, 825,
1553 825, 825, 842, 843, 844, 845, 845, 845, 845, 845,
1554 845, 105, 1518, 1518, 846, 846, 172, 172, 172, 58,
1556 171, 846, 846, 846, 720, 158, 847, 847, 847, 847,
1557 847, 847, 847, 847, 847, 722, 88, 113, 841, 841,
1558 138, 105, 44, 60, 127, 841, 841, 841, 851, 852,
1559 853, 854, 854, 854, 854, 854, 854, 120, 88, 41,
1560 855, 855, 105, 96, 66, 60, 126, 855, 855, 855,
1561 857, 858, 859, 860, 860, 860, 860, 860, 860, 91,
1562 58, 90, 861, 861, 55, 89, 88, 41, 79, 861,
1563 861, 861, 164, 38, 862, 862, 862, 862, 862, 862,
1564 862, 862, 862, 731, 66, 164, 856, 856, 62, 61,
1565 58, 57, 126, 856, 856, 856, 731, 54, 52, 38,
1567 33, 1518, 32, 6, 281, 126, 864, 865, 866, 867,
1568 867, 867, 867, 867, 867, 738, 1518, 1518, 868, 868,
1569 1518, 1518, 1518, 1518, 126, 868, 868, 868, 281, 1518,
1570 869, 869, 869, 869, 869, 869, 869, 869, 869, 738,
1571 1518, 1518, 863, 863, 1518, 1518, 1518, 1518, 126, 863,
1572 863, 863, 871, 872, 873, 874, 874, 874, 874, 874,
1573 874, 1518, 1518, 1518, 875, 875, 1518, 1518, 1518, 1518,
1574 1518, 875, 875, 875, 446, 1518, 876, 876, 876, 876,
1575 876, 876, 876, 876, 876, 745, 1518, 446, 870, 870,
1576 1518, 1518, 1518, 1518, 126, 870, 870, 870, 745, 1518,
1578 1518, 1518, 1518, 1518, 1518, 1518, 654, 126, 878, 879,
1579 880, 881, 881, 881, 881, 881, 881, 752, 1518, 1518,
1580 882, 882, 1518, 1518, 1518, 1518, 126, 882, 882, 882,
1581 654, 1518, 883, 883, 883, 883, 883, 883, 883, 883,
1582 883, 752, 1518, 1518, 877, 877, 1518, 1518, 1518, 1518,
1583 126, 877, 877, 877, 885, 885, 885, 885, 885, 886,
1584 887, 887, 887, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1585 1518, 1518, 126, 890, 890, 890, 890, 890, 891, 760,
1586 760, 760, 888, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1587 1518, 126, 892, 1518, 894, 894, 894, 894, 894, 895,
1589 764, 764, 764, 896, 901, 898, 898, 898, 898, 898,
1590 899, 768, 768, 768, 1518, 903, 1518, 1518, 1518, 1518,
1591 1518, 1518, 1518, 1518, 126, 901, 1518, 904, 904, 904,
1592 904, 904, 904, 904, 904, 904, 903, 1518, 1518, 902,
1593 902, 1518, 1518, 1518, 1518, 126, 902, 902, 902, 901,
1594 1518, 905, 905, 905, 905, 905, 906, 907, 907, 907,
1595 903, 1518, 1518, 902, 902, 1518, 1518, 1518, 1518, 126,
1596 902, 902, 902, 907, 907, 907, 907, 907, 907, 903,
1597 654, 1518, 164, 1518, 1518, 1518, 1518, 1518, 126, 1518,
1598 1518, 656, 1518, 970, 1518, 1518, 1518, 1518, 1518, 1518,
1600 126, 909, 126, 912, 912, 912, 912, 912, 912, 912,
1601 912, 912, 911, 1518, 1518, 910, 910, 1518, 1518, 1518,
1602 1518, 1518, 910, 910, 910, 909, 1518, 913, 913, 913,
1603 913, 913, 914, 915, 915, 915, 911, 1518, 1518, 910,
1604 910, 1518, 1518, 1518, 1518, 1518, 910, 910, 910, 915,
1605 915, 915, 915, 915, 915, 111, 1518, 919, 919, 919,
1606 919, 919, 919, 919, 919, 919, 788, 1518, 1518, 917,
1607 917, 1518, 1518, 1518, 1518, 1518, 917, 917, 917, 196,
1608 1518, 922, 922, 922, 922, 922, 922, 922, 922, 922,
1609 795, 1518, 1518, 920, 920, 1518, 1518, 1518, 1518, 1518,
1611 920, 920, 920, 327, 1518, 925, 925, 925, 925, 925,
1612 925, 925, 925, 925, 802, 1518, 1518, 923, 923, 1518,
1613 1518, 1518, 1518, 1518, 923, 923, 923, 505, 1518, 928,
1614 928, 928, 928, 928, 928, 928, 928, 928, 809, 1518,
1615 1518, 926, 926, 1518, 1518, 1518, 1518, 1518, 926, 926,
1616 926, 720, 1518, 931, 931, 931, 931, 931, 931, 931,
1617 931, 931, 816, 1518, 1518, 929, 929, 1518, 1518, 1518,
1618 1518, 1518, 929, 929, 929, 935, 935, 935, 936, 937,
1619 937, 937, 937, 937, 939, 939, 939, 939, 939, 940,
1620 941, 941, 941, 944, 944, 944, 944, 944, 945, 829,
1622 829, 829, 942, 946, 1518, 948, 948, 948, 948, 948,
1623 949, 833, 833, 833, 950, 1518, 952, 952, 952, 952,
1624 952, 953, 837, 837, 837, 955, 1518, 958, 958, 958,
1625 958, 958, 958, 958, 958, 958, 957, 1518, 1518, 956,
1626 956, 1518, 1518, 1518, 1518, 1518, 956, 956, 956, 955,
1627 1518, 959, 959, 959, 959, 959, 960, 961, 961, 961,
1628 957, 1518, 1518, 956, 956, 1518, 1518, 1518, 1518, 1518,
1629 956, 956, 956, 961, 961, 961, 961, 961, 961, 963,
1630 964, 965, 966, 966, 966, 966, 966, 966, 967, 1518,
1631 1518, 968, 968, 1518, 1518, 1518, 1518, 1518, 968, 968,
1633 968, 164, 1518, 971, 971, 971, 971, 971, 971, 971,
1634 971, 971, 970, 1518, 1518, 969, 969, 1518, 1518, 1518,
1635 1518, 126, 969, 969, 969, 164, 1518, 972, 972, 972,
1636 972, 972, 973, 974, 974, 974, 970, 1518, 1518, 969,
1637 969, 1518, 1518, 1518, 1518, 126, 969, 969, 969, 974,
1638 974, 974, 974, 974, 974, 970, 281, 1518, 1518, 1518,
1639 1518, 1518, 1518, 1518, 126, 1518, 1518, 977, 1518, 977,
1640 1518, 1518, 1518, 1518, 1518, 1518, 126, 281, 126, 978,
1641 978, 978, 978, 978, 978, 978, 978, 978, 977, 1518,
1642 1518, 976, 976, 1518, 1518, 1518, 1518, 126, 976, 976,
1644 976, 281, 1518, 979, 979, 979, 979, 979, 980, 981,
1645 981, 981, 977, 1518, 1518, 976, 976, 1518, 1518, 1518,
1646 164, 126, 976, 976, 976, 981, 981, 981, 981, 981,
1647 981, 731, 446, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1648 126, 1518, 1518, 984, 1518, 984, 1518, 1518, 1518, 1518,
1649 1518, 1518, 126, 446, 126, 985, 985, 985, 985, 985,
1650 985, 985, 985, 985, 984, 1518, 1518, 983, 983, 1518,
1651 1518, 1518, 1518, 126, 983, 983, 983, 446, 1518, 986,
1652 986, 986, 986, 986, 987, 988, 988, 988, 984, 1518,
1653 1518, 983, 983, 1518, 1518, 1518, 281, 126, 983, 983,
1655 983, 988, 988, 988, 988, 988, 988, 738, 654, 1518,
1656 1518, 1518, 1518, 1518, 1518, 1518, 126, 1518, 1518, 991,
1657 1518, 991, 1518, 1518, 1518, 1518, 1518, 1518, 126, 654,
1658 126, 992, 992, 992, 992, 992, 992, 992, 992, 992,
1659 991, 1518, 1518, 990, 990, 1518, 1518, 1518, 1518, 126,
1660 990, 990, 990, 654, 1518, 993, 993, 993, 993, 993,
1661 994, 995, 995, 995, 991, 1518, 1518, 990, 990, 1518,
1662 1518, 1518, 446, 126, 990, 990, 990, 995, 995, 995,
1663 995, 995, 995, 745, 901, 1518, 1518, 1518, 1518, 1518,
1664 1518, 1518, 126, 1518, 1518, 998, 1518, 998, 1518, 1518,
1666 1518, 1518, 1518, 1518, 126, 901, 126, 999, 999, 999,
1667 999, 999, 999, 999, 999, 999, 998, 1518, 1518, 997,
1668 997, 1518, 1518, 1518, 1518, 126, 997, 997, 997, 901,
1669 1518, 1000, 1000, 1000, 1000, 1000, 1001, 1002, 1002, 1002,
1670 998, 1518, 1518, 997, 997, 1518, 1518, 1518, 654, 126,
1671 997, 997, 997, 1002, 1002, 1002, 1002, 1002, 1002, 752,
1672 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 126, 1005,
1673 1005, 1005, 1005, 1005, 1006, 1007, 1007, 1007, 1518, 1518,
1674 1518, 1518, 1518, 1518, 1518, 1518, 901, 126, 1024, 1025,
1675 1026, 1027, 1027, 1027, 1027, 1027, 1027, 903, 1518, 1518,
1677 1028, 1028, 1518, 1518, 1518, 1518, 126, 1028, 1028, 1028,
1678 901, 1518, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029,
1679 1029, 903, 1518, 1518, 1023, 1023, 1518, 1518, 1518, 1518,
1680 126, 1023, 1023, 1023, 909, 1518, 1037, 1037, 1037, 1037,
1681 1037, 1037, 1037, 1037, 1037, 911, 1518, 1518, 1034, 1034,
1682 1518, 1518, 1518, 1518, 1518, 1034, 1034, 1034, 1052, 1052,
1683 1052, 1052, 1052, 1053, 1054, 1054, 1054, 955, 1518, 1072,
1684 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 957, 1518,
1685 1518, 1070, 1070, 1518, 1518, 1518, 1518, 1518, 1070, 1070,
1686 1070, 1074, 1518, 1077, 1077, 1077, 1077, 1077, 1077, 1077,
1688 1077, 1077, 1076, 1518, 1518, 1075, 1075, 1518, 1518, 1518,
1689 1518, 1518, 1075, 1075, 1075, 1074, 1518, 1078, 1078, 1078,
1690 1078, 1078, 1079, 1080, 1080, 1080, 1076, 1518, 1518, 1075,
1691 1075, 1518, 1518, 1518, 1518, 1518, 1075, 1075, 1075, 1080,
1692 1080, 1080, 1080, 1080, 1080, 164, 1518, 1084, 1084, 1084,
1693 1084, 1084, 1084, 1084, 1084, 1084, 970, 1518, 164, 1082,
1694 1082, 1518, 1518, 1518, 1518, 126, 1082, 1082, 1082, 970,
1695 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 126, 281,
1696 1518, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
1697 977, 1518, 281, 1085, 1085, 1518, 1518, 1518, 1518, 126,
1699 1085, 1085, 1085, 977, 1518, 1518, 1518, 1518, 1518, 1518,
1700 1518, 1518, 126, 446, 1518, 1090, 1090, 1090, 1090, 1090,
1701 1090, 1090, 1090, 1090, 984, 1518, 446, 1088, 1088, 1518,
1702 1518, 1518, 1518, 126, 1088, 1088, 1088, 984, 1518, 1518,
1703 1518, 1518, 1518, 1518, 1518, 1518, 126, 654, 1518, 1093,
1704 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 991, 1518,
1705 654, 1091, 1091, 1518, 1518, 1518, 1518, 126, 1091, 1091,
1706 1091, 991, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1707 126, 901, 1518, 1096, 1096, 1096, 1096, 1096, 1096, 1096,
1708 1096, 1096, 998, 1518, 901, 1094, 1094, 1518, 1518, 1518,
1710 1518, 126, 1094, 1094, 1094, 998, 1518, 1518, 1518, 1518,
1711 1518, 1518, 1518, 1518, 126, 1100, 1100, 1100, 1101, 1102,
1712 1102, 1102, 1102, 1102, 1518, 1518, 1518, 1518, 1518, 1518,
1713 1518, 1518, 1518, 126, 1104, 1104, 1104, 1104, 1104, 1105,
1714 1106, 1106, 1106, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1715 1518, 1518, 126, 1109, 1109, 1109, 1109, 1109, 1110, 1011,
1716 1011, 1011, 1107, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1717 1518, 126, 1111, 1518, 1113, 1113, 1113, 1113, 1113, 1114,
1718 1015, 1015, 1015, 1115, 1120, 1117, 1117, 1117, 1117, 1117,
1719 1118, 1019, 1019, 1019, 1518, 1122, 1518, 1518, 1518, 1518,
1721 1518, 1518, 1518, 1518, 126, 1120, 1518, 1123, 1123, 1123,
1722 1123, 1123, 1123, 1123, 1123, 1123, 1122, 1518, 1518, 1121,
1723 1121, 1518, 1518, 1518, 1518, 126, 1121, 1121, 1121, 1120,
1724 1518, 1124, 1124, 1124, 1124, 1124, 1125, 1126, 1126, 1126,
1725 1122, 1518, 1518, 1121, 1121, 1518, 1518, 1518, 1518, 126,
1726 1121, 1121, 1121, 1126, 1126, 1126, 1126, 1126, 1126, 1122,
1727 901, 1518, 164, 1518, 1518, 1518, 1518, 1518, 126, 1518,
1728 1518, 903, 1518, 970, 1518, 1518, 1518, 1518, 1518, 1518,
1729 126, 1127, 126, 1129, 1129, 1129, 1129, 1129, 1130, 1030,
1730 1030, 1030, 1142, 1142, 1142, 1143, 1144, 1144, 1144, 1144,
1732 1144, 1146, 1146, 1146, 1146, 1146, 1147, 1148, 1148, 1148,
1733 1151, 1151, 1151, 1151, 1151, 1152, 1058, 1058, 1058, 1149,
1734 1153, 1518, 1155, 1155, 1155, 1155, 1155, 1156, 1062, 1062,
1735 1062, 1157, 1518, 1159, 1159, 1159, 1159, 1159, 1160, 1066,
1736 1066, 1066, 1074, 1518, 1170, 1170, 1170, 1170, 1170, 1170,
1737 1170, 1170, 1170, 1076, 1518, 281, 1167, 1167, 446, 654,
1738 901, 1518, 1518, 1167, 1167, 1167, 977, 1518, 1518, 984,
1739 991, 998, 1518, 1518, 1518, 126, 1518, 1518, 126, 126,
1740 126, 1185, 1185, 1185, 1185, 1185, 1186, 1187, 1187, 1187,
1741 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 126,
1743 1120, 1518, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1744 1205, 1122, 1518, 1120, 1203, 1203, 1518, 1518, 1518, 1518,
1745 126, 1203, 1203, 1203, 1122, 1518, 1518, 1518, 1518, 1518,
1746 1518, 1518, 1518, 126, 1220, 1220, 1220, 1220, 1220, 1221,
1747 1222, 1222, 1222, 1235, 1518, 1237, 1237, 1237, 1237, 1237,
1748 1238, 1163, 1163, 1163, 1250, 1250, 1250, 1251, 1252, 1252,
1749 1252, 1252, 1252, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1750 1518, 1518, 126, 1254, 1254, 1254, 1254, 1254, 1255, 1256,
1751 1256, 1256, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1752 1518, 126, 1259, 1259, 1259, 1259, 1259, 1260, 1191, 1191,
1754 1191, 1257, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1755 126, 1261, 1518, 1263, 1263, 1263, 1263, 1263, 1264, 1195,
1756 1195, 1195, 1265, 1120, 1267, 1267, 1267, 1267, 1267, 1268,
1757 1199, 1199, 1199, 1518, 1122, 1518, 1518, 1518, 1518, 1518,
1758 1518, 1518, 1518, 126, 1271, 1518, 1273, 1273, 1273, 1273,
1759 1273, 1274, 1206, 1206, 1206, 1278, 1278, 1278, 1279, 1280,
1760 1280, 1280, 1280, 1280, 1282, 1282, 1282, 1282, 1282, 1283,
1761 1284, 1284, 1284, 1287, 1287, 1287, 1287, 1287, 1288, 1226,
1762 1226, 1226, 1285, 1289, 1518, 1291, 1291, 1291, 1291, 1291,
1763 1292, 1230, 1230, 1230, 1308, 1308, 1308, 1308, 1308, 1309,
1765 1310, 1310, 1310, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1766 1518, 1518, 126, 1330, 1330, 1330, 1330, 1330, 1331, 1332,
1767 1332, 1332, 1340, 1518, 1342, 1342, 1342, 1342, 1342, 1343,
1768 1294, 1294, 1294, 1347, 1347, 1347, 1348, 1349, 1349, 1349,
1769 1349, 1349, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1770 1518, 126, 1351, 1351, 1351, 1351, 1351, 1352, 1353, 1353,
1771 1353, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1772 126, 1356, 1356, 1356, 1356, 1356, 1357, 1314, 1314, 1314,
1773 1354, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 126,
1774 1358, 1518, 1360, 1360, 1360, 1360, 1360, 1361, 1318, 1318,
1776 1318, 1365, 1365, 1365, 1365, 1365, 1366, 1323, 1323, 1323,
1777 1363, 1370, 1370, 1370, 1371, 1372, 1372, 1372, 1372, 1372,
1778 1374, 1374, 1374, 1374, 1374, 1375, 1376, 1376, 1376, 1379,
1779 1379, 1379, 1379, 1379, 1380, 1336, 1336, 1336, 1377, 1388,
1780 1388, 1388, 1388, 1388, 1389, 1390, 1390, 1390, 1518, 1518,
1781 1518, 1518, 1518, 1518, 1518, 1518, 1518, 126, 1404, 1404,
1782 1404, 1404, 1404, 1405, 1406, 1406, 1406, 1412, 1412, 1412,
1783 1412, 1412, 1413, 1381, 1381, 1381, 1410, 1518, 1518, 1518,
1784 1518, 1518, 1518, 1518, 1518, 126, 1417, 1417, 1417, 1418,
1785 1419, 1419, 1419, 1419, 1419, 1518, 1518, 1518, 1518, 1518,
1787 1518, 1518, 1518, 1518, 126, 1421, 1421, 1421, 1421, 1421,
1788 1422, 1423, 1423, 1423, 1518, 1518, 1518, 1518, 1518, 1518,
1789 1518, 1518, 1518, 126, 1426, 1426, 1426, 1426, 1426, 1427,
1790 1394, 1394, 1394, 1424, 1518, 1518, 1518, 1518, 1518, 1518,
1791 1518, 1518, 126, 1429, 1429, 1429, 1429, 1429, 1430, 1431,
1792 1431, 1431, 1435, 1435, 1435, 1436, 1437, 1437, 1437, 1437,
1793 1437, 1439, 1439, 1439, 1439, 1439, 1440, 1441, 1441, 1441,
1794 1448, 1448, 1448, 1448, 1448, 1449, 1450, 1450, 1450, 1518,
1795 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 126, 1456,
1796 1456, 1456, 1456, 1456, 1457, 1458, 1458, 1458, 1462, 1462,
1798 1462, 1462, 1462, 1463, 1464, 1464, 1464, 1466, 1466, 1466,
1799 1466, 1466, 1467, 1468, 1468, 1468, 1518, 1518, 1518, 1518,
1800 1518, 1518, 1518, 1518, 1518, 126, 1472, 1472, 1472, 1473,
1801 1474, 1474, 1474, 1474, 1474, 1518, 1518, 1518, 1518, 1518,
1802 1518, 1518, 1518, 1518, 126, 1476, 1476, 1476, 1476, 1476,
1803 1477, 1478, 1478, 1478, 1518, 1518, 1518, 1518, 1518, 1518,
1804 1518, 1518, 1518, 126, 1482, 1482, 1482, 1483, 1484, 1484,
1805 1484, 1484, 1484, 1488, 1488, 1488, 1489, 1490, 1490, 1490,
1806 1490, 1490, 1493, 1493, 1493, 1493, 1493, 1494, 1495, 1495,
1807 1495, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
1809 126, 1499, 1499, 1499, 1499, 1499, 1500, 1501, 1501, 1501,
1810 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 126,
1811 1507, 1507, 1507, 1508, 1509, 1509, 1509, 1509, 1509, 1518,
1812 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 126, 1513,
1813 1513, 1513, 1514, 1515, 1515, 1515, 1515, 1515, 1518, 1518,
1814 1518, 1518, 1518, 1518, 1518, 1518, 1518, 126, 31, 31,
1815 31, 31, 31, 31, 31, 31, 31, 31, 31, 34,
1816 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
1817 37, 1518, 37, 37, 37, 37, 37, 37, 37, 37,
1818 37, 39, 39, 39, 39, 40, 40, 40, 46, 46,
1820 46, 1518, 46, 46, 46, 53, 53, 53, 53, 53,
1821 53, 63, 63, 63, 63, 63, 63, 63, 63, 63,
1822 63, 63, 67, 67, 67, 67, 67, 67, 67, 67,
1823 67, 67, 67, 74, 74, 74, 78, 78, 78, 78,
1824 78, 78, 87, 87, 87, 87, 87, 87, 92, 92,
1825 92, 92, 92, 92, 92, 92, 92, 92, 92, 98,
1826 98, 98, 98, 1518, 1518, 98, 104, 104, 104, 104,
1827 104, 104, 112, 112, 112, 112, 112, 112, 112, 118,
1828 118, 118, 118, 118, 118, 119, 119, 119, 119, 119,
1829 119, 129, 129, 129, 133, 133, 133, 136, 136, 136,
1831 136, 136, 136, 137, 137, 137, 137, 137, 137, 139,
1832 139, 139, 139, 139, 139, 139, 148, 148, 148, 149,
1833 149, 149, 149, 149, 149, 156, 156, 156, 156, 156,
1834 156, 157, 157, 157, 157, 157, 157, 165, 165, 165,
1835 165, 165, 165, 165, 1518, 165, 173, 173, 173, 173,
1836 130, 130, 130, 130, 176, 176, 176, 176, 176, 176,
1837 177, 177, 177, 177, 177, 177, 184, 184, 184, 184,
1838 184, 184, 192, 192, 192, 192, 145, 145, 145, 145,
1839 195, 195, 195, 195, 195, 195, 197, 197, 197, 197,
1840 197, 197, 197, 203, 203, 203, 203, 203, 203, 204,
1842 204, 204, 204, 204, 204, 206, 206, 206, 206, 206,
1843 206, 206, 1518, 206, 215, 215, 215, 216, 216, 216,
1844 216, 216, 216, 1518, 216, 223, 223, 229, 229, 229,
1845 130, 130, 130, 230, 230, 230, 230, 230, 230, 231,
1846 231, 231, 231, 231, 231, 233, 233, 233, 233, 233,
1847 233, 233, 239, 239, 239, 239, 239, 239, 240, 240,
1848 240, 240, 240, 240, 240, 249, 249, 249, 145, 145,
1849 145, 253, 253, 253, 254, 254, 254, 254, 254, 254,
1850 261, 261, 261, 261, 261, 261, 262, 262, 262, 262,
1851 262, 262, 269, 269, 269, 269, 269, 269, 1518, 269,
1853 277, 277, 277, 277, 212, 212, 212, 212, 280, 280,
1854 280, 280, 280, 280, 1518, 280, 282, 282, 282, 282,
1855 282, 282, 282, 1518, 282, 288, 288, 288, 291, 291,
1856 291, 293, 293, 293, 293, 226, 226, 226, 226, 296,
1857 296, 296, 296, 296, 296, 297, 297, 297, 297, 297,
1858 297, 304, 304, 304, 304, 304, 304, 311, 311, 311,
1859 311, 311, 311, 319, 319, 319, 319, 246, 246, 246,
1860 246, 323, 323, 323, 323, 250, 250, 250, 250, 326,
1861 326, 326, 326, 326, 326, 328, 328, 328, 328, 328,
1862 328, 328, 334, 334, 334, 334, 334, 334, 335, 335,
1864 335, 335, 335, 335, 337, 337, 337, 337, 337, 337,
1865 337, 1518, 337, 343, 343, 343, 343, 343, 343, 1518,
1866 343, 344, 344, 344, 344, 344, 344, 344, 1518, 344,
1867 353, 353, 353, 212, 212, 212, 357, 357, 357, 358,
1868 358, 358, 358, 358, 358, 1518, 358, 365, 365, 365,
1869 366, 366, 366, 369, 369, 369, 370, 370, 226, 226,
1870 1518, 226, 373, 373, 373, 373, 373, 373, 374, 374,
1871 374, 374, 374, 374, 376, 376, 376, 376, 376, 376,
1872 376, 382, 382, 382, 382, 382, 382, 383, 383, 383,
1873 383, 383, 383, 383, 389, 389, 389, 389, 389, 389,
1875 390, 390, 390, 390, 390, 390, 390, 399, 399, 399,
1876 246, 246, 246, 246, 246, 246, 246, 403, 403, 403,
1877 250, 250, 250, 250, 250, 250, 250, 407, 407, 407,
1878 408, 408, 408, 408, 408, 408, 415, 415, 415, 415,
1879 415, 415, 416, 416, 416, 416, 416, 416, 423, 423,
1880 423, 423, 423, 423, 1518, 423, 430, 430, 430, 430,
1881 430, 430, 1518, 430, 438, 438, 438, 438, 350, 350,
1882 350, 350, 442, 442, 442, 442, 354, 354, 354, 354,
1883 445, 445, 445, 445, 445, 445, 1518, 445, 447, 447,
1884 447, 447, 447, 447, 447, 1518, 447, 453, 453, 453,
1886 454, 454, 454, 455, 455, 455, 459, 459, 459, 462,
1887 462, 462, 463, 463, 463, 463, 463, 463, 464, 464,
1888 464, 464, 464, 464, 471, 471, 471, 471, 471, 471,
1889 478, 478, 478, 478, 478, 478, 485, 485, 485, 485,
1890 485, 485, 493, 493, 493, 493, 396, 396, 396, 396,
1891 497, 497, 497, 497, 400, 400, 400, 400, 501, 501,
1892 501, 501, 404, 404, 404, 404, 504, 504, 504, 504,
1893 504, 504, 506, 506, 506, 506, 506, 506, 506, 512,
1894 512, 512, 512, 512, 512, 513, 513, 513, 513, 513,
1895 513, 515, 515, 515, 515, 515, 515, 515, 1518, 515,
1897 521, 521, 521, 521, 521, 521, 1518, 521, 522, 522,
1898 522, 522, 522, 522, 522, 1518, 522, 528, 528, 528,
1899 528, 528, 528, 1518, 528, 529, 529, 529, 529, 529,
1900 529, 529, 1518, 529, 538, 538, 538, 350, 350, 350,
1901 350, 350, 350, 350, 542, 542, 542, 354, 354, 354,
1902 354, 354, 354, 354, 546, 546, 546, 547, 547, 547,
1903 547, 547, 547, 1518, 547, 554, 554, 554, 555, 555,
1904 555, 556, 556, 556, 559, 559, 559, 560, 560, 560,
1905 560, 560, 560, 561, 561, 561, 561, 561, 561, 563,
1906 563, 563, 563, 563, 563, 563, 569, 569, 569, 569,
1908 569, 569, 570, 570, 570, 570, 570, 570, 570, 576,
1909 576, 576, 576, 576, 576, 577, 577, 577, 577, 577,
1910 577, 577, 583, 583, 583, 583, 583, 583, 584, 584,
1911 584, 584, 584, 584, 584, 590, 590, 396, 396, 396,
1912 396, 396, 396, 1518, 396, 596, 596, 596, 400, 400,
1913 400, 400, 400, 400, 400, 600, 600, 600, 404, 404,
1914 404, 404, 404, 404, 404, 604, 604, 604, 605, 605,
1915 605, 605, 605, 605, 612, 612, 612, 612, 612, 612,
1916 613, 613, 613, 613, 613, 613, 620, 620, 620, 620,
1917 620, 620, 1518, 620, 627, 627, 627, 627, 627, 627,
1919 1518, 627, 634, 634, 634, 634, 634, 634, 1518, 634,
1920 642, 642, 642, 642, 1518, 1518, 1518, 642, 535, 535,
1921 535, 535, 1518, 1518, 1518, 535, 646, 646, 646, 646,
1922 539, 539, 539, 539, 650, 650, 650, 650, 543, 543,
1923 543, 543, 653, 653, 653, 653, 653, 653, 1518, 653,
1924 655, 655, 655, 655, 655, 655, 655, 1518, 655, 661,
1925 661, 661, 662, 662, 662, 663, 663, 663, 667, 667,
1926 667, 667, 667, 667, 668, 668, 668, 668, 668, 668,
1927 675, 675, 675, 675, 675, 675, 682, 682, 682, 682,
1928 682, 682, 689, 689, 689, 689, 689, 689, 696, 696,
1930 696, 696, 696, 696, 703, 703, 703, 706, 706, 706,
1931 708, 708, 708, 708, 593, 593, 593, 593, 712, 712,
1932 712, 712, 597, 597, 597, 597, 716, 716, 716, 716,
1933 601, 601, 601, 601, 719, 719, 719, 719, 719, 719,
1934 721, 721, 721, 721, 721, 721, 721, 727, 727, 727,
1935 727, 727, 727, 728, 728, 728, 728, 728, 728, 730,
1936 730, 730, 730, 730, 730, 730, 1518, 730, 736, 736,
1937 736, 736, 736, 736, 1518, 736, 737, 737, 737, 737,
1938 737, 737, 737, 1518, 737, 743, 743, 743, 743, 743,
1939 743, 1518, 743, 744, 744, 744, 744, 744, 744, 744,
1941 1518, 744, 750, 750, 750, 750, 750, 750, 1518, 750,
1942 751, 751, 751, 751, 751, 751, 751, 1518, 751, 757,
1943 757, 535, 535, 535, 535, 1518, 1518, 1518, 535, 535,
1944 535, 1518, 535, 1518, 1518, 1518, 535, 763, 763, 763,
1945 539, 539, 539, 539, 539, 539, 539, 767, 767, 767,
1946 543, 543, 543, 543, 543, 543, 543, 771, 771, 771,
1947 772, 772, 772, 772, 772, 772, 1518, 772, 779, 779,
1948 779, 780, 780, 780, 780, 780, 780, 787, 787, 787,
1949 787, 787, 787, 787, 793, 793, 793, 793, 793, 793,
1950 794, 794, 794, 794, 794, 794, 794, 800, 800, 800,
1952 800, 800, 800, 801, 801, 801, 801, 801, 801, 801,
1953 807, 807, 807, 807, 807, 807, 808, 808, 808, 808,
1954 808, 808, 808, 814, 814, 814, 814, 814, 814, 815,
1955 815, 815, 815, 815, 815, 815, 821, 821, 821, 822,
1956 822, 822, 825, 825, 825, 826, 826, 593, 593, 593,
1957 593, 593, 593, 1518, 593, 832, 832, 832, 597, 597,
1958 597, 597, 597, 597, 597, 836, 836, 836, 601, 601,
1959 601, 601, 601, 601, 601, 840, 840, 840, 841, 841,
1960 841, 841, 841, 841, 848, 848, 848, 848, 848, 848,
1961 849, 849, 849, 849, 849, 849, 856, 856, 856, 856,
1963 856, 856, 1518, 856, 863, 863, 863, 863, 863, 863,
1964 1518, 863, 870, 870, 870, 870, 870, 870, 1518, 870,
1965 877, 877, 877, 877, 877, 877, 1518, 877, 884, 884,
1966 884, 1518, 1518, 1518, 1518, 884, 887, 887, 887, 1518,
1967 1518, 1518, 1518, 887, 889, 889, 889, 889, 1518, 1518,
1968 1518, 889, 760, 760, 760, 760, 1518, 1518, 1518, 760,
1969 893, 893, 893, 893, 764, 764, 764, 764, 897, 897,
1970 897, 897, 768, 768, 768, 768, 900, 900, 900, 900,
1971 900, 900, 1518, 900, 902, 902, 902, 902, 902, 902,
1972 902, 1518, 902, 908, 908, 908, 908, 908, 908, 910,
1974 910, 910, 910, 910, 910, 910, 916, 916, 916, 1518,
1975 916, 916, 917, 917, 917, 917, 917, 917, 918, 918,
1976 918, 1518, 918, 918, 920, 920, 920, 920, 920, 920,
1977 921, 921, 921, 1518, 921, 921, 923, 923, 923, 923,
1978 923, 923, 924, 924, 924, 1518, 924, 924, 926, 926,
1979 926, 926, 926, 926, 927, 927, 927, 1518, 927, 927,
1980 929, 929, 929, 929, 929, 929, 930, 930, 930, 1518,
1981 930, 930, 932, 932, 932, 933, 933, 933, 934, 934,
1982 934, 938, 938, 938, 941, 941, 941, 943, 943, 943,
1983 943, 829, 829, 829, 829, 947, 947, 947, 947, 833,
1985 833, 833, 833, 951, 951, 951, 951, 837, 837, 837,
1986 837, 954, 954, 954, 954, 954, 954, 956, 956, 956,
1987 956, 956, 956, 956, 962, 962, 962, 962, 962, 962,
1988 969, 969, 969, 969, 969, 969, 969, 1518, 969, 975,
1989 975, 975, 975, 975, 975, 1518, 975, 976, 976, 976,
1990 976, 976, 976, 976, 1518, 976, 982, 982, 982, 982,
1991 982, 982, 1518, 982, 983, 983, 983, 983, 983, 983,
1992 983, 1518, 983, 989, 989, 989, 989, 989, 989, 1518,
1993 989, 990, 990, 990, 990, 990, 990, 990, 1518, 990,
1994 996, 996, 996, 996, 996, 996, 1518, 996, 997, 997,
1996 997, 997, 997, 997, 997, 1518, 997, 1003, 1003, 1003,
1997 1518, 1518, 1518, 1518, 1003, 1004, 1004, 1004, 1518, 1518,
1998 1518, 1518, 1004, 1007, 1007, 1007, 1518, 1518, 1518, 1518,
1999 1007, 1008, 1008, 760, 760, 760, 760, 1518, 1518, 1518,
2000 760, 760, 760, 1518, 760, 1518, 1518, 1518, 760, 1014,
2001 1014, 1014, 764, 764, 764, 764, 764, 764, 764, 1018,
2002 1018, 1018, 768, 768, 768, 768, 768, 768, 768, 1022,
2003 1022, 1022, 1023, 1023, 1023, 1023, 1023, 1023, 1518, 1023,
2004 1033, 1033, 1033, 1034, 1034, 1034, 1034, 1034, 1034, 1035,
2005 1035, 1035, 1035, 1035, 1035, 1038, 1038, 1038, 1518, 1038,
2007 1038, 1039, 1039, 1039, 1039, 1039, 1039, 1040, 1040, 1040,
2008 1518, 1040, 1040, 1041, 1041, 1041, 1041, 1041, 1041, 1042,
2009 1042, 1042, 1518, 1042, 1042, 1043, 1043, 1043, 1043, 1043,
2010 1043, 1044, 1044, 1044, 1518, 1044, 1044, 1045, 1045, 1045,
2011 1045, 1045, 1045, 1046, 1046, 1046, 1518, 1046, 1046, 1047,
2012 1047, 1047, 1047, 1047, 1047, 1048, 1048, 1048, 1518, 1048,
2013 1048, 1049, 1049, 1049, 1050, 1050, 1050, 1051, 1051, 1051,
2014 1054, 1054, 1054, 1055, 1055, 829, 829, 829, 829, 829,
2015 829, 1518, 829, 1061, 1061, 1061, 833, 833, 833, 833,
2016 833, 833, 833, 1065, 1065, 1065, 837, 837, 837, 837,
2018 837, 837, 837, 1069, 1069, 1069, 1070, 1070, 1070, 1070,
2019 1070, 1070, 1071, 1071, 1071, 1518, 1071, 1071, 1073, 1073,
2020 1073, 1073, 1073, 1073, 1075, 1075, 1075, 1075, 1075, 1075,
2021 1075, 1081, 1081, 1081, 1518, 1081, 1081, 1518, 1081, 1082,
2022 1082, 1082, 1082, 1082, 1082, 1518, 1082, 1083, 1083, 1083,
2023 1518, 1083, 1083, 1085, 1085, 1085, 1085, 1085, 1085, 1518,
2024 1085, 1086, 1086, 1086, 1518, 1086, 1086, 1088, 1088, 1088,
2025 1088, 1088, 1088, 1518, 1088, 1089, 1089, 1089, 1518, 1089,
2026 1089, 1091, 1091, 1091, 1091, 1091, 1091, 1518, 1091, 1092,
2027 1092, 1092, 1518, 1092, 1092, 1094, 1094, 1094, 1094, 1094,
2029 1094, 1518, 1094, 1095, 1095, 1095, 1518, 1095, 1095, 1097,
2030 1097, 1097, 1518, 1518, 1518, 1518, 1097, 1098, 1098, 1098,
2031 1518, 1518, 1518, 1518, 1098, 1099, 1099, 1099, 1518, 1518,
2032 1518, 1518, 1099, 1103, 1103, 1103, 1518, 1518, 1518, 1518,
2033 1103, 1106, 1106, 1106, 1518, 1518, 1518, 1518, 1106, 1108,
2034 1108, 1108, 1108, 1518, 1518, 1518, 1108, 1011, 1011, 1011,
2035 1011, 1518, 1518, 1518, 1011, 1112, 1112, 1112, 1112, 1015,
2036 1015, 1015, 1015, 1116, 1116, 1116, 1116, 1019, 1019, 1019,
2037 1019, 1119, 1119, 1119, 1119, 1119, 1119, 1518, 1119, 1121,
2038 1121, 1121, 1121, 1121, 1121, 1121, 1518, 1121, 1128, 1128,
2040 1128, 1128, 1030, 1030, 1030, 1030, 1131, 1131, 1131, 1131,
2041 1131, 1131, 1132, 1132, 1132, 1518, 1132, 1132, 1133, 1133,
2042 1133, 1518, 1133, 1133, 1134, 1134, 1134, 1518, 1134, 1134,
2043 1135, 1135, 1135, 1518, 1135, 1135, 1136, 1136, 1136, 1518,
2044 1136, 1136, 1137, 1137, 1137, 1518, 1137, 1137, 1138, 1138,
2045 1138, 1518, 1138, 1138, 1139, 1139, 1139, 1140, 1140, 1140,
2046 1141, 1141, 1141, 1145, 1145, 1145, 1148, 1148, 1148, 1150,
2047 1150, 1150, 1150, 1058, 1058, 1058, 1058, 1154, 1154, 1154,
2048 1154, 1062, 1062, 1062, 1062, 1158, 1158, 1158, 1158, 1066,
2049 1066, 1066, 1066, 1161, 1161, 1161, 1161, 1161, 1161, 1162,
2051 1162, 1162, 1518, 1162, 1162, 1166, 1166, 1166, 1167, 1167,
2052 1167, 1167, 1167, 1167, 1168, 1168, 1168, 1168, 1168, 1168,
2053 1171, 1171, 1171, 1518, 1171, 1171, 1518, 1171, 1172, 1172,
2054 1172, 1172, 1172, 1172, 1518, 1172, 1173, 1173, 1173, 1518,
2055 1173, 1173, 1518, 1173, 1174, 1174, 1174, 1174, 1174, 1174,
2056 1518, 1174, 1175, 1175, 1175, 1518, 1175, 1175, 1518, 1175,
2057 1176, 1176, 1176, 1176, 1176, 1176, 1518, 1176, 1177, 1177,
2058 1177, 1518, 1177, 1177, 1518, 1177, 1178, 1178, 1178, 1178,
2059 1178, 1178, 1518, 1178, 1179, 1179, 1179, 1518, 1179, 1179,
2060 1518, 1179, 1180, 1180, 1180, 1180, 1180, 1180, 1518, 1180,
2062 1181, 1181, 1181, 1518, 1181, 1181, 1518, 1181, 1182, 1182,
2063 1182, 1518, 1518, 1518, 1518, 1182, 1182, 1182, 1518, 1518,
2064 1518, 1518, 1518, 1182, 1183, 1183, 1183, 1518, 1518, 1518,
2065 1518, 1183, 1184, 1184, 1184, 1518, 1518, 1518, 1518, 1184,
2066 1187, 1187, 1187, 1518, 1518, 1518, 1518, 1187, 1188, 1188,
2067 1011, 1011, 1011, 1011, 1518, 1518, 1518, 1011, 1011, 1011,
2068 1518, 1011, 1518, 1518, 1518, 1011, 1194, 1194, 1194, 1015,
2069 1015, 1015, 1015, 1015, 1015, 1015, 1198, 1198, 1198, 1019,
2070 1019, 1019, 1019, 1019, 1019, 1019, 1202, 1202, 1202, 1203,
2071 1203, 1203, 1203, 1203, 1203, 1518, 1203, 1204, 1204, 1204,
2073 1518, 1204, 1204, 1209, 1209, 1209, 1030, 1030, 1030, 1030,
2074 1030, 1030, 1030, 1210, 1210, 1210, 1518, 1210, 1210, 1211,
2075 1211, 1211, 1518, 1211, 1211, 1212, 1212, 1212, 1518, 1212,
2076 1212, 1213, 1213, 1213, 1518, 1213, 1213, 1214, 1214, 1214,
2077 1518, 1214, 1214, 1215, 1215, 1215, 1518, 1215, 1215, 1216,
2078 1216, 1216, 1518, 1216, 1216, 1217, 1217, 1217, 1218, 1218,
2079 1218, 1219, 1219, 1219, 1222, 1222, 1222, 1223, 1223, 1058,
2080 1058, 1058, 1058, 1058, 1058, 1518, 1058, 1229, 1229, 1229,
2081 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1233, 1233, 1233,
2082 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1234, 1234, 1234,
2084 1518, 1234, 1234, 1236, 1236, 1236, 1236, 1163, 1163, 1163,
2085 1163, 1239, 1239, 1239, 1239, 1239, 1239, 1240, 1240, 1240,
2086 1518, 1240, 1240, 1518, 1240, 1241, 1241, 1241, 1518, 1241,
2087 1241, 1518, 1241, 1242, 1242, 1242, 1518, 1242, 1242, 1518,
2088 1242, 1243, 1243, 1243, 1518, 1243, 1243, 1518, 1243, 1244,
2089 1244, 1244, 1518, 1244, 1244, 1518, 1244, 1245, 1245, 1245,
2090 1518, 1245, 1245, 1518, 1245, 1246, 1246, 1246, 1518, 1246,
2091 1246, 1518, 1246, 1247, 1247, 1247, 1518, 1518, 1518, 1518,
2092 1247, 1248, 1248, 1248, 1518, 1518, 1518, 1518, 1248, 1249,
2093 1249, 1249, 1518, 1518, 1518, 1518, 1249, 1253, 1253, 1253,
2095 1518, 1518, 1518, 1518, 1253, 1256, 1256, 1256, 1518, 1518,
2096 1518, 1518, 1256, 1258, 1258, 1258, 1258, 1518, 1518, 1518,
2097 1258, 1191, 1191, 1191, 1191, 1518, 1518, 1518, 1191, 1262,
2098 1262, 1262, 1262, 1195, 1195, 1195, 1195, 1266, 1266, 1266,
2099 1266, 1199, 1199, 1199, 1199, 1269, 1269, 1269, 1269, 1269,
2100 1269, 1518, 1269, 1270, 1270, 1270, 1518, 1270, 1270, 1518,
2101 1270, 1272, 1272, 1272, 1272, 1206, 1206, 1206, 1206, 1036,
2102 1036, 1036, 1518, 1036, 1036, 1275, 1275, 1275, 1276, 1276,
2103 1276, 1277, 1277, 1277, 1281, 1281, 1281, 1284, 1284, 1284,
2104 1286, 1286, 1286, 1286, 1226, 1226, 1226, 1226, 1290, 1290,
2106 1290, 1290, 1230, 1230, 1230, 1230, 1293, 1293, 1293, 1518,
2107 1293, 1293, 1297, 1297, 1297, 1163, 1163, 1163, 1298, 1298,
2108 1298, 1518, 1298, 1298, 1518, 1298, 1299, 1299, 1299, 1518,
2109 1299, 1299, 1518, 1299, 1300, 1300, 1300, 1518, 1300, 1300,
2110 1518, 1300, 1301, 1301, 1301, 1518, 1301, 1301, 1518, 1301,
2111 1302, 1302, 1302, 1518, 1302, 1302, 1518, 1302, 1303, 1303,
2112 1303, 1518, 1303, 1303, 1518, 1303, 1304, 1304, 1304, 1518,
2113 1304, 1304, 1518, 1304, 1305, 1305, 1305, 1518, 1518, 1518,
2114 1518, 1305, 1305, 1305, 1518, 1518, 1518, 1518, 1518, 1305,
2115 1306, 1306, 1306, 1518, 1518, 1518, 1518, 1306, 1307, 1307,
2117 1307, 1518, 1518, 1518, 1518, 1307, 1310, 1310, 1310, 1518,
2118 1518, 1518, 1518, 1310, 1311, 1311, 1191, 1191, 1518, 1191,
2119 1518, 1518, 1518, 1191, 1317, 1317, 1317, 1195, 1195, 1195,
2120 1321, 1321, 1321, 1199, 1199, 1199, 1322, 1322, 1322, 1518,
2121 1322, 1322, 1518, 1322, 1326, 1326, 1326, 1206, 1206, 1206,
2122 1327, 1327, 1327, 1328, 1328, 1328, 1329, 1329, 1329, 1332,
2123 1332, 1332, 1333, 1333, 1226, 1226, 1518, 1226, 1339, 1339,
2124 1339, 1230, 1230, 1230, 1341, 1341, 1341, 1341, 1294, 1294,
2125 1294, 1294, 1169, 1169, 1169, 1518, 1169, 1169, 1518, 1169,
2126 1344, 1344, 1344, 1518, 1518, 1518, 1518, 1344, 1345, 1345,
2128 1345, 1518, 1518, 1518, 1518, 1345, 1346, 1346, 1346, 1518,
2129 1518, 1518, 1518, 1346, 1350, 1350, 1350, 1518, 1518, 1518,
2130 1518, 1350, 1353, 1353, 1353, 1518, 1518, 1518, 1518, 1353,
2131 1355, 1355, 1355, 1355, 1518, 1518, 1518, 1355, 1314, 1314,
2132 1314, 1314, 1518, 1518, 1518, 1314, 1359, 1359, 1359, 1359,
2133 1318, 1318, 1318, 1318, 1362, 1362, 1362, 1518, 1362, 1362,
2134 1518, 1362, 1364, 1364, 1364, 1364, 1323, 1323, 1323, 1323,
2135 1367, 1367, 1367, 1368, 1368, 1368, 1369, 1369, 1369, 1373,
2136 1373, 1373, 1376, 1376, 1376, 1378, 1378, 1378, 1378, 1336,
2137 1336, 1336, 1336, 1384, 1384, 1384, 1294, 1294, 1294, 1385,
2139 1385, 1385, 1518, 1518, 1518, 1518, 1385, 1385, 1385, 1518,
2140 1518, 1518, 1518, 1518, 1385, 1386, 1386, 1386, 1518, 1518,
2141 1518, 1518, 1386, 1387, 1387, 1387, 1518, 1518, 1518, 1518,
2142 1387, 1390, 1390, 1390, 1518, 1518, 1518, 1518, 1390, 1391,
2143 1391, 1314, 1314, 1518, 1314, 1518, 1518, 1518, 1314, 1397,
2144 1397, 1397, 1318, 1318, 1318, 1398, 1398, 1323, 1323, 1518,
2145 1323, 1401, 1401, 1401, 1402, 1402, 1402, 1403, 1403, 1403,
2146 1406, 1406, 1406, 1407, 1407, 1336, 1336, 1518, 1336, 1411,
2147 1411, 1411, 1411, 1518, 1518, 1518, 1411, 1381, 1381, 1381,
2148 1381, 1518, 1518, 1518, 1381, 1414, 1414, 1414, 1518, 1518,
2150 1518, 1518, 1414, 1415, 1415, 1415, 1518, 1518, 1518, 1518,
2151 1415, 1416, 1416, 1416, 1518, 1518, 1518, 1518, 1416, 1420,
2152 1420, 1420, 1518, 1518, 1518, 1518, 1420, 1423, 1423, 1423,
2153 1518, 1518, 1518, 1518, 1423, 1425, 1425, 1425, 1425, 1518,
2154 1518, 1518, 1425, 1394, 1394, 1394, 1394, 1518, 1518, 1518,
2155 1394, 1428, 1428, 1428, 1431, 1431, 1431, 1432, 1432, 1432,
2156 1433, 1433, 1433, 1434, 1434, 1434, 1438, 1438, 1438, 1441,
2157 1441, 1441, 1442, 1442, 1381, 1381, 1518, 1381, 1518, 1518,
2158 1518, 1381, 1445, 1445, 1445, 1518, 1518, 1518, 1518, 1445,
2159 1445, 1445, 1518, 1518, 1518, 1518, 1518, 1445, 1446, 1446,
2161 1446, 1518, 1518, 1518, 1518, 1446, 1447, 1447, 1447, 1518,
2162 1518, 1518, 1518, 1447, 1450, 1450, 1450, 1518, 1518, 1518,
2163 1518, 1450, 1451, 1451, 1394, 1394, 1518, 1394, 1518, 1518,
2164 1518, 1394, 1454, 1454, 1454, 1455, 1455, 1455, 1458, 1458,
2165 1458, 1459, 1459, 1459, 1460, 1460, 1460, 1461, 1461, 1461,
2166 1464, 1464, 1464, 1465, 1465, 1465, 1518, 1518, 1518, 1518,
2167 1465, 1468, 1468, 1468, 1518, 1518, 1518, 1518, 1468, 1469,
2168 1469, 1469, 1518, 1518, 1518, 1518, 1469, 1470, 1470, 1470,
2169 1518, 1518, 1518, 1518, 1470, 1471, 1471, 1471, 1518, 1518,
2170 1518, 1518, 1471, 1475, 1475, 1475, 1518, 1518, 1518, 1518,
2172 1475, 1478, 1478, 1478, 1518, 1518, 1518, 1518, 1478, 1479,
2173 1479, 1479, 1480, 1480, 1480, 1481, 1481, 1481, 1485, 1485,
2174 1485, 1486, 1486, 1486, 1487, 1487, 1487, 1491, 1491, 1491,
2175 1518, 1518, 1518, 1518, 1491, 1492, 1492, 1492, 1518, 1518,
2176 1518, 1518, 1492, 1495, 1495, 1495, 1518, 1518, 1518, 1518,
2177 1495, 1496, 1496, 1496, 1518, 1518, 1518, 1518, 1496, 1496,
2178 1496, 1518, 1518, 1518, 1518, 1518, 1496, 1497, 1497, 1497,
2179 1518, 1518, 1518, 1518, 1497, 1498, 1498, 1498, 1518, 1518,
2180 1518, 1518, 1498, 1501, 1501, 1501, 1518, 1518, 1518, 1518,
2181 1501, 1502, 1502, 1502, 1503, 1503, 1503, 1504, 1504, 1504,
2183 1518, 1518, 1518, 1518, 1504, 1505, 1505, 1505, 1518, 1518,
2184 1518, 1518, 1505, 1506, 1506, 1506, 1518, 1518, 1518, 1518,
2185 1506, 1510, 1510, 1510, 1518, 1518, 1518, 1518, 1510, 1511,
2186 1511, 1511, 1518, 1518, 1518, 1518, 1511, 1512, 1512, 1512,
2187 1518, 1518, 1518, 1518, 1512, 1516, 1516, 1516, 1518, 1518,
2188 1518, 1518, 1516, 1516, 1516, 1518, 1518, 1518, 1518, 1518,
2189 1516, 1517, 1517, 1517, 1518, 1518, 1518, 1518, 1517, 1517,
2190 1517, 1518, 1518, 1518, 1518, 1518, 1517, 5, 1518, 1518,
2191 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
2192 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
2194 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
2195 1518, 1518, 1518, 1518, 1518, 1518, 1518
2196 } ;
2198 static yyconst flex_int16_t yy_chk[10018] =
2199 { 0,
2200 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2201 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2202 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2203 1, 1, 1, 1, 1, 1, 1, 1, 1, 10,
2204 25, 25, 28, 40, 28, 36, 36, 41, 41, 41,
2205 40, 1498, 31, 34, 50, 50, 50, 1499, 63, 65,
2206 65, 10, 15, 1504, 15, 15, 15, 15, 15, 15,
2207 15, 15, 15, 15, 31, 34, 15, 15, 15, 15,
2208 63, 67, 92, 15, 15, 15, 15, 15, 15, 15,
2209 15, 15, 15, 15, 16, 16, 16, 16, 16, 16,
2211 16, 16, 16, 67, 92, 97, 97, 97, 1505, 16,
2212 17, 17, 17, 17, 17, 17, 17, 17, 17, 18,
2213 18, 18, 18, 18, 18, 22, 82, 22, 22, 22,
2214 22, 22, 22, 22, 22, 22, 42, 82, 42, 42,
2215 42, 42, 42, 42, 42, 42, 42, 42, 1506, 1507,
2216 42, 42, 42, 42, 1508, 95, 1509, 42, 42, 42,
2217 42, 42, 42, 42, 42, 42, 42, 42, 43, 43,
2218 43, 43, 43, 43, 43, 43, 45, 95, 45, 45,
2219 45, 45, 45, 45, 45, 45, 45, 47, 47, 47,
2220 47, 47, 47, 47, 47, 47, 100, 100, 100, 47,
2222 47, 47, 47, 111, 111, 111, 47, 47, 47, 47,
2223 47, 47, 47, 47, 47, 47, 47, 48, 1510, 48,
2224 48, 48, 48, 48, 48, 48, 48, 48, 52, 52,
2225 52, 52, 52, 52, 52, 52, 52, 69, 71, 69,
2226 52, 52, 72, 86, 106, 110, 1511, 52, 52, 52,
2227 116, 116, 116, 71, 86, 106, 110, 72, 1512, 128,
2228 71, 69, 1513, 1514, 72, 73, 117, 73, 73, 73,
2229 73, 73, 73, 73, 73, 73, 165, 117, 1515, 1516,
2230 73, 128, 94, 1517, 94, 165, 206, 73, 74, 74,
2231 74, 74, 74, 74, 75, 206, 75, 75, 75, 75,
2233 75, 75, 75, 75, 75, 75, 94, 1497, 75, 75,
2234 75, 75, 143, 143, 143, 75, 75, 75, 75, 75,
2235 75, 75, 75, 75, 75, 75, 76, 76, 76, 76,
2236 76, 76, 76, 76, 77, 1496, 77, 77, 77, 77,
2237 77, 77, 77, 77, 77, 79, 79, 79, 79, 79,
2238 79, 79, 79, 79, 164, 164, 164, 79, 79, 169,
2239 169, 169, 1493, 1492, 79, 79, 79, 83, 144, 83,
2240 83, 83, 83, 83, 83, 83, 83, 83, 83, 144,
2241 1491, 83, 83, 171, 171, 171, 1478, 1476, 83, 83,
2242 83, 84, 150, 84, 84, 84, 84, 84, 84, 84,
2244 84, 84, 84, 150, 1475, 84, 84, 172, 172, 172,
2245 1474, 1473, 84, 84, 84, 85, 85, 85, 85, 85,
2246 85, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2247 191, 191, 191, 89, 89, 196, 196, 196, 1472, 89,
2248 89, 89, 89, 101, 1471, 101, 101, 101, 101, 101,
2249 101, 101, 101, 101, 101, 102, 102, 102, 102, 102,
2250 102, 102, 102, 107, 154, 107, 107, 107, 107, 107,
2251 107, 107, 107, 107, 107, 154, 1470, 107, 107, 201,
2252 201, 201, 1469, 1468, 107, 107, 107, 108, 155, 108,
2253 108, 108, 108, 108, 108, 108, 108, 108, 108, 155,
2255 1466, 108, 108, 210, 210, 210, 1465, 1453, 108, 108,
2256 108, 109, 109, 109, 109, 109, 109, 113, 113, 113,
2257 113, 113, 113, 113, 113, 113, 216, 1451, 1448, 113,
2258 113, 237, 237, 237, 1447, 216, 113, 113, 113, 114,
2259 179, 114, 114, 114, 114, 114, 114, 114, 114, 114,
2260 114, 179, 1446, 114, 114, 244, 244, 244, 1445, 1444,
2261 114, 114, 114, 120, 120, 120, 120, 120, 120, 120,
2262 120, 120, 1442, 1423, 121, 120, 120, 183, 185, 189,
2263 190, 120, 120, 120, 120, 121, 1421, 1420, 183, 185,
2264 189, 190, 1419, 1418, 121, 122, 202, 122, 122, 122,
2266 122, 122, 122, 122, 122, 122, 122, 202, 1417, 122,
2267 122, 276, 276, 276, 1416, 122, 122, 122, 122, 123,
2268 238, 123, 123, 123, 123, 123, 123, 123, 123, 123,
2269 123, 238, 1415, 123, 123, 281, 281, 281, 125, 123,
2270 123, 123, 123, 124, 124, 124, 124, 124, 124, 125,
2271 1414, 269, 286, 286, 286, 292, 292, 292, 125, 132,
2272 269, 132, 132, 132, 132, 132, 132, 132, 132, 132,
2273 138, 138, 138, 138, 138, 138, 138, 138, 138, 280,
2274 1393, 1391, 138, 138, 318, 318, 318, 1388, 280, 138,
2275 138, 138, 140, 140, 140, 140, 140, 140, 140, 140,
2277 140, 282, 1387, 1386, 140, 140, 322, 322, 322, 1385,
2278 282, 140, 140, 140, 141, 245, 141, 141, 141, 141,
2279 141, 141, 141, 141, 141, 141, 245, 1380, 141, 141,
2280 327, 327, 327, 1379, 1378, 141, 141, 141, 147, 255,
2281 147, 147, 147, 147, 147, 147, 147, 147, 147, 151,
2282 255, 151, 151, 151, 151, 151, 151, 151, 151, 151,
2283 151, 1366, 1365, 151, 151, 332, 332, 332, 1364, 1362,
2284 151, 151, 151, 152, 259, 152, 152, 152, 152, 152,
2285 152, 152, 152, 152, 152, 259, 1361, 152, 152, 341,
2286 341, 341, 159, 260, 152, 152, 152, 153, 153, 153,
2288 153, 153, 153, 159, 260, 348, 348, 348, 369, 369,
2289 369, 369, 159, 160, 299, 160, 160, 160, 160, 160,
2290 160, 160, 160, 160, 160, 299, 1360, 160, 160, 380,
2291 380, 380, 1359, 160, 160, 160, 160, 161, 303, 161,
2292 161, 161, 161, 161, 161, 161, 161, 161, 161, 303,
2293 1353, 161, 161, 387, 387, 387, 163, 161, 161, 161,
2294 161, 162, 162, 162, 162, 162, 162, 163, 394, 394,
2295 394, 437, 437, 437, 1351, 170, 163, 166, 166, 166,
2296 166, 166, 166, 166, 166, 166, 170, 1350, 1349, 166,
2297 166, 441, 441, 441, 1348, 170, 166, 166, 166, 167,
2299 305, 167, 167, 167, 167, 167, 167, 167, 167, 167,
2300 167, 305, 1347, 167, 167, 446, 446, 446, 1346, 167,
2301 167, 167, 167, 180, 309, 180, 180, 180, 180, 180,
2302 180, 180, 180, 180, 180, 309, 1345, 180, 180, 451,
2303 451, 451, 1344, 1343, 180, 180, 180, 181, 310, 181,
2304 181, 181, 181, 181, 181, 181, 181, 181, 181, 310,
2305 1342, 181, 181, 457, 457, 457, 1341, 312, 181, 181,
2306 181, 182, 182, 182, 182, 182, 182, 186, 312, 186,
2307 186, 186, 186, 186, 186, 186, 186, 186, 186, 1339,
2308 1337, 186, 186, 492, 492, 492, 1336, 1326, 186, 186,
2310 186, 187, 316, 187, 187, 187, 187, 187, 187, 187,
2311 187, 187, 187, 316, 1324, 187, 187, 496, 496, 496,
2312 1323, 1322, 187, 187, 187, 188, 188, 188, 188, 188,
2313 188, 198, 198, 198, 198, 198, 198, 198, 198, 198,
2314 337, 1321, 1319, 198, 198, 500, 500, 500, 1318, 337,
2315 198, 198, 198, 199, 317, 199, 199, 199, 199, 199,
2316 199, 199, 199, 199, 199, 317, 1313, 199, 199, 505,
2317 505, 505, 1311, 1308, 199, 199, 199, 205, 205, 205,
2318 205, 205, 205, 205, 205, 205, 510, 510, 510, 205,
2319 205, 519, 519, 519, 1307, 205, 205, 205, 205, 207,
2321 207, 207, 207, 207, 207, 207, 207, 207, 343, 1306,
2322 1305, 207, 207, 526, 526, 526, 1304, 343, 207, 207,
2323 207, 208, 333, 208, 208, 208, 208, 208, 208, 208,
2324 208, 208, 208, 333, 211, 208, 208, 344, 358, 381,
2325 388, 208, 208, 208, 208, 211, 344, 358, 1303, 1302,
2326 381, 388, 1301, 1300, 211, 214, 217, 214, 214, 214,
2327 214, 214, 214, 214, 214, 214, 423, 217, 533, 533,
2328 533, 559, 559, 559, 559, 423, 217, 218, 395, 218,
2329 218, 218, 218, 218, 218, 218, 218, 218, 218, 395,
2330 1299, 218, 218, 567, 567, 567, 1298, 218, 218, 218,
2332 218, 219, 409, 219, 219, 219, 219, 219, 219, 219,
2333 219, 219, 219, 409, 1297, 219, 219, 574, 574, 574,
2334 221, 219, 219, 219, 219, 220, 220, 220, 220, 220,
2335 220, 221, 222, 413, 414, 1295, 1294, 430, 445, 447,
2336 221, 515, 521, 222, 413, 414, 430, 445, 447, 1292,
2337 515, 521, 222, 224, 224, 224, 224, 224, 224, 224,
2338 224, 224, 228, 228, 228, 228, 228, 228, 228, 228,
2339 228, 228, 232, 232, 232, 232, 232, 232, 232, 232,
2340 232, 522, 1291, 1290, 232, 232, 581, 581, 581, 1288,
2341 522, 232, 232, 232, 234, 234, 234, 234, 234, 234,
2343 234, 234, 234, 528, 1287, 1286, 234, 234, 588, 588,
2344 588, 1274, 528, 234, 234, 234, 235, 466, 235, 235,
2345 235, 235, 235, 235, 235, 235, 235, 235, 466, 1273,
2346 235, 235, 641, 641, 641, 1272, 1270, 235, 235, 235,
2347 241, 241, 241, 241, 241, 241, 241, 241, 241, 529,
2348 1268, 1267, 241, 241, 645, 645, 645, 1266, 529, 241,
2349 241, 241, 242, 470, 242, 242, 242, 242, 242, 242,
2350 242, 242, 242, 242, 470, 1264, 242, 242, 649, 649,
2351 649, 1263, 1262, 242, 242, 242, 248, 472, 248, 248,
2352 248, 248, 248, 248, 248, 248, 248, 252, 472, 252,
2354 252, 252, 252, 252, 252, 252, 252, 252, 256, 476,
2355 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
2356 476, 1256, 256, 256, 654, 654, 654, 1254, 1253, 256,
2357 256, 256, 257, 477, 257, 257, 257, 257, 257, 257,
2358 257, 257, 257, 257, 477, 1252, 257, 257, 659, 659,
2359 659, 264, 479, 257, 257, 257, 258, 258, 258, 258,
2360 258, 258, 264, 479, 665, 665, 665, 707, 707, 707,
2361 1251, 264, 265, 483, 265, 265, 265, 265, 265, 265,
2362 265, 265, 265, 265, 483, 1250, 265, 265, 711, 711,
2363 711, 1249, 265, 265, 265, 265, 266, 484, 266, 266,
2365 266, 266, 266, 266, 266, 266, 266, 266, 484, 1248,
2366 266, 266, 715, 715, 715, 268, 266, 266, 266, 266,
2367 267, 267, 267, 267, 267, 267, 268, 270, 486, 274,
2368 490, 491, 511, 568, 1247, 268, 535, 536, 270, 486,
2369 274, 490, 491, 511, 568, 535, 536, 270, 271, 274,
2370 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
2371 1246, 1245, 271, 271, 538, 720, 720, 720, 271, 271,
2372 271, 271, 272, 538, 272, 272, 272, 272, 272, 272,
2373 272, 272, 272, 272, 1244, 1243, 272, 272, 725, 725,
2374 725, 275, 272, 272, 272, 272, 273, 273, 273, 273,
2376 273, 273, 275, 734, 734, 734, 741, 741, 741, 1242,
2377 287, 275, 283, 283, 283, 283, 283, 283, 283, 283,
2378 283, 287, 1241, 1240, 283, 283, 547, 748, 748, 748,
2379 287, 283, 283, 283, 284, 547, 284, 284, 284, 284,
2380 284, 284, 284, 284, 284, 284, 1239, 1238, 284, 284,
2381 755, 755, 755, 1237, 284, 284, 284, 284, 290, 290,
2382 290, 290, 290, 290, 290, 290, 290, 300, 575, 300,
2383 300, 300, 300, 300, 300, 300, 300, 300, 300, 575,
2384 1236, 300, 300, 791, 791, 791, 1233, 1231, 300, 300,
2385 300, 301, 582, 301, 301, 301, 301, 301, 301, 301,
2387 301, 301, 301, 582, 1230, 301, 301, 798, 798, 798,
2388 1229, 589, 301, 301, 301, 302, 302, 302, 302, 302,
2389 302, 306, 589, 306, 306, 306, 306, 306, 306, 306,
2390 306, 306, 306, 1227, 1226, 306, 306, 805, 805, 805,
2391 1209, 1207, 306, 306, 306, 307, 606, 307, 307, 307,
2392 307, 307, 307, 307, 307, 307, 307, 606, 1206, 307,
2393 307, 812, 812, 812, 1204, 610, 307, 307, 307, 308,
2394 308, 308, 308, 308, 308, 313, 610, 313, 313, 313,
2395 313, 313, 313, 313, 313, 313, 313, 1202, 1200, 313,
2396 313, 819, 819, 819, 1199, 1198, 313, 313, 313, 314,
2398 611, 314, 314, 314, 314, 314, 314, 314, 314, 314,
2399 314, 611, 1196, 314, 314, 825, 825, 825, 825, 1195,
2400 314, 314, 314, 315, 315, 315, 315, 315, 315, 329,
2401 329, 329, 329, 329, 329, 329, 329, 329, 620, 1190,
2402 1188, 329, 329, 627, 888, 888, 888, 620, 329, 329,
2403 329, 330, 627, 330, 330, 330, 330, 330, 330, 330,
2404 330, 330, 330, 1185, 1184, 330, 330, 892, 892, 892,
2405 1183, 1182, 330, 330, 330, 336, 336, 336, 336, 336,
2406 336, 336, 336, 336, 896, 896, 896, 336, 336, 901,
2407 901, 901, 1181, 336, 336, 336, 336, 338, 338, 338,
2409 338, 338, 338, 338, 338, 338, 634, 1179, 1177, 338,
2410 338, 642, 906, 906, 906, 634, 338, 338, 338, 339,
2411 642, 339, 339, 339, 339, 339, 339, 339, 339, 339,
2412 339, 1175, 342, 339, 339, 643, 644, 653, 655, 339,
2413 339, 339, 339, 342, 643, 644, 653, 655, 909, 909,
2414 909, 349, 342, 345, 345, 345, 345, 345, 345, 345,
2415 345, 345, 349, 1173, 1171, 345, 345, 914, 914, 914,
2416 1169, 349, 345, 345, 345, 346, 670, 346, 346, 346,
2417 346, 346, 346, 346, 346, 346, 346, 670, 1168, 346,
2418 346, 730, 936, 936, 936, 346, 346, 346, 346, 352,
2420 730, 352, 352, 352, 352, 352, 352, 352, 352, 352,
2421 356, 359, 356, 356, 356, 356, 356, 356, 356, 356,
2422 356, 736, 359, 942, 942, 942, 946, 946, 946, 1167,
2423 736, 359, 360, 674, 360, 360, 360, 360, 360, 360,
2424 360, 360, 360, 360, 674, 1166, 360, 360, 950, 950,
2425 950, 1164, 360, 360, 360, 360, 361, 676, 361, 361,
2426 361, 361, 361, 361, 361, 361, 361, 361, 676, 1163,
2427 361, 361, 955, 955, 955, 363, 361, 361, 361, 361,
2428 362, 362, 362, 362, 362, 362, 363, 364, 680, 681,
2429 683, 687, 688, 690, 694, 363, 1161, 737, 364, 680,
2431 681, 683, 687, 688, 690, 694, 737, 364, 368, 368,
2432 368, 368, 368, 368, 368, 368, 368, 371, 371, 371,
2433 371, 371, 371, 371, 371, 371, 375, 375, 375, 375,
2434 375, 375, 375, 375, 375, 743, 1160, 1159, 375, 375,
2435 960, 960, 960, 1158, 743, 375, 375, 375, 377, 377,
2436 377, 377, 377, 377, 377, 377, 377, 744, 1156, 1155,
2437 377, 377, 973, 973, 973, 1154, 744, 377, 377, 377,
2438 378, 695, 378, 378, 378, 378, 378, 378, 378, 378,
2439 378, 378, 695, 1152, 378, 378, 980, 980, 980, 1151,
2440 1150, 378, 378, 378, 384, 384, 384, 384, 384, 384,
2442 384, 384, 384, 750, 1131, 1130, 384, 384, 987, 987,
2443 987, 1129, 750, 384, 384, 384, 385, 697, 385, 385,
2444 385, 385, 385, 385, 385, 385, 385, 385, 697, 1128,
2445 385, 385, 994, 994, 994, 1118, 1117, 385, 385, 385,
2446 391, 391, 391, 391, 391, 391, 391, 391, 391, 751,
2447 1116, 1114, 391, 391, 1001, 1001, 1001, 1113, 751, 391,
2448 391, 391, 392, 701, 392, 392, 392, 392, 392, 392,
2449 392, 392, 392, 392, 701, 1112, 392, 392, 1007, 1007,
2450 1007, 1007, 1106, 392, 392, 392, 398, 398, 398, 398,
2451 398, 398, 398, 398, 398, 398, 402, 702, 402, 402,
2453 402, 402, 402, 402, 402, 402, 402, 406, 702, 406,
2454 406, 406, 406, 406, 406, 406, 406, 406, 410, 726,
2455 410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
2456 726, 1104, 410, 410, 760, 1054, 1054, 1054, 1054, 410,
2457 410, 410, 411, 760, 411, 411, 411, 411, 411, 411,
2458 411, 411, 411, 411, 1103, 1102, 411, 411, 1074, 1074,
2459 1074, 418, 781, 411, 411, 411, 412, 412, 412, 412,
2460 412, 412, 418, 781, 761, 1079, 1079, 1079, 1107, 1107,
2461 1107, 418, 419, 761, 419, 419, 419, 419, 419, 419,
2462 419, 419, 419, 419, 1101, 1100, 419, 419, 763, 1111,
2464 1111, 1111, 419, 419, 419, 419, 420, 763, 420, 420,
2465 420, 420, 420, 420, 420, 420, 420, 420, 1099, 1098,
2466 420, 420, 1115, 1115, 1115, 422, 420, 420, 420, 420,
2467 421, 421, 421, 421, 421, 421, 422, 424, 772, 428,
2468 786, 792, 799, 806, 813, 422, 1097, 772, 424, 1095,
2469 428, 786, 792, 799, 806, 813, 1092, 424, 425, 428,
2470 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
2471 1089, 1086, 425, 425, 1120, 1120, 1120, 1083, 425, 425,
2472 425, 425, 426, 820, 426, 426, 426, 426, 426, 426,
2473 426, 426, 426, 426, 820, 1081, 426, 426, 1125, 1125,
2475 1125, 429, 426, 426, 426, 426, 427, 427, 427, 427,
2476 427, 427, 429, 431, 842, 435, 846, 847, 1076, 915,
2477 856, 429, 863, 870, 431, 842, 435, 846, 847, 856,
2478 915, 863, 870, 431, 432, 435, 432, 432, 432, 432,
2479 432, 432, 432, 432, 432, 432, 1075, 1073, 432, 432,
2480 877, 1127, 1127, 1127, 432, 432, 432, 432, 433, 877,
2481 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
2482 1070, 1069, 433, 433, 1143, 1143, 1143, 436, 433, 433,
2483 433, 433, 434, 434, 434, 434, 434, 434, 436, 1149,
2484 1149, 1149, 1153, 1153, 1153, 1067, 452, 436, 448, 448,
2486 448, 448, 448, 448, 448, 448, 448, 452, 1066, 1065,
2487 448, 448, 889, 1157, 1157, 1157, 452, 448, 448, 448,
2488 449, 889, 449, 449, 449, 449, 449, 449, 449, 449,
2489 449, 449, 1063, 1062, 449, 449, 1187, 1187, 1187, 1187,
2490 449, 449, 449, 449, 461, 461, 461, 461, 461, 461,
2491 461, 461, 461, 467, 919, 467, 467, 467, 467, 467,
2492 467, 467, 467, 467, 467, 919, 1061, 467, 467, 890,
2493 1222, 1222, 1222, 1222, 467, 467, 467, 468, 890, 468,
2494 468, 468, 468, 468, 468, 468, 468, 468, 468, 1059,
2495 1058, 468, 468, 1235, 1235, 1235, 1047, 922, 468, 468,
2497 468, 469, 469, 469, 469, 469, 469, 473, 922, 473,
2498 473, 473, 473, 473, 473, 473, 473, 473, 473, 1045,
2499 1043, 473, 473, 891, 1257, 1257, 1257, 1041, 473, 473,
2500 473, 474, 891, 474, 474, 474, 474, 474, 474, 474,
2501 474, 474, 474, 1039, 1034, 474, 474, 1261, 1261, 1261,
2502 1033, 925, 474, 474, 474, 475, 475, 475, 475, 475,
2503 475, 480, 925, 480, 480, 480, 480, 480, 480, 480,
2504 480, 480, 480, 1031, 1030, 480, 480, 900, 1265, 1265,
2505 1265, 1022, 480, 480, 480, 481, 900, 481, 481, 481,
2506 481, 481, 481, 481, 481, 481, 481, 1020, 1019, 481,
2508 481, 1271, 1271, 1271, 1018, 928, 481, 481, 481, 482,
2509 482, 482, 482, 482, 482, 487, 928, 487, 487, 487,
2510 487, 487, 487, 487, 487, 487, 487, 1016, 1015, 487,
2511 487, 902, 1279, 1279, 1279, 1010, 487, 487, 487, 488,
2512 902, 488, 488, 488, 488, 488, 488, 488, 488, 488,
2513 488, 1008, 1005, 488, 488, 1285, 1285, 1285, 1004, 1003,
2514 488, 488, 488, 489, 489, 489, 489, 489, 489, 507,
2515 507, 507, 507, 507, 507, 507, 507, 507, 969, 967,
2516 962, 507, 507, 1289, 1289, 1289, 956, 969, 507, 507,
2517 507, 508, 931, 508, 508, 508, 508, 508, 508, 508,
2519 508, 508, 508, 931, 954, 508, 508, 1310, 1310, 1310,
2520 1310, 953, 508, 508, 508, 514, 514, 514, 514, 514,
2521 514, 514, 514, 514, 1340, 1340, 1340, 514, 514, 1332,
2522 1332, 1332, 1332, 514, 514, 514, 514, 516, 516, 516,
2523 516, 516, 516, 516, 516, 516, 975, 952, 951, 516,
2524 516, 1354, 1354, 1354, 949, 975, 516, 516, 516, 517,
2525 961, 517, 517, 517, 517, 517, 517, 517, 517, 517,
2526 517, 961, 520, 517, 517, 963, 968, 1037, 1072, 517,
2527 517, 517, 517, 520, 948, 947, 963, 968, 1037, 1072,
2528 945, 527, 520, 523, 523, 523, 523, 523, 523, 523,
2530 523, 523, 527, 944, 943, 523, 523, 976, 1358, 1358,
2531 1358, 527, 523, 523, 523, 524, 976, 524, 524, 524,
2532 524, 524, 524, 524, 524, 524, 524, 929, 926, 524,
2533 524, 1363, 1363, 1363, 923, 524, 524, 524, 524, 530,
2534 530, 530, 530, 530, 530, 530, 530, 530, 982, 920,
2535 917, 530, 530, 983, 1371, 1371, 1371, 982, 530, 530,
2536 530, 531, 983, 531, 531, 531, 531, 531, 531, 531,
2537 531, 531, 531, 911, 534, 531, 531, 989, 990, 996,
2538 997, 531, 531, 531, 531, 534, 989, 990, 996, 997,
2539 1377, 1377, 1377, 910, 534, 537, 537, 537, 537, 537,
2541 537, 537, 537, 537, 537, 908, 1011, 1390, 1390, 1390,
2542 1390, 899, 898, 537, 541, 1011, 541, 541, 541, 541,
2543 541, 541, 541, 541, 541, 545, 548, 545, 545, 545,
2544 545, 545, 545, 545, 545, 545, 1012, 548, 897, 1014,
2545 1406, 1406, 1406, 1406, 895, 1012, 548, 549, 1014, 549,
2546 549, 549, 549, 549, 549, 549, 549, 549, 549, 894,
2547 893, 549, 549, 1023, 1410, 1410, 1410, 549, 549, 549,
2548 549, 550, 1023, 550, 550, 550, 550, 550, 550, 550,
2549 550, 550, 550, 887, 885, 550, 550, 1424, 1424, 1424,
2550 552, 550, 550, 550, 550, 551, 551, 551, 551, 551,
2552 551, 552, 553, 1080, 884, 849, 1082, 1085, 1088, 1091,
2553 552, 1094, 1108, 553, 1080, 1082, 1085, 1088, 1091, 848,
2554 1094, 1108, 553, 558, 558, 558, 558, 558, 558, 558,
2555 558, 558, 562, 562, 562, 562, 562, 562, 562, 562,
2556 562, 1109, 841, 840, 562, 562, 1436, 1436, 1436, 838,
2557 1109, 562, 562, 562, 564, 564, 564, 564, 564, 564,
2558 564, 564, 564, 1110, 837, 836, 564, 564, 1119, 1483,
2559 1483, 1483, 1110, 564, 564, 564, 565, 1119, 565, 565,
2560 565, 565, 565, 565, 565, 565, 565, 565, 834, 833,
2561 565, 565, 1450, 1450, 1450, 1450, 832, 565, 565, 565,
2563 571, 571, 571, 571, 571, 571, 571, 571, 571, 1121,
2564 830, 829, 571, 571, 1458, 1458, 1458, 1458, 1121, 571,
2565 571, 571, 572, 1170, 572, 572, 572, 572, 572, 572,
2566 572, 572, 572, 572, 1170, 815, 572, 572, 1464, 1464,
2567 1464, 1464, 814, 572, 572, 572, 578, 578, 578, 578,
2568 578, 578, 578, 578, 578, 1172, 808, 807, 578, 578,
2569 1174, 1489, 1489, 1489, 1172, 578, 578, 578, 579, 1174,
2570 579, 579, 579, 579, 579, 579, 579, 579, 579, 579,
2571 801, 800, 579, 579, 1495, 1495, 1495, 1495, 794, 579,
2572 579, 579, 585, 585, 585, 585, 585, 585, 585, 585,
2574 585, 1176, 793, 787, 585, 585, 1178, 780, 771, 769,
2575 1176, 585, 585, 585, 586, 1178, 586, 586, 586, 586,
2576 586, 586, 586, 586, 586, 586, 768, 767, 586, 586,
2577 1501, 1501, 1501, 1501, 765, 586, 586, 586, 591, 591,
2578 591, 591, 591, 591, 591, 591, 591, 595, 595, 595,
2579 595, 595, 595, 595, 595, 595, 595, 599, 764, 599,
2580 599, 599, 599, 599, 599, 599, 599, 599, 603, 759,
2581 603, 603, 603, 603, 603, 603, 603, 603, 603, 607,
2582 757, 607, 607, 607, 607, 607, 607, 607, 607, 607,
2583 607, 728, 727, 607, 607, 1180, 721, 719, 718, 717,
2585 607, 607, 607, 608, 1180, 608, 608, 608, 608, 608,
2586 608, 608, 608, 608, 608, 716, 714, 608, 608, 713,
2587 712, 710, 615, 709, 608, 608, 608, 609, 609, 609,
2588 609, 609, 609, 615, 708, 1191, 696, 689, 682, 675,
2589 668, 667, 615, 616, 1191, 616, 616, 616, 616, 616,
2590 616, 616, 616, 616, 616, 652, 651, 616, 616, 1192,
2591 650, 648, 647, 616, 616, 616, 616, 617, 1192, 617,
2592 617, 617, 617, 617, 617, 617, 617, 617, 617, 646,
2593 614, 617, 617, 613, 612, 605, 619, 617, 617, 617,
2594 617, 618, 618, 618, 618, 618, 618, 619, 621, 1194,
2596 625, 1203, 604, 1258, 1259, 1260, 619, 1269, 1194, 621,
2597 1203, 625, 1258, 1259, 1260, 602, 1269, 601, 621, 622,
2598 625, 622, 622, 622, 622, 622, 622, 622, 622, 622,
2599 622, 600, 598, 622, 622, 1314, 597, 596, 594, 622,
2600 622, 622, 622, 623, 1314, 623, 623, 623, 623, 623,
2601 623, 623, 623, 623, 623, 593, 584, 623, 623, 583,
2602 577, 576, 626, 623, 623, 623, 623, 624, 624, 624,
2603 624, 624, 624, 626, 628, 1315, 632, 1317, 570, 1355,
2604 1356, 1357, 626, 1381, 1315, 628, 1317, 632, 1355, 1356,
2605 1357, 569, 1381, 563, 628, 629, 632, 629, 629, 629,
2607 629, 629, 629, 629, 629, 629, 629, 561, 560, 629,
2608 629, 1382, 546, 544, 543, 629, 629, 629, 629, 630,
2609 1382, 630, 630, 630, 630, 630, 630, 630, 630, 630,
2610 630, 542, 540, 630, 630, 539, 513, 512, 633, 630,
2611 630, 630, 630, 631, 631, 631, 631, 631, 631, 633,
2612 635, 1384, 639, 1394, 506, 1395, 1397, 1411, 633, 1412,
2613 1384, 635, 1394, 639, 1395, 1397, 1411, 504, 1412, 503,
2614 635, 636, 639, 636, 636, 636, 636, 636, 636, 636,
2615 636, 636, 636, 502, 501, 636, 636, 1413, 499, 498,
2616 497, 636, 636, 636, 636, 637, 1413, 637, 637, 637,
2618 637, 637, 637, 637, 637, 637, 637, 495, 494, 637,
2619 637, 493, 485, 478, 640, 637, 637, 637, 637, 638,
2620 638, 638, 638, 638, 638, 640, 471, 465, 464, 463,
2621 444, 443, 442, 660, 640, 656, 656, 656, 656, 656,
2622 656, 656, 656, 656, 660, 440, 439, 656, 656, 1425,
2623 438, 417, 416, 660, 656, 656, 656, 657, 1425, 657,
2624 657, 657, 657, 657, 657, 657, 657, 657, 657, 415,
2625 408, 657, 657, 407, 405, 404, 403, 657, 657, 657,
2626 657, 669, 669, 669, 669, 669, 669, 669, 669, 669,
2627 669, 401, 400, 669, 669, 1426, 399, 397, 396, 390,
2629 669, 669, 669, 671, 1426, 671, 671, 671, 671, 671,
2630 671, 671, 671, 671, 671, 389, 383, 671, 671, 1427,
2631 382, 376, 374, 373, 671, 671, 671, 672, 1427, 672,
2632 672, 672, 672, 672, 672, 672, 672, 672, 672, 357,
2633 355, 672, 672, 354, 353, 351, 350, 335, 672, 672,
2634 672, 673, 673, 673, 673, 673, 673, 677, 334, 677,
2635 677, 677, 677, 677, 677, 677, 677, 677, 677, 328,
2636 326, 677, 677, 325, 324, 323, 321, 320, 677, 677,
2637 677, 678, 319, 678, 678, 678, 678, 678, 678, 678,
2638 678, 678, 678, 311, 304, 678, 678, 298, 297, 296,
2640 295, 294, 678, 678, 678, 679, 679, 679, 679, 679,
2641 679, 684, 293, 684, 684, 684, 684, 684, 684, 684,
2642 684, 684, 684, 279, 278, 684, 684, 277, 263, 262,
2643 261, 254, 684, 684, 684, 685, 253, 685, 685, 685,
2644 685, 685, 685, 685, 685, 685, 685, 251, 250, 685,
2645 685, 249, 247, 246, 240, 239, 685, 685, 685, 686,
2646 686, 686, 686, 686, 686, 691, 233, 691, 691, 691,
2647 691, 691, 691, 691, 691, 691, 691, 231, 230, 691,
2648 691, 229, 227, 226, 215, 213, 691, 691, 691, 692,
2649 212, 692, 692, 692, 692, 692, 692, 692, 692, 692,
2651 692, 204, 203, 692, 692, 197, 195, 194, 193, 192,
2652 692, 692, 692, 693, 693, 693, 693, 693, 693, 698,
2653 184, 698, 698, 698, 698, 698, 698, 698, 698, 698,
2654 698, 178, 177, 698, 698, 176, 175, 174, 173, 158,
2655 698, 698, 698, 699, 157, 699, 699, 699, 699, 699,
2656 699, 699, 699, 699, 699, 156, 149, 699, 699, 148,
2657 146, 145, 139, 137, 699, 699, 699, 700, 700, 700,
2658 700, 700, 700, 705, 705, 705, 705, 705, 705, 705,
2659 705, 705, 722, 722, 722, 722, 722, 722, 722, 722,
2660 722, 136, 135, 134, 722, 722, 133, 131, 130, 127,
2662 126, 722, 722, 722, 723, 119, 723, 723, 723, 723,
2663 723, 723, 723, 723, 723, 723, 118, 112, 723, 723,
2664 105, 104, 103, 91, 90, 723, 723, 723, 729, 729,
2665 729, 729, 729, 729, 729, 729, 729, 88, 87, 81,
2666 729, 729, 78, 70, 66, 62, 729, 729, 729, 729,
2667 731, 731, 731, 731, 731, 731, 731, 731, 731, 61,
2668 59, 57, 731, 731, 56, 54, 53, 51, 44, 731,
2669 731, 731, 732, 39, 732, 732, 732, 732, 732, 732,
2670 732, 732, 732, 732, 32, 735, 732, 732, 30, 29,
2671 27, 26, 732, 732, 732, 732, 735, 24, 19, 12,
2673 9, 5, 4, 3, 742, 735, 738, 738, 738, 738,
2674 738, 738, 738, 738, 738, 742, 0, 0, 738, 738,
2675 0, 0, 0, 0, 742, 738, 738, 738, 739, 0,
2676 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
2677 0, 0, 739, 739, 0, 0, 0, 0, 739, 739,
2678 739, 739, 745, 745, 745, 745, 745, 745, 745, 745,
2679 745, 0, 0, 0, 745, 745, 0, 0, 0, 0,
2680 0, 745, 745, 745, 746, 0, 746, 746, 746, 746,
2681 746, 746, 746, 746, 746, 746, 0, 749, 746, 746,
2682 0, 0, 0, 0, 746, 746, 746, 746, 749, 0,
2684 0, 0, 0, 0, 0, 0, 756, 749, 752, 752,
2685 752, 752, 752, 752, 752, 752, 752, 756, 0, 0,
2686 752, 752, 0, 0, 0, 0, 756, 752, 752, 752,
2687 753, 0, 753, 753, 753, 753, 753, 753, 753, 753,
2688 753, 753, 0, 0, 753, 753, 0, 0, 0, 0,
2689 753, 753, 753, 753, 758, 758, 758, 758, 758, 758,
2690 758, 758, 758, 0, 0, 0, 0, 0, 0, 0,
2691 0, 0, 758, 762, 762, 762, 762, 762, 762, 762,
2692 762, 762, 762, 0, 0, 0, 0, 0, 0, 0,
2693 0, 762, 766, 0, 766, 766, 766, 766, 766, 766,
2695 766, 766, 766, 770, 773, 770, 770, 770, 770, 770,
2696 770, 770, 770, 770, 0, 773, 0, 0, 0, 0,
2697 0, 0, 0, 0, 773, 774, 0, 774, 774, 774,
2698 774, 774, 774, 774, 774, 774, 774, 0, 0, 774,
2699 774, 0, 0, 0, 0, 774, 774, 774, 774, 775,
2700 0, 775, 775, 775, 775, 775, 775, 775, 775, 775,
2701 775, 0, 0, 775, 775, 0, 0, 0, 777, 775,
2702 775, 775, 775, 776, 776, 776, 776, 776, 776, 777,
2703 778, 0, 851, 0, 0, 0, 0, 0, 777, 0,
2704 0, 778, 0, 851, 0, 0, 0, 0, 0, 0,
2706 778, 782, 851, 782, 782, 782, 782, 782, 782, 782,
2707 782, 782, 782, 0, 0, 782, 782, 0, 0, 0,
2708 0, 0, 782, 782, 782, 783, 0, 783, 783, 783,
2709 783, 783, 783, 783, 783, 783, 783, 0, 0, 783,
2710 783, 0, 0, 0, 0, 0, 783, 783, 783, 784,
2711 784, 784, 784, 784, 784, 789, 0, 789, 789, 789,
2712 789, 789, 789, 789, 789, 789, 789, 0, 0, 789,
2713 789, 0, 0, 0, 0, 0, 789, 789, 789, 796,
2714 0, 796, 796, 796, 796, 796, 796, 796, 796, 796,
2715 796, 0, 0, 796, 796, 0, 0, 0, 0, 0,
2717 796, 796, 796, 803, 0, 803, 803, 803, 803, 803,
2718 803, 803, 803, 803, 803, 0, 0, 803, 803, 0,
2719 0, 0, 0, 0, 803, 803, 803, 810, 0, 810,
2720 810, 810, 810, 810, 810, 810, 810, 810, 810, 0,
2721 0, 810, 810, 0, 0, 0, 0, 0, 810, 810,
2722 810, 817, 0, 817, 817, 817, 817, 817, 817, 817,
2723 817, 817, 817, 0, 0, 817, 817, 0, 0, 0,
2724 0, 0, 817, 817, 817, 824, 824, 824, 824, 824,
2725 824, 824, 824, 824, 827, 827, 827, 827, 827, 827,
2726 827, 827, 827, 831, 831, 831, 831, 831, 831, 831,
2728 831, 831, 831, 835, 0, 835, 835, 835, 835, 835,
2729 835, 835, 835, 835, 839, 0, 839, 839, 839, 839,
2730 839, 839, 839, 839, 839, 843, 0, 843, 843, 843,
2731 843, 843, 843, 843, 843, 843, 843, 0, 0, 843,
2732 843, 0, 0, 0, 0, 0, 843, 843, 843, 844,
2733 0, 844, 844, 844, 844, 844, 844, 844, 844, 844,
2734 844, 0, 0, 844, 844, 0, 0, 0, 0, 0,
2735 844, 844, 844, 845, 845, 845, 845, 845, 845, 850,
2736 850, 850, 850, 850, 850, 850, 850, 850, 850, 0,
2737 0, 850, 850, 0, 0, 0, 0, 0, 850, 850,
2739 850, 852, 0, 852, 852, 852, 852, 852, 852, 852,
2740 852, 852, 852, 0, 0, 852, 852, 0, 0, 0,
2741 0, 852, 852, 852, 852, 853, 0, 853, 853, 853,
2742 853, 853, 853, 853, 853, 853, 853, 0, 0, 853,
2743 853, 0, 0, 0, 855, 853, 853, 853, 853, 854,
2744 854, 854, 854, 854, 854, 855, 857, 0, 861, 0,
2745 0, 0, 0, 0, 855, 0, 0, 857, 0, 861,
2746 0, 0, 0, 0, 0, 0, 857, 858, 861, 858,
2747 858, 858, 858, 858, 858, 858, 858, 858, 858, 0,
2748 0, 858, 858, 0, 0, 0, 0, 858, 858, 858,
2750 858, 859, 0, 859, 859, 859, 859, 859, 859, 859,
2751 859, 859, 859, 0, 0, 859, 859, 0, 0, 0,
2752 862, 859, 859, 859, 859, 860, 860, 860, 860, 860,
2753 860, 862, 864, 0, 868, 0, 0, 0, 0, 0,
2754 862, 0, 0, 864, 0, 868, 0, 0, 0, 0,
2755 0, 0, 864, 865, 868, 865, 865, 865, 865, 865,
2756 865, 865, 865, 865, 865, 0, 0, 865, 865, 0,
2757 0, 0, 0, 865, 865, 865, 865, 866, 0, 866,
2758 866, 866, 866, 866, 866, 866, 866, 866, 866, 0,
2759 0, 866, 866, 0, 0, 0, 869, 866, 866, 866,
2761 866, 867, 867, 867, 867, 867, 867, 869, 871, 0,
2762 875, 0, 0, 0, 0, 0, 869, 0, 0, 871,
2763 0, 875, 0, 0, 0, 0, 0, 0, 871, 872,
2764 875, 872, 872, 872, 872, 872, 872, 872, 872, 872,
2765 872, 0, 0, 872, 872, 0, 0, 0, 0, 872,
2766 872, 872, 872, 873, 0, 873, 873, 873, 873, 873,
2767 873, 873, 873, 873, 873, 0, 0, 873, 873, 0,
2768 0, 0, 876, 873, 873, 873, 873, 874, 874, 874,
2769 874, 874, 874, 876, 878, 0, 882, 0, 0, 0,
2770 0, 0, 876, 0, 0, 878, 0, 882, 0, 0,
2772 0, 0, 0, 0, 878, 879, 882, 879, 879, 879,
2773 879, 879, 879, 879, 879, 879, 879, 0, 0, 879,
2774 879, 0, 0, 0, 0, 879, 879, 879, 879, 880,
2775 0, 880, 880, 880, 880, 880, 880, 880, 880, 880,
2776 880, 0, 0, 880, 880, 0, 0, 0, 883, 880,
2777 880, 880, 880, 881, 881, 881, 881, 881, 881, 883,
2778 0, 0, 0, 0, 0, 0, 0, 0, 883, 886,
2779 886, 886, 886, 886, 886, 886, 886, 886, 0, 0,
2780 0, 0, 0, 0, 0, 0, 907, 886, 903, 903,
2781 903, 903, 903, 903, 903, 903, 903, 907, 0, 0,
2783 903, 903, 0, 0, 0, 0, 907, 903, 903, 903,
2784 904, 0, 904, 904, 904, 904, 904, 904, 904, 904,
2785 904, 904, 0, 0, 904, 904, 0, 0, 0, 0,
2786 904, 904, 904, 904, 912, 0, 912, 912, 912, 912,
2787 912, 912, 912, 912, 912, 912, 0, 0, 912, 912,
2788 0, 0, 0, 0, 0, 912, 912, 912, 940, 940,
2789 940, 940, 940, 940, 940, 940, 940, 958, 0, 958,
2790 958, 958, 958, 958, 958, 958, 958, 958, 958, 0,
2791 0, 958, 958, 0, 0, 0, 0, 0, 958, 958,
2792 958, 964, 0, 964, 964, 964, 964, 964, 964, 964,
2794 964, 964, 964, 0, 0, 964, 964, 0, 0, 0,
2795 0, 0, 964, 964, 964, 965, 0, 965, 965, 965,
2796 965, 965, 965, 965, 965, 965, 965, 0, 0, 965,
2797 965, 0, 0, 0, 0, 0, 965, 965, 965, 966,
2798 966, 966, 966, 966, 966, 971, 0, 971, 971, 971,
2799 971, 971, 971, 971, 971, 971, 971, 0, 974, 971,
2800 971, 0, 0, 0, 0, 971, 971, 971, 971, 974,
2801 0, 0, 0, 0, 0, 0, 0, 0, 974, 978,
2802 0, 978, 978, 978, 978, 978, 978, 978, 978, 978,
2803 978, 0, 981, 978, 978, 0, 0, 0, 0, 978,
2805 978, 978, 978, 981, 0, 0, 0, 0, 0, 0,
2806 0, 0, 981, 985, 0, 985, 985, 985, 985, 985,
2807 985, 985, 985, 985, 985, 0, 988, 985, 985, 0,
2808 0, 0, 0, 985, 985, 985, 985, 988, 0, 0,
2809 0, 0, 0, 0, 0, 0, 988, 992, 0, 992,
2810 992, 992, 992, 992, 992, 992, 992, 992, 992, 0,
2811 995, 992, 992, 0, 0, 0, 0, 992, 992, 992,
2812 992, 995, 0, 0, 0, 0, 0, 0, 0, 0,
2813 995, 999, 0, 999, 999, 999, 999, 999, 999, 999,
2814 999, 999, 999, 0, 1002, 999, 999, 0, 0, 0,
2816 0, 999, 999, 999, 999, 1002, 0, 0, 0, 0,
2817 0, 0, 0, 0, 1002, 1006, 1006, 1006, 1006, 1006,
2818 1006, 1006, 1006, 1006, 0, 0, 0, 0, 0, 0,
2819 0, 0, 0, 1006, 1009, 1009, 1009, 1009, 1009, 1009,
2820 1009, 1009, 1009, 0, 0, 0, 0, 0, 0, 0,
2821 0, 0, 1009, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
2822 1013, 1013, 1013, 0, 0, 0, 0, 0, 0, 0,
2823 0, 1013, 1017, 0, 1017, 1017, 1017, 1017, 1017, 1017,
2824 1017, 1017, 1017, 1021, 1024, 1021, 1021, 1021, 1021, 1021,
2825 1021, 1021, 1021, 1021, 0, 1024, 0, 0, 0, 0,
2827 0, 0, 0, 0, 1024, 1025, 0, 1025, 1025, 1025,
2828 1025, 1025, 1025, 1025, 1025, 1025, 1025, 0, 0, 1025,
2829 1025, 0, 0, 0, 0, 1025, 1025, 1025, 1025, 1026,
2830 0, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
2831 1026, 0, 0, 1026, 1026, 0, 0, 0, 1028, 1026,
2832 1026, 1026, 1026, 1027, 1027, 1027, 1027, 1027, 1027, 1028,
2833 1029, 0, 1084, 0, 0, 0, 0, 0, 1028, 0,
2834 0, 1029, 0, 1084, 0, 0, 0, 0, 0, 0,
2835 1029, 1032, 1084, 1032, 1032, 1032, 1032, 1032, 1032, 1032,
2836 1032, 1032, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
2838 1053, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
2839 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060,
2840 1064, 0, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064,
2841 1064, 1068, 0, 1068, 1068, 1068, 1068, 1068, 1068, 1068,
2842 1068, 1068, 1077, 0, 1077, 1077, 1077, 1077, 1077, 1077,
2843 1077, 1077, 1077, 1077, 0, 1087, 1077, 1077, 1090, 1093,
2844 1096, 0, 0, 1077, 1077, 1077, 1087, 0, 0, 1090,
2845 1093, 1096, 0, 0, 0, 1087, 0, 0, 1090, 1093,
2846 1096, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
2847 0, 0, 0, 0, 0, 0, 0, 0, 0, 1105,
2849 1123, 0, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
2850 1123, 1123, 0, 1126, 1123, 1123, 0, 0, 0, 0,
2851 1123, 1123, 1123, 1123, 1126, 0, 0, 0, 0, 0,
2852 0, 0, 0, 1126, 1147, 1147, 1147, 1147, 1147, 1147,
2853 1147, 1147, 1147, 1165, 0, 1165, 1165, 1165, 1165, 1165,
2854 1165, 1165, 1165, 1165, 1186, 1186, 1186, 1186, 1186, 1186,
2855 1186, 1186, 1186, 0, 0, 0, 0, 0, 0, 0,
2856 0, 0, 1186, 1189, 1189, 1189, 1189, 1189, 1189, 1189,
2857 1189, 1189, 0, 0, 0, 0, 0, 0, 0, 0,
2858 0, 1189, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
2860 1193, 1193, 0, 0, 0, 0, 0, 0, 0, 0,
2861 1193, 1197, 0, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
2862 1197, 1197, 1201, 1205, 1201, 1201, 1201, 1201, 1201, 1201,
2863 1201, 1201, 1201, 0, 1205, 0, 0, 0, 0, 0,
2864 0, 0, 0, 1205, 1208, 0, 1208, 1208, 1208, 1208,
2865 1208, 1208, 1208, 1208, 1208, 1221, 1221, 1221, 1221, 1221,
2866 1221, 1221, 1221, 1221, 1224, 1224, 1224, 1224, 1224, 1224,
2867 1224, 1224, 1224, 1228, 1228, 1228, 1228, 1228, 1228, 1228,
2868 1228, 1228, 1228, 1232, 0, 1232, 1232, 1232, 1232, 1232,
2869 1232, 1232, 1232, 1232, 1255, 1255, 1255, 1255, 1255, 1255,
2871 1255, 1255, 1255, 0, 0, 0, 0, 0, 0, 0,
2872 0, 0, 1255, 1283, 1283, 1283, 1283, 1283, 1283, 1283,
2873 1283, 1283, 1296, 0, 1296, 1296, 1296, 1296, 1296, 1296,
2874 1296, 1296, 1296, 1309, 1309, 1309, 1309, 1309, 1309, 1309,
2875 1309, 1309, 0, 0, 0, 0, 0, 0, 0, 0,
2876 0, 1309, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312,
2877 1312, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2878 1312, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316,
2879 1316, 0, 0, 0, 0, 0, 0, 0, 0, 1316,
2880 1320, 0, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
2882 1320, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325,
2883 1325, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331,
2884 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1338,
2885 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1352,
2886 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 0, 0,
2887 0, 0, 0, 0, 0, 0, 0, 1352, 1375, 1375,
2888 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1383, 1383, 1383,
2889 1383, 1383, 1383, 1383, 1383, 1383, 1383, 0, 0, 0,
2890 0, 0, 0, 0, 0, 1383, 1389, 1389, 1389, 1389,
2891 1389, 1389, 1389, 1389, 1389, 0, 0, 0, 0, 0,
2893 0, 0, 0, 0, 1389, 1392, 1392, 1392, 1392, 1392,
2894 1392, 1392, 1392, 1392, 0, 0, 0, 0, 0, 0,
2895 0, 0, 0, 1392, 1396, 1396, 1396, 1396, 1396, 1396,
2896 1396, 1396, 1396, 1396, 0, 0, 0, 0, 0, 0,
2897 0, 0, 1396, 1399, 1399, 1399, 1399, 1399, 1399, 1399,
2898 1399, 1399, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405,
2899 1405, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408,
2900 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 0,
2901 0, 0, 0, 0, 0, 0, 0, 0, 1422, 1430,
2902 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1440, 1440,
2904 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1443, 1443, 1443,
2905 1443, 1443, 1443, 1443, 1443, 1443, 0, 0, 0, 0,
2906 0, 0, 0, 0, 0, 1443, 1449, 1449, 1449, 1449,
2907 1449, 1449, 1449, 1449, 1449, 0, 0, 0, 0, 0,
2908 0, 0, 0, 0, 1449, 1452, 1452, 1452, 1452, 1452,
2909 1452, 1452, 1452, 1452, 0, 0, 0, 0, 0, 0,
2910 0, 0, 0, 1452, 1457, 1457, 1457, 1457, 1457, 1457,
2911 1457, 1457, 1457, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
2912 1463, 1463, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467,
2913 1467, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2915 1467, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477,
2916 0, 0, 0, 0, 0, 0, 0, 0, 0, 1477,
2917 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 0,
2918 0, 0, 0, 0, 0, 0, 0, 0, 1494, 1500,
2919 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 0, 0,
2920 0, 0, 0, 0, 0, 0, 0, 1500, 1519, 1519,
2921 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1520,
2922 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520,
2923 1521, 0, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521,
2924 1521, 1522, 1522, 1522, 1522, 1523, 1523, 1523, 1524, 1524,
2926 1524, 0, 1524, 1524, 1524, 1525, 1525, 1525, 1525, 1525,
2927 1525, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526,
2928 1526, 1526, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527,
2929 1527, 1527, 1527, 1528, 1528, 1528, 1529, 1529, 1529, 1529,
2930 1529, 1529, 1530, 1530, 1530, 1530, 1530, 1530, 1531, 1531,
2931 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1532,
2932 1532, 1532, 1532, 0, 0, 1532, 1533, 1533, 1533, 1533,
2933 1533, 1533, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1535,
2934 1535, 1535, 1535, 1535, 1535, 1536, 1536, 1536, 1536, 1536,
2935 1536, 1537, 1537, 1537, 1538, 1538, 1538, 1539, 1539, 1539,
2937 1539, 1539, 1539, 1540, 1540, 1540, 1540, 1540, 1540, 1541,
2938 1541, 1541, 1541, 1541, 1541, 1541, 1542, 1542, 1542, 1543,
2939 1543, 1543, 1543, 1543, 1543, 1544, 1544, 1544, 1544, 1544,
2940 1544, 1545, 1545, 1545, 1545, 1545, 1545, 1546, 1546, 1546,
2941 1546, 1546, 1546, 1546, 0, 1546, 1547, 1547, 1547, 1547,
2942 1548, 1548, 1548, 1548, 1549, 1549, 1549, 1549, 1549, 1549,
2943 1550, 1550, 1550, 1550, 1550, 1550, 1551, 1551, 1551, 1551,
2944 1551, 1551, 1552, 1552, 1552, 1552, 1553, 1553, 1553, 1553,
2945 1554, 1554, 1554, 1554, 1554, 1554, 1555, 1555, 1555, 1555,
2946 1555, 1555, 1555, 1556, 1556, 1556, 1556, 1556, 1556, 1557,
2948 1557, 1557, 1557, 1557, 1557, 1558, 1558, 1558, 1558, 1558,
2949 1558, 1558, 0, 1558, 1559, 1559, 1559, 1560, 1560, 1560,
2950 1560, 1560, 1560, 0, 1560, 1561, 1561, 1562, 1562, 1562,
2951 1563, 1563, 1563, 1564, 1564, 1564, 1564, 1564, 1564, 1565,
2952 1565, 1565, 1565, 1565, 1565, 1566, 1566, 1566, 1566, 1566,
2953 1566, 1566, 1567, 1567, 1567, 1567, 1567, 1567, 1568, 1568,
2954 1568, 1568, 1568, 1568, 1568, 1569, 1569, 1569, 1570, 1570,
2955 1570, 1571, 1571, 1571, 1572, 1572, 1572, 1572, 1572, 1572,
2956 1573, 1573, 1573, 1573, 1573, 1573, 1574, 1574, 1574, 1574,
2957 1574, 1574, 1575, 1575, 1575, 1575, 1575, 1575, 0, 1575,
2959 1576, 1576, 1576, 1576, 1577, 1577, 1577, 1577, 1578, 1578,
2960 1578, 1578, 1578, 1578, 0, 1578, 1579, 1579, 1579, 1579,
2961 1579, 1579, 1579, 0, 1579, 1580, 1580, 1580, 1581, 1581,
2962 1581, 1582, 1582, 1582, 1582, 1583, 1583, 1583, 1583, 1584,
2963 1584, 1584, 1584, 1584, 1584, 1585, 1585, 1585, 1585, 1585,
2964 1585, 1586, 1586, 1586, 1586, 1586, 1586, 1587, 1587, 1587,
2965 1587, 1587, 1587, 1588, 1588, 1588, 1588, 1589, 1589, 1589,
2966 1589, 1590, 1590, 1590, 1590, 1591, 1591, 1591, 1591, 1592,
2967 1592, 1592, 1592, 1592, 1592, 1593, 1593, 1593, 1593, 1593,
2968 1593, 1593, 1594, 1594, 1594, 1594, 1594, 1594, 1595, 1595,
2970 1595, 1595, 1595, 1595, 1596, 1596, 1596, 1596, 1596, 1596,
2971 1596, 0, 1596, 1597, 1597, 1597, 1597, 1597, 1597, 0,
2972 1597, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 0, 1598,
2973 1599, 1599, 1599, 1600, 1600, 1600, 1601, 1601, 1601, 1602,
2974 1602, 1602, 1602, 1602, 1602, 0, 1602, 1603, 1603, 1603,
2975 1604, 1604, 1604, 1605, 1605, 1605, 1606, 1606, 1607, 1607,
2976 0, 1607, 1608, 1608, 1608, 1608, 1608, 1608, 1609, 1609,
2977 1609, 1609, 1609, 1609, 1610, 1610, 1610, 1610, 1610, 1610,
2978 1610, 1611, 1611, 1611, 1611, 1611, 1611, 1612, 1612, 1612,
2979 1612, 1612, 1612, 1612, 1613, 1613, 1613, 1613, 1613, 1613,
2981 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1615, 1615, 1615,
2982 1616, 1616, 1616, 1616, 1617, 1617, 1617, 1618, 1618, 1618,
2983 1619, 1619, 1619, 1619, 1620, 1620, 1620, 1621, 1621, 1621,
2984 1622, 1622, 1622, 1622, 1622, 1622, 1623, 1623, 1623, 1623,
2985 1623, 1623, 1624, 1624, 1624, 1624, 1624, 1624, 1625, 1625,
2986 1625, 1625, 1625, 1625, 0, 1625, 1626, 1626, 1626, 1626,
2987 1626, 1626, 0, 1626, 1627, 1627, 1627, 1627, 1628, 1628,
2988 1628, 1628, 1629, 1629, 1629, 1629, 1630, 1630, 1630, 1630,
2989 1631, 1631, 1631, 1631, 1631, 1631, 0, 1631, 1632, 1632,
2990 1632, 1632, 1632, 1632, 1632, 0, 1632, 1633, 1633, 1633,
2992 1634, 1634, 1634, 1635, 1635, 1635, 1636, 1636, 1636, 1637,
2993 1637, 1637, 1638, 1638, 1638, 1638, 1638, 1638, 1639, 1639,
2994 1639, 1639, 1639, 1639, 1640, 1640, 1640, 1640, 1640, 1640,
2995 1641, 1641, 1641, 1641, 1641, 1641, 1642, 1642, 1642, 1642,
2996 1642, 1642, 1643, 1643, 1643, 1643, 1644, 1644, 1644, 1644,
2997 1645, 1645, 1645, 1645, 1646, 1646, 1646, 1646, 1647, 1647,
2998 1647, 1647, 1648, 1648, 1648, 1648, 1649, 1649, 1649, 1649,
2999 1649, 1649, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1651,
3000 1651, 1651, 1651, 1651, 1651, 1652, 1652, 1652, 1652, 1652,
3001 1652, 1653, 1653, 1653, 1653, 1653, 1653, 1653, 0, 1653,
3003 1654, 1654, 1654, 1654, 1654, 1654, 0, 1654, 1655, 1655,
3004 1655, 1655, 1655, 1655, 1655, 0, 1655, 1656, 1656, 1656,
3005 1656, 1656, 1656, 0, 1656, 1657, 1657, 1657, 1657, 1657,
3006 1657, 1657, 0, 1657, 1658, 1658, 1658, 1659, 1659, 1659,
3007 1659, 1660, 1660, 1660, 1661, 1661, 1661, 1662, 1662, 1662,
3008 1662, 1663, 1663, 1663, 1664, 1664, 1664, 1665, 1665, 1665,
3009 1665, 1665, 1665, 0, 1665, 1666, 1666, 1666, 1667, 1667,
3010 1667, 1668, 1668, 1668, 1669, 1669, 1669, 1670, 1670, 1670,
3011 1670, 1670, 1670, 1671, 1671, 1671, 1671, 1671, 1671, 1672,
3012 1672, 1672, 1672, 1672, 1672, 1672, 1673, 1673, 1673, 1673,
3014 1673, 1673, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1675,
3015 1675, 1675, 1675, 1675, 1675, 1676, 1676, 1676, 1676, 1676,
3016 1676, 1676, 1677, 1677, 1677, 1677, 1677, 1677, 1678, 1678,
3017 1678, 1678, 1678, 1678, 1678, 1679, 1679, 1680, 1680, 1680,
3018 1680, 1681, 1681, 0, 1681, 1682, 1682, 1682, 1683, 1683,
3019 1683, 1683, 1684, 1684, 1684, 1685, 1685, 1685, 1686, 1686,
3020 1686, 1686, 1687, 1687, 1687, 1688, 1688, 1688, 1689, 1689,
3021 1689, 1689, 1689, 1689, 1690, 1690, 1690, 1690, 1690, 1690,
3022 1691, 1691, 1691, 1691, 1691, 1691, 1692, 1692, 1692, 1692,
3023 1692, 1692, 0, 1692, 1693, 1693, 1693, 1693, 1693, 1693,
3025 0, 1693, 1694, 1694, 1694, 1694, 1694, 1694, 0, 1694,
3026 1695, 1695, 1695, 1695, 0, 0, 0, 1695, 1696, 1696,
3027 1696, 1696, 0, 0, 0, 1696, 1697, 1697, 1697, 1697,
3028 1698, 1698, 1698, 1698, 1699, 1699, 1699, 1699, 1700, 1700,
3029 1700, 1700, 1701, 1701, 1701, 1701, 1701, 1701, 0, 1701,
3030 1702, 1702, 1702, 1702, 1702, 1702, 1702, 0, 1702, 1703,
3031 1703, 1703, 1704, 1704, 1704, 1705, 1705, 1705, 1706, 1706,
3032 1706, 1706, 1706, 1706, 1707, 1707, 1707, 1707, 1707, 1707,
3033 1708, 1708, 1708, 1708, 1708, 1708, 1709, 1709, 1709, 1709,
3034 1709, 1709, 1710, 1710, 1710, 1710, 1710, 1710, 1711, 1711,
3036 1711, 1711, 1711, 1711, 1712, 1712, 1712, 1713, 1713, 1713,
3037 1714, 1714, 1714, 1714, 1715, 1715, 1715, 1715, 1716, 1716,
3038 1716, 1716, 1717, 1717, 1717, 1717, 1718, 1718, 1718, 1718,
3039 1719, 1719, 1719, 1719, 1720, 1720, 1720, 1720, 1720, 1720,
3040 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1722, 1722, 1722,
3041 1722, 1722, 1722, 1723, 1723, 1723, 1723, 1723, 1723, 1724,
3042 1724, 1724, 1724, 1724, 1724, 1724, 0, 1724, 1725, 1725,
3043 1725, 1725, 1725, 1725, 0, 1725, 1726, 1726, 1726, 1726,
3044 1726, 1726, 1726, 0, 1726, 1727, 1727, 1727, 1727, 1727,
3045 1727, 0, 1727, 1728, 1728, 1728, 1728, 1728, 1728, 1728,
3047 0, 1728, 1729, 1729, 1729, 1729, 1729, 1729, 0, 1729,
3048 1730, 1730, 1730, 1730, 1730, 1730, 1730, 0, 1730, 1731,
3049 1731, 1732, 1732, 1732, 1732, 0, 0, 0, 1732, 1733,
3050 1733, 0, 1733, 0, 0, 0, 1733, 1734, 1734, 1734,
3051 1735, 1735, 1735, 1735, 1736, 1736, 1736, 1737, 1737, 1737,
3052 1738, 1738, 1738, 1738, 1739, 1739, 1739, 1740, 1740, 1740,
3053 1741, 1741, 1741, 1741, 1741, 1741, 0, 1741, 1742, 1742,
3054 1742, 1743, 1743, 1743, 1743, 1743, 1743, 1744, 1744, 1744,
3055 1744, 1744, 1744, 1744, 1745, 1745, 1745, 1745, 1745, 1745,
3056 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1747, 1747, 1747,
3058 1747, 1747, 1747, 1748, 1748, 1748, 1748, 1748, 1748, 1748,
3059 1749, 1749, 1749, 1749, 1749, 1749, 1750, 1750, 1750, 1750,
3060 1750, 1750, 1750, 1751, 1751, 1751, 1751, 1751, 1751, 1752,
3061 1752, 1752, 1752, 1752, 1752, 1752, 1753, 1753, 1753, 1754,
3062 1754, 1754, 1755, 1755, 1755, 1756, 1756, 1757, 1757, 1757,
3063 1757, 1758, 1758, 0, 1758, 1759, 1759, 1759, 1760, 1760,
3064 1760, 1760, 1761, 1761, 1761, 1762, 1762, 1762, 1763, 1763,
3065 1763, 1763, 1764, 1764, 1764, 1765, 1765, 1765, 1766, 1766,
3066 1766, 1766, 1766, 1766, 1767, 1767, 1767, 1767, 1767, 1767,
3067 1768, 1768, 1768, 1768, 1768, 1768, 1769, 1769, 1769, 1769,
3069 1769, 1769, 0, 1769, 1770, 1770, 1770, 1770, 1770, 1770,
3070 0, 1770, 1771, 1771, 1771, 1771, 1771, 1771, 0, 1771,
3071 1772, 1772, 1772, 1772, 1772, 1772, 0, 1772, 1773, 1773,
3072 1773, 0, 0, 0, 0, 1773, 1774, 1774, 1774, 0,
3073 0, 0, 0, 1774, 1775, 1775, 1775, 1775, 0, 0,
3074 0, 1775, 1776, 1776, 1776, 1776, 0, 0, 0, 1776,
3075 1777, 1777, 1777, 1777, 1778, 1778, 1778, 1778, 1779, 1779,
3076 1779, 1779, 1780, 1780, 1780, 1780, 1781, 1781, 1781, 1781,
3077 1781, 1781, 0, 1781, 1782, 1782, 1782, 1782, 1782, 1782,
3078 1782, 0, 1782, 1783, 1783, 1783, 1783, 1783, 1783, 1784,
3080 1784, 1784, 1784, 1784, 1784, 1784, 1785, 1785, 1785, 0,
3081 1785, 1785, 1786, 1786, 1786, 1786, 1786, 1786, 1787, 1787,
3082 1787, 0, 1787, 1787, 1788, 1788, 1788, 1788, 1788, 1788,
3083 1789, 1789, 1789, 0, 1789, 1789, 1790, 1790, 1790, 1790,
3084 1790, 1790, 1791, 1791, 1791, 0, 1791, 1791, 1792, 1792,
3085 1792, 1792, 1792, 1792, 1793, 1793, 1793, 0, 1793, 1793,
3086 1794, 1794, 1794, 1794, 1794, 1794, 1795, 1795, 1795, 0,
3087 1795, 1795, 1796, 1796, 1796, 1797, 1797, 1797, 1798, 1798,
3088 1798, 1799, 1799, 1799, 1800, 1800, 1800, 1801, 1801, 1801,
3089 1801, 1802, 1802, 1802, 1802, 1803, 1803, 1803, 1803, 1804,
3091 1804, 1804, 1804, 1805, 1805, 1805, 1805, 1806, 1806, 1806,
3092 1806, 1807, 1807, 1807, 1807, 1807, 1807, 1808, 1808, 1808,
3093 1808, 1808, 1808, 1808, 1809, 1809, 1809, 1809, 1809, 1809,
3094 1810, 1810, 1810, 1810, 1810, 1810, 1810, 0, 1810, 1811,
3095 1811, 1811, 1811, 1811, 1811, 0, 1811, 1812, 1812, 1812,
3096 1812, 1812, 1812, 1812, 0, 1812, 1813, 1813, 1813, 1813,
3097 1813, 1813, 0, 1813, 1814, 1814, 1814, 1814, 1814, 1814,
3098 1814, 0, 1814, 1815, 1815, 1815, 1815, 1815, 1815, 0,
3099 1815, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 0, 1816,
3100 1817, 1817, 1817, 1817, 1817, 1817, 0, 1817, 1818, 1818,
3102 1818, 1818, 1818, 1818, 1818, 0, 1818, 1819, 1819, 1819,
3103 0, 0, 0, 0, 1819, 1820, 1820, 1820, 0, 0,
3104 0, 0, 1820, 1821, 1821, 1821, 0, 0, 0, 0,
3105 1821, 1822, 1822, 1823, 1823, 1823, 1823, 0, 0, 0,
3106 1823, 1824, 1824, 0, 1824, 0, 0, 0, 1824, 1825,
3107 1825, 1825, 1826, 1826, 1826, 1826, 1827, 1827, 1827, 1828,
3108 1828, 1828, 1829, 1829, 1829, 1829, 1830, 1830, 1830, 1831,
3109 1831, 1831, 1832, 1832, 1832, 1832, 1832, 1832, 0, 1832,
3110 1833, 1833, 1833, 1834, 1834, 1834, 1834, 1834, 1834, 1835,
3111 1835, 1835, 1835, 1835, 1835, 1836, 1836, 1836, 0, 1836,
3113 1836, 1837, 1837, 1837, 1837, 1837, 1837, 1838, 1838, 1838,
3114 0, 1838, 1838, 1839, 1839, 1839, 1839, 1839, 1839, 1840,
3115 1840, 1840, 0, 1840, 1840, 1841, 1841, 1841, 1841, 1841,
3116 1841, 1842, 1842, 1842, 0, 1842, 1842, 1843, 1843, 1843,
3117 1843, 1843, 1843, 1844, 1844, 1844, 0, 1844, 1844, 1845,
3118 1845, 1845, 1845, 1845, 1845, 1846, 1846, 1846, 0, 1846,
3119 1846, 1847, 1847, 1847, 1848, 1848, 1848, 1849, 1849, 1849,
3120 1850, 1850, 1850, 1851, 1851, 1852, 1852, 1852, 1852, 1853,
3121 1853, 0, 1853, 1854, 1854, 1854, 1855, 1855, 1855, 1855,
3122 1856, 1856, 1856, 1857, 1857, 1857, 1858, 1858, 1858, 1858,
3124 1859, 1859, 1859, 1860, 1860, 1860, 1861, 1861, 1861, 1861,
3125 1861, 1861, 1862, 1862, 1862, 0, 1862, 1862, 1863, 1863,
3126 1863, 1863, 1863, 1863, 1864, 1864, 1864, 1864, 1864, 1864,
3127 1864, 1865, 1865, 1865, 0, 1865, 1865, 0, 1865, 1866,
3128 1866, 1866, 1866, 1866, 1866, 0, 1866, 1867, 1867, 1867,
3129 0, 1867, 1867, 1868, 1868, 1868, 1868, 1868, 1868, 0,
3130 1868, 1869, 1869, 1869, 0, 1869, 1869, 1870, 1870, 1870,
3131 1870, 1870, 1870, 0, 1870, 1871, 1871, 1871, 0, 1871,
3132 1871, 1872, 1872, 1872, 1872, 1872, 1872, 0, 1872, 1873,
3133 1873, 1873, 0, 1873, 1873, 1874, 1874, 1874, 1874, 1874,
3135 1874, 0, 1874, 1875, 1875, 1875, 0, 1875, 1875, 1876,
3136 1876, 1876, 0, 0, 0, 0, 1876, 1877, 1877, 1877,
3137 0, 0, 0, 0, 1877, 1878, 1878, 1878, 0, 0,
3138 0, 0, 1878, 1879, 1879, 1879, 0, 0, 0, 0,
3139 1879, 1880, 1880, 1880, 0, 0, 0, 0, 1880, 1881,
3140 1881, 1881, 1881, 0, 0, 0, 1881, 1882, 1882, 1882,
3141 1882, 0, 0, 0, 1882, 1883, 1883, 1883, 1883, 1884,
3142 1884, 1884, 1884, 1885, 1885, 1885, 1885, 1886, 1886, 1886,
3143 1886, 1887, 1887, 1887, 1887, 1887, 1887, 0, 1887, 1888,
3144 1888, 1888, 1888, 1888, 1888, 1888, 0, 1888, 1889, 1889,
3146 1889, 1889, 1890, 1890, 1890, 1890, 1891, 1891, 1891, 1891,
3147 1891, 1891, 1892, 1892, 1892, 0, 1892, 1892, 1893, 1893,
3148 1893, 0, 1893, 1893, 1894, 1894, 1894, 0, 1894, 1894,
3149 1895, 1895, 1895, 0, 1895, 1895, 1896, 1896, 1896, 0,
3150 1896, 1896, 1897, 1897, 1897, 0, 1897, 1897, 1898, 1898,
3151 1898, 0, 1898, 1898, 1899, 1899, 1899, 1900, 1900, 1900,
3152 1901, 1901, 1901, 1902, 1902, 1902, 1903, 1903, 1903, 1904,
3153 1904, 1904, 1904, 1905, 1905, 1905, 1905, 1906, 1906, 1906,
3154 1906, 1907, 1907, 1907, 1907, 1908, 1908, 1908, 1908, 1909,
3155 1909, 1909, 1909, 1910, 1910, 1910, 1910, 1910, 1910, 1911,
3157 1911, 1911, 0, 1911, 1911, 1912, 1912, 1912, 1913, 1913,
3158 1913, 1913, 1913, 1913, 1914, 1914, 1914, 1914, 1914, 1914,
3159 1915, 1915, 1915, 0, 1915, 1915, 0, 1915, 1916, 1916,
3160 1916, 1916, 1916, 1916, 0, 1916, 1917, 1917, 1917, 0,
3161 1917, 1917, 0, 1917, 1918, 1918, 1918, 1918, 1918, 1918,
3162 0, 1918, 1919, 1919, 1919, 0, 1919, 1919, 0, 1919,
3163 1920, 1920, 1920, 1920, 1920, 1920, 0, 1920, 1921, 1921,
3164 1921, 0, 1921, 1921, 0, 1921, 1922, 1922, 1922, 1922,
3165 1922, 1922, 0, 1922, 1923, 1923, 1923, 0, 1923, 1923,
3166 0, 1923, 1924, 1924, 1924, 1924, 1924, 1924, 0, 1924,
3168 1925, 1925, 1925, 0, 1925, 1925, 0, 1925, 1926, 1926,
3169 1926, 0, 0, 0, 0, 1926, 1927, 1927, 0, 0,
3170 0, 0, 0, 1927, 1928, 1928, 1928, 0, 0, 0,
3171 0, 1928, 1929, 1929, 1929, 0, 0, 0, 0, 1929,
3172 1930, 1930, 1930, 0, 0, 0, 0, 1930, 1931, 1931,
3173 1932, 1932, 1932, 1932, 0, 0, 0, 1932, 1933, 1933,
3174 0, 1933, 0, 0, 0, 1933, 1934, 1934, 1934, 1935,
3175 1935, 1935, 1935, 1936, 1936, 1936, 1937, 1937, 1937, 1938,
3176 1938, 1938, 1938, 1939, 1939, 1939, 1940, 1940, 1940, 1941,
3177 1941, 1941, 1941, 1941, 1941, 0, 1941, 1942, 1942, 1942,
3179 0, 1942, 1942, 1943, 1943, 1943, 1944, 1944, 1944, 1944,
3180 1945, 1945, 1945, 1946, 1946, 1946, 0, 1946, 1946, 1947,
3181 1947, 1947, 0, 1947, 1947, 1948, 1948, 1948, 0, 1948,
3182 1948, 1949, 1949, 1949, 0, 1949, 1949, 1950, 1950, 1950,
3183 0, 1950, 1950, 1951, 1951, 1951, 0, 1951, 1951, 1952,
3184 1952, 1952, 0, 1952, 1952, 1953, 1953, 1953, 1954, 1954,
3185 1954, 1955, 1955, 1955, 1956, 1956, 1956, 1957, 1957, 1958,
3186 1958, 1958, 1958, 1959, 1959, 0, 1959, 1960, 1960, 1960,
3187 1961, 1961, 1961, 1961, 1962, 1962, 1962, 1963, 1963, 1963,
3188 1964, 1964, 1964, 1964, 1965, 1965, 1965, 1966, 1966, 1966,
3190 0, 1966, 1966, 1967, 1967, 1967, 1967, 1968, 1968, 1968,
3191 1968, 1969, 1969, 1969, 1969, 1969, 1969, 1970, 1970, 1970,
3192 0, 1970, 1970, 0, 1970, 1971, 1971, 1971, 0, 1971,
3193 1971, 0, 1971, 1972, 1972, 1972, 0, 1972, 1972, 0,
3194 1972, 1973, 1973, 1973, 0, 1973, 1973, 0, 1973, 1974,
3195 1974, 1974, 0, 1974, 1974, 0, 1974, 1975, 1975, 1975,
3196 0, 1975, 1975, 0, 1975, 1976, 1976, 1976, 0, 1976,
3197 1976, 0, 1976, 1977, 1977, 1977, 0, 0, 0, 0,
3198 1977, 1978, 1978, 1978, 0, 0, 0, 0, 1978, 1979,
3199 1979, 1979, 0, 0, 0, 0, 1979, 1980, 1980, 1980,
3201 0, 0, 0, 0, 1980, 1981, 1981, 1981, 0, 0,
3202 0, 0, 1981, 1982, 1982, 1982, 1982, 0, 0, 0,
3203 1982, 1983, 1983, 1983, 1983, 0, 0, 0, 1983, 1984,
3204 1984, 1984, 1984, 1985, 1985, 1985, 1985, 1986, 1986, 1986,
3205 1986, 1987, 1987, 1987, 1987, 1988, 1988, 1988, 1988, 1988,
3206 1988, 0, 1988, 1989, 1989, 1989, 0, 1989, 1989, 0,
3207 1989, 1990, 1990, 1990, 1990, 1991, 1991, 1991, 1991, 1992,
3208 1992, 1992, 0, 1992, 1992, 1993, 1993, 1993, 1994, 1994,
3209 1994, 1995, 1995, 1995, 1996, 1996, 1996, 1997, 1997, 1997,
3210 1998, 1998, 1998, 1998, 1999, 1999, 1999, 1999, 2000, 2000,
3212 2000, 2000, 2001, 2001, 2001, 2001, 2002, 2002, 2002, 0,
3213 2002, 2002, 2003, 2003, 2003, 2004, 2004, 2004, 2005, 2005,
3214 2005, 0, 2005, 2005, 0, 2005, 2006, 2006, 2006, 0,
3215 2006, 2006, 0, 2006, 2007, 2007, 2007, 0, 2007, 2007,
3216 0, 2007, 2008, 2008, 2008, 0, 2008, 2008, 0, 2008,
3217 2009, 2009, 2009, 0, 2009, 2009, 0, 2009, 2010, 2010,
3218 2010, 0, 2010, 2010, 0, 2010, 2011, 2011, 2011, 0,
3219 2011, 2011, 0, 2011, 2012, 2012, 2012, 0, 0, 0,
3220 0, 2012, 2013, 2013, 0, 0, 0, 0, 0, 2013,
3221 2014, 2014, 2014, 0, 0, 0, 0, 2014, 2015, 2015,
3223 2015, 0, 0, 0, 0, 2015, 2016, 2016, 2016, 0,
3224 0, 0, 0, 2016, 2017, 2017, 2018, 2018, 0, 2018,
3225 0, 0, 0, 2018, 2019, 2019, 2019, 2020, 2020, 2020,
3226 2021, 2021, 2021, 2022, 2022, 2022, 2023, 2023, 2023, 0,
3227 2023, 2023, 0, 2023, 2024, 2024, 2024, 2025, 2025, 2025,
3228 2026, 2026, 2026, 2027, 2027, 2027, 2028, 2028, 2028, 2029,
3229 2029, 2029, 2030, 2030, 2031, 2031, 0, 2031, 2032, 2032,
3230 2032, 2033, 2033, 2033, 2034, 2034, 2034, 2034, 2035, 2035,
3231 2035, 2035, 2036, 2036, 2036, 0, 2036, 2036, 0, 2036,
3232 2037, 2037, 2037, 0, 0, 0, 0, 2037, 2038, 2038,
3234 2038, 0, 0, 0, 0, 2038, 2039, 2039, 2039, 0,
3235 0, 0, 0, 2039, 2040, 2040, 2040, 0, 0, 0,
3236 0, 2040, 2041, 2041, 2041, 0, 0, 0, 0, 2041,
3237 2042, 2042, 2042, 2042, 0, 0, 0, 2042, 2043, 2043,
3238 2043, 2043, 0, 0, 0, 2043, 2044, 2044, 2044, 2044,
3239 2045, 2045, 2045, 2045, 2046, 2046, 2046, 0, 2046, 2046,
3240 0, 2046, 2047, 2047, 2047, 2047, 2048, 2048, 2048, 2048,
3241 2049, 2049, 2049, 2050, 2050, 2050, 2051, 2051, 2051, 2052,
3242 2052, 2052, 2053, 2053, 2053, 2054, 2054, 2054, 2054, 2055,
3243 2055, 2055, 2055, 2056, 2056, 2056, 2057, 2057, 2057, 2058,
3245 2058, 2058, 0, 0, 0, 0, 2058, 2059, 2059, 0,
3246 0, 0, 0, 0, 2059, 2060, 2060, 2060, 0, 0,
3247 0, 0, 2060, 2061, 2061, 2061, 0, 0, 0, 0,
3248 2061, 2062, 2062, 2062, 0, 0, 0, 0, 2062, 2063,
3249 2063, 2064, 2064, 0, 2064, 0, 0, 0, 2064, 2065,
3250 2065, 2065, 2066, 2066, 2066, 2067, 2067, 2068, 2068, 0,
3251 2068, 2069, 2069, 2069, 2070, 2070, 2070, 2071, 2071, 2071,
3252 2072, 2072, 2072, 2073, 2073, 2074, 2074, 0, 2074, 2075,
3253 2075, 2075, 2075, 0, 0, 0, 2075, 2076, 2076, 2076,
3254 2076, 0, 0, 0, 2076, 2077, 2077, 2077, 0, 0,
3256 0, 0, 2077, 2078, 2078, 2078, 0, 0, 0, 0,
3257 2078, 2079, 2079, 2079, 0, 0, 0, 0, 2079, 2080,
3258 2080, 2080, 0, 0, 0, 0, 2080, 2081, 2081, 2081,
3259 0, 0, 0, 0, 2081, 2082, 2082, 2082, 2082, 0,
3260 0, 0, 2082, 2083, 2083, 2083, 2083, 0, 0, 0,
3261 2083, 2084, 2084, 2084, 2085, 2085, 2085, 2086, 2086, 2086,
3262 2087, 2087, 2087, 2088, 2088, 2088, 2089, 2089, 2089, 2090,
3263 2090, 2090, 2091, 2091, 2092, 2092, 0, 2092, 0, 0,
3264 0, 2092, 2093, 2093, 2093, 0, 0, 0, 0, 2093,
3265 2094, 2094, 0, 0, 0, 0, 0, 2094, 2095, 2095,
3267 2095, 0, 0, 0, 0, 2095, 2096, 2096, 2096, 0,
3268 0, 0, 0, 2096, 2097, 2097, 2097, 0, 0, 0,
3269 0, 2097, 2098, 2098, 2099, 2099, 0, 2099, 0, 0,
3270 0, 2099, 2100, 2100, 2100, 2101, 2101, 2101, 2102, 2102,
3271 2102, 2103, 2103, 2103, 2104, 2104, 2104, 2105, 2105, 2105,
3272 2106, 2106, 2106, 2107, 2107, 2107, 0, 0, 0, 0,
3273 2107, 2108, 2108, 2108, 0, 0, 0, 0, 2108, 2109,
3274 2109, 2109, 0, 0, 0, 0, 2109, 2110, 2110, 2110,
3275 0, 0, 0, 0, 2110, 2111, 2111, 2111, 0, 0,
3276 0, 0, 2111, 2112, 2112, 2112, 0, 0, 0, 0,
3278 2112, 2113, 2113, 2113, 0, 0, 0, 0, 2113, 2114,
3279 2114, 2114, 2115, 2115, 2115, 2116, 2116, 2116, 2117, 2117,
3280 2117, 2118, 2118, 2118, 2119, 2119, 2119, 2120, 2120, 2120,
3281 0, 0, 0, 0, 2120, 2121, 2121, 2121, 0, 0,
3282 0, 0, 2121, 2122, 2122, 2122, 0, 0, 0, 0,
3283 2122, 2123, 2123, 2123, 0, 0, 0, 0, 2123, 2124,
3284 2124, 0, 0, 0, 0, 0, 2124, 2125, 2125, 2125,
3285 0, 0, 0, 0, 2125, 2126, 2126, 2126, 0, 0,
3286 0, 0, 2126, 2127, 2127, 2127, 0, 0, 0, 0,
3287 2127, 2128, 2128, 2128, 2129, 2129, 2129, 2130, 2130, 2130,
3289 0, 0, 0, 0, 2130, 2131, 2131, 2131, 0, 0,
3290 0, 0, 2131, 2132, 2132, 2132, 0, 0, 0, 0,
3291 2132, 2133, 2133, 2133, 0, 0, 0, 0, 2133, 2134,
3292 2134, 2134, 0, 0, 0, 0, 2134, 2135, 2135, 2135,
3293 0, 0, 0, 0, 2135, 2136, 2136, 2136, 0, 0,
3294 0, 0, 2136, 2137, 2137, 0, 0, 0, 0, 0,
3295 2137, 2138, 2138, 2138, 0, 0, 0, 0, 2138, 2139,
3296 2139, 0, 0, 0, 0, 0, 2139, 1518, 1518, 1518,
3297 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
3298 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
3300 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518,
3301 1518, 1518, 1518, 1518, 1518, 1518, 1518
3302 } ;
3304 /* Table of booleans, true if rule could match eol. */
3305 static yyconst flex_int32_t yy_rule_can_match_eol[20] =
3306 { 0,
3307 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0,
3308 };
3310 static yy_state_type yy_last_accepting_state;
3311 static char *yy_last_accepting_cpos;
3313 extern int yy_flex_debug;
3314 int yy_flex_debug = 0;
3316 /* The intent behind this definition is that it'll catch
3317 * any uses of REJECT which flex missed.
3318 */
3319 #define REJECT reject_used_but_not_detected
3320 #define yymore() yymore_used_but_not_detected
3321 #define YY_MORE_ADJ 0
3322 #define YY_RESTORE_YY_MORE_OFFSET
3323 char *yytext;
3324 #line 1 "scanner.l"
3325 /**
3326 * collectd - src/liboconfig/scanner.l
3327 * Copyright (C) 2007 Florian Forster
3328 * Copyright (C) 2008 Sebastian Harl
3329 *
3330 * Permission is hereby granted, free of charge, to any person obtaining a
3331 * copy of this software and associated documentation files (the "Software"),
3332 * to deal in the Software without restriction, including without limitation
3333 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
3334 * and/or sell copies of the Software, and to permit persons to whom the
3335 * Software is furnished to do so, subject to the following conditions:
3336 *
3337 * The above copyright notice and this permission notice shall be included in
3338 * all copies or substantial portions of the Software.
3339 *
3340 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
3341 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
3342 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
3343 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
3344 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
3345 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
3346 * DEALINGS IN THE SOFTWARE.
3347 *
3348 * Authors:
3349 * Florian Forster <octo at collectd.org>
3350 * Sebastian Harl <sh at tokkee.org>
3351 */
3352 #line 30 "scanner.l"
3353 #include <stdlib.h>
3354 #include "oconfig.h"
3355 #include "aux_types.h"
3356 #include "parser.h"
3358 /* multiline string buffer */
3359 static char *ml_buffer = NULL;
3360 static int ml_pos = 0;
3361 static int ml_len = 0;
3363 #define ml_free (ml_len - ml_pos)
3365 static void ml_append (char *);
3367 #ifdef yyterminate
3368 # undef yyterminate
3369 #endif
3370 #define yyterminate() \
3371 do { free (ml_buffer); ml_buffer = NULL; ml_pos = 0; ml_len = 0; \
3372 return YY_NULL; } while (0)
3374 /* IPv6 address according to http://www.ietf.org/rfc/rfc2373.txt
3375 * This supports embedded IPv4 addresses as well but does not strictly check
3376 * for the right prefix (::0:<v4> or ::FFFF:<v4>) because there are too many
3377 * ways to correctly represent the zero bytes. It's up to the user to check
3378 * for valid addresses. */
3379 #line 3380 "scanner.c"
3381 #define INITIAL 0
3382 #define ML 1
3384 #ifndef YY_NO_UNISTD_H
3385 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3386 * down here because we want the user's section 1 to have been scanned first.
3387 * The user has a chance to override it with an option.
3388 */
3389 #include <unistd.h>
3390 #endif
3392 #ifndef YY_EXTRA_TYPE
3393 #define YY_EXTRA_TYPE void *
3394 #endif
3396 static int yy_init_globals (void );
3398 /* Accessor methods to globals.
3399 These are made visible to non-reentrant scanners for convenience. */
3401 int yylex_destroy (void );
3403 int yyget_debug (void );
3405 void yyset_debug (int debug_flag );
3407 YY_EXTRA_TYPE yyget_extra (void );
3409 void yyset_extra (YY_EXTRA_TYPE user_defined );
3411 FILE *yyget_in (void );
3413 void yyset_in (FILE * in_str );
3415 FILE *yyget_out (void );
3417 void yyset_out (FILE * out_str );
3419 yy_size_t yyget_leng (void );
3421 char *yyget_text (void );
3423 int yyget_lineno (void );
3425 void yyset_lineno (int line_number );
3427 /* Macros after this point can all be overridden by user definitions in
3428 * section 1.
3429 */
3431 #ifndef YY_SKIP_YYWRAP
3432 #ifdef __cplusplus
3433 extern "C" int yywrap (void );
3434 #else
3435 extern int yywrap (void );
3436 #endif
3437 #endif
3439 static void yyunput (int c,char *buf_ptr );
3441 #ifndef yytext_ptr
3442 static void yy_flex_strncpy (char *,yyconst char *,int );
3443 #endif
3445 #ifdef YY_NEED_STRLEN
3446 static int yy_flex_strlen (yyconst char * );
3447 #endif
3449 #ifndef YY_NO_INPUT
3451 #ifdef __cplusplus
3452 static int yyinput (void );
3453 #else
3454 static int input (void );
3455 #endif
3457 #endif
3459 /* Amount of stuff to slurp up with each read. */
3460 #ifndef YY_READ_BUF_SIZE
3461 #ifdef __ia64__
3462 /* On IA-64, the buffer size is 16k, not 8k */
3463 #define YY_READ_BUF_SIZE 16384
3464 #else
3465 #define YY_READ_BUF_SIZE 8192
3466 #endif /* __ia64__ */
3467 #endif
3469 /* Copy whatever the last rule matched to the standard output. */
3470 #ifndef ECHO
3471 /* This used to be an fputs(), but since the string might contain NUL's,
3472 * we now use fwrite().
3473 */
3474 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
3475 #endif
3477 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3478 * is returned in "result".
3479 */
3480 #ifndef YY_INPUT
3481 #define YY_INPUT(buf,result,max_size) \
3482 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3483 { \
3484 int c = '*'; \
3485 size_t n; \
3486 for ( n = 0; n < max_size && \
3487 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
3488 buf[n] = (char) c; \
3489 if ( c == '\n' ) \
3490 buf[n++] = (char) c; \
3491 if ( c == EOF && ferror( yyin ) ) \
3492 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3493 result = n; \
3494 } \
3495 else \
3496 { \
3497 errno=0; \
3498 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
3499 { \
3500 if( errno != EINTR) \
3501 { \
3502 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3503 break; \
3504 } \
3505 errno=0; \
3506 clearerr(yyin); \
3507 } \
3508 }\
3509 \
3511 #endif
3513 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3514 * we don't want an extra ';' after the "return" because that will cause
3515 * some compilers to complain about unreachable statements.
3516 */
3517 #ifndef yyterminate
3518 #define yyterminate() return YY_NULL
3519 #endif
3521 /* Number of entries by which start-condition stack grows. */
3522 #ifndef YY_START_STACK_INCR
3523 #define YY_START_STACK_INCR 25
3524 #endif
3526 /* Report a fatal error. */
3527 #ifndef YY_FATAL_ERROR
3528 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3529 #endif
3531 /* end tables serialization structures and prototypes */
3533 /* Default declaration of generated scanner - a define so the user can
3534 * easily add parameters.
3535 */
3536 #ifndef YY_DECL
3537 #define YY_DECL_IS_OURS 1
3539 extern int yylex (void);
3541 #define YY_DECL int yylex (void)
3542 #endif /* !YY_DECL */
3544 /* Code executed at the beginning of each rule, after yytext and yyleng
3545 * have been set up.
3546 */
3547 #ifndef YY_USER_ACTION
3548 #define YY_USER_ACTION
3549 #endif
3551 /* Code executed at the end of each rule. */
3552 #ifndef YY_BREAK
3553 #define YY_BREAK break;
3554 #endif
3556 #define YY_RULE_SETUP \
3557 if ( yyleng > 0 ) \
3558 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
3559 (yytext[yyleng - 1] == '\n'); \
3560 YY_USER_ACTION
3562 /** The main scanner function which does all the work.
3563 */
3564 YY_DECL
3565 {
3566 register yy_state_type yy_current_state;
3567 register char *yy_cp, *yy_bp;
3568 register int yy_act;
3570 if ( !(yy_init) )
3571 {
3572 (yy_init) = 1;
3574 #ifdef YY_USER_INIT
3575 YY_USER_INIT;
3576 #endif
3578 if ( ! (yy_start) )
3579 (yy_start) = 1; /* first start state */
3581 if ( ! yyin )
3582 yyin = stdin;
3584 if ( ! yyout )
3585 yyout = stdout;
3587 if ( ! YY_CURRENT_BUFFER ) {
3588 yyensure_buffer_stack ();
3589 YY_CURRENT_BUFFER_LVALUE =
3590 yy_create_buffer(yyin,YY_BUF_SIZE );
3591 }
3593 yy_load_buffer_state( );
3594 }
3596 {
3597 #line 82 "scanner.l"
3599 #line 3600 "scanner.c"
3601 while ( 1 ) /* loops until end-of-file is reached */
3602 {
3603 yy_cp = (yy_c_buf_p);
3605 /* Support of yytext. */
3606 *yy_cp = (yy_hold_char);
3608 /* yy_bp points to the position in yy_ch_buf of the start of
3609 * the current run.
3610 */
3611 yy_bp = yy_cp;
3613 yy_current_state = (yy_start);
3614 yy_current_state += YY_AT_BOL();
3615 yy_match:
3616 do
3617 {
3618 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
3619 if ( yy_accept[yy_current_state] )
3620 {
3621 (yy_last_accepting_state) = yy_current_state;
3622 (yy_last_accepting_cpos) = yy_cp;
3623 }
3624 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3625 {
3626 yy_current_state = (int) yy_def[yy_current_state];
3627 if ( yy_current_state >= 1519 )
3628 yy_c = yy_meta[(unsigned int) yy_c];
3629 }
3630 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3631 ++yy_cp;
3632 }
3633 while ( yy_base[yy_current_state] != 9978 );
3635 yy_find_action:
3636 yy_act = yy_accept[yy_current_state];
3637 if ( yy_act == 0 )
3638 { /* have to back up */
3639 yy_cp = (yy_last_accepting_cpos);
3640 yy_current_state = (yy_last_accepting_state);
3641 yy_act = yy_accept[yy_current_state];
3642 }
3644 YY_DO_BEFORE_ACTION;
3646 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3647 {
3648 yy_size_t yyl;
3649 for ( yyl = 0; yyl < yyleng; ++yyl )
3650 if ( yytext[yyl] == '\n' )
3652 yylineno++;
3653 ;
3654 }
3656 do_action: /* This label is used only to access EOF actions. */
3658 switch ( yy_act )
3659 { /* beginning of action switch */
3660 case 0: /* must back up */
3661 /* undo the effects of YY_DO_BEFORE_ACTION */
3662 *yy_cp = (yy_hold_char);
3663 yy_cp = (yy_last_accepting_cpos);
3664 yy_current_state = (yy_last_accepting_state);
3665 goto yy_find_action;
3667 case 1:
3668 #line 84 "scanner.l"
3669 case 2:
3670 YY_RULE_SETUP
3671 #line 84 "scanner.l"
3672 {/* ignore */}
3673 YY_BREAK
3674 case 3:
3675 /* rule 3 can match eol */
3676 YY_RULE_SETUP
3677 #line 86 "scanner.l"
3678 {/* continue line */}
3679 YY_BREAK
3680 case 4:
3681 /* rule 4 can match eol */
3682 YY_RULE_SETUP
3683 #line 88 "scanner.l"
3684 {return (EOL);}
3685 YY_BREAK
3686 case 5:
3687 YY_RULE_SETUP
3688 #line 89 "scanner.l"
3689 {return (SLASH);}
3690 YY_BREAK
3691 case 6:
3692 YY_RULE_SETUP
3693 #line 90 "scanner.l"
3694 {return (OPENBRAC);}
3695 YY_BREAK
3696 case 7:
3697 YY_RULE_SETUP
3698 #line 91 "scanner.l"
3699 {return (CLOSEBRAC);}
3700 YY_BREAK
3701 case 8:
3702 YY_RULE_SETUP
3703 #line 92 "scanner.l"
3704 {yylval.boolean = 1; return (BTRUE);}
3705 YY_BREAK
3706 case 9:
3707 YY_RULE_SETUP
3708 #line 93 "scanner.l"
3709 {yylval.boolean = 0; return (BFALSE);}
3710 YY_BREAK
3711 case 10:
3712 YY_RULE_SETUP
3713 #line 95 "scanner.l"
3714 {yylval.string = yytext; return (UNQUOTED_STRING);}
3715 YY_BREAK
3716 case 11:
3717 YY_RULE_SETUP
3718 #line 96 "scanner.l"
3719 {yylval.string = yytext; return (UNQUOTED_STRING);}
3720 YY_BREAK
3721 case 12:
3722 YY_RULE_SETUP
3723 #line 98 "scanner.l"
3724 {yylval.number = strtod (yytext, NULL); return (NUMBER);}
3725 YY_BREAK
3726 case 13:
3727 /* rule 13 can match eol */
3728 YY_RULE_SETUP
3729 #line 100 "scanner.l"
3730 {yylval.string = yytext; return (QUOTED_STRING);}
3731 YY_BREAK
3732 case 14:
3733 YY_RULE_SETUP
3734 #line 101 "scanner.l"
3735 {yylval.string = yytext; return (UNQUOTED_STRING);}
3736 YY_BREAK
3737 case 15:
3738 /* rule 15 can match eol */
3739 YY_RULE_SETUP
3740 #line 103 "scanner.l"
3741 {
3742 int len = strlen (yytext);
3744 ml_pos = 0;
3746 /* remove "\\<EOL>" */
3747 if ('\r' == yytext[len - 2])
3748 len -= 3;
3749 else
3750 len -= 2;
3751 yytext[len] = '\0';
3753 ml_append (yytext);
3754 BEGIN (ML);
3755 }
3756 YY_BREAK
3757 case 16:
3758 YY_RULE_SETUP
3759 #line 118 "scanner.l"
3760 {/* remove leading white-space */}
3761 YY_BREAK
3762 case 17:
3763 /* rule 17 can match eol */
3764 YY_RULE_SETUP
3765 #line 119 "scanner.l"
3766 {
3767 int len = strlen (yytext);
3769 /* remove "\\<EOL>" */
3770 if ('\r' == yytext[len - 2])
3771 len -= 3;
3772 else
3773 len -= 2;
3774 yytext[len] = '\0';
3776 ml_append(yytext);
3777 }
3778 YY_BREAK
3779 case 18:
3780 /* rule 18 can match eol */
3781 YY_RULE_SETUP
3782 #line 131 "scanner.l"
3783 {
3784 ml_append(yytext);
3785 yylval.string = ml_buffer;
3787 BEGIN (INITIAL);
3788 return (QUOTED_STRING);
3789 }
3790 YY_BREAK
3791 case 19:
3792 YY_RULE_SETUP
3793 #line 138 "scanner.l"
3794 ECHO;
3795 YY_BREAK
3796 #line 3797 "scanner.c"
3797 case YY_STATE_EOF(INITIAL):
3798 case YY_STATE_EOF(ML):
3799 yyterminate();
3801 case YY_END_OF_BUFFER:
3802 {
3803 /* Amount of text matched not including the EOB char. */
3804 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3806 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3807 *yy_cp = (yy_hold_char);
3808 YY_RESTORE_YY_MORE_OFFSET
3810 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3811 {
3812 /* We're scanning a new file or input source. It's
3813 * possible that this happened because the user
3814 * just pointed yyin at a new source and called
3815 * yylex(). If so, then we have to assure
3816 * consistency between YY_CURRENT_BUFFER and our
3817 * globals. Here is the right place to do so, because
3818 * this is the first action (other than possibly a
3819 * back-up) that will match for the new input source.
3820 */
3821 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3822 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
3823 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3824 }
3826 /* Note that here we test for yy_c_buf_p "<=" to the position
3827 * of the first EOB in the buffer, since yy_c_buf_p will
3828 * already have been incremented past the NUL character
3829 * (since all states make transitions on EOB to the
3830 * end-of-buffer state). Contrast this with the test
3831 * in input().
3832 */
3833 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3834 { /* This was really a NUL. */
3835 yy_state_type yy_next_state;
3837 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3839 yy_current_state = yy_get_previous_state( );
3841 /* Okay, we're now positioned to make the NUL
3842 * transition. We couldn't have
3843 * yy_get_previous_state() go ahead and do it
3844 * for us because it doesn't know how to deal
3845 * with the possibility of jamming (and we don't
3846 * want to build jamming into it because then it
3847 * will run more slowly).
3848 */
3850 yy_next_state = yy_try_NUL_trans( yy_current_state );
3852 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3854 if ( yy_next_state )
3855 {
3856 /* Consume the NUL. */
3857 yy_cp = ++(yy_c_buf_p);
3858 yy_current_state = yy_next_state;
3859 goto yy_match;
3860 }
3862 else
3863 {
3864 yy_cp = (yy_c_buf_p);
3865 goto yy_find_action;
3866 }
3867 }
3869 else switch ( yy_get_next_buffer( ) )
3870 {
3871 case EOB_ACT_END_OF_FILE:
3872 {
3873 (yy_did_buffer_switch_on_eof) = 0;
3875 if ( yywrap( ) )
3876 {
3877 /* Note: because we've taken care in
3878 * yy_get_next_buffer() to have set up
3879 * yytext, we can now set up
3880 * yy_c_buf_p so that if some total
3881 * hoser (like flex itself) wants to
3882 * call the scanner after we return the
3883 * YY_NULL, it'll still work - another
3884 * YY_NULL will get returned.
3885 */
3886 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3888 yy_act = YY_STATE_EOF(YY_START);
3889 goto do_action;
3890 }
3892 else
3893 {
3894 if ( ! (yy_did_buffer_switch_on_eof) )
3895 YY_NEW_FILE;
3896 }
3897 break;
3898 }
3900 case EOB_ACT_CONTINUE_SCAN:
3901 (yy_c_buf_p) =
3902 (yytext_ptr) + yy_amount_of_matched_text;
3904 yy_current_state = yy_get_previous_state( );
3906 yy_cp = (yy_c_buf_p);
3907 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3908 goto yy_match;
3910 case EOB_ACT_LAST_MATCH:
3911 (yy_c_buf_p) =
3912 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3914 yy_current_state = yy_get_previous_state( );
3916 yy_cp = (yy_c_buf_p);
3917 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3918 goto yy_find_action;
3919 }
3920 break;
3921 }
3923 default:
3924 YY_FATAL_ERROR(
3925 "fatal flex scanner internal error--no action found" );
3926 } /* end of action switch */
3927 } /* end of scanning one token */
3928 } /* end of user's declarations */
3929 } /* end of yylex */
3931 /* yy_get_next_buffer - try to read in a new buffer
3932 *
3933 * Returns a code representing an action:
3934 * EOB_ACT_LAST_MATCH -
3935 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3936 * EOB_ACT_END_OF_FILE - end of file
3937 */
3938 static int yy_get_next_buffer (void)
3939 {
3940 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3941 register char *source = (yytext_ptr);
3942 register int number_to_move, i;
3943 int ret_val;
3945 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3946 YY_FATAL_ERROR(
3947 "fatal flex scanner internal error--end of buffer missed" );
3949 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3950 { /* Don't try to fill the buffer, so this is an EOF. */
3951 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3952 {
3953 /* We matched a single character, the EOB, so
3954 * treat this as a final EOF.
3955 */
3956 return EOB_ACT_END_OF_FILE;
3957 }
3959 else
3960 {
3961 /* We matched some text prior to the EOB, first
3962 * process it.
3963 */
3964 return EOB_ACT_LAST_MATCH;
3965 }
3966 }
3968 /* Try to read more data. */
3970 /* First move last chars to start of buffer. */
3971 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3973 for ( i = 0; i < number_to_move; ++i )
3974 *(dest++) = *(source++);
3976 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3977 /* don't do the read, it's not guaranteed to return an EOF,
3978 * just force an EOF
3979 */
3980 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3982 else
3983 {
3984 yy_size_t num_to_read =
3985 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3987 while ( num_to_read <= 0 )
3988 { /* Not enough room in the buffer - grow it. */
3990 /* just a shorter name for the current buffer */
3991 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
3993 int yy_c_buf_p_offset =
3994 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3996 if ( b->yy_is_our_buffer )
3997 {
3998 yy_size_t new_size = b->yy_buf_size * 2;
4000 if ( new_size <= 0 )
4001 b->yy_buf_size += b->yy_buf_size / 8;
4002 else
4003 b->yy_buf_size *= 2;
4005 b->yy_ch_buf = (char *)
4006 /* Include room in for 2 EOB chars. */
4007 yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
4008 }
4009 else
4010 /* Can't grow it, we don't own it. */
4011 b->yy_ch_buf = 0;
4013 if ( ! b->yy_ch_buf )
4014 YY_FATAL_ERROR(
4015 "fatal error - scanner input buffer overflow" );
4017 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
4019 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
4020 number_to_move - 1;
4022 }
4024 if ( num_to_read > YY_READ_BUF_SIZE )
4025 num_to_read = YY_READ_BUF_SIZE;
4027 /* Read in more data. */
4028 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
4029 (yy_n_chars), num_to_read );
4031 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4032 }
4034 if ( (yy_n_chars) == 0 )
4035 {
4036 if ( number_to_move == YY_MORE_ADJ )
4037 {
4038 ret_val = EOB_ACT_END_OF_FILE;
4039 yyrestart(yyin );
4040 }
4042 else
4043 {
4044 ret_val = EOB_ACT_LAST_MATCH;
4045 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
4046 YY_BUFFER_EOF_PENDING;
4047 }
4048 }
4050 else
4051 ret_val = EOB_ACT_CONTINUE_SCAN;
4053 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
4054 /* Extend the array by 50%, plus the number we really need. */
4055 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
4056 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
4057 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4058 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
4059 }
4061 (yy_n_chars) += number_to_move;
4062 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
4063 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
4065 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4067 return ret_val;
4068 }
4070 /* yy_get_previous_state - get the state just before the EOB char was reached */
4072 static yy_state_type yy_get_previous_state (void)
4073 {
4074 register yy_state_type yy_current_state;
4075 register char *yy_cp;
4077 yy_current_state = (yy_start);
4078 yy_current_state += YY_AT_BOL();
4080 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
4081 {
4082 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4083 if ( yy_accept[yy_current_state] )
4084 {
4085 (yy_last_accepting_state) = yy_current_state;
4086 (yy_last_accepting_cpos) = yy_cp;
4087 }
4088 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4089 {
4090 yy_current_state = (int) yy_def[yy_current_state];
4091 if ( yy_current_state >= 1519 )
4092 yy_c = yy_meta[(unsigned int) yy_c];
4093 }
4094 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4095 }
4097 return yy_current_state;
4098 }
4100 /* yy_try_NUL_trans - try to make a transition on the NUL character
4101 *
4102 * synopsis
4103 * next_state = yy_try_NUL_trans( current_state );
4104 */
4105 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
4106 {
4107 register int yy_is_jam;
4108 register char *yy_cp = (yy_c_buf_p);
4110 register YY_CHAR yy_c = 1;
4111 if ( yy_accept[yy_current_state] )
4112 {
4113 (yy_last_accepting_state) = yy_current_state;
4114 (yy_last_accepting_cpos) = yy_cp;
4115 }
4116 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4117 {
4118 yy_current_state = (int) yy_def[yy_current_state];
4119 if ( yy_current_state >= 1519 )
4120 yy_c = yy_meta[(unsigned int) yy_c];
4121 }
4122 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4123 yy_is_jam = (yy_current_state == 1518);
4125 return yy_is_jam ? 0 : yy_current_state;
4126 }
4128 static void yyunput (int c, register char * yy_bp )
4129 {
4130 register char *yy_cp;
4132 yy_cp = (yy_c_buf_p);
4134 /* undo effects of setting up yytext */
4135 *yy_cp = (yy_hold_char);
4137 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4138 { /* need to shift things up to make room */
4139 /* +2 for EOB chars. */
4140 register yy_size_t number_to_move = (yy_n_chars) + 2;
4141 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
4142 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
4143 register char *source =
4144 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
4146 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4147 *--dest = *--source;
4149 yy_cp += (int) (dest - source);
4150 yy_bp += (int) (dest - source);
4151 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
4152 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
4154 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4155 YY_FATAL_ERROR( "flex scanner push-back overflow" );
4156 }
4158 *--yy_cp = (char) c;
4160 if ( c == '\n' ){
4161 --yylineno;
4162 }
4164 (yytext_ptr) = yy_bp;
4165 (yy_hold_char) = *yy_cp;
4166 (yy_c_buf_p) = yy_cp;
4167 }
4169 #ifndef YY_NO_INPUT
4170 #ifdef __cplusplus
4171 static int yyinput (void)
4172 #else
4173 static int input (void)
4174 #endif
4176 {
4177 int c;
4179 *(yy_c_buf_p) = (yy_hold_char);
4181 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4182 {
4183 /* yy_c_buf_p now points to the character we want to return.
4184 * If this occurs *before* the EOB characters, then it's a
4185 * valid NUL; if not, then we've hit the end of the buffer.
4186 */
4187 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4188 /* This was really a NUL. */
4189 *(yy_c_buf_p) = '\0';
4191 else
4192 { /* need more input */
4193 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
4194 ++(yy_c_buf_p);
4196 switch ( yy_get_next_buffer( ) )
4197 {
4198 case EOB_ACT_LAST_MATCH:
4199 /* This happens because yy_g_n_b()
4200 * sees that we've accumulated a
4201 * token and flags that we need to
4202 * try matching the token before
4203 * proceeding. But for input(),
4204 * there's no matching to consider.
4205 * So convert the EOB_ACT_LAST_MATCH
4206 * to EOB_ACT_END_OF_FILE.
4207 */
4209 /* Reset buffer status. */
4210 yyrestart(yyin );
4212 /*FALLTHROUGH*/
4214 case EOB_ACT_END_OF_FILE:
4215 {
4216 if ( yywrap( ) )
4217 return EOF;
4219 if ( ! (yy_did_buffer_switch_on_eof) )
4220 YY_NEW_FILE;
4221 #ifdef __cplusplus
4222 return yyinput();
4223 #else
4224 return input();
4225 #endif
4226 }
4228 case EOB_ACT_CONTINUE_SCAN:
4229 (yy_c_buf_p) = (yytext_ptr) + offset;
4230 break;
4231 }
4232 }
4233 }
4235 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
4236 *(yy_c_buf_p) = '\0'; /* preserve yytext */
4237 (yy_hold_char) = *++(yy_c_buf_p);
4239 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
4240 if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )
4242 yylineno++;
4243 ;
4245 return c;
4246 }
4247 #endif /* ifndef YY_NO_INPUT */
4249 /** Immediately switch to a different input stream.
4250 * @param input_file A readable stream.
4251 *
4252 * @note This function does not reset the start condition to @c INITIAL .
4253 */
4254 void yyrestart (FILE * input_file )
4255 {
4257 if ( ! YY_CURRENT_BUFFER ){
4258 yyensure_buffer_stack ();
4259 YY_CURRENT_BUFFER_LVALUE =
4260 yy_create_buffer(yyin,YY_BUF_SIZE );
4261 }
4263 yy_init_buffer(YY_CURRENT_BUFFER,input_file );
4264 yy_load_buffer_state( );
4265 }
4267 /** Switch to a different input buffer.
4268 * @param new_buffer The new input buffer.
4269 *
4270 */
4271 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
4272 {
4274 /* TODO. We should be able to replace this entire function body
4275 * with
4276 * yypop_buffer_state();
4277 * yypush_buffer_state(new_buffer);
4278 */
4279 yyensure_buffer_stack ();
4280 if ( YY_CURRENT_BUFFER == new_buffer )
4281 return;
4283 if ( YY_CURRENT_BUFFER )
4284 {
4285 /* Flush out information for old buffer. */
4286 *(yy_c_buf_p) = (yy_hold_char);
4287 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4288 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4289 }
4291 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4292 yy_load_buffer_state( );
4294 /* We don't actually know whether we did this switch during
4295 * EOF (yywrap()) processing, but the only time this flag
4296 * is looked at is after yywrap() is called, so it's safe
4297 * to go ahead and always set it.
4298 */
4299 (yy_did_buffer_switch_on_eof) = 1;
4300 }
4302 static void yy_load_buffer_state (void)
4303 {
4304 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4305 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4306 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4307 (yy_hold_char) = *(yy_c_buf_p);
4308 }
4310 /** Allocate and initialize an input buffer state.
4311 * @param file A readable stream.
4312 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
4313 *
4314 * @return the allocated buffer state.
4315 */
4316 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
4317 {
4318 YY_BUFFER_STATE b;
4320 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
4321 if ( ! b )
4322 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4324 b->yy_buf_size = size;
4326 /* yy_ch_buf has to be 2 characters longer than the size given because
4327 * we need to put in 2 end-of-buffer characters.
4328 */
4329 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
4330 if ( ! b->yy_ch_buf )
4331 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4333 b->yy_is_our_buffer = 1;
4335 yy_init_buffer(b,file );
4337 return b;
4338 }
4340 /** Destroy the buffer.
4341 * @param b a buffer created with yy_create_buffer()
4342 *
4343 */
4344 void yy_delete_buffer (YY_BUFFER_STATE b )
4345 {
4347 if ( ! b )
4348 return;
4350 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4351 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
4353 if ( b->yy_is_our_buffer )
4354 yyfree((void *) b->yy_ch_buf );
4356 yyfree((void *) b );
4357 }
4359 /* Initializes or reinitializes a buffer.
4360 * This function is sometimes called more than once on the same buffer,
4361 * such as during a yyrestart() or at EOF.
4362 */
4363 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
4365 {
4366 int oerrno = errno;
4368 yy_flush_buffer(b );
4370 b->yy_input_file = file;
4371 b->yy_fill_buffer = 1;
4373 /* If b is the current buffer, then yy_init_buffer was _probably_
4374 * called from yyrestart() or through yy_get_next_buffer.
4375 * In that case, we don't want to reset the lineno or column.
4376 */
4377 if (b != YY_CURRENT_BUFFER){
4378 b->yy_bs_lineno = 1;
4379 b->yy_bs_column = 0;
4380 }
4382 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
4384 errno = oerrno;
4385 }
4387 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4388 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4389 *
4390 */
4391 void yy_flush_buffer (YY_BUFFER_STATE b )
4392 {
4393 if ( ! b )
4394 return;
4396 b->yy_n_chars = 0;
4398 /* We always need two end-of-buffer characters. The first causes
4399 * a transition to the end-of-buffer state. The second causes
4400 * a jam in that state.
4401 */
4402 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4403 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4405 b->yy_buf_pos = &b->yy_ch_buf[0];
4407 b->yy_at_bol = 1;
4408 b->yy_buffer_status = YY_BUFFER_NEW;
4410 if ( b == YY_CURRENT_BUFFER )
4411 yy_load_buffer_state( );
4412 }
4414 /** Pushes the new state onto the stack. The new state becomes
4415 * the current state. This function will allocate the stack
4416 * if necessary.
4417 * @param new_buffer The new state.
4418 *
4419 */
4420 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
4421 {
4422 if (new_buffer == NULL)
4423 return;
4425 yyensure_buffer_stack();
4427 /* This block is copied from yy_switch_to_buffer. */
4428 if ( YY_CURRENT_BUFFER )
4429 {
4430 /* Flush out information for old buffer. */
4431 *(yy_c_buf_p) = (yy_hold_char);
4432 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4433 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4434 }
4436 /* Only push if top exists. Otherwise, replace top. */
4437 if (YY_CURRENT_BUFFER)
4438 (yy_buffer_stack_top)++;
4439 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4441 /* copied from yy_switch_to_buffer. */
4442 yy_load_buffer_state( );
4443 (yy_did_buffer_switch_on_eof) = 1;
4444 }
4446 /** Removes and deletes the top of the stack, if present.
4447 * The next element becomes the new top.
4448 *
4449 */
4450 void yypop_buffer_state (void)
4451 {
4452 if (!YY_CURRENT_BUFFER)
4453 return;
4455 yy_delete_buffer(YY_CURRENT_BUFFER );
4456 YY_CURRENT_BUFFER_LVALUE = NULL;
4457 if ((yy_buffer_stack_top) > 0)
4458 --(yy_buffer_stack_top);
4460 if (YY_CURRENT_BUFFER) {
4461 yy_load_buffer_state( );
4462 (yy_did_buffer_switch_on_eof) = 1;
4463 }
4464 }
4466 /* Allocates the stack if it does not exist.
4467 * Guarantees space for at least one push.
4468 */
4469 static void yyensure_buffer_stack (void)
4470 {
4471 yy_size_t num_to_alloc;
4473 if (!(yy_buffer_stack)) {
4475 /* First allocation is just for 2 elements, since we don't know if this
4476 * scanner will even need a stack. We use 2 instead of 1 to avoid an
4477 * immediate realloc on the next call.
4478 */
4479 num_to_alloc = 1;
4480 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
4481 (num_to_alloc * sizeof(struct yy_buffer_state*)
4482 );
4483 if ( ! (yy_buffer_stack) )
4484 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4486 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4488 (yy_buffer_stack_max) = num_to_alloc;
4489 (yy_buffer_stack_top) = 0;
4490 return;
4491 }
4493 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
4495 /* Increase the buffer to prepare for a possible push. */
4496 int grow_size = 8 /* arbitrary grow size */;
4498 num_to_alloc = (yy_buffer_stack_max) + grow_size;
4499 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
4500 ((yy_buffer_stack),
4501 num_to_alloc * sizeof(struct yy_buffer_state*)
4502 );
4503 if ( ! (yy_buffer_stack) )
4504 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4506 /* zero only the new slots.*/
4507 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4508 (yy_buffer_stack_max) = num_to_alloc;
4509 }
4510 }
4512 /** Setup the input buffer state to scan directly from a user-specified character buffer.
4513 * @param base the character buffer
4514 * @param size the size in bytes of the character buffer
4515 *
4516 * @return the newly allocated buffer state object.
4517 */
4518 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
4519 {
4520 YY_BUFFER_STATE b;
4522 if ( size < 2 ||
4523 base[size-2] != YY_END_OF_BUFFER_CHAR ||
4524 base[size-1] != YY_END_OF_BUFFER_CHAR )
4525 /* They forgot to leave room for the EOB's. */
4526 return 0;
4528 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
4529 if ( ! b )
4530 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
4532 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
4533 b->yy_buf_pos = b->yy_ch_buf = base;
4534 b->yy_is_our_buffer = 0;
4535 b->yy_input_file = 0;
4536 b->yy_n_chars = b->yy_buf_size;
4537 b->yy_is_interactive = 0;
4538 b->yy_at_bol = 1;
4539 b->yy_fill_buffer = 0;
4540 b->yy_buffer_status = YY_BUFFER_NEW;
4542 yy_switch_to_buffer(b );
4544 return b;
4545 }
4547 /** Setup the input buffer state to scan a string. The next call to yylex() will
4548 * scan from a @e copy of @a str.
4549 * @param yystr a NUL-terminated string to scan
4550 *
4551 * @return the newly allocated buffer state object.
4552 * @note If you want to scan bytes that may contain NUL values, then use
4553 * yy_scan_bytes() instead.
4554 */
4555 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
4556 {
4558 return yy_scan_bytes(yystr,strlen(yystr) );
4559 }
4561 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
4562 * scan from a @e copy of @a bytes.
4563 * @param yybytes the byte buffer to scan
4564 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
4565 *
4566 * @return the newly allocated buffer state object.
4567 */
4568 YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
4569 {
4570 YY_BUFFER_STATE b;
4571 char *buf;
4572 yy_size_t n;
4573 yy_size_t i;
4575 /* Get memory for full buffer, including space for trailing EOB's. */
4576 n = _yybytes_len + 2;
4577 buf = (char *) yyalloc(n );
4578 if ( ! buf )
4579 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
4581 for ( i = 0; i < _yybytes_len; ++i )
4582 buf[i] = yybytes[i];
4584 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4586 b = yy_scan_buffer(buf,n );
4587 if ( ! b )
4588 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
4590 /* It's okay to grow etc. this buffer, and we should throw it
4591 * away when we're done.
4592 */
4593 b->yy_is_our_buffer = 1;
4595 return b;
4596 }
4598 #ifndef YY_EXIT_FAILURE
4599 #define YY_EXIT_FAILURE 2
4600 #endif
4602 static void yy_fatal_error (yyconst char* msg )
4603 {
4604 (void) fprintf( stderr, "%s\n", msg );
4605 exit( YY_EXIT_FAILURE );
4606 }
4608 /* Redefine yyless() so it works in section 3 code. */
4610 #undef yyless
4611 #define yyless(n) \
4612 do \
4613 { \
4614 /* Undo effects of setting up yytext. */ \
4615 int yyless_macro_arg = (n); \
4616 YY_LESS_LINENO(yyless_macro_arg);\
4617 yytext[yyleng] = (yy_hold_char); \
4618 (yy_c_buf_p) = yytext + yyless_macro_arg; \
4619 (yy_hold_char) = *(yy_c_buf_p); \
4620 *(yy_c_buf_p) = '\0'; \
4621 yyleng = yyless_macro_arg; \
4622 } \
4623 while ( 0 )
4625 /* Accessor methods (get/set functions) to struct members. */
4627 /** Get the current line number.
4628 *
4629 */
4630 int yyget_lineno (void)
4631 {
4633 return yylineno;
4634 }
4636 /** Get the input stream.
4637 *
4638 */
4639 FILE *yyget_in (void)
4640 {
4641 return yyin;
4642 }
4644 /** Get the output stream.
4645 *
4646 */
4647 FILE *yyget_out (void)
4648 {
4649 return yyout;
4650 }
4652 /** Get the length of the current token.
4653 *
4654 */
4655 yy_size_t yyget_leng (void)
4656 {
4657 return yyleng;
4658 }
4660 /** Get the current token.
4661 *
4662 */
4664 char *yyget_text (void)
4665 {
4666 return yytext;
4667 }
4669 /** Set the current line number.
4670 * @param line_number
4671 *
4672 */
4673 void yyset_lineno (int line_number )
4674 {
4676 yylineno = line_number;
4677 }
4679 /** Set the input stream. This does not discard the current
4680 * input buffer.
4681 * @param in_str A readable stream.
4682 *
4683 * @see yy_switch_to_buffer
4684 */
4685 void yyset_in (FILE * in_str )
4686 {
4687 yyin = in_str ;
4688 }
4690 void yyset_out (FILE * out_str )
4691 {
4692 yyout = out_str ;
4693 }
4695 int yyget_debug (void)
4696 {
4697 return yy_flex_debug;
4698 }
4700 void yyset_debug (int bdebug )
4701 {
4702 yy_flex_debug = bdebug ;
4703 }
4705 static int yy_init_globals (void)
4706 {
4707 /* Initialization is the same as for the non-reentrant scanner.
4708 * This function is called from yylex_destroy(), so don't allocate here.
4709 */
4711 /* We do not touch yylineno unless the option is enabled. */
4712 yylineno = 1;
4714 (yy_buffer_stack) = 0;
4715 (yy_buffer_stack_top) = 0;
4716 (yy_buffer_stack_max) = 0;
4717 (yy_c_buf_p) = (char *) 0;
4718 (yy_init) = 0;
4719 (yy_start) = 0;
4721 /* Defined in main.c */
4722 #ifdef YY_STDINIT
4723 yyin = stdin;
4724 yyout = stdout;
4725 #else
4726 yyin = (FILE *) 0;
4727 yyout = (FILE *) 0;
4728 #endif
4730 /* For future reference: Set errno on error, since we are called by
4731 * yylex_init()
4732 */
4733 return 0;
4734 }
4736 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
4737 int yylex_destroy (void)
4738 {
4740 /* Pop the buffer stack, destroying each element. */
4741 while(YY_CURRENT_BUFFER){
4742 yy_delete_buffer(YY_CURRENT_BUFFER );
4743 YY_CURRENT_BUFFER_LVALUE = NULL;
4744 yypop_buffer_state();
4745 }
4747 /* Destroy the stack itself. */
4748 yyfree((yy_buffer_stack) );
4749 (yy_buffer_stack) = NULL;
4751 /* Reset the globals. This is important in a non-reentrant scanner so the next time
4752 * yylex() is called, initialization will occur. */
4753 yy_init_globals( );
4755 return 0;
4756 }
4758 /*
4759 * Internal utility routines.
4760 */
4762 #ifndef yytext_ptr
4763 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
4764 {
4765 register int i;
4766 for ( i = 0; i < n; ++i )
4767 s1[i] = s2[i];
4768 }
4769 #endif
4771 #ifdef YY_NEED_STRLEN
4772 static int yy_flex_strlen (yyconst char * s )
4773 {
4774 register int n;
4775 for ( n = 0; s[n]; ++n )
4776 ;
4778 return n;
4779 }
4780 #endif
4782 void *yyalloc (yy_size_t size )
4783 {
4784 return (void *) malloc( size );
4785 }
4787 void *yyrealloc (void * ptr, yy_size_t size )
4788 {
4789 /* The cast to (char *) in the following accommodates both
4790 * implementations that use char* generic pointers, and those
4791 * that use void* generic pointers. It works with the latter
4792 * because both ANSI C and C++ allow castless assignment from
4793 * any pointer type to void*, and deal with argument conversions
4794 * as though doing an assignment.
4795 */
4796 return (void *) realloc( (char *) ptr, size );
4797 }
4799 void yyfree (void * ptr )
4800 {
4801 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
4802 }
4804 #define YYTABLES_NAME "yytables"
4806 #line 137 "scanner.l"
4809 static void ml_append (char *string)
4810 {
4811 int len = strlen (string);
4812 int s;
4814 if (ml_free <= len) {
4815 ml_len += len - ml_free + 1;
4816 ml_buffer = (char *)realloc (ml_buffer, ml_len);
4817 if (NULL == ml_buffer)
4818 YY_FATAL_ERROR ("out of dynamic memory in ml_append");
4819 }
4821 s = snprintf (ml_buffer + ml_pos, ml_free, "%s", string);
4822 if ((0 > s) || (ml_free <= s))
4823 YY_FATAL_ERROR ("failed to write to multiline buffer");
4825 ml_pos += s;
4826 return;
4827 } /* ml_append */