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