code.cpp
Go to the documentation of this file.
1 #line 2 "/nova/app/home/novasoft/doxygen/doxygen-1.8.11/build/generated_src/code.cpp"
2 
3 #line 4 "/nova/app/home/novasoft/doxygen/doxygen-1.8.11/build/generated_src/code.cpp"
4 
5 #define YY_INT_ALIGNED short int
6 
7 /* A lexical scanner generated by flex */
8 
9 #define yy_create_buffer codeYY_create_buffer
10 #define yy_delete_buffer codeYY_delete_buffer
11 #define yy_flex_debug codeYY_flex_debug
12 #define yy_init_buffer codeYY_init_buffer
13 #define yy_flush_buffer codeYY_flush_buffer
14 #define yy_load_buffer_state codeYY_load_buffer_state
15 #define yy_switch_to_buffer codeYY_switch_to_buffer
16 #define yyin codeYYin
17 #define yyleng codeYYleng
18 #define yylex codeYYlex
19 #define yylineno codeYYlineno
20 #define yyout codeYYout
21 #define yyrestart codeYYrestart
22 #define yytext codeYYtext
23 #define yywrap codeYYwrap
24 #define yyalloc codeYYalloc
25 #define yyrealloc codeYYrealloc
26 #define yyfree codeYYfree
27 
28 #define FLEX_SCANNER
29 #define YY_FLEX_MAJOR_VERSION 2
30 #define YY_FLEX_MINOR_VERSION 5
31 #define YY_FLEX_SUBMINOR_VERSION 35
32 #if YY_FLEX_SUBMINOR_VERSION > 0
33 #define FLEX_BETA
34 #endif
35 
36 /* First, we deal with platform-specific or compiler-specific issues. */
37 
38 /* begin standard C headers. */
39 #include <stdio.h>
40 #include <string.h>
41 #include <errno.h>
42 #include <stdlib.h>
43 
44 /* end standard C headers. */
45 
46 /* flex integer type definitions */
47 
48 #ifndef FLEXINT_H
49 #define FLEXINT_H
50 
51 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52 
53 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54 
55 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
56  * if you want the limit (max/min) macros for int types.
57  */
58 #ifndef __STDC_LIMIT_MACROS
59 #define __STDC_LIMIT_MACROS 1
60 #endif
61 
62 #include <inttypes.h>
63 typedef int8_t flex_int8_t;
64 typedef uint8_t flex_uint8_t;
65 typedef int16_t flex_int16_t;
66 typedef uint16_t flex_uint16_t;
67 typedef int32_t flex_int32_t;
68 typedef uint32_t flex_uint32_t;
69 #else
70 typedef signed char flex_int8_t;
71 typedef short int flex_int16_t;
72 typedef int flex_int32_t;
73 typedef unsigned char flex_uint8_t;
74 typedef unsigned short int flex_uint16_t;
75 typedef unsigned int flex_uint32_t;
76 #endif /* ! C99 */
77 
78 /* Limits of integral types. */
79 #ifndef INT8_MIN
80 #define INT8_MIN (-128)
81 #endif
82 #ifndef INT16_MIN
83 #define INT16_MIN (-32767-1)
84 #endif
85 #ifndef INT32_MIN
86 #define INT32_MIN (-2147483647-1)
87 #endif
88 #ifndef INT8_MAX
89 #define INT8_MAX (127)
90 #endif
91 #ifndef INT16_MAX
92 #define INT16_MAX (32767)
93 #endif
94 #ifndef INT32_MAX
95 #define INT32_MAX (2147483647)
96 #endif
97 #ifndef UINT8_MAX
98 #define UINT8_MAX (255U)
99 #endif
100 #ifndef UINT16_MAX
101 #define UINT16_MAX (65535U)
102 #endif
103 #ifndef UINT32_MAX
104 #define UINT32_MAX (4294967295U)
105 #endif
106 
107 #endif /* ! FLEXINT_H */
108 
109 #ifdef __cplusplus
110 
111 /* The "const" storage-class-modifier is valid. */
112 #define YY_USE_CONST
113 
114 #else /* ! __cplusplus */
115 
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
118 
119 #define YY_USE_CONST
120 
121 #endif /* defined (__STDC__) */
122 #endif /* ! __cplusplus */
123 
124 #ifdef YY_USE_CONST
125 #define yyconst const
126 #else
127 #define yyconst
128 #endif
129 
130 /* Returned upon end-of-file. */
131 #define YY_NULL 0
132 
133 /* Promotes a possibly negative, possibly signed char to an unsigned
134  * integer for use as an array index. If the signed char is negative,
135  * we want to instead treat it as an 8-bit unsigned char, hence the
136  * double cast.
137  */
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
139 
140 /* Enter a start condition. This macro really ought to take a parameter,
141  * but we do it the disgusting crufty way forced on us by the ()-less
142  * definition of BEGIN.
143  */
144 #define BEGIN (yy_start) = 1 + 2 *
145 
146 /* Translate the current start state into a value that can be later handed
147  * to BEGIN to return to the state. The YYSTATE alias is for lex
148  * compatibility.
149  */
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
152 
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
155 
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE codeYYrestart(codeYYin )
158 
159 #define YY_END_OF_BUFFER_CHAR 0
160 
161 /* Size of default input buffer. */
162 #ifndef YY_BUF_SIZE
163 #define YY_BUF_SIZE 16384
164 #endif
165 
166 /* The state buf must be large enough to hold one state per character in the main buffer.
167  */
168 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
169 
170 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
171 #define YY_TYPEDEF_YY_BUFFER_STATE
173 #endif
174 
175 extern int codeYYleng;
176 
177 extern FILE *codeYYin, *codeYYout;
178 
179 #define EOB_ACT_CONTINUE_SCAN 0
180 #define EOB_ACT_END_OF_FILE 1
181 #define EOB_ACT_LAST_MATCH 2
182 
183  #define YY_LESS_LINENO(n)
184 
185 /* Return all but the first "n" matched characters back to the input stream. */
186 #define yyless(n) \
187  do \
188  { \
189  /* Undo effects of setting up codeYYtext. */ \
190  int yyless_macro_arg = (n); \
191  YY_LESS_LINENO(yyless_macro_arg);\
192  *yy_cp = (yy_hold_char); \
193  YY_RESTORE_YY_MORE_OFFSET \
194  (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
195  YY_DO_BEFORE_ACTION; /* set up codeYYtext again */ \
196  } \
197  while ( 0 )
198 
199 #define unput(c) yyunput( c, (yytext_ptr) )
200 
201 #ifndef YY_TYPEDEF_YY_SIZE_T
202 #define YY_TYPEDEF_YY_SIZE_T
203 typedef size_t yy_size_t;
204 #endif
205 
206 #ifndef YY_STRUCT_YY_BUFFER_STATE
207 #define YY_STRUCT_YY_BUFFER_STATE
209  {
211 
212  char *yy_ch_buf; /* input buffer */
213  char *yy_buf_pos; /* current position in input buffer */
214 
215  /* Size of input buffer in bytes, not including room for EOB
216  * characters.
217  */
219 
220  /* Number of characters read into yy_ch_buf, not including EOB
221  * characters.
222  */
224 
225  /* Whether we "own" the buffer - i.e., we know we created it,
226  * and can realloc() it to grow it, and should free() it to
227  * delete it.
228  */
230 
231  /* Whether this is an "interactive" input source; if so, and
232  * if we're using stdio for input, then we want to use getc()
233  * instead of fread(), to make sure we stop fetching input after
234  * each newline.
235  */
237 
238  /* Whether we're considered to be at the beginning of a line.
239  * If so, '^' rules will be active on the next match, otherwise
240  * not.
241  */
243 
244  int yy_bs_lineno; /**< The line count. */
245  int yy_bs_column; /**< The column count. */
246 
247  /* Whether to try to fill the input buffer when we reach the
248  * end of it.
249  */
251 
253 
254 #define YY_BUFFER_NEW 0
255 #define YY_BUFFER_NORMAL 1
256  /* When an EOF's been seen but there's still some text to process
257  * then we mark the buffer as YY_EOF_PENDING, to indicate that we
258  * shouldn't try reading from the input source any more. We might
259  * still have a bunch of tokens to match, though, because of
260  * possible backing-up.
261  *
262  * When we actually see the EOF, we change the status to "new"
263  * (via codeYYrestart()), so that the user can continue scanning by
264  * just pointing codeYYin at a new input file.
265  */
266 #define YY_BUFFER_EOF_PENDING 2
267 
268  };
269 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
270 
271 /* Stack of input buffers. */
272 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
273 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
274 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
275 
276 /* We provide macros for accessing buffer states in case in the
277  * future we want to put the buffer states in a more general
278  * "scanner state".
279  *
280  * Returns the top of the stack, or NULL.
281  */
282 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
283  ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
284  : NULL)
285 
286 /* Same as previous macro, but useful when we know that the buffer stack is not
287  * NULL or when we need an lvalue. For internal use only.
288  */
289 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
290 
291 /* yy_hold_char holds the character lost when codeYYtext is formed. */
292 static char yy_hold_char;
293 static int yy_n_chars; /* number of characters read into yy_ch_buf */
295 
296 /* Points to current character in buffer. */
297 static char *yy_c_buf_p = (char *) 0;
298 static int yy_init = 0; /* whether we need to initialize */
299 static int yy_start = 0; /* start state number */
300 
301 /* Flag which is used to allow codeYYwrap()'s to do buffer switches
302  * instead of setting up a fresh codeYYin. A bit of a hack ...
303  */
305 
306 void codeYYrestart (FILE *input_file );
307 void codeYY_switch_to_buffer (YY_BUFFER_STATE new_buffer );
308 YY_BUFFER_STATE codeYY_create_buffer (FILE *file,int size );
309 void codeYY_delete_buffer (YY_BUFFER_STATE b );
310 void codeYY_flush_buffer (YY_BUFFER_STATE b );
311 void codeYYpush_buffer_state (YY_BUFFER_STATE new_buffer );
312 void codeYYpop_buffer_state (void );
313 
314 static void codeYYensure_buffer_stack (void );
315 static void codeYY_load_buffer_state (void );
316 static void codeYY_init_buffer (YY_BUFFER_STATE b,FILE *file );
317 
318 #define YY_FLUSH_BUFFER codeYY_flush_buffer(YY_CURRENT_BUFFER )
319 
320 YY_BUFFER_STATE codeYY_scan_buffer (char *base,yy_size_t size );
321 YY_BUFFER_STATE codeYY_scan_string (yyconst char *yy_str );
322 YY_BUFFER_STATE codeYY_scan_bytes (yyconst char *bytes,int len );
323 
324 void *codeYYalloc (yy_size_t );
325 void *codeYYrealloc (void *,yy_size_t );
326 void codeYYfree (void * );
327 
328 #define yy_new_buffer codeYY_create_buffer
329 
330 #define yy_set_interactive(is_interactive) \
331  { \
332  if ( ! YY_CURRENT_BUFFER ){ \
333  codeYYensure_buffer_stack (); \
334  YY_CURRENT_BUFFER_LVALUE = \
335  codeYY_create_buffer(codeYYin,YY_BUF_SIZE ); \
336  } \
337  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
338  }
339 
340 #define yy_set_bol(at_bol) \
341  { \
342  if ( ! YY_CURRENT_BUFFER ){\
343  codeYYensure_buffer_stack (); \
344  YY_CURRENT_BUFFER_LVALUE = \
345  codeYY_create_buffer(codeYYin,YY_BUF_SIZE ); \
346  } \
347  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
348  }
349 
350 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
351 
352 /* Begin user sect3 */
353 
354 #define codeYYwrap(n) 1
355 #define YY_SKIP_YYWRAP
356 
357 typedef unsigned char YY_CHAR;
358 
359 FILE *codeYYin = (FILE *) 0, *codeYYout = (FILE *) 0;
360 
361 typedef int yy_state_type;
362 
363 extern int codeYYlineno;
364 
365 int codeYYlineno = 1;
366 
367 extern char *codeYYtext;
368 #define yytext_ptr codeYYtext
369 
370 static yy_state_type yy_get_previous_state (void );
371 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
372 static int yy_get_next_buffer (void );
373 static void yy_fatal_error (yyconst char msg[] );
374 
375 /* Done after the current pattern has been matched and before the
376  * corresponding action - sets up codeYYtext.
377  */
378 #define YY_DO_BEFORE_ACTION \
379  (yytext_ptr) = yy_bp; \
380  codeYYleng = (size_t) (yy_cp - yy_bp); \
381  (yy_hold_char) = *yy_cp; \
382  *yy_cp = '\0'; \
383  (yy_c_buf_p) = yy_cp;
384 
385 #define YY_NUM_RULES 214
386 #define YY_END_OF_BUFFER 215
387 /* This struct is not used in this scanner,
388  but its presence is necessary. */
390  {
393  };
395  { 0,
396  101, 101, 102, 102,16435, 90, 90, 158, 158, 129,
397  129, 215, 213, 214, 212, 214, 1, 213, 214, 210,
398  213, 214, 211, 213, 214, 213, 214, 213, 214, 213,
399  214, 213, 214, 101, 213, 214, 104, 213, 214, 101,
400  210, 213, 214, 101, 211, 213, 214, 101, 213, 214,
401  101, 213, 214, 213, 214, 101, 213, 214, 101, 213,
402  214, 102, 213, 214, 105, 213, 214, 102, 210, 213,
403  214, 102, 211, 213, 214, 102, 213, 214, 102, 213,
404  214, 102, 213, 214, 102, 213, 214, 111, 114, 213,
405  214, 115, 212, 214, 1, 111, 114, 213, 214, 113,
406 
407  114, 213, 214, 111, 114, 210, 213, 214, 111, 114,
408  211, 213, 214, 111, 114, 213, 214, 111, 114, 213,
409  214, 111, 114, 213, 214, 111, 114, 213, 214, 23,
410  24, 213, 214, 212, 214, 1, 23, 24, 213, 214,
411  23, 24, 210, 213, 214, 23, 24, 211, 213, 214,
412  23, 213, 214, 23, 24, 213, 214, 23, 213, 214,
413  23, 24, 213, 214, 23, 213, 214, 179, 213, 214,
414  179, 213, 214, 1, 179, 213, 214, 179, 210, 213,
415  214, 179, 211, 213, 214, 213, 214, 213, 214, 179,
416  213, 214, 179, 213, 214, 213, 214, 182, 185, 213,
417 
418  214, 184, 212, 214, 1, 183, 185, 213, 214, 182,
419  185, 210, 213, 214, 182, 185, 211, 213, 214, 182,
420  185, 213, 214, 182, 185, 213, 214, 182, 185, 213,
421  214, 182, 185, 213, 214, 182, 185, 213, 214, 189,
422  192, 213, 214, 191, 212, 214, 1, 189, 192, 213,
423  214, 189, 192, 210, 213, 214, 189, 192, 211, 213,
424  214, 192, 213, 214, 189, 192, 213, 214, 189, 192,
425  213, 214, 189, 192, 213, 214, 189, 192, 213, 214,
426  80, 213, 214, 99, 213, 214, 213, 214, 100, 213,
427  214, 210, 213, 214, 80, 211, 213, 214, 213, 214,
428 
429  9, 80, 213, 214, 123, 213, 214, 9, 80, 213,
430  214, 120, 213, 214, 80, 213, 214, 142, 213, 214,
431  116, 213, 214, 117, 213, 214, 118, 213, 214, 213,
432  214, 8287, 213, 214,16478,16479,16481, 8287, 213, 214,
433  16478,16479,16481, 8287, 213, 214,16478,16479,16481, 8287,
434  213, 214,16478,16479,16481, 8287, 213, 214,16478,16479,
435  16481, 123, 210, 213, 214, 80, 213, 214, 141, 211,
436  213, 214, 8287, 213, 214,16478,16479,16481, 8287, 213,
437  214,16478,16479,16481, 8287, 213, 214,16478,16479,16481,
438  8287, 213, 214,16478,16479,16481, 8287, 213, 214,16478,
439 
440  16479,16481, 8287, 213, 214,16478,16479,16481, 8287, 213,
441  214,16478,16479,16481, 8287, 213, 214,16478,16479,16481,
442  8287, 213, 214,16478,16479,16481, 8287, 213, 214,16478,
443  16479,16481, 8287, 213, 214,16478,16479,16481, 8287, 213,
444  214,16478,16479,16481, 8287, 213, 214,16478,16479,16481,
445  8287, 213, 214,16478,16479,16481, 8287, 213, 214,16478,
446  16479,16481, 8287, 213, 214,16478,16479,16481, 8287, 213,
447  214,16478,16479,16481, 8287, 213, 214,16478,16479,16481,
448  8287, 213, 214,16478,16479,16481, 8287, 213, 214,16478,
449  16479,16481, 28, 213, 214, 27, 29, 213, 214, 80,
450 
451  213, 214, 213, 214, 22, 213, 214, 80, 213, 214,
452  156, 213, 214, 213, 214, 156, 213, 214, 156, 213,
453  214, 155, 210, 213, 214, 157, 211, 213, 214, 156,
454  213, 214, 156, 213, 214, 149, 213, 214, 156, 213,
455  214, 156, 213, 214, 148, 213, 214, 156, 213, 214,
456  156, 213, 214, 156, 213, 214, 213, 214, 147, 213,
457  214,16556, 147, 213, 214,16556, 147, 213, 214,16556,
458  147, 213, 214,16556, 156, 213, 214, 147, 213, 214,
459  16556, 147, 213, 214,16556, 147, 213, 214,16556, 147,
460  213, 214,16556, 147, 213, 214,16556, 147, 213, 214,
461 
462  16556, 147, 213, 214,16556, 147, 213, 214,16556, 147,
463  213, 214,16556, 147, 213, 214,16556, 147, 213, 214,
464  16556, 147, 213, 214,16556, 147, 213, 214,16556, 147,
465  213, 214,16556, 147, 213, 214,16556, 147, 213, 214,
466  16556, 147, 213, 214,16556, 147, 213, 214,16556, 147,
467  213, 214,16556, 147, 213, 214,16556, 28, 150, 213,
468  214, 156, 213, 214, 27, 213, 214, 156, 213, 214,
469  156, 213, 214, 193, 213, 214, 1, 193, 213, 214,
470  99, 193, 213, 214, 193, 213, 214, 100, 193, 213,
471  214, 157, 193, 211, 213, 214, 193, 213, 214, 193,
472 
473  213, 214, 193, 213, 214, 193, 213, 214, 8314, 213,
474  214,16505,16506, 8314, 213, 214,16505,16506, 8314, 213,
475  214,16505,16506, 193, 210, 213, 214, 193, 213, 214,
476  193, 211, 213, 214, 8314, 213, 214,16505,16506, 29,
477  193, 213, 214, 193, 213, 214, 8314, 193, 213, 214,
478  16505,16506, 193, 213, 214, 193, 213, 214, 213, 214,
479  156, 213, 214, 176, 213, 214, 147, 213, 214,16558,
480  16559, 147, 213, 214,16558,16559, 147, 213, 214,16558,
481  16559, 147, 213, 214,16558,16559, 147, 213, 214,16558,
482  16559, 147, 213, 214,16558,16559, 147, 213, 214,16558,
483 
484  16559, 147, 213, 214,16558,16559, 147, 213, 214,16558,
485  16559, 147, 213, 214,16558,16559, 147, 213, 214,16558,
486  16559, 147, 213, 214,16558,16559, 147, 213, 214,16558,
487  16559, 147, 213, 214,16558,16559, 147, 213, 214,16558,
488  16559, 147, 213, 214,16558,16559, 147, 213, 214,16558,
489  16559, 147, 213, 214,16558,16559, 147, 213, 214,16558,
490  16559, 147, 213, 214,16558,16559, 147, 213, 214,16558,
491  16559, 147, 213, 214,16558,16559, 147, 213, 214,16558,
492  16559, 147, 213, 214,16558,16559, 150, 213, 214, 29,
493  213, 214, 213, 214, 100, 213, 214, 168, 213, 214,
494 
495  170, 213, 214, 170, 213, 214, 170, 213, 214, 170,
496  213, 214, 169, 213, 214, 213, 214, 213, 214, 32,
497  213, 214, 49, 213, 214, 31, 213, 214, 34, 42,
498  213, 214, 34, 42, 213, 214, 52, 213, 214, 213,
499  214, 37, 213, 214, 36, 212, 214, 1, 37, 213,
500  214, 35, 37, 210, 213, 214, 37, 211, 213, 214,
501  37, 213, 214, 37, 213, 214, 37, 210, 213, 214,
502  37, 213, 214, 37, 213, 214, 41, 213, 214, 40,
503  212, 214, 1, 41, 213, 214, 38, 41, 210, 213,
504  214, 39, 41, 211, 213, 214, 41, 213, 214, 41,
505 
506  213, 214, 41, 210, 213, 214, 41, 211, 213, 214,
507  41, 213, 214, 41, 213, 214, 213, 214, 213, 214,
508  50, 213, 214, 44, 213, 214, 213, 214, 8, 212,
509  214, 213, 214, 9, 213, 214, 45, 213, 214, 213,
510  214, 48, 213, 214, 48, 213, 214, 48, 213, 214,
511  48, 213, 214, 48, 213, 214, 213, 214, 213, 214,
512  59, 210, 213, 214, 62, 213, 214, 213, 214, 55,
513  213, 214, 56, 213, 214, 213, 214, 54, 213, 214,
514  213, 214, 54, 213, 214, 54, 213, 214, 213, 214,
515  16435, 22, 213, 214, 213, 214, 60, 210, 213, 214,
516 
517  61, 211, 213, 214, 57, 213, 214, 58, 213, 214,
518  213, 214,16405, 1, 213, 214,16405, 210, 213, 214,
519  16405, 211, 213, 214,16405, 213, 214,16405, 213, 214,
520  16405, 213, 214,16405, 213, 214,16405, 85, 213, 214,
521  86, 213, 214, 213, 214, 213, 214, 213, 214, 213,
522  214, 213, 214, 213, 214, 213, 214, 213, 214, 213,
523  214, 213, 214, 213, 214, 213, 214, 213, 214, 213,
524  214, 213, 214, 213, 214, 90, 213, 214, 213, 214,
525  87, 213, 214, 88, 213, 214, 88, 213, 214, 213,
526  214, 88, 213, 214, 88, 213, 214, 88, 213, 214,
527 
528  88, 213, 214, 88, 213, 214, 88, 213, 214, 88,
529  213, 214, 88, 213, 214, 88, 213, 214, 88, 213,
530  214, 88, 213, 214, 88, 213, 214, 213, 214, 167,
531  213, 214, 158, 167, 213, 214, 158, 212, 214, 1,
532  167, 213, 214, 166, 167, 213, 214, 167, 213, 214,
533  167, 210, 213, 214, 167, 211, 213, 214, 167, 213,
534  214, 159, 167, 213, 214, 167, 213, 214, 163, 167,
535  213, 214, 163, 167, 213, 214, 163, 167, 213, 214,
536  163, 167, 213, 214, 163, 167, 213, 214, 163, 167,
537  213, 214, 161, 167, 213, 214, 158, 167, 213, 214,
538 
539  167, 213, 214, 19, 213, 214, 20, 212, 214, 1,
540  19, 213, 214, 19, 213, 214, 19, 210, 213, 214,
541  19, 211, 213, 214, 19, 213, 214, 10, 19, 213,
542  214, 12, 19, 213, 214, 19, 213, 214, 18, 19,
543  213, 214, 18, 19, 213, 214, 18, 19, 213, 214,
544  18, 19, 213, 214, 18, 19, 213, 214, 18, 19,
545  213, 214, 18, 19, 213, 214, 18, 19, 213, 214,
546  18, 19, 213, 214, 18, 19, 213, 214, 18, 19,
547  213, 214, 18, 19, 213, 214, 18, 19, 213, 214,
548  18, 19, 213, 214, 19, 213, 214, 19, 213, 214,
549 
550  19, 213, 214, 11, 19, 210, 213, 214, 17, 18,
551  19, 213, 214, 19, 213, 214, 16, 19, 211, 213,
552  214, 15, 18, 19, 213, 214, 15, 18, 19, 213,
553  214, 15, 18, 19, 213, 214, 15, 18, 19, 213,
554  214, 15, 18, 19, 213, 214, 15, 18, 19, 213,
555  214, 15, 18, 19, 213, 214, 15, 18, 19, 213,
556  214, 15, 18, 19, 213, 214, 15, 18, 19, 213,
557  214, 15, 18, 19, 213, 214, 15, 18, 19, 213,
558  214, 15, 18, 19, 213, 214, 15, 18, 19, 213,
559  214, 139, 213, 214, 140, 212, 214, 1, 139, 213,
560 
561  214, 133, 139, 213, 214, 134, 139, 213, 214, 139,
562  213, 214, 135, 139, 210, 213, 214, 136, 139, 211,
563  213, 214, 139, 213, 214, 139, 213, 214, 126, 138,
564  139, 213, 214, 124, 139, 210, 213, 214, 125, 139,
565  211, 213, 214, 139, 213, 214, 139, 213, 214, 134,
566  139, 213, 214, 138, 139, 213, 214,16511,16512, 129,
567  139, 213, 214, 1, 129, 139, 213, 214, 131, 139,
568  213, 214, 134, 139, 213, 214, 129, 139, 210, 213,
569  214, 129, 139, 211, 213, 214, 129, 139, 213, 214,
570  129, 139, 213, 214, 129, 138, 139, 213, 214, 139,
571 
572  213, 214, 129, 139, 213, 214, 129, 139, 213, 214,
573  213, 214, 212, 214, 1, 213, 214, 166, 213, 214,
574  213, 214, 165, 213, 214, 164, 213, 214, 164, 213,
575  214, 164, 213, 214, 164, 213, 214, 164, 213, 214,
576  164, 213, 214, 164, 213, 214, 164, 213, 214, 164,
577  213, 214, 164, 213, 214, 164, 213, 214, 164, 213,
578  214, 164, 213, 214, 164, 213, 214, 161, 213, 214,
579  213, 214, 70, 213, 214, 69, 212, 214, 1, 70,
580  213, 214, 70, 213, 214, 70, 210, 213, 214, 70,
581  211, 213, 214, 70, 213, 214, 70, 213, 214, 68,
582 
583  70, 213, 214, 70, 213, 214, 70, 213, 214, 108,
584  109, 213, 214, 110, 212, 214, 1, 108, 109, 213,
585  214, 108, 109, 210, 213, 214, 109, 211, 213, 214,
586  108, 109, 213, 214, 108, 109, 213, 214, 108, 109,
587  211, 213, 214, 108, 109, 213, 214, 108, 109, 213,
588  214, 154, 213, 214, 153, 212, 214, 1, 154, 213,
589  214, 99, 154, 213, 214, 100, 154, 213, 214, 154,
590  210, 213, 214, 154, 211, 213, 214, 154, 213, 214,
591  154, 213, 214, 154, 213, 214, 154, 213, 214, 154,
592  213, 214, 151, 154, 213, 214, 152, 154, 213, 214,
593 
594  154, 213, 214, 154, 213, 214, 207, 209, 208, 207,
595  209, 101, 101, 103, 207, 101, 103, 209, 104, 208,
596  106, 101, 101, 101, 103, 207, 101, 103, 209, 102,
597  102, 103, 207, 102, 103, 209, 102, 208, 102, 102,
598  102, 103, 207, 102, 103, 209, 111, 112, 111, 207,
599  111, 209, 111, 111, 111, 207, 111, 209, 24, 195,
600  26, 209, 24, 208, 25, 24, 26, 209, 179, 179,
601  180, 178, 207, 178, 209, 179, 208, 179, 178, 207,
602  178, 209, 182, 182, 182, 207, 182, 209, 182, 208,
603  181, 182, 182, 182, 207, 182, 209, 189, 188, 190,
604 
605  207, 189, 190, 209, 189, 208, 189, 189, 190, 207,
606  189, 190, 209, 8287,16478,16479,16481, 8287,16478,16479,
607  16481, 79, 120, 142, 8287, 8289, 8286, 8287,16478,16479,
608  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
609  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
610  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
611  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
612  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
613  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
614  16481, 8287,16478,16479,16481, 8270, 8287,16460,16462,16478,
615 
616  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
617  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
618  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
619  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
620  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
621  8287,16478,16479,16481, 8287,16478,16479,16481, 8273, 8287,
622  16465,16478,16479,16481, 8270, 8287,16460,16462,16478,16479,
623  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
624  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
625  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
626 
627  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
628  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
629  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
630  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
631  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
632  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
633  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
634  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
635  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
636  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
637 
638  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
639  16481, 22, 156, 147,16556, 147,16556, 156, 157, 156,
640  156, 156, 171, 8364, 147,16556, 147,16556, 147,16556,
641  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
642  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
643  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
644  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
645  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
646  147,16556, 147,16556, 147,16556, 147,16556, 75, 147,
647  16556, 147,16556, 147,16556, 147,16556, 147,16556, 147,
648 
649  16556, 147,16556, 147,16556, 147,16556, 147,16556, 147,
650  16556, 147,16556, 147,16556, 147,16556, 147,16556, 147,
651  16556, 147,16556, 147,16556, 147,16556, 147,16556, 147,
652  16556, 147,16556, 147,16556, 147,16556, 147,16556, 147,
653  16556, 147,16556, 147,16556, 147,16556, 147,16556, 147,
654  16556, 8314,16505,16506, 8314, 8313, 8314,16505,16506, 8314,
655  16505,16506, 8314,16505,16506, 8314,16505,16506, 147,16558,
656  16559, 176, 8366, 8367, 147,16558,16559, 147,16558,16559,
657  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
658  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
659 
660  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
661  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
662  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
663  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
664  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
665  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
666  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
667  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
668  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
669  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
670 
671  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
672  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
673  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
674  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
675  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
676  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
677  170, 170, 170, 170, 49, 52, 34, 42, 32, 49,
678  34, 42, 34, 42, 52, 50, 44, 44, 48, 48,
679  48, 48, 48, 48, 54, 54, 54, 54, 54,16435,
680  22, 8243, 8243,16405, 8213, 207,16405, 209,16405, 8213,
681 
682  208,16405,16405, 207,16405, 209,16405, 8273,16465, 88,
683  90, 88, 88, 88, 88, 88, 88, 88, 88, 88,
684  88, 88, 88, 88, 88, 88, 88, 88, 88, 158,
685  161, 158, 163, 163, 163, 163, 163, 163, 163, 158,
686  18, 18, 18, 18, 18, 18, 18, 18, 8273,16465,
687  18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
688  17, 18, 17, 18, 13, 15, 18, 15, 18, 15,
689  18, 15, 18, 15, 18, 15, 18, 15, 18, 14,
690  15, 18, 15, 18, 15, 18, 15, 18, 15, 18,
691  15, 18, 15, 18, 15, 18, 15, 18, 15, 18,
692 
693  15, 18, 126, 138, 133, 208, 126, 138, 138,16511,
694  16512, 138,16511,16512, 8320, 8319, 129, 138, 129, 207,
695  129, 209, 137, 208, 129, 138, 130, 129, 129, 129,
696  207, 129, 209, 164, 164, 164, 164, 164, 164, 164,
697  164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
698  164, 164, 164, 164, 68, 68, 108, 107, 108, 207,
699  108, 209, 108, 208, 108, 108, 108, 207, 108, 209,
700  101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
701  101, 102, 102, 102, 102, 102, 102, 102, 102, 102,
702  102, 102, 111, 111, 111, 111, 111, 111, 111, 111,
703 
704  111, 111, 111, 182, 182, 182, 182, 182, 182, 182,
705  182, 182, 182, 182, 187, 189, 189, 189, 189, 8287,
706  16478,16479,16481, 119, 119, 8288,16480, 143, 8285,16477,
707  8287,16478,16479,16481, 8287,16478,16479,16481, 98, 8287,
708  8287,16478,16479,16481,16481, 8287,16478,16479,16481, 8287,
709  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
710  16481, 8265, 8287,16457,16458,16478,16479,16481, 8287,16478,
711  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
712  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
713  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
714 
715  8287,16478,16479,16481, 8287,16478,16479,16481, 77, 77,
716  8270, 8287, 77, 8268, 77, 8289, 77, 8286, 77, 77,
717  77, 8287,16478,16479,16481, 77, 8287,16478,16479,16481,
718  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
719  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
720  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
721  16479,16481, 8287,16478,16479,16481, 8270, 8287,16460,16462,
722  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
723  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
724  16478,16479,16481, 8287,16478,16479,16481, 8273, 8287, 8287,
725 
726  16478,16479,16481, 8287,16478,16479,16481, 8273, 8287,16465,
727  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
728  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
729  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
730  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
731  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
732  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
733  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
734  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
735  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
736 
737  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
738  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
739  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
740  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
741  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
742  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
743  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
744  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
745  16481, 8287, 8287,16478,16479,16481, 147,16556,16557, 147,
746  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
747 
748  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
749  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
750  146, 146, 146, 171, 146, 146, 8364, 146, 146, 147,
751  16556, 146, 147,16556, 147,16556, 147,16556, 147,16556,
752  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
753  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
754  147,16556, 147,16556, 145, 145, 145, 171, 145, 145,
755  8364, 145, 145, 145, 147,16556, 147,16556, 75, 75,
756  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
757  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
758 
759  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
760  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
761  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
762  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
763  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
764  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
765  16505, 8314, 8314,16505,16506, 147,16558,16559, 147,16558,
766  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
767  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
768  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
769 
770  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
771  146, 146, 146, 8366, 146, 146, 8367, 147,16558,16559,
772  146, 147,16558,16559, 147,16558,16559, 147,16558,16559,
773  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
774  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
775  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
776  147,16558,16559, 147,16558,16559, 145, 145, 145, 8366,
777  145, 145, 8367, 145, 147,16558,16559, 147,16558,16559,
778  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
779  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
780 
781  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
782  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
783  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
784  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
785  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
786  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
787  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
788  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
789  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
790  16559, 147,16558,16559, 147,16558,16559, 42, 34, 42,
791 
792  44, 48, 48, 48, 48, 54, 54, 54, 54, 8243,
793  8243, 8243,16405,16405,16405,16405,16405,16405,16405,16405,
794  16405,16405,16405, 8273, 8285,16477, 88, 88, 88, 88,
795  88, 145, 145, 145, 145, 145, 88, 145, 88, 88,
796  88, 88, 88, 88, 88, 88, 88, 88, 88, 163,
797  163, 163, 162, 163, 163, 18, 18, 18, 18, 18,
798  18, 18, 18, 18, 18, 18, 18, 18, 18, 15,
799  18, 15, 18, 15, 18, 15, 18, 15, 18, 15,
800  18, 15, 18, 15, 18, 15, 18, 15, 18, 15,
801  18, 15, 18, 15, 18, 15, 18, 132, 138, 129,
802 
803  129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
804  164, 164, 164, 164, 164, 145, 164, 164, 164, 164,
805  164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
806  107, 108, 108, 108, 108, 108, 108, 108, 108, 108,
807  108, 108, 205, 206, 201, 204, 205, 199, 200, 201,
808  101, 205, 101, 101, 206, 101, 101, 101, 101, 101,
809  204, 205, 101, 199, 101, 101, 102, 205, 102, 102,
810  206, 102, 102, 102, 102, 102, 204, 205, 102, 199,
811  102, 102, 111, 205, 111, 111, 206, 111, 111, 111,
812  111, 111, 204, 205, 111, 199, 111, 111, 177, 206,
813 
814  182, 205, 182, 182, 205, 182, 206, 182, 182, 182,
815  182, 182, 182, 204, 205, 182, 204, 205, 182, 199,
816  182, 182, 182, 187, 189, 189, 189, 189, 8287,16478,
817  16479,16481, 8288, 30, 8265,16457,16458, 8270,16460,16462,
818  8285, 8287,16478,16479,16481, 8287,16478,16479,16481, 8285,
819  16477,16481,16481, 8287,16478,16479,16481, 8287,16478,16479,
820  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 72,
821  72, 8265, 8287, 72, 72, 8266, 8289, 72, 8286, 72,
822  72, 72, 72, 8287,16478,16479,16481, 8273, 8287,16465,
823  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
824 
825  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
826  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
827  16481, 8270, 8287, 8268, 8289, 8287,16478,16479,16481, 8287,
828  16478,16479,16481, 8265, 8287,16457,16458,16478,16479,16481,
829  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
830  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
831  8287,16478,16479,16481, 77, 8270, 8287, 8287,16478,16479,
832  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
833  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
834  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
835 
836  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
837  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
838  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
839  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
840  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
841  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
842  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
843  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
844  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
845  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
846 
847  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
848  16479,16481, 8265, 8287,16457,16458,16478,16479,16481, 8287,
849  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
850  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
851  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
852  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
853  16478,16479,16481, 147,16556,16557, 8365, 147, 147,16556,
854  147,16556, 147,16556, 147,16556, 144, 144, 144, 171,
855  144, 144, 8364, 144, 144, 144, 147,16556, 147,16556,
856  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
857 
858  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
859  147,16556, 147,16556, 147,16556, 147,16556, 146, 147,
860  16556, 147,16556, 147,16556, 147,16556, 147,16556, 147,
861  16556, 147,16556, 147,16556, 147,16556, 147,16556, 147,
862  16556, 147,16556, 147,16556, 147,16556, 147,16556, 147,
863  16556, 147,16556, 147,16556, 147,16556, 147,16556, 147,
864  16556, 147,16556, 147,16556, 147,16556, 147,16556, 147,
865  16556, 147,16556, 147,16556, 147,16556, 147,16556, 147,
866  16556, 147,16556, 147,16556, 147,16556, 147,16556, 147,
867  16556, 147,16556, 147,16556, 147,16556, 147,16556, 147,
868 
869  16556, 147,16556, 147,16556, 147,16556,16505,16505, 147,
870  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
871  16559, 144, 144, 144, 8366, 144, 144, 8367, 144, 147,
872  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
873  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
874  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
875  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
876  16559, 147,16558,16559, 146, 147,16558,16559, 147,16558,
877  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
878  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
879 
880  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
881  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
882  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
883  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
884  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
885  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
886  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
887  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
888  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
889  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
890 
891  16559, 43, 34, 42, 34, 42, 44, 30, 48, 48,
892  48, 48, 54, 54, 54, 54, 8243, 8243, 8243, 205,
893  16405, 8213, 205,16405, 206,16405,16405,16405, 8213,16405,
894  16405, 204, 205,16405, 8213, 204, 205, 199,16405,16405,
895  8213,16405, 8273,16465, 88, 8285, 88, 88, 88, 88,
896  88, 88, 88, 88, 88, 88, 88, 88, 88, 163,
897  163, 163, 163, 18, 8273,16465, 18, 18, 18, 18,
898  18, 18, 18, 18, 18, 18, 14, 15, 18, 15,
899  18, 15, 18, 15, 18, 15, 18, 15, 18, 15,
900  18, 15, 18, 15, 18, 15, 18, 15, 18, 132,
901 
902  129, 205, 129, 129, 206, 129, 129, 129, 129, 129,
903  204, 205, 129, 199, 129, 129, 164, 164, 164, 164,
904  164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
905  164, 68, 107, 108, 205, 108, 108, 206, 108, 108,
906  108, 108, 108, 204, 205, 108, 199, 108, 108, 203,
907  197, 194, 204, 200, 198, 101, 101, 204, 101, 101,
908  102, 102, 204, 102, 102, 111, 111, 204, 111, 111,
909  203, 195, 203, 197, 194, 195, 182, 181, 201, 182,
910  204, 182, 204, 182, 182, 181, 200, 201, 182, 182,
911  189, 189, 8287,16478,16479,16481, 72, 8265, 72, 72,
912 
913  8266, 77, 8270, 77, 8268, 77,16481,16481, 8287,16478,
914  16479,16481, 8287,16478,16479,16481, 8285,16481, 8287,16478,
915  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
916  8287,16478,16479,16481, 8265, 8287, 8266, 8289, 8287,16478,
917  16479,16481, 8265, 8287,16457,16458,16478,16479,16481, 8265,
918  8287,16457,16458,16478,16479,16481, 8287,16478,16479,16481,
919  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
920  16479,16481, 8287,16478,16479,16481, 72, 8265, 8287, 8197,
921  8287,16389,16478,16479,16481, 8287,16478,16479,16481, 8287,
922  16478,16479,16481, 8265, 8287,16457,16458,16478,16479,16481,
923 
924  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
925  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
926  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
927  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
928  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
929  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
930  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
931  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
932  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
933  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
934 
935  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
936  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
937  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
938  16479,16481, 8287,16478,16479,16481, 72, 71, 72, 8270,
939  8287,16460,16462,16478,16479,16481, 8287,16478,16479,16481,
940  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
941  16479,16481, 8287,16478,16479,16481, 8265, 8287,16457,16458,
942  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
943  16481, 8287,16478,16479,16481, 147,16556, 147, 147,16556,
944  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
945 
946  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
947  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
948  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
949  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
950  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
951  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
952  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
953  147,16556, 147,16556, 147,16556, 147,16556, 144, 71,
954  144, 8364, 147,16556, 147,16556, 147,16556, 147,16556,
955  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
956 
957  16505, 147,16558,16559, 147,16558,16559, 147,16558,16559,
958  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
959  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
960  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
961  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
962  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
963  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
964  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
965  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
966  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
967 
968  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
969  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
970  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
971  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
972  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
973  16559, 147,16558,16559, 34, 34, 42, 48, 48, 48,
974  48, 54, 54, 54, 54, 8243, 8243, 8243,16405, 204,
975  16405, 8213, 204,16405, 8213,16405, 8213, 84, 88, 88,
976  88, 89, 88, 88, 88, 88, 88, 88, 88, 88,
977  88, 163,16544, 163, 163, 163, 18, 18, 18, 18,
978 
979  18, 18, 18, 18, 18, 15, 18, 15, 18, 15,
980  18, 15, 18, 15, 18, 15, 18, 15, 18, 15,
981  18, 15, 18, 129, 129, 204, 129, 129, 164, 164,
982  164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
983  164, 68, 107, 108, 108, 204, 108, 108, 196, 101,
984  102, 111, 195, 196, 182, 181, 200, 181, 198, 71,
985  8265,16457,16458, 8265, 8266, 8270, 8268, 8285,16477,16481,
986  8285,16477,16481,16481,16481, 8287,16478,16479,16481, 8287,
987  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
988  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
989 
990  16478,16479,16481, 8287,16478,16479,16481, 6, 72, 8265,
991  8287, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
992  16478,16479,16481, 8287,16478,16479,16481, 8265, 8287, 8197,
993  8287, 8197, 8287,16478,16479,16481, 8287,16478,16479,16481,
994  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
995  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
996  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
997  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
998  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
999  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
1000 
1001  8287,16478,16479,16481, 8265, 8287,16457,16458,16478,16479,
1002  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8265,
1003  8287,16457,16458,16478,16479,16481, 8287,16478,16479,16481,
1004  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
1005  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
1006  72, 8265, 8287, 72, 8287,16478,16479,16481, 8287,16478,
1007  16479,16481, 8287,16478,16479,16481, 71, 8364, 147,16556,
1008  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
1009  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
1010  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
1011 
1012  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
1013  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
1014  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
1015  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
1016  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
1017  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
1018  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
1019  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
1020  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
1021  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
1022 
1023  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
1024  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
1025  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
1026  147,16558,16559, 147,16558,16559, 34, 42, 48, 48,
1027  48, 48,16431, 54, 54, 53, 54, 54, 8243, 8243,
1028  8243,16405, 8285,16477, 88, 89, 88, 88, 88, 88,
1029  8352, 163, 163, 163, 163, 163, 163, 163, 18, 18,
1030  18, 18, 15, 18, 15, 18, 15, 18, 15, 18,
1031  129, 164, 164, 164, 164, 164, 164, 164, 164, 164,
1032  164, 107, 108, 101, 102, 111, 182, 186, 71, 8285,
1033 
1034  8285,16477,16481, 8285,16477,16481,16481, 8287,16478,16479,
1035  16481, 8287,16478,16479,16481, 8285,16477,16481, 8287,16478,
1036  16479,16481, 8287,16478,16479,16481, 6, 8265, 8287, 8287,
1037  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
1038  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8265,
1039  8287,16457,16458,16478,16479,16481, 8287,16478,16479,16481,
1040  8287,16478,16479,16481, 8287,16478,16479,16481, 8265, 8273,
1041  8287,16457,16458,16465,16478,16479,16481, 8287,16478,16479,
1042  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
1043  16478,16479,16481, 8287,16478,16479,16481, 8287,16478,16479,
1044 
1045  16481, 72, 8265, 8287, 8287,16478,16479,16481, 8287,16478,
1046  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
1047  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
1048  16479,16481, 8287,16478,16479,16481, 8265, 8287, 8287,16478,
1049  16479,16481, 147,16556, 147,16556, 147,16556, 147,16556,
1050  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
1051  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
1052  147,16556, 147,16556, 147,16556, 147,16556, 147,16556,
1053  147,16556, 147,16556, 147,16556, 147,16558,16559, 147,
1054  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
1055 
1056  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
1057  147,16558,16559, 147,16558,16559, 147,16558,16559, 147,
1058  16558,16559, 147,16558,16559, 147,16558,16559, 147,16558,
1059  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
1060  34, 42, 48, 46, 48, 48, 8239, 53, 54, 8243,
1061  8243, 8243, 53,16405, 8285,16477, 88, 88, 163, 163,
1062  163, 163, 163, 163, 163, 18, 15, 18, 129, 164,
1063  164, 164, 164, 107, 108, 101, 101, 102, 102, 111,
1064  111, 182, 182, 182, 187,16476, 8285,16477,16481,16481,
1065  8287,16478,16479,16481, 8287,16478,16479,16481, 8285, 8285,
1066 
1067  16477,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
1068  66, 72, 66, 72, 8265, 8287, 66, 72, 66, 72,
1069  8266, 8289, 66, 72, 8286, 66, 72, 66, 72, 66,
1070  72, 66, 8287,16478,16479,16481, 66, 72, 8287,16478,
1071  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
1072  72, 8265, 8273, 8287, 8265, 8287,16457,16458,16478,16479,
1073  16481, 7, 8287, 7, 8287, 8287,16478,16479,16481, 8265,
1074  8287, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
1075  16478,16479,16481, 8265, 8287,16457,16458,16478,16479,16481,
1076  8287,16478,16479,16481, 2, 147,16556, 147,16556, 147,
1077 
1078  16556, 144, 145, 144, 145, 144, 145, 171, 144, 145,
1079  144, 145, 8364, 144, 145, 144, 145, 144, 145, 147,
1080  16556, 147,16556, 147,16556, 147,16556, 147,16556, 147,
1081  16556, 147,16558,16559, 144, 145, 144, 145, 144, 145,
1082  8366, 144, 145, 144, 145, 8367, 144, 145, 147,16558,
1083  16559, 147,16558,16559, 147,16558,16559, 147,16558,16559,
1084  34, 42, 48, 54, 8243,16405, 8213,16405, 66, 163,
1085  163, 163, 163, 163, 129, 129, 107, 108, 108, 101,
1086  102, 111, 182, 8284,16476,16476, 8265,16457,16458, 8285,
1087  16477,16481,16481, 8287,16478,16479,16481, 8287,16478,16479,
1088 
1089  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8265,
1090  8287, 82, 8285,16477, 8287,16478,16479,16481, 8265, 8273,
1091  8287, 72, 72, 8265, 8287, 72, 64, 72, 8266, 8289,
1092  72, 8286, 72, 72, 72, 72, 8287,16478,16479,16481,
1093  4, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
1094  16478,16479,16481, 66, 72, 8265, 8287, 66, 72, 147,
1095  16556, 147,16556, 147,16556, 147,16556, 147,16556, 147,
1096  16558,16559, 34, 42, 48, 8243,16405, 163, 163, 163,
1097  163, 163, 129, 107, 108, 202, 101, 202, 102, 202,
1098  111, 202, 182, 202,16476, 3, 72, 8265, 3, 72,
1099 
1100  8285,16477,16481,16481, 8287,16478,16479,16481, 8287,16478,
1101  16479,16481, 8287,16478,16479,16481, 8287,16478,16479,16481,
1102  82, 8285,16477, 82, 8285, 6, 8287, 65, 8265, 8287,
1103  65, 8266, 8289, 8286, 65, 8266, 8289, 65, 8285,16477,
1104  8287,16478,16479,16481, 8287, 65, 8289, 8287,16478,16479,
1105  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
1106  16478,16479,16481, 8265, 8287, 83, 8285,16477, 147,16556,
1107  147,16556, 147,16556, 147,16556, 147,16556, 147,16558,
1108  16559, 34, 42, 202,16405, 163, 163, 163, 163, 163,
1109  129, 202, 107, 108, 202, 202, 101, 202, 102, 202,
1110 
1111  111, 202, 182, 202, 3, 8265, 3, 8285,16477,16481,
1112  16481, 8287, 64, 8289, 8287,16478,16479,16481, 91, 8287,
1113  16478,16479,16481, 82, 8285, 8285,16477, 63, 8285,16481,
1114  8287,16478,16479,16481, 8287,16478,16479,16481, 8287,16478,
1115  16479,16481, 83, 8285,16477, 83, 8285, 91, 147,16556,
1116  147,16556, 147,16556, 147,16558,16559, 202,16405,16544,
1117  163, 163, 129, 202, 107, 108, 202, 8285,16477,16481,
1118  16481, 65, 8289, 8287,16478,16479,16481, 8285,16481,16481,
1119  16481, 8287, 8287,16478,16479,16481, 8287,16478,16479,16481,
1120  83, 8285, 147,16556, 163, 163, 107, 8285,16477,16481,
1121 
1122  16481, 8287,16478,16479,16481, 8285,16477,16481,16481, 8287,
1123  16478,16479,16481, 147,16556, 33, 43, 107, 8285, 8285,
1124  16477,16481, 8287,16478,16479,16481, 8285,16477, 8285, 6,
1125  8287,16478,16479,16481, 147,16556, 33, 107, 8287,16478,
1126  16479,16481, 8285,16477, 8287,16478,16479,16481, 147,16556,
1127  107, 8287,16478,16479,16481, 67, 107, 8287,16478,16479,
1128  16481, 107, 8287,16478,16479,16481, 107, 8287,16478,16479,
1129  16481, 8287,16478,16479,16481, 8287,16478,16479,16481, 8287,
1130  16478,16479,16481, 8287,16478,16479,16481, 6, 8287
1131  } ;
1132 
1134  { 0,
1135  1, 1, 1, 2, 3, 4, 5, 5, 5, 5,
1136  5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1137  5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1138  5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1139  5, 5, 6, 6, 6, 6, 6, 6, 6, 7,
1140  8, 9, 10, 10, 10, 10, 10, 10, 10, 10,
1141  10, 10, 10, 11, 12, 12, 12, 12, 12, 12,
1142  12, 12, 12, 13, 15, 17, 20, 23, 26, 28,
1143  30, 32, 34, 37, 40, 44, 48, 51, 54, 56,
1144  59, 62, 65, 68, 72, 76, 79, 82, 85, 88,
1145 
1146  92, 95, 100, 104, 109, 114, 118, 122, 126, 130,
1147  134, 136, 141, 146, 151, 154, 158, 161, 165, 168,
1148  171, 174, 178, 182, 186, 188, 190, 193, 196, 198,
1149  202, 205, 210, 215, 220, 224, 228, 232, 236, 240,
1150  244, 247, 252, 257, 262, 265, 269, 273, 277, 281,
1151  284, 287, 289, 292, 295, 299, 301, 305, 308, 312,
1152  315, 318, 321, 324, 327, 330, 332, 338, 344, 350,
1153  356, 362, 366, 369, 373, 379, 385, 391, 397, 403,
1154  409, 415, 421, 427, 433, 439, 445, 451, 457, 463,
1155  469, 475, 481, 487, 493, 496, 500, 503, 505, 508,
1156 
1157  511, 514, 516, 519, 522, 526, 530, 533, 536, 539,
1158  542, 545, 548, 551, 554, 557, 559, 563, 567, 571,
1159  575, 578, 582, 586, 590, 594, 598, 602, 606, 610,
1160  614, 618, 622, 626, 630, 634, 638, 642, 646, 650,
1161  654, 658, 662, 665, 668, 671, 674, 677, 681, 685,
1162  688, 692, 697, 700, 703, 706, 709, 714, 719, 724,
1163  728, 731, 735, 740, 744, 747, 753, 756, 759, 761,
1164  764, 767, 772, 777, 782, 787, 792, 797, 802, 807,
1165  812, 817, 822, 827, 832, 837, 842, 847, 852, 857,
1166  862, 867, 872, 877, 882, 887, 890, 893, 895, 898,
1167 
1168  901, 904, 907, 910, 913, 916, 918, 920, 923, 926,
1169  929, 933, 937, 940, 942, 945, 948, 952, 957, 961,
1170  964, 967, 971, 974, 977, 980, 983, 987, 992, 997,
1171  1000, 1003, 1007, 1011, 1014, 1017, 1019, 1021, 1024, 1027,
1172  1029, 1032, 1034, 1037, 1040, 1042, 1045, 1048, 1051, 1054,
1173  1057, 1059, 1061, 1065, 1068, 1070, 1073, 1076, 1078, 1081,
1174  1083, 1086, 1089, 1092, 1095, 1097, 1101, 1105, 1108, 1111,
1175  1114, 1118, 1122, 1126, 1129, 1132, 1135, 1138, 1141, 1144,
1176  1146, 1148, 1150, 1152, 1154, 1156, 1158, 1160, 1162, 1164,
1177  1166, 1168, 1170, 1172, 1174, 1176, 1179, 1181, 1184, 1187,
1178 
1179  1190, 1192, 1195, 1198, 1201, 1204, 1207, 1210, 1213, 1216,
1180  1219, 1222, 1225, 1228, 1230, 1233, 1237, 1240, 1244, 1248,
1181  1251, 1255, 1259, 1262, 1266, 1269, 1273, 1277, 1281, 1285,
1182  1289, 1293, 1297, 1301, 1304, 1307, 1310, 1314, 1317, 1321,
1183  1325, 1328, 1332, 1336, 1339, 1343, 1347, 1351, 1355, 1359,
1184  1363, 1367, 1371, 1375, 1379, 1383, 1387, 1391, 1395, 1398,
1185  1401, 1404, 1409, 1414, 1417, 1422, 1427, 1432, 1437, 1442,
1186  1447, 1452, 1457, 1462, 1467, 1472, 1477, 1482, 1487, 1492,
1187  1495, 1498, 1502, 1506, 1510, 1513, 1518, 1523, 1526, 1529,
1188  1534, 1539, 1544, 1547, 1550, 1554, 1560, 1564, 1569, 1573,
1189 
1190  1577, 1582, 1587, 1591, 1595, 1600, 1603, 1607, 1611, 1613,
1191  1615, 1618, 1621, 1623, 1626, 1629, 1632, 1635, 1638, 1641,
1192  1644, 1647, 1650, 1653, 1656, 1659, 1662, 1665, 1668, 1671,
1193  1673, 1676, 1679, 1683, 1686, 1690, 1694, 1697, 1700, 1704,
1194  1707, 1710, 1714, 1717, 1722, 1727, 1731, 1735, 1739, 1744,
1195  1748, 1752, 1755, 1758, 1762, 1766, 1770, 1774, 1778, 1781,
1196  1784, 1787, 1790, 1793, 1797, 1801, 1804, 1807, 1807, 1807,
1197  1808, 1809, 1810, 1810, 1810, 1811, 1812, 1813, 1816, 1819,
1198  1821, 1822, 1823, 1824, 1827, 1830, 1831, 1834, 1837, 1839,
1199  1840, 1841, 1844, 1847, 1848, 1849, 1851, 1853, 1854, 1855,
1200 
1201  1857, 1859, 1860, 1860, 1860, 1861, 1861, 1863, 1865, 1866,
1202  1866, 1867, 1869, 1870, 1871, 1871, 1872, 1874, 1876, 1878,
1203  1879, 1881, 1883, 1884, 1885, 1887, 1889, 1891, 1892, 1892,
1204  1893, 1894, 1896, 1898, 1899, 1900, 1902, 1905, 1907, 1908,
1205  1909, 1911, 1914, 1918, 1922, 1922, 1922, 1922, 1922, 1922,
1206  1923, 1924, 1925, 1925, 1925, 1925, 1925, 1925, 1925, 1925,
1207  1925, 1925, 1925, 1925, 1926, 1926, 1927, 1928, 1932, 1932,
1208  1932, 1932, 1936, 1940, 1940, 1944, 1944, 1944, 1944, 1948,
1209  1948, 1948, 1952, 1956, 1960, 1964, 1968, 1972, 1976, 1980,
1210  1984, 1988, 1992, 1996, 2003, 2007, 2011, 2015, 2019, 2023,
1211 
1212  2027, 2031, 2035, 2039, 2043, 2047, 2051, 2055, 2059, 2065,
1213  2072, 2076, 2080, 2084, 2088, 2092, 2096, 2100, 2104, 2108,
1214  2112, 2116, 2120, 2124, 2128, 2132, 2136, 2140, 2144, 2148,
1215  2152, 2156, 2160, 2164, 2168, 2172, 2176, 2180, 2184, 2188,
1216  2192, 2196, 2200, 2204, 2208, 2208, 2208, 2212, 2212, 2213,
1217  2213, 2213, 2214, 2216, 2218, 2219, 2219, 2219, 2219, 2220,
1218  2221, 2222, 2223, 2223, 2223, 2223, 2223, 2223, 2223, 2223,
1219  2223, 2223, 2223, 2224, 2224, 2225, 2227, 2227, 2227, 2229,
1220  2231, 2233, 2235, 2237, 2239, 2241, 2243, 2245, 2247, 2249,
1221  2251, 2253, 2255, 2257, 2259, 2261, 2263, 2265, 2267, 2269,
1222 
1223  2271, 2273, 2275, 2277, 2279, 2281, 2283, 2285, 2287, 2289,
1224  2292, 2294, 2296, 2298, 2300, 2302, 2304, 2306, 2308, 2310,
1225  2312, 2314, 2316, 2318, 2320, 2322, 2324, 2326, 2328, 2330,
1226  2332, 2334, 2336, 2338, 2340, 2342, 2344, 2346, 2348, 2350,
1227  2352, 2355, 2355, 2356, 2356, 2357, 2360, 2360, 2360, 2360,
1228  2363, 2363, 2363, 2363, 2363, 2363, 2366, 2366, 2366, 2369,
1229  2372, 2373, 2373, 2373, 2374, 2374, 2375, 2378, 2381, 2384,
1230  2387, 2390, 2393, 2396, 2399, 2402, 2405, 2408, 2411, 2414,
1231  2417, 2420, 2423, 2426, 2429, 2432, 2435, 2438, 2441, 2444,
1232  2447, 2450, 2453, 2456, 2459, 2462, 2465, 2468, 2471, 2474,
1233 
1234  2477, 2480, 2483, 2486, 2489, 2492, 2495, 2498, 2501, 2504,
1235  2507, 2510, 2513, 2516, 2519, 2522, 2525, 2528, 2531, 2534,
1236  2537, 2540, 2543, 2546, 2549, 2552, 2555, 2558, 2561, 2562,
1237  2563, 2564, 2565, 2565, 2566, 2567, 2569, 2570, 2571, 2571,
1238  2571, 2573, 2573, 2573, 2575, 2576, 2576, 2576, 2577, 2578,
1239  2578, 2579, 2579, 2580, 2580, 2581, 2582, 2583, 2584, 2585,
1240  2585, 2586, 2586, 2586, 2587, 2587, 2587, 2587, 2588, 2589,
1241  2590, 2591, 2592, 2592, 2592, 2593, 2594, 2595, 2596, 2598,
1242  2600, 2602, 2603, 2604, 2606, 2608, 2608, 2608, 2608, 2608,
1243  2608, 2608, 2608, 2610, 2610, 2610, 2610, 2610, 2610, 2610,
1244 
1245  2610, 2610, 2610, 2610, 2610, 2610, 2611, 2612, 2612, 2612,
1246  2612, 2613, 2613, 2613, 2613, 2614, 2614, 2614, 2614, 2614,
1247  2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2623, 2624,
1248  2625, 2626, 2627, 2628, 2629, 2630, 2630, 2630, 2630, 2631,
1249  2631, 2631, 2631, 2631, 2631, 2632, 2633, 2634, 2635, 2636,
1250  2637, 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646,
1251  2647, 2648, 2651, 2652, 2653, 2654, 2655, 2656, 2657, 2658,
1252  2659, 2660, 2661, 2663, 2663, 2665, 2666, 2668, 2670, 2672,
1253  2674, 2676, 2678, 2680, 2683, 2685, 2687, 2689, 2691, 2693,
1254  2695, 2697, 2699, 2701, 2703, 2705, 2705, 2705, 2707, 2709,
1255 
1256  2712, 2712, 2715, 2716, 2717, 2718, 2719, 2721, 2723, 2725,
1257  2727, 2728, 2729, 2730, 2732, 2734, 2734, 2735, 2736, 2737,
1258  2738, 2739, 2740, 2741, 2742, 2743, 2744, 2745, 2746, 2747,
1259  2748, 2749, 2750, 2751, 2752, 2753, 2754, 2755, 2755, 2756,
1260  2757, 2757, 2758, 2758, 2759, 2761, 2763, 2765, 2766, 2767,
1261  2769, 2771, 2771, 2771, 2771, 2771, 2771, 2771, 2771, 2771,
1262  2771, 2771, 2771, 2771, 2771, 2771, 2771, 2772, 2773, 2774,
1263  2775, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784,
1264  2785, 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793, 2794,
1265  2795, 2796, 2797, 2798, 2799, 2800, 2801, 2802, 2803, 2804,
1266 
1267  2804, 2804, 2804, 2804, 2804, 2804, 2805, 2806, 2807, 2808,
1268  2809, 2810, 2811, 2812, 2813, 2814, 2815, 2815, 2816, 2817,
1269  2818, 2819, 2820, 2824, 2825, 2826, 2826, 2826, 2826, 2828,
1270  2828, 2828, 2828, 2828, 2829, 2829, 2829, 2829, 2829, 2829,
1271  2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
1272  2829, 2829, 2831, 2831, 2831, 2835, 2839, 2839, 2840, 2841,
1273  2841, 2845, 2845, 2845, 2845, 2845, 2845, 2846, 2846, 2850,
1274  2854, 2858, 2862, 2869, 2873, 2877, 2881, 2885, 2889, 2893,
1275  2897, 2901, 2905, 2909, 2910, 2913, 2914, 2917, 2919, 2920,
1276  2921, 2922, 2926, 2931, 2935, 2939, 2943, 2947, 2951, 2955,
1277 
1278  2959, 2963, 2967, 2974, 2978, 2982, 2986, 2990, 2994, 2998,
1279  3000, 3004, 3008, 3014, 3018, 3022, 3026, 3030, 3034, 3038,
1280  3042, 3046, 3050, 3054, 3058, 3062, 3066, 3070, 3074, 3078,
1281  3082, 3086, 3090, 3094, 3098, 3102, 3106, 3110, 3114, 3118,
1282  3122, 3126, 3130, 3134, 3138, 3142, 3146, 3150, 3154, 3158,
1283  3162, 3166, 3170, 3174, 3178, 3182, 3183, 3183, 3187, 3187,
1284  3187, 3189, 3189, 3189, 3190, 3190, 3190, 3190, 3190, 3190,
1285  3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190, 3190,
1286  3190, 3190, 3191, 3193, 3195, 3197, 3199, 3201, 3203, 3205,
1287  3207, 3209, 3211, 3213, 3215, 3217, 3219, 3221, 3222, 3223,
1288 
1289  3225, 3226, 3228, 3229, 3230, 3232, 3235, 3237, 3239, 3241,
1290  3243, 3245, 3247, 3249, 3251, 3253, 3255, 3257, 3259, 3261,
1291  3263, 3265, 3266, 3267, 3269, 3270, 3272, 3273, 3274, 3277,
1292  3279, 3280, 3281, 3283, 3285, 3287, 3289, 3291, 3293, 3295,
1293  3297, 3299, 3301, 3303, 3305, 3307, 3309, 3311, 3313, 3315,
1294  3317, 3319, 3321, 3323, 3325, 3327, 3329, 3331, 3333, 3335,
1295  3337, 3339, 3341, 3343, 3345, 3347, 3349, 3351, 3353, 3355,
1296  3357, 3359, 3361, 3361, 3361, 3361, 3361, 3361, 3362, 3362,
1297  3363, 3363, 3366, 3369, 3372, 3375, 3378, 3381, 3384, 3387,
1298  3390, 3393, 3396, 3399, 3402, 3405, 3408, 3411, 3412, 3413,
1299 
1300  3415, 3416, 3418, 3421, 3425, 3428, 3431, 3434, 3437, 3440,
1301  3443, 3446, 3449, 3452, 3455, 3458, 3461, 3464, 3467, 3468,
1302  3469, 3471, 3472, 3474, 3478, 3481, 3484, 3487, 3490, 3493,
1303  3496, 3499, 3502, 3505, 3508, 3511, 3514, 3517, 3520, 3523,
1304  3526, 3529, 3532, 3535, 3538, 3541, 3544, 3547, 3550, 3553,
1305  3556, 3559, 3562, 3565, 3568, 3571, 3574, 3577, 3580, 3583,
1306  3586, 3589, 3592, 3595, 3598, 3598, 3598, 3598, 3598, 3599,
1307  3601, 3601, 3602, 3602, 3603, 3604, 3605, 3606, 3606, 3606,
1308  3607, 3608, 3609, 3610, 3611, 3612, 3613, 3614, 3615, 3616,
1309  3617, 3618, 3619, 3620, 3621, 3622, 3623, 3624, 3624, 3624,
1310 
1311  3624, 3624, 3624, 3624, 3625, 3625, 3625, 3625, 3625, 3625,
1312  3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3627,
1313  3627, 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3634, 3635,
1314  3636, 3637, 3639, 3640, 3641, 3642, 3643, 3644, 3645, 3646,
1315  3647, 3648, 3649, 3650, 3650, 3650, 3650, 3650, 3650, 3650,
1316  3651, 3652, 3653, 3655, 3656, 3657, 3658, 3659, 3660, 3661,
1317  3662, 3663, 3664, 3665, 3666, 3667, 3668, 3669, 3670, 3672,
1318  3674, 3676, 3678, 3680, 3682, 3684, 3686, 3688, 3690, 3692,
1319  3694, 3696, 3698, 3698, 3699, 3699, 3699, 3700, 3701, 3702,
1320  3703, 3704, 3705, 3706, 3707, 3708, 3709, 3710, 3711, 3712,
1321 
1322  3713, 3714, 3715, 3716, 3718, 3719, 3720, 3721, 3722, 3723,
1323  3724, 3725, 3726, 3727, 3728, 3729, 3730, 3731, 3731, 3731,
1324  3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741,
1325  3742, 3743, 3743, 3743, 3743, 3743, 3744, 3744, 3745, 3745,
1326  3745, 3746, 3746, 3746, 3748, 3749, 3749, 3751, 3751, 3753,
1327  3754, 3756, 3757, 3758, 3759, 3760, 3763, 3765, 3766, 3767,
1328  3769, 3770, 3772, 3773, 3774, 3775, 3776, 3779, 3781, 3782,
1329  3783, 3785, 3786, 3788, 3789, 3790, 3791, 3792, 3795, 3797,
1330  3798, 3799, 3799, 3799, 3799, 3799, 3799, 3801, 3803, 3804,
1331  3806, 3808, 3809, 3810, 3811, 3812, 3813, 3816, 3819, 3821,
1332 
1333  3822, 3823, 3824, 3824, 3825, 3825, 3826, 3827, 3828, 3829,
1334  3833, 3833, 3834, 3834, 3834, 3834, 3834, 3834, 3834, 3834,
1335  3834, 3834, 3834, 3834, 3834, 3838, 3838, 3838, 3838, 3838,
1336  3838, 3838, 3838, 3838, 3838, 3838, 3838, 3841, 3841, 3842,
1337  3842, 3842, 3842, 3846, 3850, 3850, 3850, 3850, 3852, 3852,
1338  3852, 3853, 3853, 3853, 3853, 3854, 3858, 3862, 3866, 3870,
1339  3871, 3874, 3875, 3878, 3880, 3881, 3882, 3883, 3888, 3894,
1340  3898, 3902, 3906, 3910, 3914, 3918, 3922, 3924, 3924, 3926,
1341  3930, 3934, 3941, 3945, 3949, 3953, 3957, 3961, 3965, 3968,
1342  3972, 3976, 3980, 3984, 3988, 3992, 3996, 4000, 4004, 4008,
1343 
1344  4012, 4016, 4020, 4024, 4028, 4032, 4036, 4040, 4044, 4048,
1345  4052, 4056, 4060, 4061, 4065, 4069, 4073, 4077, 4081, 4085,
1346  4089, 4093, 4097, 4101, 4105, 4109, 4113, 4120, 4124, 4128,
1347  4132, 4136, 4140, 4144, 4148, 4152, 4156, 4160, 4164, 4164,
1348  4164, 4166, 4167, 4167, 4168, 4168, 4168, 4168, 4168, 4168,
1349  4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168, 4168,
1350  4168, 4168, 4168, 4168, 4168, 4169, 4171, 4173, 4175, 4177,
1351  4178, 4179, 4181, 4182, 4184, 4185, 4186, 4189, 4191, 4193,
1352  4195, 4197, 4199, 4201, 4203, 4205, 4207, 4209, 4211, 4213,
1353  4215, 4217, 4219, 4220, 4222, 4224, 4226, 4228, 4230, 4232,
1354 
1355  4234, 4236, 4238, 4240, 4242, 4244, 4246, 4248, 4250, 4252,
1356  4254, 4256, 4258, 4260, 4262, 4264, 4266, 4268, 4270, 4272,
1357  4274, 4276, 4278, 4280, 4282, 4284, 4286, 4288, 4290, 4292,
1358  4294, 4296, 4298, 4300, 4302, 4304, 4306, 4308, 4308, 4308,
1359  4309, 4309, 4309, 4310, 4313, 4316, 4319, 4322, 4323, 4324,
1360  4326, 4327, 4329, 4333, 4336, 4339, 4342, 4345, 4348, 4351,
1361  4354, 4357, 4360, 4363, 4366, 4369, 4372, 4375, 4376, 4379,
1362  4382, 4385, 4388, 4391, 4394, 4397, 4400, 4403, 4406, 4409,
1363  4412, 4415, 4418, 4421, 4424, 4427, 4430, 4433, 4436, 4439,
1364  4442, 4445, 4448, 4451, 4454, 4457, 4460, 4463, 4466, 4469,
1365 
1366  4472, 4475, 4478, 4481, 4484, 4487, 4490, 4493, 4496, 4499,
1367  4502, 4503, 4503, 4503, 4504, 4505, 4507, 4508, 4509, 4510,
1368  4511, 4512, 4513, 4513, 4513, 4513, 4514, 4515, 4516, 4517,
1369  4518, 4519, 4520, 4522, 4524, 4525, 4527, 4528, 4529, 4530,
1370  4531, 4532, 4535, 4538, 4540, 4541, 4542, 4543, 4545, 4545,
1371  4545, 4545, 4545, 4545, 4545, 4545, 4545, 4545, 4545, 4545,
1372  4545, 4545, 4545, 4545, 4546, 4547, 4547, 4548, 4549, 4550,
1373  4551, 4552, 4553, 4554, 4555, 4556, 4557, 4558, 4559, 4560,
1374  4560, 4560, 4560, 4560, 4561, 4562, 4563, 4564, 4567, 4568,
1375  4569, 4570, 4571, 4572, 4573, 4574, 4575, 4576, 4577, 4580,
1376 
1377  4582, 4584, 4586, 4588, 4590, 4592, 4594, 4596, 4598, 4600,
1378  4600, 4601, 4601, 4603, 4604, 4606, 4607, 4608, 4609, 4610,
1379  4613, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623,
1380  4624, 4625, 4626, 4627, 4628, 4629, 4630, 4631, 4632, 4632,
1381  4633, 4633, 4634, 4636, 4637, 4639, 4640, 4641, 4642, 4643,
1382  4646, 4648, 4649, 4650, 4651, 4652, 4652, 4653, 4653, 4653,
1383  4654, 4654, 4655, 4655, 4656, 4657, 4659, 4660, 4661, 4662,
1384  4664, 4665, 4666, 4667, 4669, 4670, 4671, 4672, 4674, 4675,
1385  4675, 4677, 4677, 4678, 4680, 4680, 4682, 4684, 4685, 4686,
1386  4689, 4689, 4690, 4691, 4691, 4691, 4692, 4693, 4697, 4697,
1387 
1388  4697, 4697, 4697, 4697, 4697, 4697, 4697, 4699, 4700, 4702,
1389  4702, 4702, 4702, 4702, 4702, 4702, 4702, 4702, 4702, 4702,
1390  4702, 4702, 4704, 4705, 4707, 4707, 4707, 4707, 4707, 4708,
1391  4709, 4713, 4717, 4717, 4717, 4718, 4718, 4718, 4718, 4719,
1392  4723, 4727, 4731, 4735, 4737, 4737, 4739, 4743, 4750, 4757,
1393  4761, 4765, 4769, 4773, 4777, 4780, 4786, 4790, 4794, 4801,
1394  4801, 4805, 4809, 4813, 4817, 4821, 4825, 4829, 4833, 4837,
1395  4841, 4845, 4849, 4853, 4857, 4861, 4865, 4869, 4873, 4877,
1396  4881, 4885, 4885, 4885, 4889, 4893, 4897, 4901, 4905, 4909,
1397  4913, 4917, 4921, 4925, 4929, 4933, 4937, 4938, 4940, 4947,
1398 
1399  4951, 4955, 4959, 4963, 4967, 4974, 4978, 4982, 4986, 4986,
1400  4986, 4988, 4988, 4988, 4988, 4988, 4988, 4988, 4988, 4988,
1401  4988, 4988, 4988, 4988, 4988, 4988, 4989, 4991, 4993, 4995,
1402  4997, 4999, 5001, 5003, 5005, 5007, 5009, 5011, 5013, 5015,
1403  5017, 5017, 5019, 5021, 5023, 5025, 5027, 5029, 5031, 5033,
1404  5035, 5037, 5039, 5041, 5043, 5045, 5047, 5049, 5051, 5053,
1405  5055, 5057, 5059, 5061, 5063, 5065, 5067, 5069, 5071, 5073,
1406  5075, 5077, 5079, 5080, 5083, 5085, 5087, 5089, 5091, 5093,
1407  5095, 5097, 5099, 5101, 5102, 5105, 5108, 5111, 5114, 5117,
1408  5120, 5123, 5126, 5129, 5132, 5135, 5138, 5141, 5144, 5147,
1409 
1410  5150, 5153, 5156, 5159, 5162, 5165, 5168, 5171, 5174, 5177,
1411  5180, 5183, 5186, 5189, 5192, 5195, 5198, 5201, 5204, 5207,
1412  5210, 5213, 5216, 5219, 5222, 5225, 5228, 5231, 5234, 5237,
1413  5240, 5243, 5246, 5249, 5252, 5255, 5256, 5258, 5259, 5260,
1414  5261, 5262, 5262, 5262, 5262, 5263, 5264, 5265, 5266, 5267,
1415  5268, 5269, 5270, 5272, 5274, 5275, 5276, 5277, 5278, 5278,
1416  5279, 5279, 5279, 5279, 5279, 5279, 5279, 5279, 5279, 5279,
1417  5279, 5279, 5280, 5280, 5281, 5283, 5284, 5285, 5286, 5287,
1418  5288, 5289, 5290, 5291, 5292, 5292, 5292, 5292, 5292, 5294,
1419  5295, 5296, 5297, 5298, 5299, 5300, 5301, 5302, 5303, 5304,
1420 
1421  5305, 5306, 5308, 5310, 5312, 5314, 5316, 5318, 5320, 5322,
1422  5324, 5324, 5324, 5325, 5327, 5328, 5329, 5330, 5331, 5332,
1423  5333, 5334, 5335, 5336, 5337, 5338, 5339, 5340, 5341, 5342,
1424  5343, 5343, 5344, 5345, 5347, 5348, 5349, 5349, 5349, 5349,
1425  5350, 5350, 5351, 5352, 5353, 5353, 5355, 5356, 5358, 5358,
1426  5360, 5360, 5360, 5360, 5360, 5360, 5361, 5361, 5364, 5365,
1427  5365, 5366, 5366, 5366, 5366, 5366, 5366, 5366, 5366, 5366,
1428  5366, 5366, 5366, 5366, 5367, 5367, 5368, 5368, 5371, 5374,
1429  5374, 5375, 5375, 5376, 5380, 5384, 5384, 5384, 5388, 5392,
1430  5396, 5400, 5404, 5408, 5412, 5416, 5420, 5424, 5428, 5430,
1431 
1432  5432, 5433, 5437, 5441, 5441, 5445, 5449, 5453, 5457, 5461,
1433  5465, 5469, 5473, 5477, 5481, 5485, 5489, 5493, 5497, 5501,
1434  5505, 5512, 5512, 5512, 5516, 5520, 5527, 5531, 5535, 5539,
1435  5543, 5547, 5551, 5554, 5555, 5559, 5563, 5567, 5567, 5567,
1436  5567, 5569, 5569, 5569, 5569, 5569, 5569, 5569, 5569, 5569,
1437  5569, 5569, 5569, 5569, 5571, 5573, 5575, 5577, 5579, 5581,
1438  5583, 5585, 5587, 5589, 5591, 5593, 5593, 5595, 5597, 5599,
1439  5601, 5603, 5605, 5607, 5609, 5611, 5613, 5615, 5617, 5619,
1440  5621, 5623, 5625, 5627, 5629, 5631, 5633, 5635, 5637, 5639,
1441  5641, 5644, 5647, 5650, 5653, 5656, 5659, 5662, 5665, 5668,
1442 
1443  5671, 5674, 5677, 5680, 5683, 5686, 5689, 5692, 5695, 5698,
1444  5701, 5704, 5707, 5710, 5713, 5716, 5719, 5722, 5725, 5728,
1445  5731, 5734, 5737, 5739, 5740, 5741, 5742, 5744, 5744, 5744,
1446  5744, 5745, 5746, 5748, 5749, 5750, 5751, 5752, 5753, 5753,
1447  5753, 5753, 5753, 5753, 5753, 5753, 5753, 5755, 5756, 5757,
1448  5758, 5759, 5760, 5761, 5761, 5761, 5761, 5761, 5761, 5762,
1449  5763, 5764, 5765, 5766, 5767, 5768, 5769, 5770, 5771, 5772,
1450  5773, 5775, 5777, 5779, 5781, 5782, 5783, 5784, 5785, 5786,
1451  5787, 5788, 5789, 5790, 5791, 5792, 5792, 5793, 5794, 5794,
1452  5794, 5795, 5796, 5797, 5798, 5799, 5799, 5799, 5800, 5800,
1453 
1454  5800, 5800, 5800, 5800, 5800, 5800, 5800, 5800, 5800, 5800,
1455  5801, 5804, 5807, 5808, 5812, 5816, 5816, 5816, 5819, 5823,
1456  5827, 5830, 5834, 5838, 5842, 5846, 5846, 5850, 5857, 5861,
1457  5865, 5869, 5878, 5882, 5886, 5890, 5894, 5898, 5902, 5905,
1458  5905, 5905, 5909, 5913, 5917, 5921, 5925, 5929, 5933, 5937,
1459  5939, 5939, 5939, 5943, 5943, 5943, 5943, 5943, 5943, 5943,
1460  5943, 5943, 5943, 5943, 5943, 5943, 5943, 5945, 5947, 5949,
1461  5951, 5953, 5955, 5955, 5957, 5959, 5961, 5963, 5965, 5967,
1462  5969, 5971, 5973, 5975, 5977, 5979, 5981, 5983, 5985, 5987,
1463  5990, 5993, 5996, 5999, 6002, 6005, 6008, 6011, 6014, 6017,
1464 
1465  6020, 6023, 6026, 6029, 6032, 6035, 6038, 6041, 6043, 6044,
1466  6046, 6047, 6047, 6048, 6048, 6048, 6049, 6050, 6051, 6052,
1467  6054, 6055, 6055, 6055, 6055, 6055, 6057, 6058, 6059, 6059,
1468  6059, 6059, 6059, 6059, 6059, 6059, 6060, 6061, 6062, 6063,
1469  6064, 6065, 6066, 6067, 6069, 6070, 6071, 6072, 6073, 6074,
1470  6074, 6075, 6076, 6076, 6076, 6077, 6078, 6079, 6080, 6081,
1471  6082, 6083, 6084, 6085, 6085, 6085, 6086, 6086, 6086, 6087,
1472  6087, 6087, 6087, 6087, 6087, 6087, 6087, 6087, 6087, 6087,
1473  6087, 6090, 6091, 6095, 6099, 6099, 6100, 6103, 6107, 6111,
1474  6113, 6117, 6119, 6123, 6126, 6128, 6130, 6132, 6137, 6143,
1475 
1476  6147, 6151, 6155, 6162, 6164, 6165, 6166, 6170, 6172, 6172,
1477  6172, 6172, 6172, 6172, 6172, 6176, 6180, 6184, 6191, 6195,
1478  6195, 6195, 6196, 6196, 6196, 6196, 6196, 6196, 6196, 6196,
1479  6196, 6196, 6198, 6200, 6202, 6204, 6206, 6209, 6211, 6214,
1480  6216, 6218, 6222, 6224, 6226, 6228, 6230, 6232, 6235, 6237,
1481  6239, 6242, 6244, 6247, 6252, 6255, 6258, 6261, 6263, 6264,
1482  6264, 6265, 6266, 6267, 6268, 6269, 6270, 6270, 6270, 6270,
1483  6270, 6270, 6270, 6270, 6271, 6272, 6273, 6274, 6275, 6276,
1484  6277, 6277, 6278, 6279, 6280, 6280, 6281, 6282, 6283, 6283,
1485  6284, 6284, 6284, 6284, 6285, 6286, 6286, 6286, 6286, 6286,
1486 
1487  6286, 6287, 6287, 6287, 6287, 6290, 6290, 6293, 6294, 6298,
1488  6302, 6302, 6306, 6310, 6312, 6312, 6312, 6312, 6315, 6319,
1489  6322, 6323, 6326, 6327, 6331, 6333, 6334, 6335, 6336, 6341,
1490  6341, 6341, 6341, 6341, 6341, 6342, 6342, 6346, 6350, 6354,
1491  6358, 6360, 6360, 6360, 6360, 6360, 6360, 6362, 6364, 6366,
1492  6368, 6370, 6373, 6375, 6376, 6376, 6377, 6378, 6378, 6378,
1493  6378, 6378, 6378, 6379, 6380, 6381, 6382, 6383, 6384, 6384,
1494  6385, 6386, 6387, 6389, 6391, 6393, 6395, 6395, 6395, 6395,
1495  6396, 6396, 6399, 6401, 6401, 6404, 6405, 6409, 6413, 6413,
1496  6417, 6421, 6424, 6426, 6428, 6428, 6429, 6431, 6431, 6434,
1497 
1498  6435, 6435, 6435, 6435, 6438, 6438, 6438, 6439, 6439, 6439,
1499  6441, 6441, 6441, 6441, 6441, 6441, 6445, 6446, 6446, 6448,
1500  6448, 6452, 6452, 6452, 6452, 6452, 6452, 6456, 6460, 6464,
1501  6466, 6466, 6466, 6466, 6469, 6469, 6469, 6469, 6471, 6473,
1502  6475, 6477, 6479, 6482, 6484, 6486, 6486, 6486, 6486, 6486,
1503  6486, 6487, 6488, 6489, 6490, 6491, 6493, 6493, 6494, 6496,
1504  6497, 6499, 6501, 6503, 6505, 6505, 6507, 6508, 6511, 6512,
1505  6513, 6515, 6519, 6519, 6520, 6524, 6526, 6528, 6528, 6529,
1506  6529, 6530, 6530, 6530, 6530, 6530, 6530, 6530, 6531, 6531,
1507  6531, 6535, 6535, 6535, 6535, 6535, 6539, 6543, 6546, 6548,
1508 
1509  6548, 6548, 6549, 6551, 6553, 6555, 6558, 6558, 6558, 6560,
1510  6561, 6561, 6561, 6561, 6561, 6562, 6562, 6563, 6565, 6565,
1511  6566, 6568, 6568, 6571, 6572, 6574, 6578, 6578, 6579, 6579,
1512  6579, 6579, 6579, 6579, 6580, 6580, 6580, 6581, 6581, 6581,
1513  6582, 6583, 6583, 6587, 6587, 6587, 6591, 6593, 6593, 6593,
1514  6595, 6595, 6595, 6595, 6595, 6595, 6596, 6597, 6597, 6598,
1515  6598, 6601, 6601, 6601, 6601, 6602, 6606, 6606, 6606, 6606,
1516  6609, 6609, 6610, 6610, 6610, 6610, 6610, 6614, 6614, 6614,
1517  6616, 6616, 6616, 6616, 6618, 6618, 6618, 6618, 6618, 6619,
1518  6619, 6620, 6623, 6627, 6627, 6627, 6629, 6630, 6630, 6631,
1519 
1520  6631, 6635, 6635, 6635, 6637, 6638, 6638, 6638, 6639, 6643,
1521  6643, 6645, 6645, 6649, 6649, 6651, 6651, 6652, 6656, 6656,
1522  6657, 6657, 6658, 6662, 6662, 6662, 6663, 6667, 6667, 6668,
1523  6672, 6676, 6680, 6684, 6688, 6690, 6690
1524  } ;
1525 
1527  { 0,
1528  1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1529  1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
1530  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1531  1, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1532  14, 15, 16, 17, 18, 19, 20, 21, 22, 22,
1533  22, 22, 22, 22, 22, 23, 24, 25, 26, 27,
1534  28, 29, 1, 30, 31, 32, 33, 34, 35, 32,
1535  36, 36, 37, 36, 38, 39, 36, 36, 40, 41,
1536  36, 42, 43, 44, 45, 36, 46, 47, 48, 36,
1537  49, 50, 51, 52, 53, 1, 54, 55, 56, 57,
1538 
1539  58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1540  68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1541  78, 79, 80, 81, 82, 83, 1, 84, 84, 84,
1542  84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
1543  84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
1544  84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
1545  84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
1546  84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
1547  84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
1548  84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
1549 
1550  84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
1551  84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
1552  84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
1553  84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
1554  84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
1555  84, 84, 84, 84, 84
1556  } ;
1557 
1559  { 0,
1560  1, 2, 3, 4, 5, 1, 6, 1, 7, 1,
1561  1, 8, 9, 10, 11, 1, 12, 13, 14, 15,
1562  16, 16, 16, 16, 17, 18, 19, 20, 1, 1,
1563  21, 21, 21, 21, 21, 22, 22, 22, 22, 22,
1564  22, 22, 22, 22, 22, 22, 22, 22, 23, 24,
1565  25, 1, 26, 21, 21, 21, 21, 21, 21, 22,
1566  22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
1567  22, 22, 22, 22, 22, 22, 22, 22, 22, 27,
1568  1, 28, 29, 30
1569  } ;
1570 
1572  { 0,
1573  0, 3, 8, 58, 63, 113, 91, 145, 131, 165,
1574  187, 207, 215, 229, 237, 269, 287, 291, 342, 24,
1575  426, 22, 510, 35, 594, 48, 678, 77, 762, 79,
1576  844, 847, 852, 886, 937, 117, 1021, 118, 1104, 1108,
1577  1188, 304, 1112, 1271, 1274, 1304, 1353, 126, 1429, 134,
1578  1513, 151, 1597, 203, 1681, 242, 1765, 308, 1849, 317,
1579  1933, 321, 2017, 866, 2101, 874, 2185, 882, 1132, 1338,
1580  2267, 2348,11831,36373, 902,36373,36373,36373, 16,11820,
1581  903, 19, 0,36373, 0, 0, 26,11814, 0, 907,
1582  28, 0,36373, 0, 0, 49,11813, 908, 65, 0,
1583 
1584  909, 0,11812, 0, 0, 71,11810, 913, 72, 0,
1585  1145, 0, 0, 0, 81,11809, 6, 1138, 109, 0,
1586  171, 0, 0, 0,11795, 140,11807, 1149, 157,11762,
1587  1165,36373,11759,11752, 210, 40, 265, 1277, 277, 0,
1588  1166, 0, 0, 0,11781, 168,11793, 1290, 178,36373,
1589  36373,11720,11740, 182,36373, 878,36373,36373,11755,36373,
1590  184, 1292,11757,36373,36373, 2265, 2369, 2429, 68, 38,
1591  11746,36373, 2280,36373, 21, 1264, 1109, 1267, 1296, 1295,
1592  2257, 219, 1340, 106, 189, 1102, 1310, 1324, 281, 2330,
1593  2242, 2272, 1309, 220,36373,36373, 1170, 2288, 857, 233,
1594 
1595  11749,11702,11745, 7, 915,36373, 1386, 286,36373, 185,
1596  906,36373, 302,11743, 303, 2308, 2396, 2434, 2464, 2468,
1597  11737, 2483, 2502, 2512, 2533, 2559, 2577, 2653, 2491, 2554,
1598  2535, 2561, 2585, 2608, 2627, 2632, 2655, 2676, 2709, 2631,
1599  2699,36373, 850,36373,36373, 1099,36373,36373,36373, 0,
1600  11713,36373, 1291, 283,11736,11753, 2782, 2786, 2799,36373,
1601  2812,36373, 2838,36373, 2408, 2842, 2271, 855, 0, 1102,
1602  36373, 2871, 2897, 2901, 2927, 2931, 2958, 2694, 2444, 2813,
1603  2753, 2924, 2932, 2900, 2944, 1329, 2386, 2936, 2962, 2468,
1604  2980, 3002, 3017, 3013, 3037,36373,36373, 0,36373,36373,
1605 
1606  0,11717,11750, 47,36373, 2566, 0, 2374, 1278,36373,
1607  2568, 3081, 1284, 2720,36373, 2297,36373,36373,36373, 1167,
1608  11748,36373, 2338, 1361,36373, 2443,36373,36373,36373, 1396,
1609  11746,36373,36373, 2470, 1402, 2330, 0,36373,11729, 2631,
1610  2629, 0,36373,36373, 99, 0,11692,11669,11679,11685,
1611  1344, 0,36373,36373,11717,36373,36373, 239, 1287,11732,
1612  2574, 2375, 3017,36373, 2279,36373,36373,36373,36373, 232,
1613  856, 1319, 2297, 2409, 2398, 3041, 2477,36373,36373,11705,
1614  11671, 808,11667,11657,11663, 2302,11651,11643,11660, 863,
1615  148,11635,11632,11642, 0, 2442,11663,36373, 3110, 3114,
1616 
1617  2855, 3118, 3123, 3149, 3153, 3185, 3203, 3211, 3218, 3222,
1618  3229, 3255, 3261, 3191,36373, 3272, 3287, 3297,36373, 0,
1619  36373,36373, 2387,36373,11675, 0,11613,11605,11620,11572,
1620  11574,36373, 3310, 2447,36373, 2737,36373, 0,36373,36373,
1621  2504,36373,36373,11631, 0,11602,11561,11567,11556,11557,
1622  2411,11552,11544,11557, 2284,11544,11542,11551, 2773, 2528,
1623  0,36373, 2273, 0,36373, 0,11571,11536,11541,11532,
1624  11527, 2477,11522,11514,11529, 2493,11510,11507,11518,36373,
1625  2777,36373,36373, 0,11521,36373,36373, 2590,11562, 0,
1626  36373,36373, 2833, 2592, 0, 3317, 0, 0,36373, 0,
1627 
1628  0, 0, 2645,11554, 3390, 0, 2877, 2649, 3384, 3409,
1629  3419,36373, 0,36373, 0,11524,11488, 2233,11486,11488,
1630  2518,11483,11476, 2586, 2761,11482,11477,11487,36373, 3429,
1631  36373, 2881,36373, 0,36373,36373, 2699,11526,11507, 2889,
1632  2728, 0, 3024, 0, 0,11524, 2790,11521, 0, 3127,
1633  2855,36373, 3157,36373,36373,36373,36373,36373, 2857,11518,
1634  11480,11506, 2287,36373,36373, 3161, 2892, 3165, 2898, 2958,
1635  1341,36373, 3177, 2922, 3288, 2905, 0, 3056, 1399,36373,
1636  36373, 3199, 2928, 3321, 2911, 0, 3084, 2398, 0, 3235,
1637  2955, 3326, 3049, 0,36373, 3089, 2429, 3304, 3000, 3420,
1638 
1639  3319, 0,11509, 3343,36373, 3226, 2632, 0,36373,11505,
1640  3356, 3344, 0, 3378,11480,36373, 3095, 2668, 0, 3423,
1641  3430, 3351,11446, 2708, 3461, 3424,11445,36373,11491, 3446,
1642  3247, 3477, 3448, 0, 3500, 3431, 2846, 0, 3488, 3088,
1643  3500, 3494, 3515, 3565,11479, 2453, 3520, 3546, 3324,36373,
1644  36373, 3551, 0, 3534, 2446,11423,11423, 787,11415, 1319,
1645  11424, 2609, 2569, 3597, 3628,36373,36373,11419,11453, 3575,
1646  3634, 2480, 2607,11464, 2733, 3647, 3658,11448, 3686, 3671,
1647  3603, 2967, 2674, 2907, 3178, 1105, 2623, 3111, 2921, 3046,
1648  3148, 2502, 2789, 3754, 2643, 2942, 2695, 3190, 3483, 2527,
1649 
1650  2731, 3394, 2768, 2919, 2860, 3069, 3220, 2281, 3548,11398,
1651  264, 3110, 2886, 2832, 3318, 209, 3081, 39, 3273, 3400,
1652  3460, 3131, 3496, 3243, 2988, 3665, 3522, 3427, 3502, 3564,
1653  3003, 3249, 3519, 3515, 3566, 3027, 2471, 3451, 3208, 3100,
1654  3386, 3603,11410, 3472, 3730, 3740, 3702, 3690, 3745, 3746,
1655  3479,36373, 3773, 3797,36373, 3812, 3816, 3680,36373,36373,
1656  11442,11439, 3012,11399,11402, 3603,11393, 3584,11401, 2973,
1657  3392, 3818,36373,11425,36373, 3837,11427,11421, 3847, 3865,
1658  3875, 3893, 3908, 3912, 3936, 3954, 3969, 3987, 4011, 4015,
1659  4030, 4045, 4110, 4066, 4076, 4139, 4170, 4196, 4206, 4227,
1660 
1661  4245, 4263, 4273, 4292, 4302, 4326, 4399,11375, 4352, 4428,
1662  4371, 4459, 4485, 4489, 4504, 4522, 4537, 4541, 4565, 4569,
1663  4584, 4599, 4603, 4631, 4641, 4662, 4672, 4693, 4711, 4726,
1664  4744, 4754, 4772, 4782, 4800, 4818, 4833, 4848, 4863, 4881,
1665  4049, 4177, 4330, 4463,36373, 4912,11423,11416, 4201, 4925,
1666  4917, 4931,11419, 4944, 3785, 4955, 3941, 3981, 4165, 4971,
1667  36373, 4990, 5016,36373,11413,36373, 5020, 5039, 5057, 5075,
1668  5096, 5114, 5132, 5153, 5172, 5190, 5209, 5236, 5240, 5266,
1669  5270, 5335, 5296, 5300, 5354, 5375, 5419, 5423, 5449, 5453,
1670  5479, 5498, 5516, 5534, 5607,11365, 5561, 5579, 5636, 5667,
1671 
1672  5693, 5697, 5723, 5742, 5772, 5776, 5804, 5808, 5834, 5838,
1673  5872, 5890, 5908, 5934, 5955, 5983, 5987, 6014, 6033, 6054,
1674  6072, 6098, 6117, 6143, 6147, 6173, 6194, 6212, 0, 0,
1675  11431,11394, 3807, 3718, 3791, 3846, 3871, 3824, 3903,11426,
1676  4006,11409,11422, 4336, 3839, 4362, 3871,36373,11399,11408,
1677  11396, 3975, 0,11346, 0,11339,11332,11335,11348, 3917,
1678  2806,11387, 3877, 3283,11369,11368,11367, 3751, 3903, 3968,
1679  4294,36373,11365,11364, 0, 3886, 3590,36373, 3992, 4076,
1680  36373, 4215, 4127, 4848, 4125,11301,11268,11281,11280,11259,
1681  11258,11252, 3964,11245,11239,11240,11233,11219, 3275,11212,
1682 
1683  11216,11208,11204,11213,11211, 4698, 2781, 4454, 4961, 5103,
1684  5179,11237,11231, 5228, 5505, 5387, 5402, 5546, 4516, 6059,
1685  6179, 5879, 6238, 6242, 6312, 6331, 6341, 6246, 6347, 6373,
1686  6380, 6384, 6410, 6422, 6417, 5046, 5158, 4075, 5663, 5962,
1687  11188,11177,11186,11172,36373, 6448, 0, 0,11172,11180,
1688  11181,11156,11167, 6459, 0, 0,11190,11159,11168,11147,
1689  11141, 4021,11133,11138,11138,11137,11130, 3855,11125,11121,
1690  11130,11129, 4148, 4232, 4254,36373, 0, 0,11147,11117,
1691  11130,11107,11112, 0,11103,11099,11099,11100,11094, 3931,
1692  11087,11084,11091,11091, 0,11138, 3665,36373, 0, 4668,
1693 
1694  5087, 5672,36373,36373, 0, 0, 3703, 3791,36373, 6539,
1695  36373, 4269, 3651, 4060, 3827, 6504, 0, 0,11109,11078,
1696  11091,11073,11064,11068, 6622,11058,11063,11063,11057,11060,
1697  11063,11040, 3965,11036,11034, 4081,11042, 6590,11075,11074,
1698  11063, 0,11078,11076, 4181, 3855, 0, 4432, 3848, 4307,
1699  3879,11071,11035, 4031, 4247,11061, 4072,11000,11068, 4170,
1700  4263,11054, 4192, 50,11060, 3317, 5750, 6000,10986, 4541,
1701  4430, 4306, 6255, 6257, 3809, 4569, 3821, 4881, 6109,10985,
1702  4603, 4608, 4342, 6471, 6485, 3860, 4730, 3882, 4814, 4984,
1703  10984, 3479, 4677, 4465, 5017, 5066, 3922, 3674, 4006, 4702,
1704 
1705  4734,11039, 4221,11038, 4265, 5185, 5748, 3796, 4419, 4746,
1706  4792, 6207, 6498, 4393, 4530, 4446, 4389, 4763, 3631, 4621,
1707  3921, 4018, 6705,36373,11038, 6664, 6675, 6712, 4169,11012,
1708  6794, 6775, 5216, 0,10961,10979,10971,10960,10955,10944,
1709  10940, 3678,10956,10936,10934,10925,10915,10907, 4775,10955,
1710  10953, 5679, 6019, 6690, 6876, 3906,10968,36373, 6809, 6825,
1711  6869,10955, 5446, 6741, 6859, 6903, 6911, 5485, 4234, 4249,
1712  4169, 4328, 6986, 4038, 4197, 4312, 4289, 3304, 4080, 4420,
1713  4775, 4314, 4442,36373, 6930, 7005,36373,36373,10952, 5905,
1714  7023, 4108,10905, 4366, 4494, 4492, 4149, 4277, 4571, 4541,
1715 
1716  4385, 4461, 7106, 4576, 3645, 4652, 4180, 4689, 4240, 7037,
1717  4579, 3485, 4854, 4619, 4484, 4717, 4375, 4745, 4281, 4428,
1718  4529, 4401, 828, 3998, 4506, 4512, 4583, 5005, 4316, 4615,
1719  4646, 4551, 3544, 4800, 4820, 4833, 4757, 4909, 4801, 3784,
1720  10904, 4823, 4742, 4836, 4840, 4849, 4771, 4573, 4903, 4588,
1721  4872, 3946, 4681, 4795, 4886, 7076, 7146, 7165,10892,10902,
1722  6958, 5242, 5585, 5168, 6276,10884,10898,10894,10883,10879,
1723  10872,10871, 4917,10887,10868,10871,10866,10858,10850, 5063,
1724  10897, 5305, 6584, 7193, 6734, 7208, 7268, 7223, 7227, 7303,
1725  7340, 7358, 7368, 7386, 7404, 7419, 7423,36373, 5408,36373,
1726 
1727  10894,36373,10897,10891, 7438, 7465, 7469, 7484, 7499, 7503,
1728  7527, 7531, 7557, 7561, 7615, 7634, 7644, 7688, 7587, 7703,
1729  7707,36373, 5497,36373,10889,36373,10891,10886, 7722, 7737,
1730  6767, 5573, 7752, 7814, 7776, 7833, 7843, 7886, 7901, 7905,
1731  7920, 7935, 7939, 7965, 7980, 7984, 7999, 8014, 8035, 8045,
1732  8064, 8074, 8093, 8103, 8122, 8137, 8152, 8167, 8171, 8195,
1733  8214, 8199, 8229, 8233, 8259, 8283, 8287, 8311, 8315, 8339,
1734  8358, 8373,10881, 7080, 7329, 8344, 8399, 8412, 5864, 5938,
1735  6490, 6602, 8416, 8442, 8468, 8472, 8541, 8504, 8500, 8576,
1736  8613, 8631, 8649, 8667, 8686, 8713, 8743, 8747, 6352,36373,
1737 
1738  10879,36373, 8773, 8777, 8804, 8808, 8834, 8838, 8864, 8868,
1739  8898, 8952, 8916, 8981, 9025, 9043, 9061, 9079, 9097, 6946,
1740  36373,10877,36373, 9115, 9133, 9151, 9213, 9177, 9181, 9242,
1741  9285, 9303, 9321, 9339, 9360, 9378, 9396, 9414, 9432, 9453,
1742  9471, 9489, 9507, 9525, 9543, 9562, 9580, 9598, 9616, 9637,
1743  9656, 9677, 9695, 9713, 9732, 9751, 9769, 9795, 9799, 9825,
1744  9829, 9856, 9860, 9886, 0,10890,10891, 0,10848, 6113,
1745  0,10875,10835,10817,10830,10817,10815, 4944,10823, 5029,
1746  5070, 5006, 5129, 0, 4968,10822, 5297, 5835, 5096, 5115,
1747  5872, 5942, 6063, 6451, 5194, 5123, 5432,10811,10802,10798,
1748 
1749  10811,10810,10805, 5011,10800,10791,10794,10778,10781,10785,
1750  10777,10767,10777,10766,10768,10770,10791, 6578, 5038, 6895,
1751  7197, 9249, 9890, 9015, 9898, 9904, 9916, 7322,10778,10772,
1752  6964, 9930, 9942, 9960, 9968, 9972, 9979, 9986,10012,10028,
1753  10045,10054,10061, 5393, 5540,10733,10740,10739,10727,10719,
1754  10718,10715, 0,10724,10712,10702,10716,10716,10707,10700,
1755  10705,10686,10685,10693,10686,10683,10687,10684,10672,10665,
1756  10678,10677,10669,10653,10659,10642,10640,10637,10632,10631,
1757  10634,10636,10677,36373,10671, 5265, 0, 7528, 7587,10609,
1758  5551, 5134, 5240, 7667, 7866, 4946, 5730, 5003,10615,10608,
1759 
1760  10606,10621,10620, 0,10612,10595,10601,10583,10587,10571,
1761  10548,10556,10550,10547,10550,10552,10546,10583,10583,10575,
1762  5355, 5628,10507, 5110, 5702, 5286, 5805, 6288, 5066, 5128,
1763  5114, 0, 5170,10563, 5182,36373,10543,36373,10508,10544,
1764  36373, 0,10540,36373,36373,10536,36373,10530, 0,10510,
1765  0,10475, 5427, 7465, 5643, 0, 0, 6103, 6130, 0,
1766  10500, 0,10465, 5812, 6558, 6641, 0, 0, 6651, 6663,
1767  0,10498, 0,10458, 5317, 6170, 5394, 0, 0, 5396,
1768  5405, 5625, 5363,10505, 5490,10486,36373,10455, 4310, 5379,
1769  10447, 5399, 5553, 5768, 6817, 5927,10446, 5975,10436, 6044,
1770 
1771  6151, 6184, 6281, 6426, 5356, 4767, 5263, 5293, 5319,10114,
1772  7289, 5205, 7450, 7970,10185,10459,10267, 7056, 7092, 6843,
1773  7138,10075,10427,10410, 6852,10421,10409,10410,10404,10377,
1774  5400,10385,10374,10384,10333,10337, 7253, 8428, 8454, 8595,
1775  10379, 8705,10349, 3737,10389, 7755,10369, 8603, 9277,10119,
1776  10132,10356, 7398, 7457, 7675, 4229, 5155, 5039, 5438,36373,
1777  10198,10214,36373,36373,10358, 7773,10146,10322, 5725, 5003,
1778  5270, 5455, 5606, 5421, 2678, 5676,10280,10249,36373, 4896,
1779  3910,10407, 5729, 5533, 5602,10321, 5468, 5787,10490, 5647,
1780  5473, 5847, 5595, 5389, 5836, 5854, 5535, 5898, 5738, 5649,
1781 
1782  5593, 5700, 5655, 5912, 5708, 5724, 5926, 5774,10306,10298,
1783  5786,10290,10547, 5800, 5982, 4758, 5940, 5995,10285, 6236,
1784  5892, 6031, 5756, 5830, 5788, 6093, 6594, 5688, 5856, 6381,
1785  6038, 5838, 5933,10284, 4620, 6135, 6145,10282,10260,10260,
1786  10296, 6746,10295,36373, 6218, 8720, 8883,10264,10246, 0,
1787  10254,10239,10244,10234,10220, 6070,10222,10212,10221,10204,
1788  10205, 0, 6397, 6468, 6758,10314,10376,10442,10509,36373,
1789  7019,36373,10232,36373,10235,10221,10342,10619,10519,10540,
1790  10586,10638,10648,10679,10703,10707,10722,10737,10741,10756,
1791  10777,10792, 8268,10813,10828,10832,10856,10866,10884,10894,
1792 
1793  10912,10922,10941,10951,10970,10985,10989,11013,11017,11043,
1794  11047,11062,11077,11096,11114,11124,11142,11152,11170,11189,
1795  11199,11218,11228,11246,11261,11276,11341,11302,11312,11370,
1796  11401,11428,11438,11456,11474,11484,11502, 9642,10170,10332,
1797  7795, 7804, 7681,11521,11539,11560,11578,11596, 8377,36373,
1798  10214,36373,11614,11645,11674,11705,11731,11749,11767,11786,
1799  11805,11823,11844,11862,11880,11898,11916,11934,11952,11978,
1800  11982,12008,12012,12038,12056,12074,12092,12110,12129,12148,
1801  12166,12184,12202,12221,12239,12257,12276,12294,12315,12341,
1802  12359,12377,12395,12416,12443,12461,12488,12506,12524,12545,
1803 
1804  12563,12581,12599,12617,12644,12662,12680,12698,12716,12734,
1805  36373,10228, 0,10213,10187, 8677,10217,36373,10163,10165,
1806  10168,10164,10146,10140,10140, 6431, 6144, 6407, 6440,10129,
1807  10125,10132, 5915,36373, 6340, 5968, 6728, 6709,10190, 6955,
1808  6802, 6036,36373, 6042, 6863,10181, 6943, 6251,10105,10111,
1809  10097,10097,10083,10091,10069,10075,10076,10059,10049,10046,
1810  10023,10004, 0,10253, 6162,10044,12792,10426,10552,10591,
1811  11360,10475,11664,12495,12320,12422,12875,12879,12883, 9995,
1812  9990, 9995, 9998, 9968, 9969, 9976, 9935, 6517, 6431, 6527,
1813  6612, 6677, 6528, 6718, 6838, 7070, 7069, 6277, 9949, 9931,
1814 
1815  9921, 9917, 9922, 9895, 9902, 9896, 9870, 9876, 9857, 9914,
1816  36373, 6647, 0, 9904, 0, 9858, 7256, 8087, 7332, 0,
1817  0, 7548, 7588,12954, 9824, 9831, 93, 863, 1067, 1078,
1818  1232, 1277, 1334, 1370, 2308, 2390, 2477, 2604, 0, 2683,
1819  2916, 2944, 0, 2982, 0, 3070, 6079, 6522, 6273, 0,
1820  0, 6292, 6376,36373,36373, 3208, 6920, 3247, 3218,36373,
1821  3424,36373, 3618,36373, 3633, 0, 7158, 7173, 3662, 0,
1822  7181, 7311, 3725, 0, 6221, 6657, 3876,36373, 3904, 3929,
1823  7335, 4042, 6097,36373, 4105, 4115, 6725, 6783, 7049,36373,
1824  4196, 7201, 7211, 6924, 4198, 5789, 6073,13037, 4230, 7880,
1825 
1826  8026, 7169,13044,13126, 4334, 4390, 8571, 8583,36373, 4440,
1827  4478, 4486, 4532, 4632, 4669, 6168, 4698, 4817, 4855, 4883,
1828  4901, 8693, 8935,36373, 4976,10804,12435,11681,12888,13068,
1829  13208, 5094, 4989,10460,11288,12306, 5028, 8985, 9009, 6500,
1830  6222, 5514, 7236,13072,13107,36373, 6060,13279, 7341, 6735,
1831  6288, 6309, 6345, 6455,13362, 7875, 6627, 6782, 7297, 5033,
1832  6678, 6138, 6739, 5958, 6972, 6181, 6440, 6870, 6703, 6197,
1833  6439, 6545, 6814, 7015, 6733, 6347, 6850, 7027, 5040, 7082,
1834  7110, 5151, 5207, 7073, 6527, 6860, 6962, 6506, 7081, 6683,
1835  7138, 7136, 7146, 7173, 5343, 7074, 5434,36373,13434, 7168,
1836 
1837  7191, 6586, 7189, 6978, 8129, 7321, 7238, 5928, 5424, 5464,
1838  12755, 5501, 5533, 5564, 5620, 5643, 5708, 5730, 5796, 7306,
1839  5818, 5854, 6317, 6356, 6369, 7758,13141,13159,13169,13247,
1840  13298,13518,13243,13319,13367,13397,13477,13401,13547, 7039,
1841  6422,13578,13602,13606,13630,13645,13660,13664,13679,13700,
1842  13710,13729,13739,13757,13767,13786,13796,13814,13829,13833,
1843  13859,13863,13878,13897,13907,13925,13944,13954,13972,13990,
1844  14000,14019, 6470,36373,14073,14034,14092,14102,14133,14159,
1845  14163,14178,14193, 9739,14197,14225,14251,14255,14283,14301,
1846  14322,14340,14358,14376,14394,14461,14426,14490,14422,14533,
1847 
1848  14551,14569,14590,14609,14627,14648,14666,14684,14702,14723,
1849  14741,14759,14777,14798,14816,14834,14853,14872,14891,14909,
1850  14928,14947,14968,14986,15007,15025,15079,15108,15043,15139,
1851  15166,15170,15196,15200,15226, 6513, 9124, 6492, 6621, 6630,
1852  6640, 6670, 6723, 6726, 7488, 7625, 7726, 7365, 6787, 6811,
1853  6826, 7389, 6945,36373, 7564, 6907, 7570, 6908, 6863,36373,
1854  6921, 6920, 6944, 6950, 7000, 7003, 7113, 7149, 7183, 7171,
1855  7200,12892, 7255,13203,13331,13346,15230,15238,13559,15244,
1856  13649,14288,14973,14898, 7216, 7232, 7271, 7271, 9021, 9367,
1857  9460, 9569, 7302, 7310, 7296, 7305, 7323, 7311, 7329, 7330,
1858 
1859  7355, 7356, 7358, 7347, 7353, 7370, 7357, 7373, 7367, 7382,
1860  7433, 7435, 7419, 0, 7601, 7850, 7437,11514, 7437, 7425,
1861  7426, 7444, 7450, 7453, 7441, 7459, 7453, 7463, 7474, 7509,
1862  7532, 7534, 7487, 0, 7550, 7569, 7709, 7540, 7566,36373,
1863  7556, 7562, 7576, 7584, 7610,36373, 7693,36373, 7645,36373,
1864  7651, 0, 7576, 7609, 7631,36373, 8531,10436,10468,10683,
1865  36373, 7603, 7606, 7643, 7636, 7631, 7639, 7663, 7667, 7675,
1866  7662, 7663, 7679,11295,11396,36373, 0,15270,15287,13463,
1867  15302, 7709,15319,15376,15429, 7731,12629, 7714, 7719, 7711,
1868  7724, 7815, 7842,15336, 7732, 7738, 7777, 7837,15479,15371,
1869 
1870  15411, 7874, 7776, 7696, 7856, 7725, 7878, 7813, 7881, 7897,
1871  7895, 7908, 7893, 7937, 7922, 7916, 7935, 7976, 7979, 8002,
1872  15551, 7838, 7831, 7988, 8009, 8083, 7909, 8031, 7991, 7962,
1873  7934, 8010,15634,15472, 8008, 8021, 8037, 7848, 7908, 7958,
1874  36373, 7943, 7949, 7964, 7984, 7984, 7988, 8011, 8018, 8022,
1875  8013, 8024, 8042,15446,15513,15489,15523,15586,15639,15663,
1876  15673,15691,15709,15719,15743, 8057,15753,15771,15781,15799,
1877  15817,15827,15845,15855,15874,15884,15902,15917,15938,15948,
1878  16019,15974,15984,16048,16091,16106,16110,16134,16138,16162,
1879  16183,16202,16220,16238,16256,16275,16293,16311,16330,16351,
1880 
1881  16369,16388,16406,16432,16436,16462,16466,16493,16520,16538,
1882  16557,16576,16594,16615,16641,16645,16671,16675,16702,16706,
1883  16732,16750, 9686, 8058, 8043, 8059, 9351, 8052, 8070, 8073,
1884  8133, 8156, 8113, 8128, 8070, 8088, 8090, 8180, 8081, 8095,
1885  8081, 8086, 8100, 8109, 8095, 0, 8205,16499,15944,16762,
1886  16080,16776,16780, 9574, 8112, 8118, 8120,16788,36373, 8120,
1887  8127, 8145, 8154, 8153, 8171, 8171, 8170, 8172, 8186, 8172,
1888  8182, 8179, 8195, 8182, 8232, 8192, 8194, 8188, 8207, 8200,
1889  8198, 8214, 8216, 8210, 8203, 8272, 8273, 8256, 8277, 8239,
1890  8300, 8311, 8292, 8305,36373, 8279, 8316, 8401, 8220, 8245,
1891 
1892  8257, 8268, 8267, 8258, 8259, 8267, 8279, 8271, 8287,15604,
1893  16815,16832,16845,16915,16987, 8352, 0,16871, 8315, 8314,
1894  16875, 8335, 8353, 8317, 8367, 8313, 8346,17040, 8410, 8344,
1895  8412,17124, 8352, 8436, 8509, 8607, 8423, 8457,17207, 8309,
1896  8333, 8375, 8383, 8427, 8397, 8468, 8471, 8524, 8439,17281,
1897  16910, 8368, 8584, 8676, 8384, 8370, 8396, 8418, 8444, 8442,
1898  8435, 8447, 8460, 8472, 8469, 8467,16944,16954,16980,17004,
1899  17059,17083, 8502,17159,17212,17236,17348,17254,17286,17367,
1900  17310,17377,17408,17432,17436,17460,17464,17479,17498,17516,
1901  17535,17562,17566,17592,17596,17622,17678,17649,17697,17729,
1902 
1903  17761,17779,17797,17815,17834,17860,17878, 9760, 8491, 0,
1904  8513,10242,36373, 8525, 8529,36373, 8585, 8546, 8538, 0,
1905  8610, 0, 8555, 8561, 8570, 8752,17143,17243, 8572, 8576,
1906  8578, 8572, 8590, 8594, 8589, 8592, 8605, 8610, 8594, 8601,
1907  8615, 8617, 8620, 8627, 8774, 8628, 8642, 8644, 8654, 8710,
1908  8712, 8733, 8670, 8708, 8942, 8709, 8804, 8713, 8746, 8720,
1909  8795, 8876, 8721, 8717, 8873, 8810, 0, 8726,17177, 9163,
1910  10158, 8696, 8708, 8704, 8707, 8729, 8724, 8736, 8723, 8741,
1911  17896,17922,17975,18042, 8792,15617,17935, 8786, 8816,36373,
1912  17991,17940,36373,36373, 8789, 9174,16505, 8785, 8787, 8851,
1913 
1914  8857,18007,18093,18035,18112,18176, 8811,18231, 8765, 8767,
1915  8780, 8788, 8776, 8794, 8827, 8877, 8880,18306, 8900, 8798,
1916  9441,36373, 8827, 8846, 8843, 8834, 8856, 8855, 8867, 8857,
1917  8868,17956,18128,18181,36373, 9646,36373, 8903,36373, 8919,
1918  8916,12909,18241,18259,18347,18278,18366,18392,18410,13574,
1919  36373, 8918,36373,18428,18446,18464,18482,10080, 8877, 8893,
1920  9028, 8917, 8978, 8925, 9044,36373, 8933, 8937, 8929, 8939,
1921  8951, 8938, 8950, 8944, 8950, 8966, 8971, 8987, 9062, 9039,
1922  9048, 9050, 9044, 9045, 9047, 9052, 9055, 9056, 9088, 9094,
1923  9103, 9075,18494,36373,18510, 9078,10176,10818,10368,10388,
1924 
1925  11108, 9034, 9051, 9064,11793, 9046,18215,18526,18598,18668,
1926  9114, 9089, 9091,18545, 9102, 9318, 9112,12407, 9207,18580,
1927  9130,18615, 9625, 9134, 9137, 9146,18719,18803,18887, 9090,
1928  9083, 9088, 9104, 9108,36373, 9102, 9140, 9164, 9170,18633,
1929  9393, 9119, 9112, 9133, 9140, 9128,18561,18649,18906,18916,
1930  18947,18973, 9790, 9138, 9177, 9193, 9263, 9185, 9187, 9194,
1931  9198, 9214, 9199, 9202, 9217, 9201, 9205, 9264, 9278, 9282,
1932  9271, 9313, 9315, 9333, 9372, 9447, 9353,11377,12251,13984,
1933  9247,12762,13100, 9249,18977,18992, 9423, 9268, 9298, 9292,
1934  9310, 9480,13636,19059, 9300,36373,19007, 9925, 9311, 9316,
1935 
1936  9377,19131,19215,36373, 9498,19299,19383, 0,19467,15738,
1937  0,17505, 9395,19551,19635, 0,13112,13187,36373, 0,
1938  0, 9289, 9279, 9291, 9384, 9293, 9353, 9397, 9403,19042,
1939  9346, 9540, 9355,14525, 9316, 9350, 9360,18673,19718,19722,
1940  19737,19069,19402,10141, 9607, 9351, 9359, 9382, 9366, 9381,
1941  11892,10782,10308,13234,11533, 9516, 9453, 9460, 9517, 9531,
1942  9555, 9586, 9661, 9705, 9404,13238,13467,19755,19771,13495,
1943  9467, 9454, 9470,19842, 9458, 9663,19789, 9704,36373,15014,
1944  15115,15621, 9722,19926,20010,18147,20094,20178,20262,10566,
1945  20346, 9421, 9430, 9779, 9448, 9482, 9472, 9781,16905, 9455,
1946 
1947  9464, 9512,19806,19894,20429,20433, 9937, 9814, 9998,10582,
1948  9480, 9490,14052, 9487, 9494,14128, 9490, 9682, 9577, 9579,
1949  9728, 9528,20460,20531, 9578, 9563, 9581, 9581, 9865, 9954,
1950  20615, 0,20502, 9996, 0,11307,20699,17864,20783, 0,
1951  20466,10018, 0, 9536, 9554, 9629, 9831, 9561, 9562,20582,
1952  9875,10019,10089, 9569, 9563, 9574, 9575, 9630, 9650, 9608,
1953  20867,19076,10107,20951,10228, 9664, 9664,21035,21119,10441,
1954  14494, 0, 0,14229, 9866, 9624, 9707, 9630, 9626,20476,
1955  10033,10324,10344,36373,10382, 9645, 9654, 9712, 9714, 9656,
1956  10049,10496, 9726, 9715, 9720,21203,10576,14518,10066, 9683,
1957 
1958  9705, 9702, 9699,20495,36373,10521, 9761, 9768, 9819, 9776,
1959  0, 9733, 9752,11089,21286, 9792, 9798, 9780, 9794,11265,
1960  9832, 9834,10032, 9832, 9842, 9848, 9841, 9851,36373,10066,
1961  9971, 9835, 9881,10151,20886,36373,21359,21389,21419,21449,
1962  21479,21509,21539,21569,21599,21629,21659,21689,21719,21749,
1963  21779,21809,21839,21869,21899,21929,21959,21989,10693,22019,
1964  22048,22077,22106,10941,22135,10979,22164,22193,10999,22222,
1965  11025,22237,11152,22266,11189,22283,11228,22298,11302,22313,
1966  22338,22368,11386,22397,22426,22455,11484,22470,11546,22485,
1967  11604,22514,11614,22529,11683,22559,22574,11690,22603,22633,
1968 
1969  11757,22663,22693,11813,22708,11952,22723,22753,22783,22813,
1970  22843,22873,22903,22933,22963,22993,23023,23052,23082,23111,
1971  10071,23140,23170,23199,23229,23258,23287,23316,23345,23374,
1972  23403,23433,23462,23491,23521,23550,23579,23608,23637,23652,
1973  23681,23705,23729,23746,23770,23785,23800,23824,23848,23863,
1974  23893,23922,23951,23981,24010,24039,24068,24083,24098,24127,
1975  24142,24157,24187,24217,24246,24276,24291,24321,24336,24351,
1976  24381,24411,24441,24471,24501,24531,24561,24591,24621,24651,
1977  24681,24711,24741,24771,24801,24831,24861,24891,24921,24951,
1978  24981,25011,25041,25071,25101,25131,25161,25191,25221,25251,
1979 
1980  25280,25309,25338,25367,10085,25397,25427,25457,25486,25516,
1981  25545,25575,25604,25633,25662,25691,25720,25749,25778,25807,
1982  25836,25866,25896,25925,25954,25983,26012,26041,26070,11972,
1983  26091,26115,11998,26130,26159,12100,26176,26191,26206,26221,
1984  26251,26281,26311,26341,26371,26400,26429,26458,26487,26517,
1985  26546,26561,26576,26591,26621,26636,26666,26696,26726,26756,
1986  26786,26801,26825,26855,26885,26915,26945,26975,27005,27035,
1987  27065,27095,27125,27155,27185,27215,27245,27275,27305,27335,
1988  27365,27395,27425,27455,27485,27515,27545,27575,27605,27635,
1989  27665,27695,27725,27755,27785,27815,27845,27875,27905,27935,
1990 
1991  27965,27995,28025,28055,28085,28115,28145,28174,28203,28232,
1992  28261,28290,28320,28350,28379,28409,28439,28469,28498,28527,
1993  28556,28585,28615,28644,28673,28702,28732,28762,28791,28820,
1994  28850,28879,28908,28937,28966,28987,12327,29002,29017,29046,
1995  29063,29078,29093,29108,29138,29168,29198,29228,29258,29288,
1996  29318,29348,12629,29377,29406,29421,29450,29465,29495,29525,
1997  29555,29585,29615,29645,29675,29690,12755,29705,29735,29765,
1998  29795,29825,29855,29885,29915,29945,29975,30005,30035,30065,
1999  30095,30125,30155,30185,30215,30245,30275,30305,30335,30365,
2000  30395,30425,30455,30485,30515,30545,30575,30605,30634,30663,
2001 
2002  30692,30721,30750,30779,30808,30838,30867,30896,30925,30954,
2003  30983,30998,31027,31042,31057,31072,31102,31132,31162,31192,
2004  31222,31251,31275,31304,31333,31348,31363,31393,31423,31453,
2005  31468,31483,31513,31543,31573,31603,31633,31663,31693,31723,
2006  31753,31783,31813,31843,31872,31902,12877,31931,31960,31990,
2007  32019,32049,32078,32107,32136,32165,32180,32195,32210,32240,
2008  12918,32269,32298,32313,32328,32343,32373,32388,32418,32448,
2009  32478,32508,32538,32568,32598,32622,32651,32680,32709,32739,
2010  13022,32768,32797,32826,32855,32870,32885,32900,32930,32960,
2011  32989,33018,33033,33048,33063,33093,33108,33138,33168,33198,
2012 
2013  33228,33258,33288,33318,33348,33378,33408,33438,13070,33467,
2014  33496,33525,33554,33583,33613,33642,33672,33701,33730,33760,
2015  33789,33818,33833,33848,33863,33893,33923,33953,33968,33998,
2016  34028,34058,34088,34118,34148,34178,34208,34238,34267,34296,
2017  34325,34354,34384,34413,34442,34471,34501,34531,34561,34591,
2018  34621,34650,34679,34708,34723,34738,34768,34783,34813,34843,
2019  34873,34903,34933,34963,34993,35022,35051,35080,35109,35139,
2020  35169,35199,35229,35258,35287,35316,35346,35375,35405,35435,
2021  35465,35495,35525,35555,35585,35614,35643,35673,35703,35732,
2022  35761,35790,35820,35835,35865,35895,35925,35955,35984,36013,
2023 
2024  36043,36073,36102,36132,36162,36192,36222,36252,36282,36312,
2025  36342
2026  } ;
2027 
2029  { 0,
2030  3537, 3537, 3538, 3538, 3539, 3539, 3540, 3540, 3541, 3541,
2031  3542, 3542, 3543, 3543, 3544, 3544, 3537, 3537, 3536, 19,
2032  3536, 21, 3536, 23, 3536, 25, 3536, 27, 3536, 29,
2033  3545, 3545, 3546, 3546, 3536, 35, 3536, 37, 3537, 3537,
2034  3536, 41, 3537, 3537, 3547, 3547, 3537, 47, 3536, 49,
2035  3536, 51, 3536, 53, 3536, 55, 3536, 57, 3536, 59,
2036  3536, 61, 3536, 63, 3536, 65, 3536, 67, 3548, 3548,
2037  3549, 3549, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2038  3536, 3536, 3550, 3536, 3550, 3550, 3550, 3550, 3551, 3550,
2039  3550, 3552, 3536, 3552, 3552, 3552, 3552, 3552, 3552, 3553,
2040 
2041  3536, 3553, 3536, 3553, 3553, 3553, 3553, 3553, 3553, 3554,
2042  3555, 3554, 3554, 3554, 3536, 3554, 3536, 3554, 3536, 3556,
2043  3556, 3556, 3556, 3556, 3536, 3536, 3556, 3556, 3536, 3557,
2044  3536, 3536, 3557, 3557, 3557, 3557, 3557, 3557, 3557, 3558,
2045  3536, 3558, 3558, 3558, 3536, 3558, 3558, 3558, 3558, 3536,
2046  3536, 3559, 3560, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2047  3536, 3536, 3536, 3536, 3536, 3536, 3561, 3561, 168, 168,
2048  168, 3536, 3562, 3536, 168, 168, 168, 168, 168, 168,
2049  168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
2050  168, 168, 168, 168, 3536, 3536, 3563, 3536, 3536, 3536,
2051 
2052  3536, 3564, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2053  3536, 3536, 3536, 3536, 3536, 3536, 3565, 3565, 3565, 3565,
2054  3536, 3565, 3565, 3565, 3565, 3565, 3565, 3565, 228, 228,
2055  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
2056  228, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3566,
2057  3560, 3536, 3536, 3536, 3536, 3536, 3567, 3567, 3567, 3536,
2058  3566, 3536, 3567, 3536, 3568, 3567, 3536, 3536, 3569, 3536,
2059  3536, 3570, 3570, 3570, 3570, 3570, 3570, 277, 277, 277,
2060  277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
2061  277, 277, 277, 277, 277, 3536, 3536, 3571, 3536, 3536,
2062 
2063  3572, 3572, 3572, 3572, 3536, 3536, 3573, 3536, 3536, 3536,
2064  3574, 3574, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2065  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2066  3536, 3536, 3536, 3536, 3536, 3536, 3575, 3536, 3576, 3536,
2067  3536, 3577, 3536, 3536, 3536, 3578, 3578, 3578, 3578, 3578,
2068  3536, 3579, 3536, 3536, 3536, 3536, 3536, 3536, 3580, 3579,
2069  3580, 3580, 3536, 3536, 3581, 3536, 3536, 3536, 3536, 3582,
2070  3582, 3582, 3582, 3582, 3582, 3582, 3582, 3536, 3536, 3536,
2071  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2072  3536, 3536, 3536, 3536, 3583, 3536, 3536, 3536, 3584, 3584,
2073 
2074  3585, 3584, 3584, 3584, 3584, 3584, 3584, 3584, 3584, 3584,
2075  3584, 3584, 3584, 3586, 3536, 3536, 3536, 3536, 3536, 3587,
2076  3536, 3536, 3536, 3536, 3536, 3588, 3588, 3588, 3588, 3588,
2077  3588, 3536, 3536, 3536, 3536, 3536, 3536, 3589, 3536, 3536,
2078  3536, 3536, 3536, 3536, 3590, 3590, 3590, 3590, 3590, 3590,
2079  3590, 3590, 3590, 3590, 3590, 3590, 3590, 3590, 3536, 3536,
2080  3591, 3536, 3592, 3593, 3536, 3594, 3594, 3594, 3594, 3594,
2081  3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3594, 3536,
2082  3536, 3536, 3536, 3595, 3596, 3536, 3536, 3536, 3536, 3597,
2083  3536, 3536, 3536, 3536, 3598, 3599, 3600, 3600, 3536, 3601,
2084 
2085  3600, 3600, 3600, 3600, 3602, 3603, 3600, 3600, 3536, 3536,
2086  3536, 3536, 3604, 3536, 3605, 3605, 3605, 3605, 3605, 3605,
2087  3605, 3605, 3605, 3605, 3605, 3605, 3605, 3605, 3536, 3536,
2088  3536, 3536, 3536, 3606, 3536, 3536, 3536, 3536, 3607, 3536,
2089  3536, 3608, 3536, 3608, 3608, 3609, 3608, 3608, 3608, 3608,
2090  3608, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2091  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2092  3536, 3536, 3536, 3536, 3536, 3536, 3610, 3610, 3610, 3536,
2093  3536, 3610, 3610, 3610, 3610, 3611, 3611, 3611, 3611, 3611,
2094  3611, 3611, 3611, 3612, 3536, 3612, 3612, 3612, 3612, 3612,
2095 
2096  3612, 3613, 3614, 3614, 3536, 3614, 3536, 3613, 3536, 3536,
2097  3613, 3536, 3615, 3615, 3536, 3536, 3536, 3536, 3615, 3615,
2098  3536, 3536, 3616, 3616, 3616, 3616, 3616, 3536, 3536, 3616,
2099  3616, 3616, 3616, 3617, 3536, 3536, 3617, 3617, 3617, 3617,
2100  3536, 3617, 3618, 3618, 3536, 3619, 3536, 3620, 3536, 3536,
2101  3536, 3536, 3621, 3622, 3536, 3536, 3536, 3536, 3536, 3536,
2102  3536, 3536, 3536, 3536, 3536, 3536, 3536, 644, 3536, 3623,
2103  3624, 644, 644, 3625, 644, 3622, 3622, 3536, 3626, 3627,
2104  3628, 644, 644, 644, 644, 644, 644, 644, 644, 644,
2105  644, 644, 644, 3618, 644, 644, 644, 644, 644, 644,
2106 
2107  644, 644, 644, 644, 644, 644, 644, 644, 644, 694,
2108  644, 644, 644, 644, 644, 644, 644, 644, 644, 644,
2109  644, 644, 644, 644, 644, 644, 644, 644, 644, 644,
2110  644, 644, 644, 644, 644, 644, 644, 644, 644, 644,
2111  644, 644, 644, 644, 3628, 3628, 3629, 3536, 3536, 3536,
2112  3536, 3536, 3630, 3630, 3536, 3536, 3631, 3536, 3536, 3536,
2113  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2114  3536, 3536, 3536, 3536, 3536, 3630, 3536, 3632, 3630, 3630,
2115  3630, 3630, 3630, 3630, 3630, 3630, 3630, 3630, 3630, 3630,
2116  3630, 3630, 3630, 3630, 3630, 3630, 3630, 3630, 3630, 3630,
2117 
2118  3630, 3630, 3630, 3630, 3630, 3630, 3630, 793, 3630, 3630,
2119  3630, 3630, 3630, 3630, 3630, 3630, 3630, 3630, 3630, 3630,
2120  3630, 3630, 3630, 3630, 3630, 3630, 3630, 3630, 3630, 3630,
2121  3630, 3630, 3630, 3630, 3630, 3630, 3630, 3630, 3630, 3630,
2122  3633, 3634, 3536, 3536, 3536, 3633, 3536, 3635, 3634, 3633,
2123  3634, 3634, 3536, 3636, 3637, 3633, 3637, 3637, 3638, 3639,
2124  3536, 3536, 3536, 3536, 3536, 3536, 3639, 3639, 3639, 3639,
2125  3639, 3639, 3639, 3639, 3639, 3639, 3639, 3639, 3639, 3639,
2126  3639, 3639, 3639, 3639, 3639, 3639, 3639, 3639, 3639, 3639,
2127  3639, 3639, 3639, 3639, 3639, 882, 3639, 3639, 3639, 3639,
2128 
2129  3639, 3639, 3639, 3639, 3639, 3639, 3639, 3639, 3639, 3639,
2130  3639, 3639, 3639, 3639, 3639, 3639, 3639, 3639, 3639, 3639,
2131  3639, 3639, 3639, 3639, 3639, 3639, 3639, 3639, 3640, 3640,
2132  3640, 3640, 3536, 3536, 3536, 3641, 3536, 3536, 3536, 3642,
2133  3641, 3536, 3643, 3641, 3536, 3536, 3536, 3536, 3644, 3645,
2134  3644, 3536, 3646, 3536, 3646, 3646, 3646, 3646, 3646, 3536,
2135  3647, 3648, 3536, 3647, 3536, 3648, 3648, 3647, 3647, 3647,
2136  3536, 3536, 3649, 3649, 3650, 3650, 3651, 3536, 3651, 3651,
2137  3536, 3651, 3651, 3651, 3651, 3536, 3536, 3536, 3536, 3536,
2138  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2139 
2140  3536, 3536, 3536, 3536, 3536, 3652, 3536, 3653, 3536, 3536,
2141  3652, 3536, 3654, 3653, 3652, 3653, 3653, 3655, 3656, 3652,
2142  3652, 3652, 3652, 3652, 3652, 3652, 3652, 3652, 3652, 3652,
2143  3652, 3652, 3652, 3652, 3652, 3656, 3656, 3657, 3536, 3536,
2144  3536, 3536, 3536, 3536, 3536, 3536, 3658, 3658, 3658, 3658,
2145  3658, 3658, 3658, 3536, 3659, 3659, 3659, 3659, 3659, 3659,
2146  3659, 3659, 3659, 3659, 3659, 3659, 3659, 3659, 3659, 3659,
2147  3659, 3659, 3660, 3536, 3660, 3536, 3661, 3661, 3661, 3661,
2148  3661, 3661, 3661, 3661, 3661, 3661, 3661, 3661, 3661, 3661,
2149  3661, 3661, 3661, 3661, 3662, 3663, 3664, 3536, 3662, 3665,
2150 
2151  3536, 3665, 3536, 3536, 3666, 3667, 3666, 3666, 3536, 3668,
2152  3536, 3666, 3666, 3666, 3666, 3536, 3669, 3669, 3669, 3669,
2153  3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669, 3669,
2154  3669, 3669, 3669, 3669, 3669, 3669, 3669, 3536, 3670, 3670,
2155  3536, 3671, 3672, 3672, 3671, 3671, 3671, 3671, 3671, 3671,
2156  3671, 3536, 3536, 3536, 3536, 3673, 3673, 3536, 3674, 3536,
2157  3536, 3675, 3675, 3536, 3676, 3536, 3677, 3677, 3678, 3679,
2158  3678, 3678, 3680, 3680, 3678, 3681, 3678, 3682, 3682, 3683,
2159  3684, 3683, 3683, 3685, 3685, 3683, 3686, 3683, 3687, 3687,
2160  3688, 3689, 3688, 3688, 3690, 3690, 3688, 3691, 3688, 3692,
2161 
2162  3692, 3673, 3673, 3675, 3675, 3693, 3693, 3694, 3695, 3694,
2163  3694, 3696, 3696, 3694, 3697, 3694, 3536, 3536, 3698, 3699,
2164  3700, 3699, 3701, 3536, 3536, 3536, 3702, 3702, 3536, 3536,
2165  3703, 3702, 3704, 3705, 3536, 3536, 3536, 3536, 3536, 3536,
2166  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3706, 3707,
2167  3708, 3536, 3709, 3709, 3701, 1255, 3710, 3536, 3536, 3536,
2168  3711, 3536, 3712, 3713, 3714, 3714, 3715, 3716, 1255, 1255,
2169  1255, 1255, 3701, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
2170  1255, 1255, 1255, 3536, 3536, 3536, 3536, 3536, 3536, 3706,
2171  3709, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
2172 
2173  1255, 1255, 3701, 1255, 1255, 1255, 1255, 1255, 1255, 3536,
2174  1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
2175  1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
2176  1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
2177  1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
2178  1255, 1255, 1255, 1255, 1255, 3536, 3536, 3717, 3536, 3536,
2179  3718, 3719, 3719, 3536, 3720, 3536, 3536, 3536, 3536, 3536,
2180  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3721,
2181  3722, 3536, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718,
2182  3718, 3718, 3718, 3718, 3718, 3718, 3718, 3536, 3536, 3536,
2183 
2184  3536, 3536, 3536, 3722, 3718, 3718, 3718, 3718, 3718, 3718,
2185  3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718,
2186  3718, 3536, 3536, 3536, 3536, 3536, 3536, 3722, 3718, 3718,
2187  3536, 3536, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718,
2188  3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718,
2189  3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718,
2190  3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718, 3718,
2191  3718, 3718, 3723, 3536, 3724, 3725, 3725, 3726, 3727, 3536,
2192  3536, 3728, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729,
2193  3729, 3729, 3729, 3729, 3729, 3729, 3729, 3536, 3536, 3536,
2194 
2195  3536, 3536, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729,
2196  3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3536, 3536,
2197  3536, 3536, 3536, 3729, 3729, 3729, 3729, 3729, 3729, 3729,
2198  3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729,
2199  3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729,
2200  3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729, 3729,
2201  3729, 3729, 3729, 3729, 3730, 3731, 3732, 3733, 3734, 3735,
2202  3736, 3737, 3536, 3738, 3738, 3738, 3738, 3536, 3536, 3739,
2203  3739, 3739, 3739, 3740, 3740, 3740, 3741, 3741, 3742, 3743,
2204  3742, 3742, 3744, 3744, 3742, 3745, 3742, 3536, 3536, 3536,
2205 
2206  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2207  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3746, 3536, 3747,
2208  3748, 3749, 3749, 3749, 3749, 3749, 3536, 3536, 3536, 3750,
2209  3747, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749, 3749,
2210  3749, 3749, 3749, 3536, 3751, 3536, 3536, 3536, 3536, 3752,
2211  3752, 3752, 3752, 3752, 3753, 3753, 3753, 3753, 3753, 3753,
2212  3753, 3753, 3753, 3753, 3753, 3753, 3753, 3753, 3754, 3754,
2213  3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754, 3754,
2214  3754, 3754, 3755, 3536, 3536, 3536, 3756, 3757, 3757, 3758,
2215  3759, 3758, 3758, 3760, 3760, 3758, 3761, 3758, 3762, 3762,
2216 
2217  3762, 3762, 3762, 3762, 3762, 3762, 3762, 3762, 3762, 3762,
2218  3762, 3762, 3762, 3762, 3762, 3762, 3762, 3763, 3764, 3764,
2219  3765, 3765, 3766, 3767, 3766, 3766, 3768, 3768, 3766, 3769,
2220  3766, 3770, 3536, 3771, 3536, 3536, 3536, 3536, 3536, 3772,
2221  3536, 3773, 3774, 3536, 3536, 3775, 3536, 3776, 3777, 3777,
2222  3777, 3777, 3778, 3779, 3780, 3777, 3777, 3781, 3782, 3783,
2223  3783, 3783, 3783, 3784, 3785, 3786, 3783, 3783, 3787, 3788,
2224  3789, 3789, 3789, 3789, 3790, 3791, 3792, 3789, 3789, 3793,
2225  3794, 3795, 3796, 3797, 3796, 3536, 3536, 3798, 3798, 3798,
2226  3798, 3798, 3799, 3799, 3800, 3801, 3798, 3798, 3798, 3802,
2227 
2228  3802, 3803, 3536, 3536, 3536, 3804, 3805, 3806, 3807, 3808,
2229  3536, 3536, 3536, 3536, 3809, 3536, 3809, 3810, 3810, 3811,
2230  3811, 3812, 3536, 3536, 3813, 3536, 3536, 3536, 3536, 3536,
2231  3536, 3536, 3536, 3536, 3536, 3536, 3814, 3536, 3536, 3536,
2232  3536, 3815, 3808, 1843, 3816, 3817, 3818, 3536, 3819, 3536,
2233  3820, 3818, 3821, 3821, 3822, 1843, 1843, 1843, 1843, 3536,
2234  3536, 3536, 3536, 3536, 3536, 3823, 3824, 1843, 1843, 1843,
2235  1843, 1843, 1843, 1843, 1843, 1843, 3536, 3536, 3536, 1843,
2236  1843, 3808, 1843, 1843, 1843, 1843, 1843, 1843, 3536, 1843,
2237  1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843,
2238 
2239  1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843,
2240  1843, 1843, 3536, 1843, 1843, 1843, 1843, 1843, 1843, 1843,
2241  1843, 1843, 1843, 1843, 1843, 1843, 1882, 1843, 1843, 1843,
2242  1843, 1843, 1843, 1843, 1843, 1843, 1843, 1843, 3536, 3536,
2243  3825, 3536, 3536, 3536, 3536, 3826, 3826, 3536, 3536, 3827,
2244  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2245  3536, 3828, 3829, 3829, 3830, 3825, 3825, 3825, 3825, 3536,
2246  3536, 3536, 3536, 3536, 3536, 3831, 3825, 3825, 3825, 3825,
2247  3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825,
2248  3825, 3825, 3536, 3825, 3825, 3825, 3825, 3825, 3825, 3825,
2249 
2250  3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825,
2251  3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825,
2252  3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825, 3825,
2253  3825, 3825, 3825, 3825, 3825, 3825, 3825, 3536, 3536, 3832,
2254  3833, 3833, 3834, 3835, 3835, 3835, 3835, 3536, 3536, 3536,
2255  3536, 3536, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835,
2256  3835, 3835, 3835, 3835, 3835, 3835, 3835, 3536, 3835, 3835,
2257  3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835,
2258  3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835,
2259  3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835,
2260 
2261  3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835, 3835,
2262  3536, 3836, 3837, 3838, 3839, 3840, 3841, 3536, 3842, 3842,
2263  3842, 3842, 3536, 3536, 3536, 3843, 3843, 3843, 3843, 3844,
2264  3844, 3844, 3845, 3536, 3845, 3845, 3845, 3846, 3847, 3848,
2265  3849, 3845, 3536, 3845, 3850, 3851, 3852, 3536, 3536, 3536,
2266  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2267  3536, 3536, 3853, 3854, 3536, 3536, 3536, 3855, 3855, 3855,
2268  3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3855, 3536,
2269  3536, 3536, 3536, 3856, 3856, 3856, 3856, 3857, 3857, 3857,
2270  3857, 3857, 3857, 3857, 3857, 3857, 3857, 3857, 3858, 3858,
2271 
2272  3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3858, 3859,
2273  3536, 3536, 3860, 3860, 3860, 3860, 3861, 3862, 3863, 3860,
2274  3860, 3864, 3865, 3536, 3866, 3866, 3866, 3866, 3866, 3866,
2275  3866, 3866, 3866, 3866, 3866, 3866, 3866, 3866, 3867, 3868,
2276  3869, 3869, 3870, 3870, 3870, 3870, 3871, 3872, 3873, 3870,
2277  3870, 3874, 3875, 3536, 3536, 3876, 3536, 3877, 3536, 3536,
2278  3878, 3536, 3879, 3536, 3880, 3880, 3881, 3882, 3883, 3883,
2279  3884, 3885, 3886, 3886, 3887, 3888, 3889, 3536, 3889, 3890,
2280  3536, 3891, 3892, 3536, 3893, 3892, 3892, 3894, 3894, 3536,
2281  3895, 3896, 3896, 3536, 3536, 3897, 3898, 3899, 3536, 3900,
2282 
2283  3900, 3536, 3901, 3902, 3536, 3536, 3536, 3536, 3536, 3536,
2284  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2285  3536, 3536, 3536, 3536, 3536, 3903, 3904, 3904, 3905, 3905,
2286  3899, 2331, 3906, 3536, 3536, 3536, 3536, 3536, 3907, 2331,
2287  2331, 2331, 2331, 3536, 3536, 3536, 2331, 3899, 2348, 2331,
2288  2331, 2331, 2331, 2331, 3536, 2331, 2331, 2331, 2348, 3536,
2289  2331, 2331, 2331, 2331, 2331, 2331, 2331, 2331, 2331, 2331,
2290  2331, 2331, 2331, 2331, 2331, 2331, 2331, 2331, 2331, 2331,
2291  2331, 3536, 3536, 2331, 2331, 2331, 2331, 2331, 2331, 2331,
2292  2331, 2331, 2331, 2331, 2331, 2331, 3536, 3536, 2348, 2331,
2293 
2294  2331, 2331, 2331, 2331, 2348, 2331, 2331, 2331, 3536, 3536,
2295  3908, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2296  3536, 3536, 3536, 3536, 3536, 3909, 3908, 3908, 3908, 3908,
2297  3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 2432,
2298  3536, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908,
2299  3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908,
2300  3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908, 3908,
2301  3908, 3908, 3536, 3536, 3908, 3908, 3908, 3908, 3908, 3908,
2302  3908, 3908, 3908, 3910, 3911, 3911, 3911, 3911, 3911, 3911,
2303  3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911,
2304 
2305  3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911,
2306  3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911,
2307  3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911, 3911,
2308  3911, 3911, 3911, 3911, 3911, 3912, 3913, 3914, 3914, 3914,
2309  3914, 3536, 3536, 3536, 3915, 3915, 3915, 3915, 3916, 3916,
2310  3916, 3917, 3917, 3536, 3918, 3919, 3920, 3921, 3536, 3536,
2311  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2312  3536, 3922, 3923, 3924, 3924, 3924, 3924, 3924, 3924, 3924,
2313  3924, 3924, 3924, 3924, 3536, 3536, 3536, 3536, 3925, 3925,
2314  3925, 3925, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926,
2315 
2316  3926, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927,
2317  3536, 3536, 3928, 3928, 3929, 3930, 3931, 3931, 3931, 3931,
2318  3931, 3931, 3931, 3931, 3931, 3931, 3931, 3931, 3931, 3932,
2319  3933, 3933, 3934, 3934, 3935, 3936, 3536, 3536, 3937, 3536,
2320  3536, 3938, 3939, 3940, 3941, 3536, 3942, 3536, 3943, 3536,
2321  3921, 3944, 3536, 3536, 3536, 3536, 3945, 3946, 3536, 3536,
2322  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2323  3536, 3536, 3536, 3536, 3536, 3536, 3947, 3948, 3948, 3536,
2324  3949, 3950, 3949, 3951, 3951, 3952, 3953, 2685, 2685, 2685,
2325  2685, 2685, 2685, 3536, 2685, 2685, 2685, 2685, 3536, 3536,
2326 
2327  3536, 2685, 2685, 3536, 2685, 2685, 2685, 2685, 2685, 2685,
2328  2685, 2685, 2685, 2685, 2685, 2685, 2685, 2685, 2685, 2685,
2329  3951, 3536, 3536, 2685, 2685, 2721, 2685, 2685, 2685, 2685,
2330  2685, 2685, 3536, 3536, 2685, 2685, 2685, 3536, 3536, 3536,
2331  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2332  3536, 3536, 3536, 3954, 3954, 3954, 3954, 3954, 3954, 3954,
2333  3954, 3954, 3954, 3954, 3954, 3536, 3954, 3954, 3954, 3954,
2334  3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954,
2335  3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954,
2336  3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955,
2337 
2338  3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955,
2339  3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955,
2340  3955, 3955, 3956, 3957, 3957, 3957, 3957, 3536, 3536, 3536,
2341  3958, 3958, 3958, 3958, 3959, 3959, 3959, 3960, 3536, 3536,
2342  3536, 3536, 3536, 3536, 3536, 3961, 3962, 3963, 3536, 3963,
2343  3963, 3963, 3963, 3536, 3536, 3536, 3536, 3536, 3536, 3964,
2344  3964, 3964, 3964, 3964, 3964, 3964, 3965, 3965, 3965, 3965,
2345  3966, 3966, 3966, 3966, 3967, 3968, 3968, 3968, 3968, 3968,
2346  3968, 3968, 3968, 3968, 3968, 3969, 3969, 3970, 3536, 3971,
2347  3972, 3973, 3974, 3975, 3536, 3536, 3536, 3976, 3536, 3536,
2348 
2349  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2350  3977, 3977, 3978, 3979, 3979, 3980, 3981, 3982, 2915, 2915,
2351  3536, 2915, 2915, 2915, 2915, 3536, 2915, 2915, 2915, 2915,
2352  2915, 3979, 2915, 2915, 2915, 2915, 2915, 2915, 3536, 3536,
2353  3536, 2915, 2915, 2915, 2915, 2915, 2915, 2915, 2915, 3536,
2354  3536, 3536, 2915, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2355  3536, 3536, 3536, 3536, 3536, 3536, 3983, 3983, 3983, 3983,
2356  3983, 3983, 3536, 3983, 3983, 3983, 3983, 3983, 3983, 3983,
2357  3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3983, 3984,
2358  3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984, 3984,
2359 
2360  3984, 3984, 3984, 3984, 3984, 3984, 3984, 3985, 3986, 3986,
2361  3986, 3536, 3536, 3536, 3536, 3536, 3987, 3988, 3988, 3988,
2362  3989, 3990, 3536, 3536, 3536, 3991, 3992, 3992, 3536, 3536,
2363  3536, 3536, 3536, 3536, 3536, 3993, 3993, 3993, 3993, 3993,
2364  3993, 3993, 3994, 3995, 3996, 3997, 3997, 3997, 3997, 3998,
2365  3998, 3999, 4000, 3536, 4001, 4002, 4003, 4004, 4005, 4006,
2366  4007, 4007, 4008, 3536, 3536, 3536, 4009, 3536, 4010, 4009,
2367  4011, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2368  4012, 4013, 4014, 4014, 4015, 3536, 4016, 3084, 3084, 3536,
2369  3536, 3536, 3536, 3536, 3536, 4017, 4018, 3084, 3084, 3084,
2370 
2371  3084, 3536, 4014, 3536, 3536, 3536, 3084, 3536, 3536, 3536,
2372  3536, 3536, 3536, 3536, 3084, 3084, 3084, 4014, 3084, 3536,
2373  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2374  3536, 4019, 4019, 4019, 3536, 3536, 3536, 3536, 3536, 3536,
2375  4020, 4019, 4019, 4019, 4019, 4019, 4019, 4021, 3536, 3536,
2376  3536, 3536, 3536, 4021, 4021, 4021, 4021, 4022, 4023, 3536,
2377  4024, 4025, 4026, 4027, 4028, 3536, 3536, 3536, 3536, 3536,
2378  3536, 3536, 3536, 4029, 4029, 4029, 4029, 4029, 4030, 4031,
2379  4032, 4032, 4033, 4034, 3536, 4035, 4036, 4037, 4027, 4038,
2380  3536, 3536, 3536, 3536, 4039, 3536, 4040, 4040, 4041, 4041,
2381 
2382  4042, 3536, 3536, 3536, 4043, 3536, 4044, 4045, 4046, 4046,
2383  4047, 3210, 3210, 3536, 4048, 4049, 4048, 3536, 3210, 3536,
2384  4050, 4050, 3222, 3536, 4050, 4050, 3536, 3536, 3210, 3536,
2385  3536, 3536, 3536, 3536, 3536, 3536, 3210, 3210, 3210, 3536,
2386  4051, 3536, 3536, 3536, 3536, 3536, 4052, 4052, 4052, 4052,
2387  4052, 4053, 4054, 4055, 3536, 4056, 4057, 3536, 3536, 3536,
2388  3536, 3536, 4058, 4058, 4058, 4058, 4058, 4059, 4060, 4060,
2389  4061, 3536, 4062, 4063, 4064, 4065, 3536, 4066, 3536, 4067,
2390  3536, 3536, 3536, 3536, 4068, 4069, 3229, 3210, 4070, 3210,
2391  3210, 3536, 3536, 3536, 4071, 3536, 4071, 3297, 3536, 4071,
2392 
2393  4071, 3536, 3536, 3536, 3536, 3536, 3302, 3302, 3536, 4071,
2394  3303, 3303, 4071, 3536, 3536, 3229, 3297, 3297, 3536, 3306,
2395  3229, 3536, 3536, 3536, 3536, 3536, 3210, 3210, 3210, 3536,
2396  4072, 4073, 4072, 3536, 3536, 3536, 3536, 4074, 4074, 4074,
2397  4074, 4074, 4075, 4076, 4077, 3536, 3536, 3536, 3536, 3536,
2398  4078, 4078, 4078, 4078, 4078, 4079, 4080, 4080, 4081, 3536,
2399  4082, 4083, 4084, 4085, 3536, 3536, 3536, 4086, 4087, 3297,
2400  3536, 3210, 4088, 3306, 3210, 3536, 3297, 3536, 3536, 3377,
2401  3377, 3377, 3377, 3536, 3536, 3385, 3536, 3536, 3536, 3389,
2402  3536, 3536, 3536, 3536, 3536, 3210, 3210, 3536, 3536, 3536,
2403 
2404  3536, 4089, 4090, 4090, 4090, 4091, 3536, 4092, 4093, 3536,
2405  3536, 3536, 3536, 3536, 4094, 3536, 4094, 4095, 4096, 4096,
2406  4097, 3536, 4086, 4087, 3536, 3210, 4098, 3377, 3377, 3377,
2407  3536, 3384, 3384, 3424, 3387, 3387, 3536, 3377, 3536, 3388,
2408  3377, 3441, 3391, 3536, 3536, 3210, 3536, 3536, 3536, 4090,
2409  4099, 4092, 4100, 3536, 3536, 4094, 4094, 4101, 4101, 3536,
2410  4086, 3377, 3462, 3536, 3424, 3210, 4102, 3536, 3536, 3461,
2411  3377, 3437, 3439, 3438, 3536, 3536, 3210, 3536, 3536, 4090,
2412  4099, 4103, 3536, 3536, 4100, 3536, 3536, 4104, 4104, 3536,
2413  3462, 3461, 3210, 4105, 3468, 3536, 3462, 3438, 3536, 3536,
2414 
2415  3210, 3536, 3536, 4090, 3536, 4103, 4106, 4106, 3210, 4107,
2416  3496, 3536, 3210, 3536, 4090, 4108, 4108, 3210, 4109, 3536,
2417  4110, 4110, 3210, 4111, 3536, 3536, 3210, 3536, 3536, 3210,
2418  3210, 3210, 3210, 3210, 3536, 0, 3536, 3536, 3536, 3536,
2419  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2420  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2421  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2422  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2423  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2424  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2425 
2426  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2427  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2428  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2429  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2430  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2431  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2432  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2433  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2434  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2435  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2436 
2437  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2438  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2439  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2440  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2441  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2442  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2443  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2444  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2445  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2446  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2447 
2448  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2449  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2450  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2451  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2452  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2453  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2454  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2455  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2456  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2457  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2458 
2459  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2460  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2461  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2462  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2463  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2464  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2465  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2466  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2467  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2468  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2469 
2470  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2471  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2472  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2473  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2474  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2475  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2476  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2477  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2478  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2479  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2480 
2481  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
2482  3536
2483  } ;
2484 
2485 static yyconst flex_int16_t yy_nxt[36458] =
2486  { 0,
2487  3536, 3536, 75, 76, 81, 75, 76, 81, 609, 610,
2488  75, 76, 77, 78, 84, 77, 78, 752, 3536, 79,
2489  85, 86, 82, 81, 3536, 198, 81, 87, 198, 80,
2490  570, 199, 80, 575, 755, 571, 267, 88, 576, 267,
2491  578, 246, 584, 200, 674, 579, 627, 585, 77, 81,
2492  78, 77, 81, 78, 268, 668, 85, 89, 86, 90,
2493  75, 76, 90, 587, 84, 75, 76, 246, 588, 932,
2494  85, 86, 668, 682, 93, 94, 95, 91, 81, 592,
2495  314, 81, 96, 314, 593, 596, 600, 88, 931, 624,
2496  597, 601, 97, 101, 102, 570, 82, 103, 82, 668,
2497 
2498  607, 1318, 668, 104, 105, 572, 85, 89, 86, 673,
2499  106, 94, 89, 95, 98, 75, 76, 98, 340, 314,
2500  107, 340, 314, 575, 93, 94, 95, 81, 612, 1745,
2501  81, 1745, 99, 111, 112, 81, 82, 82, 81, 104,
2502  668, 105, 97, 113, 114, 82, 108, 101, 102, 108,
2503  115, 103, 433, 82, 617, 433, 954, 104, 105, 618,
2504  116, 94, 89, 95, 109, 1125, 118, 111, 112, 118,
2505  434, 621, 614, 713, 107, 614, 622, 113, 114, 113,
2506  117, 114, 636, 647, 119, 615, 647, 637, 121, 75,
2507  122, 121, 641, 104, 116, 105, 648, 642, 570, 123,
2508 
2509  124, 125, 760, 571, 459, 1001, 126, 459, 128, 75,
2510  122, 128, 755, 113, 117, 114, 127, 131, 132, 123,
2511  124, 125, 460, 668, 625, 1002, 129, 133, 134, 626,
2512  138, 131, 132, 138, 135, 123, 127, 124, 978, 141,
2513  142, 133, 134, 459, 136, 572, 459, 575, 139, 143,
2514  144, 145, 576, 668, 668, 123, 146, 124, 136, 624,
2515  978, 460, 714, 133, 137, 134, 147, 628, 629, 668,
2516  148, 141, 142, 148, 706, 743, 707, 133, 137, 134,
2517  744, 143, 144, 145, 1273, 143, 708, 144, 149, 75,
2518  76, 632, 81, 75, 76, 81, 633, 570, 147, 77,
2519 
2520  78, 760, 571, 77, 78, 363, 79, 963, 363, 459,
2521  82, 364, 459, 755, 624, 668, 80, 143, 493, 144,
2522  80, 493, 493, 82, 668, 493, 624, 460, 761, 752,
2523  752, 762, 1311, 365, 725, 77, 494, 78, 726, 77,
2524  494, 78, 74, 74, 75, 76, 74, 150, 151, 74,
2525  152, 150, 74, 153, 154, 155, 156, 157, 158, 159,
2526  160, 161, 162, 162, 162, 162, 163, 158, 164, 158,
2527  165, 166, 167, 167, 167, 167, 167, 167, 167, 168,
2528  169, 167, 167, 170, 171, 167, 169, 167, 167, 167,
2529  172, 173, 174, 74, 175, 176, 177, 178, 179, 180,
2530 
2531  181, 182, 167, 183, 167, 167, 184, 185, 186, 187,
2532  188, 167, 189, 190, 191, 192, 193, 194, 167, 167,
2533  167, 195, 150, 196, 197, 167, 74, 74, 75, 76,
2534  74, 201, 151, 74, 202, 203, 204, 153, 205, 206,
2535  207, 208, 209, 210, 74, 211, 74, 74, 74, 74,
2536  74, 212, 213, 214, 215, 216, 217, 217, 217, 217,
2537  217, 217, 217, 217, 218, 217, 217, 219, 220, 217,
2538  218, 217, 217, 217, 77, 74, 78, 221, 222, 223,
2539  224, 225, 226, 227, 228, 229, 217, 230, 217, 217,
2540  231, 232, 233, 234, 235, 217, 236, 237, 238, 239,
2541 
2542  240, 241, 217, 217, 217, 242, 243, 244, 245, 217,
2543  247, 247, 75, 248, 247, 247, 249, 247, 250, 247,
2544  247, 251, 77, 252, 253, 247, 247, 247, 247, 254,
2545  74, 74, 74, 74, 255, 247, 247, 247, 247, 256,
2546  257, 257, 257, 257, 257, 257, 257, 257, 258, 257,
2547  257, 259, 257, 257, 258, 257, 257, 257, 260, 261,
2548  262, 247, 257, 257, 257, 257, 257, 257, 257, 257,
2549  257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
2550  257, 257, 257, 263, 257, 257, 257, 257, 257, 247,
2551  247, 264, 265, 266, 74, 74, 75, 76, 74, 201,
2552 
2553  151, 74, 269, 203, 204, 153, 205, 206, 207, 208,
2554  209, 270, 271, 211, 74, 74, 74, 74, 74, 74,
2555  213, 214, 215, 216, 272, 272, 272, 272, 272, 272,
2556  272, 272, 273, 272, 272, 274, 275, 272, 273, 272,
2557  272, 272, 77, 74, 78, 221, 276, 277, 278, 279,
2558  280, 281, 282, 283, 272, 284, 272, 272, 285, 286,
2559  287, 288, 289, 272, 290, 291, 292, 293, 294, 295,
2560  272, 272, 272, 296, 243, 297, 245, 272, 74, 74,
2561  75, 76, 74, 74, 151, 74, 298, 74, 74, 299,
2562  77, 78, 74, 74, 74, 74, 74, 79, 74, 74,
2563 
2564  74, 74, 74, 300, 74, 74, 74, 80, 301, 301,
2565  301, 301, 301, 301, 301, 301, 302, 301, 301, 303,
2566  301, 301, 302, 301, 301, 301, 77, 74, 78, 74,
2567  301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
2568  301, 301, 301, 301, 301, 301, 301, 301, 301, 301,
2569  301, 304, 301, 301, 301, 301, 301, 305, 74, 74,
2570  74, 301, 74, 306, 75, 76, 306, 74, 74, 74,
2571  307, 308, 308, 74, 77, 78, 308, 74, 74, 74,
2572  74, 79, 74, 74, 74, 74, 309, 310, 74, 74,
2573  74, 80, 311, 311, 311, 311, 311, 311, 311, 311,
2574 
2575  311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
2576  77, 74, 78, 308, 312, 311, 311, 311, 311, 311,
2577  311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
2578  311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
2579  311, 313, 74, 74, 74, 311, 316, 317, 323, 316,
2580  317, 323, 1239, 1240, 326, 327, 318, 319, 750, 318,
2581  319, 750, 978, 320, 328, 329, 324, 507, 988, 575,
2582  507, 330, 989, 321, 576, 530, 321, 755, 530, 649,
2583  1907, 331, 649, 540, 978, 508, 540, 334, 326, 327,
2584  334, 650, 322, 82, 319, 322, 668, 319, 328, 329,
2585 
2586  332, 541, 333, 568, 573, 335, 568, 573, 582, 590,
2587  568, 582, 590, 568, 598, 331, 756, 598, 751, 756,
2588  570, 569, 574, 998, 999, 571, 583, 591, 569, 757,
2589  752, 2620, 599, 755, 332, 1000, 333, 74, 336, 75,
2590  76, 336, 74, 74, 74, 337, 74, 74, 74, 77,
2591  78, 74, 74, 74, 74, 74, 79, 74, 74, 74,
2592  74, 74, 338, 74, 74, 74, 80, 339, 339, 339,
2593  339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
2594  339, 339, 339, 339, 339, 77, 74, 78, 74, 339,
2595  339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
2596 
2597  339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
2598  339, 339, 339, 339, 339, 339, 74, 74, 74, 74,
2599  339, 74, 306, 341, 76, 306, 74, 74, 74, 342,
2600  308, 308, 74, 77, 78, 308, 343, 74, 343, 74,
2601  79, 74, 74, 74, 74, 309, 310, 74, 344, 74,
2602  345, 346, 346, 346, 346, 346, 346, 346, 346, 346,
2603  346, 346, 346, 346, 346, 346, 346, 346, 346, 77,
2604  74, 78, 308, 346, 347, 346, 346, 346, 348, 346,
2605  346, 346, 349, 346, 346, 346, 346, 346, 346, 346,
2606  346, 346, 350, 346, 346, 346, 346, 346, 346, 346,
2607 
2608  313, 74, 74, 74, 346, 306, 75, 76, 306, 314,
2609  75, 76, 314, 575, 75, 76, 77, 78, 576, 760,
2610  77, 78, 2621, 79, 366, 367, 755, 82, 309, 755,
2611  861, 79, 309, 80, 543, 544, 668, 80, 368, 611,
2612  369, 80, 611, 668, 545, 546, 604, 605, 2622, 604,
2613  620, 547, 77, 620, 78, 715, 77, 574, 78, 716,
2614  77, 548, 78, 615, 606, 668, 568, 568, 574, 568,
2615  568, 745, 745, 745, 745, 717, 687, 1274, 746, 688,
2616  545, 570, 549, 313, 569, 569, 571, 313, 74, 351,
2617  75, 76, 351, 74, 74, 74, 352, 74, 74, 74,
2618 
2619  353, 78, 74, 343, 354, 343, 74, 79, 74, 74,
2620  74, 74, 355, 74, 356, 74, 357, 358, 359, 359,
2621  359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
2622  359, 359, 359, 359, 359, 359, 77, 360, 78, 74,
2623  359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
2624  359, 359, 359, 359, 359, 359, 361, 359, 359, 359,
2625  359, 359, 362, 359, 359, 359, 359, 313, 74, 74,
2626  74, 359, 81, 75, 76, 81, 75, 371, 630, 938,
2627  74, 630, 938, 366, 367, 945, 372, 373, 945, 2623,
2628  82, 639, 758, 374, 639, 758, 631, 368, 668, 369,
2629 
2630  80, 668, 74, 375, 759, 376, 75, 371, 376, 640,
2631  74, 965, 652, 652, 652, 652, 372, 373, 683, 77,
2632  689, 78, 372, 377, 373, 978, 624, 690, 684, 668,
2633  668, 691, 74, 375, 692, 685, 966, 686, 653, 550,
2634  543, 544, 550, 668, 668, 960, 1159, 978, 960, 1125,
2635  545, 546, 372, 693, 373, 75, 76, 551, 668, 696,
2636  1159, 697, 740, 694, 718, 77, 78, 548, 653, 698,
2637  741, 699, 79, 695, 668, 575, 742, 721, 719, 378,
2638  576, 379, 80, 867, 720, 722, 545, 758, 549, 1242,
2639  758, 2624, 1243, 867, 723, 380, 709, 724, 710, 759,
2640 
2641  867, 77, 900, 78, 1170, 711, 712, 381, 382, 383,
2642  570, 384, 385, 755, 386, 571, 575, 387, 1170, 388,
2643  389, 576, 2625, 935, 390, 391, 392, 393, 394, 74,
2644  74, 75, 76, 74, 74, 74, 74, 395, 74, 74,
2645  74, 77, 78, 396, 74, 74, 74, 74, 79, 74,
2646  74, 74, 74, 397, 74, 74, 74, 398, 80, 399,
2647  399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
2648  399, 400, 399, 399, 399, 399, 399, 77, 401, 78,
2649  396, 399, 399, 402, 403, 404, 399, 405, 399, 399,
2650  406, 399, 399, 407, 399, 408, 409, 399, 399, 399,
2651 
2652  410, 399, 411, 412, 413, 399, 399, 399, 74, 74,
2653  74, 414, 399, 415, 416, 417, 418, 416, 415, 415,
2654  419, 420, 415, 415, 415, 421, 422, 415, 415, 415,
2655  415, 415, 423, 415, 415, 415, 415, 424, 424, 415,
2656  415, 415, 425, 426, 426, 426, 426, 426, 426, 426,
2657  426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
2658  426, 421, 415, 422, 415, 426, 426, 426, 427, 426,
2659  426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
2660  428, 426, 426, 426, 429, 430, 426, 431, 426, 426,
2661  426, 426, 432, 415, 415, 415, 426, 435, 435, 436,
2662 
2663  437, 435, 435, 435, 435, 438, 435, 435, 435, 439,
2664  440, 435, 435, 435, 435, 435, 441, 435, 435, 435,
2665  435, 442, 443, 435, 435, 435, 444, 445, 445, 445,
2666  445, 445, 445, 445, 445, 445, 445, 445, 445, 446,
2667  445, 445, 445, 445, 445, 439, 435, 440, 435, 445,
2668  445, 447, 448, 449, 445, 450, 445, 445, 451, 445,
2669  445, 452, 445, 453, 454, 445, 445, 445, 455, 445,
2670  456, 457, 458, 445, 445, 445, 443, 435, 435, 435,
2671  445, 435, 435, 436, 437, 435, 435, 435, 435, 461,
2672  435, 435, 435, 462, 440, 435, 435, 435, 435, 435,
2673 
2674  441, 435, 435, 435, 435, 435, 443, 435, 435, 435,
2675  444, 463, 463, 463, 463, 463, 463, 463, 463, 463,
2676  463, 463, 463, 463, 463, 463, 463, 463, 463, 439,
2677  435, 440, 435, 463, 463, 463, 463, 463, 463, 463,
2678  463, 463, 463, 463, 463, 463, 463, 463, 463, 463,
2679  463, 463, 463, 463, 463, 463, 463, 463, 463, 463,
2680  443, 435, 435, 435, 463, 435, 435, 436, 437, 435,
2681  435, 435, 435, 464, 435, 435, 435, 439, 465, 435,
2682  435, 435, 435, 435, 441, 435, 435, 435, 435, 435,
2683  435, 435, 435, 435, 444, 466, 466, 466, 466, 466,
2684 
2685  466, 466, 466, 466, 466, 466, 466, 467, 466, 466,
2686  466, 466, 466, 439, 435, 440, 435, 466, 466, 468,
2687  469, 470, 466, 471, 466, 466, 472, 466, 466, 473,
2688  466, 474, 475, 466, 466, 466, 476, 466, 477, 478,
2689  479, 466, 466, 466, 435, 435, 435, 435, 466, 480,
2690  480, 481, 482, 480, 480, 483, 480, 484, 480, 480,
2691  485, 486, 487, 480, 480, 480, 480, 480, 488, 480,
2692  480, 480, 480, 480, 480, 480, 480, 480, 489, 490,
2693  490, 490, 490, 490, 490, 490, 490, 490, 490, 490,
2694  490, 490, 490, 490, 490, 490, 490, 491, 480, 492,
2695 
2696  480, 490, 490, 490, 490, 490, 490, 490, 490, 490,
2697  490, 490, 490, 490, 490, 490, 490, 490, 490, 490,
2698  490, 490, 490, 490, 490, 490, 490, 490, 480, 480,
2699  480, 480, 490, 480, 480, 481, 482, 480, 480, 483,
2700  480, 495, 480, 480, 485, 486, 487, 480, 480, 480,
2701  480, 480, 488, 480, 480, 480, 480, 480, 480, 480,
2702  480, 480, 489, 496, 496, 496, 496, 496, 496, 496,
2703  496, 496, 496, 496, 496, 496, 496, 496, 496, 496,
2704  496, 491, 480, 492, 480, 496, 496, 496, 496, 496,
2705  496, 496, 496, 496, 496, 496, 496, 496, 496, 496,
2706 
2707  496, 496, 496, 496, 496, 496, 496, 496, 496, 496,
2708  496, 496, 480, 480, 480, 480, 496, 497, 497, 481,
2709  498, 497, 497, 499, 497, 500, 497, 497, 497, 501,
2710  502, 497, 497, 497, 497, 497, 503, 497, 497, 497,
2711  497, 497, 497, 497, 497, 497, 504, 505, 505, 505,
2712  505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
2713  505, 505, 505, 505, 505, 501, 506, 502, 497, 505,
2714  505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
2715  505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
2716  505, 505, 505, 505, 505, 505, 497, 497, 497, 497,
2717 
2718  505, 74, 509, 510, 511, 509, 74, 74, 512, 513,
2719  74, 74, 74, 77, 78, 74, 74, 514, 74, 74,
2720  79, 74, 74, 74, 74, 74, 514, 74, 74, 74,
2721  80, 515, 515, 515, 515, 515, 515, 515, 515, 515,
2722  515, 515, 515, 516, 515, 515, 515, 515, 515, 77,
2723  74, 78, 74, 515, 515, 517, 518, 519, 515, 520,
2724  515, 515, 521, 515, 515, 522, 515, 523, 524, 515,
2725  515, 515, 525, 515, 526, 527, 528, 515, 515, 515,
2726  529, 74, 74, 74, 515, 531, 531, 532, 533, 531,
2727  531, 531, 531, 534, 531, 531, 531, 535, 536, 531,
2728 
2729  531, 531, 531, 531, 537, 531, 531, 531, 531, 531,
2730  531, 531, 531, 531, 538, 539, 539, 539, 539, 539,
2731  539, 539, 539, 539, 539, 539, 539, 539, 539, 539,
2732  539, 539, 539, 535, 531, 536, 531, 539, 539, 539,
2733  539, 539, 539, 539, 539, 539, 539, 539, 539, 539,
2734  539, 539, 539, 539, 539, 539, 539, 539, 539, 539,
2735  539, 539, 539, 539, 531, 531, 531, 531, 539, 553,
2736  554, 572, 573, 555, 1074, 573, 668, 1074, 556, 557,
2737  558, 676, 676, 676, 676, 572, 559, 974, 677, 748,
2738  574, 668, 748, 1121, 737, 749, 560, 1076, 568, 733,
2739 
2740  1122, 568, 734, 978, 678, 561, 668, 574, 562, 1153,
2741  700, 561, 735, 673, 572, 557, 569, 558, 701, 736,
2742  655, 702, 656, 657, 703, 978, 658, 704, 1152, 680,
2743  705, 947, 659, 660, 947, 661, 662, 663, 738, 573,
2744  563, 668, 573, 739, 1067, 1068, 564, 976, 565, 566,
2745  553, 554, 566, 1309, 555, 948, 1069, 574, 993, 556,
2746  557, 558, 681, 763, 668, 764, 765, 567, 994, 766,
2747  664, 665, 665, 664, 2626, 767, 768, 560, 769, 770,
2748  771, 666, 667, 937, 937, 667, 561, 727, 937, 562,
2749  728, 729, 561, 669, 667, 670, 557, 772, 558, 965,
2750 
2751  772, 570, 730, 1181, 981, 731, 571, 732, 773, 857,
2752  857, 857, 857, 774, 775, 978, 858, 1181, 671, 667,
2753  777, 563, 778, 979, 966, 937, 978, 564, 980, 565,
2754  664, 665, 665, 664, 1192, 772, 970, 978, 772, 901,
2755  867, 666, 667, 902, 568, 667, 773, 568, 1192, 2627,
2756  867, 774, 775, 669, 667, 670, 1007, 867, 777, 903,
2757  778, 575, 569, 672, 1225, 772, 576, 1062, 772, 772,
2758  674, 573, 772, 1226, 573, 779, 773, 1063, 671, 667,
2759  773, 774, 775, 978, 772, 774, 775, 772, 777, 574,
2760  778, 984, 777, 1007, 778, 773, 985, 877, 867, 1235,
2761 
2762  774, 775, 780, 772, 878, 978, 772, 777, 879, 778,
2763  1236, 880, 673, 772, 773, 867, 772, 867, 570, 774,
2764  775, 910, 867, 571, 773, 911, 777, 1256, 778, 774,
2765  775, 668, 867, 1084, 772, 781, 777, 772, 778, 867,
2766  668, 867, 575, 1085, 776, 773, 804, 576, 805, 2628,
2767  774, 775, 776, 1089, 1090, 776, 782, 777, 806, 778,
2768  772, 776, 668, 772, 776, 1091, 783, 933, 1281, 939,
2769  933, 773, 939, 784, 1125, 785, 774, 775, 772, 786,
2770  940, 772, 787, 777, 1126, 778, 788, 668, 776, 773,
2771  934, 1300, 942, 789, 774, 775, 776, 790, 965, 776,
2772 
2773  791, 777, 811, 778, 570, 776, 575, 776, 776, 571,
2774  807, 576, 808, 674, 776, 776, 792, 943, 776, 809,
2775  810, 776, 776, 966, 776, 776, 793, 776, 776, 1247,
2776  568, 776, 952, 568, 812, 952, 794, 1159, 813, 1248,
2777  1129, 795, 814, 796, 968, 935, 776, 969, 569, 776,
2778  574, 1159, 776, 797, 772, 776, 948, 772, 815, 1107,
2779  1130, 776, 816, 1114, 1108, 773, 1245, 668, 1115, 776,
2780  774, 775, 776, 1159, 2629, 776, 817, 777, 776, 778,
2781  776, 776, 818, 668, 776, 822, 1246, 1159, 819, 823,
2782  1275, 776, 837, 776, 776, 776, 776, 820, 838, 776,
2783 
2784  821, 776, 776, 668, 776, 776, 798, 1141, 776, 1294,
2785  628, 629, 824, 570, 799, 825, 826, 800, 571, 776,
2786  801, 946, 776, 802, 946, 776, 803, 827, 776, 776,
2787  828, 834, 829, 830, 668, 668, 831, 776, 568, 574,
2788  776, 568, 575, 776, 934, 1271, 832, 576, 867, 776,
2789  779, 2351, 776, 833, 839, 668, 569, 624, 867, 840,
2790  776, 875, 776, 776, 876, 867, 776, 867, 1296, 776,
2791  776, 709, 776, 776, 573, 835, 776, 573, 568, 776,
2792  836, 568, 776, 843, 844, 844, 843, 843, 844, 844,
2793  843, 668, 574, 668, 845, 1007, 569, 1301, 845, 935,
2794 
2795  843, 844, 844, 843, 1145, 674, 847, 867, 848, 1146,
2796  847, 845, 848, 851, 851, 851, 851, 883, 1131, 884,
2797  852, 1132, 1133, 847, 867, 848, 867, 850, 668, 885,
2798  965, 849, 1007, 1134, 573, 849, 853, 573, 1303, 843,
2799  844, 844, 843, 843, 844, 844, 843, 1282, 849, 668,
2800  845, 1219, 574, 1283, 845, 966, 1016, 1016, 1016, 1016,
2801  856, 854, 847, 1017, 848, 1219, 847, 867, 848, 1150,
2802  881, 570, 862, 863, 1151, 862, 571, 867, 1112, 850,
2803  882, 1112, 568, 864, 867, 568, 867, 849, 865, 866,
2804  573, 849, 668, 573, 855, 777, 1113, 778, 862, 863,
2805 
2806  569, 862, 862, 863, 1315, 862, 575, 674, 574, 864,
2807  1165, 576, 1154, 864, 865, 866, 1176, 1155, 865, 866,
2808  668, 777, 2632, 778, 1165, 777, 1305, 778, 862, 863,
2809  1176, 862, 862, 863, 1166, 862, 1160, 1019, 868, 864,
2810  1177, 1161, 1171, 864, 865, 866, 668, 1172, 865, 866,
2811  2632, 777, 1314, 778, 867, 777, 895, 778, 896, 862,
2812  863, 869, 862, 1156, 867, 897, 898, 668, 1272, 1182,
2813  864, 867, 1157, 867, 1183, 865, 866, 886, 867, 668,
2814  1304, 668, 777, 870, 778, 887, 867, 892, 888, 893,
2815  904, 889, 1277, 1278, 890, 867, 867, 891, 867, 894,
2816 
2817  867, 2245, 668, 867, 905, 867, 1158, 867, 867, 867,
2818  906, 899, 871, 1295, 1193, 867, 867, 867, 971, 1194,
2819  1269, 971, 872, 907, 972, 568, 867, 668, 568, 873,
2820  1376, 874, 908, 867, 867, 909, 574, 912, 1270, 922,
2821  913, 914, 982, 569, 867, 982, 973, 978, 668, 1327,
2822  1377, 867, 915, 867, 1187, 916, 867, 917, 868, 918,
2823  983, 1167, 919, 668, 1339, 1366, 867, 867, 1187, 978,
2824  1168, 867, 920, 867, 925, 867, 1367, 867, 1188, 921,
2825  926, 867, 939, 923, 867, 939, 867, 668, 924, 1178,
2826  867, 867, 927, 940, 1189, 1346, 935, 928, 1179, 1279,
2827 
2828  1202, 867, 1160, 1190, 1169, 942, 668, 1220, 867, 1203,
2829  867, 1009, 1010, 1010, 1009, 1009, 1010, 1010, 1009, 1009,
2830  1010, 1010, 1009, 2633, 1009, 1010, 1010, 1009, 1148, 668,
2831  943, 1148, 1180, 944, 1012, 1306, 1013, 1191, 1012, 1307,
2832  1013, 668, 1012, 1158, 1013, 1317, 1149, 1012, 1015, 1013,
2833  1009, 1010, 1010, 1009, 1009, 1010, 1010, 1009, 568, 1014,
2834  668, 568, 573, 1014, 1350, 573, 568, 1014, 1276, 568,
2835  668, 668, 1014, 1012, 1312, 1013, 569, 1012, 573, 1013,
2836  574, 573, 1313, 1021, 569, 1020, 1009, 1010, 1010, 1009,
2837  1022, 668, 1036, 1036, 1036, 1036, 574, 1323, 1014, 1037,
2838 
2839  582, 1280, 1014, 582, 1009, 1010, 1010, 1009, 668, 1012,
2840  2257, 1013, 1009, 1010, 1010, 1009, 1023, 1024, 583, 1009,
2841  1010, 1010, 1009, 1009, 1010, 1010, 1009, 1012, 605, 1013,
2842  1009, 1010, 1010, 1009, 1014, 1012, 590, 1013, 668, 590,
2843  1200, 1025, 1012, 1273, 1013, 1201, 1012, 1297, 1013, 2640,
2844  668, 1026, 1014, 1012, 591, 1013, 1009, 1010, 1010, 1009,
2845  1014, 1210, 1009, 1010, 1010, 1009, 1211, 1014, 668, 1349,
2846  1027, 1014, 1029, 1039, 1039, 1040, 1039, 2641, 1014, 1012,
2847  668, 1013, 1030, 1031, 1028, 1012, 1308, 1013, 1046, 1039,
2848  1040, 1046, 1273, 1162, 1032, 1033, 624, 1326, 1040, 1040,
2849 
2850  1040, 1040, 1163, 668, 1014, 598, 569, 965, 598, 668,
2851  1014, 1054, 1039, 1040, 1054, 1340, 1035, 1164, 1101, 1101,
2852  1101, 1101, 1034, 599, 1198, 649, 1173, 1041, 649, 574,
2853  1319, 1184, 966, 668, 1609, 1174, 1158, 650, 1198, 1042,
2854  1185, 1103, 1041, 1043, 604, 605, 1044, 604, 1199, 1165,
2855  1175, 1045, 1041, 1610, 1042, 1186, 1165, 611, 1043, 1871,
2856  611, 1044, 606, 1165, 1042, 1041, 1045, 1104, 1043, 1169,
2857  1165, 1044, 668, 1166, 1180, 574, 1045, 1042, 668, 614,
2858  1166, 1043, 614, 1316, 1044, 1040, 1040, 1040, 1040, 1045,
2859  1105, 1105, 615, 1105, 1105, 1105, 1748, 1105, 1748, 1105,
2860 
2861  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
2862  1116, 1040, 1040, 1116, 1105, 1105, 1105, 1105, 1105, 1105,
2863  1040, 1040, 1040, 1040, 620, 1195, 2262, 620, 569, 1209,
2864  1138, 1040, 1040, 1138, 1196, 1204, 1156, 615, 1105, 1041,
2865  1105, 1105, 574, 1209, 1205, 1157, 668, 630, 574, 1197,
2866  630, 1042, 1378, 1215, 668, 1043, 1351, 1320, 1044, 1164,
2867  668, 1302, 1379, 1045, 1041, 631, 1206, 1215, 1191, 1105,
2868  1105, 1105, 1105, 624, 1041, 1207, 1042, 1216, 1158, 1158,
2869  1043, 1741, 1212, 1044, 1041, 1740, 1042, 668, 1045, 639,
2870  1043, 1213, 639, 1044, 1334, 624, 1042, 624, 1045, 1221,
2871 
2872  1043, 1217, 1218, 1044, 1217, 1162, 1214, 640, 1045, 1208,
2873  624, 668, 1347, 1221, 1163, 1321, 664, 665, 665, 664,
2874  668, 647, 1348, 1222, 647, 1208, 624, 666, 667, 1164,
2875  1322, 667, 668, 1355, 648, 676, 676, 676, 676, 669,
2876  667, 670, 677, 668, 1359, 1360, 1897, 1227, 1158, 1310,
2877  1227, 1298, 1310, 668, 1228, 1299, 668, 1324, 678, 1229,
2878  648, 1335, 668, 1325, 671, 667, 664, 665, 665, 664,
2879  1230, 652, 652, 652, 652, 668, 1342, 666, 667, 668,
2880  1336, 667, 668, 680, 1341, 1343, 1333, 1250, 1250, 669,
2881  667, 670, 1251, 1251, 1273, 1232, 978, 653, 664, 665,
2882 
2883  665, 664, 1273, 1252, 745, 745, 745, 745, 668, 666,
2884  667, 746, 668, 667, 671, 667, 681, 1337, 978, 1344,
2885  2264, 669, 667, 1013, 668, 1223, 668, 653, 1233, 665,
2886  665, 665, 665, 1741, 1338, 1253, 1253, 1253, 1253, 1345,
2887  666, 667, 1254, 710, 667, 1740, 671, 667, 676, 676,
2888  676, 676, 669, 667, 1373, 677, 1250, 1374, 678, 3536,
2889  3536, 3536, 3536, 668, 1352, 1692, 3536, 1353, 1370, 1371,
2890  1693, 678, 1265, 1265, 1265, 1265, 1747, 671, 667, 1266,
2891  1746, 758, 3536, 680, 758, 1686, 1686, 1259, 1260, 1260,
2892  1259, 748, 2642, 759, 748, 678, 680, 749, 666, 667,
2893 
2894  1892, 1255, 667, 1356, 1357, 1357, 1356, 3536, 1688, 574,
2895  1262, 667, 1263, 668, 666, 667, 681, 1689, 667, 938,
2896  680, 2643, 938, 1328, 1329, 668, 1330, 667, 1013, 681,
2897  1331, 745, 745, 745, 745, 1264, 667, 1332, 746, 1830,
2898  3536, 3536, 3536, 3536, 3536, 1831, 750, 750, 3536, 750,
2899  750, 1690, 667, 1268, 1284, 1285, 1286, 1286, 1285, 1284,
2900  1284, 1284, 1284, 1284, 1284, 1284, 1287, 1288, 1284, 1284,
2901  1288, 1284, 1284, 1284, 772, 965, 2332, 772, 1289, 1288,
2902  1290, 1284, 1284, 1284, 2644, 773, 857, 857, 857, 857,
2903  774, 775, 945, 858, 668, 945, 1691, 777, 772, 778,
2904 
2905  966, 772, 1284, 1291, 1288, 1284, 751, 751, 933, 773,
2906  1691, 933, 1580, 756, 774, 775, 756, 1362, 1581, 772,
2907  1362, 777, 772, 778, 1363, 938, 757, 1292, 938, 1364,
2908  757, 934, 1697, 1284, 1284, 1284, 1284, 1293, 772, 1925,
2909  945, 772, 777, 945, 778, 624, 1697, 939, 772, 773,
2910  939, 772, 668, 674, 774, 775, 1698, 1361, 940, 773,
2911  1724, 777, 1725, 778, 774, 775, 772, 1726, 1792, 772,
2912  942, 777, 947, 778, 1724, 947, 772, 773, 605, 772,
2913  937, 937, 774, 775, 1730, 937, 935, 773, 1757, 777,
2914  1757, 778, 774, 775, 772, 943, 948, 772, 1730, 777,
2915 
2916  1759, 778, 1759, 807, 939, 773, 605, 939, 1731, 772,
2917  774, 775, 772, 772, 1663, 940, 772, 777, 960, 778,
2918  773, 960, 937, 1747, 773, 774, 775, 965, 1383, 774,
2919  775, 2281, 777, 1664, 778, 1746, 777, 772, 778, 1768,
2920  772, 1768, 857, 857, 857, 857, 1384, 1578, 773, 858,
2921  1579, 1844, 966, 774, 775, 772, 1585, 1582, 772, 1586,
2922  777, 1770, 778, 1770, 1385, 1604, 773, 668, 1604, 1386,
2923  772, 774, 775, 772, 668, 2354, 952, 1387, 777, 952,
2924  778, 773, 3536, 3536, 3536, 3536, 774, 775, 772, 3536,
2925  1677, 772, 965, 777, 574, 778, 935, 1587, 978, 773,
2926 
2927  948, 1779, 709, 1779, 774, 775, 1588, 939, 1388, 1678,
2928  939, 777, 772, 778, 668, 772, 772, 966, 940, 772,
2929  978, 1389, 1604, 773, 1711, 1604, 1390, 773, 774, 775,
2930  942, 772, 774, 775, 772, 777, 1732, 778, 1583, 777,
2931  1589, 778, 773, 1712, 2646, 1732, 772, 774, 775, 772,
2932  843, 844, 844, 843, 777, 943, 778, 773, 1391, 1392,
2933  1733, 845, 774, 775, 1393, 1694, 668, 772, 1394, 777,
2934  772, 778, 1908, 847, 1695, 848, 1644, 772, 773, 1644,
2935  772, 1590, 978, 774, 775, 1781, 3536, 1781, 773, 1696,
2936  777, 1738, 778, 774, 775, 1590, 1395, 1809, 849, 1809,
2937 
2938  777, 1013, 778, 1396, 978, 1273, 668, 2284, 1690, 1397,
2939  1398, 1399, 1398, 1398, 1399, 1398, 1398, 1398, 1398, 1398,
2940  1398, 1398, 1400, 1398, 1398, 1398, 1398, 1401, 1402, 1398,
2941  1596, 978, 1407, 978, 1403, 1398, 1404, 1398, 1398, 1398,
2942  772, 1591, 1715, 772, 1596, 1716, 1592, 1408, 668, 1074,
2943  709, 773, 1074, 978, 1597, 978, 774, 775, 1398, 1398,
2944  1398, 1398, 1880, 777, 624, 778, 1480, 1481, 1481, 1480,
2945  1812, 772, 1076, 1812, 772, 1742, 668, 845, 851, 851,
2946  851, 851, 773, 1405, 1742, 852, 1721, 774, 775, 1398,
2947  1398, 1398, 1398, 1406, 777, 1722, 778, 772, 2290, 1164,
2948 
2949  772, 853, 1475, 1475, 1475, 1475, 3536, 772, 773, 852,
2950  772, 1738, 1409, 774, 775, 1883, 982, 668, 773, 982,
2951  777, 978, 778, 774, 775, 853, 854, 2654, 772, 1723,
2952  777, 772, 778, 1074, 983, 3536, 1074, 668, 1410, 773,
2953  1787, 1858, 1411, 978, 774, 775, 772, 1894, 668, 772,
2954  854, 777, 1734, 778, 2300, 1074, 1076, 773, 1074, 855,
2955  1412, 1869, 774, 775, 772, 668, 1734, 772, 1743, 777,
2956  1112, 778, 1413, 1112, 772, 773, 1735, 772, 1076, 3536,
2957  774, 775, 1743, 855, 1787, 773, 668, 777, 1113, 778,
2958  774, 775, 1166, 772, 1414, 971, 772, 777, 971, 778,
2959 
2960  2340, 972, 668, 772, 773, 1856, 772, 710, 668, 774,
2961  775, 1755, 1727, 574, 773, 1415, 777, 668, 778, 774,
2962  775, 1728, 1857, 973, 1416, 1755, 777, 772, 778, 1791,
2963  772, 843, 844, 844, 843, 1177, 1729, 939, 773, 1417,
2964  939, 1884, 845, 774, 775, 668, 710, 1766, 940, 668,
2965  777, 1903, 778, 772, 847, 1723, 772, 668, 1418, 624,
2966  942, 1766, 1419, 946, 773, 1870, 946, 1875, 1420, 774,
2967  775, 1188, 772, 935, 1387, 772, 777, 1914, 778, 849,
2968  668, 574, 668, 773, 668, 943, 934, 1859, 774, 775,
2969  1217, 1218, 1570, 1217, 1837, 777, 668, 778, 1421, 1422,
2970 
2971  1423, 1422, 1422, 1423, 1422, 1422, 1422, 1422, 1422, 1422,
2972  1422, 1424, 1422, 1422, 1422, 1422, 1425, 1426, 1422, 1881,
2973  1430, 1741, 1740, 1427, 1422, 1428, 1422, 1422, 1422, 1431,
2974  1432, 1432, 1431, 1148, 668, 1754, 1148, 1435, 1887, 1901,
2975  773, 935, 624, 668, 1754, 774, 775, 1422, 1422, 1422,
2976  1422, 1149, 777, 668, 778, 1016, 1016, 1016, 1016, 1175,
2977  772, 2658, 1017, 772, 844, 844, 844, 844, 1794, 668,
2978  1777, 773, 1799, 1906, 1799, 845, 774, 775, 1422, 1422,
2979  1422, 1422, 1429, 777, 1777, 778, 772, 847, 668, 772,
2980  772, 1872, 1433, 772, 1199, 624, 668, 773, 1904, 1876,
2981 
2982  1434, 773, 774, 775, 2662, 772, 774, 775, 772, 777,
2983  668, 778, 849, 777, 1888, 778, 773, 1036, 1036, 1036,
2984  1036, 774, 775, 772, 1037, 1802, 772, 1802, 777, 668,
2985  778, 1436, 1747, 1746, 773, 2663, 1019, 1899, 772, 774,
2986  775, 772, 772, 1741, 1740, 772, 777, 1740, 778, 773,
2987  1437, 710, 668, 773, 774, 775, 2664, 1882, 774, 775,
2988  668, 777, 668, 778, 1387, 777, 772, 778, 1438, 772,
2989  772, 1747, 1746, 772, 1909, 1746, 1911, 773, 1910, 1801,
2990  668, 773, 774, 775, 1439, 772, 774, 775, 772, 777,
2991  1740, 778, 1905, 777, 1440, 778, 773, 668, 1441, 2665,
2992 
2993  772, 774, 775, 772, 772, 1741, 1740, 772, 777, 668,
2994  778, 773, 1886, 1765, 1740, 773, 774, 775, 1746, 668,
2995  774, 775, 1765, 777, 1917, 778, 1807, 777, 1885, 778,
2996  1443, 1442, 772, 1891, 1932, 772, 1444, 1186, 1445, 668,
2997  1807, 668, 772, 773, 668, 772, 1896, 668, 774, 775,
2998  1222, 668, 1740, 773, 1912, 777, 668, 778, 774, 775,
2999  1446, 1934, 1447, 772, 1448, 777, 772, 778, 1449, 1101,
3000  1101, 1101, 1101, 772, 773, 1450, 772, 668, 709, 774,
3001  775, 1915, 1776, 668, 773, 2666, 777, 668, 778, 774,
3002  775, 1776, 1103, 2406, 772, 1451, 777, 772, 778, 1009,
3003 
3004  1010, 1010, 1009, 1387, 605, 773, 1197, 1782, 1452, 1893,
3005  774, 775, 772, 1916, 668, 772, 1782, 777, 1104, 778,
3006  668, 1453, 1012, 773, 1013, 1455, 2667, 772, 774, 775,
3007  772, 1783, 1747, 1746, 1936, 777, 605, 778, 773, 1784,
3008  1454, 1746, 1456, 774, 775, 772, 1895, 1014, 772, 668,
3009  777, 1795, 778, 1784, 1457, 772, 773, 668, 772, 2670,
3010  1795, 774, 775, 1785, 1803, 1804, 773, 1803, 777, 1741,
3011  778, 774, 775, 772, 1900, 1214, 772, 1458, 777, 1746,
3012  778, 1740, 1805, 772, 773, 668, 772, 1250, 1250, 774,
3013  775, 1459, 1251, 1251, 773, 624, 777, 1796, 778, 774,
3014 
3015  775, 772, 1902, 1252, 772, 1460, 777, 1462, 778, 1928,
3016  668, 1796, 773, 668, 1461, 668, 1736, 774, 775, 772,
3017  1736, 1216, 772, 779, 777, 668, 778, 1463, 1772, 1921,
3018  773, 808, 2386, 594, 772, 774, 775, 772, 1931, 668,
3019  1464, 624, 777, 668, 778, 773, 1873, 1874, 1937, 772,
3020  774, 775, 772, 1593, 978, 1310, 1250, 777, 1310, 778,
3021  773, 1465, 1594, 668, 772, 774, 775, 772, 668, 668,
3022  1918, 1466, 777, 1924, 778, 773, 978, 1595, 2671, 1467,
3023  774, 775, 772, 1736, 1736, 772, 1919, 777, 668, 778,
3024  1920, 668, 1736, 773, 1927, 1761, 1589, 1273, 774, 775,
3025 
3026  586, 668, 1929, 1468, 668, 777, 1930, 778, 668, 1469,
3027  2672, 1898, 1470, 843, 844, 844, 843, 668, 851, 851,
3028  851, 851, 668, 1471, 845, 852, 843, 844, 844, 843,
3029  1736, 674, 3536, 3536, 3536, 3536, 847, 845, 848, 3536,
3030  668, 853, 1472, 2673, 1935, 1476, 1476, 1476, 1476, 847,
3031  1938, 848, 1477, 668, 668, 3536, 843, 844, 844, 843,
3032  2353, 849, 1009, 1010, 1010, 1009, 854, 845, 853, 1933,
3033  1922, 668, 862, 863, 849, 862, 2658, 668, 1955, 847,
3034  3536, 848, 1923, 864, 1956, 1617, 1736, 1013, 865, 866,
3035  1736, 862, 863, 854, 862, 777, 850, 778, 594, 855,
3036 
3037  1842, 1258, 864, 1773, 849, 2123, 1913, 865, 866, 1913,
3038  1014, 2124, 1604, 3536, 777, 1604, 778, 863, 863, 1744,
3039  863, 862, 863, 1744, 862, 2221, 1479, 2221, 864, 2130,
3040  965, 1772, 864, 865, 866, 2131, 594, 865, 866, 2165,
3041  862, 863, 2165, 862, 777, 674, 778, 1036, 1036, 1036,
3042  1036, 864, 2687, 965, 1037, 966, 865, 866, 862, 863,
3043  668, 862, 2166, 777, 1963, 778, 710, 1963, 1744, 864,
3044  2128, 1964, 1744, 668, 865, 866, 862, 863, 966, 862,
3045  594, 777, 2223, 778, 2223, 1773, 2704, 864, 1101, 1101,
3046  1101, 1101, 865, 866, 965, 895, 668, 862, 863, 777,
3047 
3048  862, 778, 978, 2126, 1010, 1010, 1010, 1010, 864, 2342,
3049  2719, 1103, 1741, 865, 866, 862, 863, 1741, 862, 966,
3050  777, 2139, 778, 1740, 978, 1747, 864, 1617, 1483, 2146,
3051  1747, 865, 866, 862, 863, 2685, 862, 1104, 777, 2218,
3052  778, 1746, 2127, 2139, 864, 2251, 1484, 2251, 2218, 865,
3053  866, 2146, 1014, 965, 862, 863, 777, 862, 778, 3536,
3054  3536, 3536, 3536, 1696, 668, 864, 3536, 1485, 2137, 1942,
3055  865, 866, 1942, 862, 863, 1486, 862, 777, 966, 778,
3056  1009, 1010, 1010, 1009, 864, 1943, 1944, 1736, 1736, 865,
3057  866, 862, 863, 2253, 862, 2253, 777, 1487, 778, 1789,
3058 
3059  978, 2129, 864, 1012, 623, 1013, 1812, 865, 866, 1812,
3060  862, 863, 668, 862, 777, 2722, 778, 1820, 1820, 1820,
3061  1820, 864, 978, 2341, 1821, 1488, 865, 866, 1014, 1620,
3062  1620, 1620, 1620, 777, 1790, 778, 1017, 862, 863, 1489,
3063  862, 862, 863, 1362, 862, 2219, 1362, 1490, 864, 2255,
3064  1363, 2255, 864, 865, 866, 1364, 757, 865, 866, 2219,
3065  777, 2258, 778, 2258, 777, 2262, 778, 862, 863, 1698,
3066  862, 862, 863, 2144, 862, 2144, 2211, 2261, 864, 2723,
3067  1491, 1492, 864, 865, 866, 2212, 2212, 865, 866, 1493,
3068  777, 2249, 778, 1494, 777, 1747, 778, 862, 863, 1736,
3069 
3070  862, 862, 863, 2134, 862, 2249, 772, 1746, 864, 772,
3071  1019, 2135, 864, 865, 866, 1731, 977, 865, 866, 1741,
3072  777, 2264, 778, 1740, 777, 2134, 778, 668, 1496, 777,
3073  710, 778, 1495, 2263, 1497, 1398, 1498, 1499, 1398, 1498,
3074  1398, 1398, 1398, 1398, 1398, 1398, 1398, 1500, 1398, 1398,
3075  1398, 1398, 1501, 1502, 1398, 862, 863, 1736, 862, 1403,
3076  1398, 1404, 1398, 1398, 1398, 605, 864, 1505, 1736, 2244,
3077  2294, 865, 866, 1506, 1142, 2295, 862, 863, 777, 862,
3078  778, 628, 629, 1398, 1398, 1398, 1398, 864, 1016, 1016,
3079  1016, 1016, 865, 866, 1644, 1017, 2262, 1644, 1747, 777,
3080 
3081  2261, 778, 1746, 3536, 3536, 3536, 3536, 2264, 1503, 772,
3082  3536, 2263, 772, 2727, 1398, 1398, 1398, 1398, 1504, 1013,
3083  862, 863, 1507, 862, 862, 863, 1508, 862, 624, 1741,
3084  1740, 864, 777, 1740, 778, 864, 865, 866, 978, 1509,
3085  865, 866, 2279, 777, 2279, 778, 668, 777, 624, 778,
3086  862, 863, 2283, 862, 862, 863, 2364, 862, 1250, 1250,
3087  978, 864, 2656, 1847, 1847, 864, 865, 866, 2315, 1019,
3088  865, 866, 2316, 777, 1848, 778, 1740, 777, 668, 778,
3089  862, 863, 2350, 862, 3536, 1510, 1853, 1853, 1853, 1853,
3090  1511, 864, 605, 1854, 2738, 668, 865, 866, 772, 862,
3091 
3092  863, 772, 862, 777, 2343, 778, 1009, 1010, 1010, 1009,
3093  864, 2147, 668, 2147, 1513, 865, 866, 862, 863, 1512,
3094  862, 777, 777, 778, 778, 668, 2348, 1250, 864, 1012,
3095  668, 1013, 2359, 865, 866, 862, 863, 2739, 862, 2362,
3096  777, 1644, 778, 1025, 1644, 1514, 864, 1009, 1010, 1010,
3097  1009, 865, 866, 1741, 1014, 1741, 1740, 1740, 777, 1740,
3098  778, 1962, 862, 863, 1515, 862, 1013, 2690, 1516, 2282,
3099  1617, 2282, 1013, 864, 1432, 1432, 1432, 1432, 865, 866,
3100  862, 863, 1517, 862, 668, 777, 3536, 778, 1487, 3536,
3101  668, 864, 668, 3536, 2357, 1014, 865, 866, 3536, 3536,
3102 
3103  1740, 2367, 1794, 777, 1950, 778, 1518, 1422, 1519, 1520,
3104  1422, 1519, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1521,
3105  1422, 1422, 1422, 1422, 1522, 1523, 1422, 2278, 2742, 1525,
3106  1736, 1427, 1422, 1428, 1422, 1422, 1422, 862, 863, 603,
3107  862, 1736, 1142, 1526, 603, 2262, 2261, 2245, 864, 2261,
3108  668, 1527, 668, 865, 866, 1422, 1422, 1422, 1422, 668,
3109  777, 2371, 778, 668, 1039, 1039, 1040, 1039, 862, 863,
3110  1273, 862, 2358, 1101, 1101, 1101, 1101, 2743, 2349, 864,
3111  1839, 1840, 1840, 1839, 865, 866, 1422, 1422, 1422, 1422,
3112  1524, 777, 2261, 778, 862, 863, 1103, 862, 862, 863,
3113 
3114  2361, 862, 1528, 1841, 668, 864, 668, 2248, 2373, 864,
3115  865, 866, 668, 2744, 865, 866, 2248, 777, 1041, 778,
3116  2370, 777, 1104, 778, 862, 863, 1310, 862, 1842, 1310,
3117  1042, 1729, 1747, 668, 1043, 864, 1746, 1044, 1746, 1529,
3118  865, 866, 1045, 862, 863, 668, 862, 777, 2352, 778,
3119  1736, 1736, 1736, 1736, 864, 2372, 1736, 668, 1530, 865,
3120  866, 2375, 623, 2399, 1750, 668, 777, 1791, 778, 577,
3121  2284, 2285, 1487, 862, 863, 2745, 862, 862, 863, 1746,
3122  862, 668, 2347, 2746, 864, 2376, 668, 1531, 864, 865,
3123  866, 2262, 2369, 865, 866, 668, 777, 1790, 778, 1736,
3124 
3125  777, 2356, 778, 2261, 1532, 862, 863, 1744, 862, 862,
3126  863, 2393, 862, 668, 1741, 1740, 864, 1794, 1744, 2244,
3127  864, 865, 866, 1740, 1142, 865, 866, 2378, 777, 1533,
3128  778, 668, 777, 1534, 778, 862, 863, 1736, 862, 862,
3129  863, 2134, 862, 668, 668, 668, 864, 2381, 2395, 977,
3130  864, 865, 866, 2747, 2136, 865, 866, 668, 777, 709,
3131  778, 1740, 777, 2134, 778, 2041, 2041, 2041, 2041, 1536,
3132  1535, 2384, 2042, 862, 863, 1537, 862, 2140, 978, 2750,
3133  1009, 1010, 1010, 1009, 864, 2394, 2140, 668, 1538, 865,
3134  866, 862, 863, 668, 862, 668, 777, 2404, 778, 1539,
3135 
3136  978, 1595, 864, 1012, 668, 1013, 2365, 865, 866, 862,
3137  863, 668, 862, 668, 777, 2751, 778, 1250, 1250, 2363,
3138  864, 978, 1251, 1251, 2366, 865, 866, 2400, 1014, 2262,
3139  2261, 1540, 777, 1252, 778, 862, 863, 1541, 862, 1480,
3140  1481, 1481, 1480, 978, 1542, 1624, 864, 2141, 978, 668,
3141  845, 865, 866, 2391, 1543, 668, 862, 863, 777, 862,
3142  778, 2141, 1487, 1040, 1040, 1040, 1040, 864, 2368, 668,
3143  978, 1597, 865, 866, 978, 1544, 2289, 628, 629, 777,
3144  2737, 778, 2374, 668, 862, 863, 1250, 862, 862, 863,
3145  668, 862, 2405, 1545, 2377, 864, 978, 668, 668, 864,
3146 
3147  865, 866, 1736, 1736, 865, 866, 1736, 777, 1547, 778,
3148  2387, 777, 1546, 778, 577, 862, 863, 1041, 862, 1751,
3149  1253, 1253, 1253, 1253, 624, 1548, 864, 1254, 668, 1042,
3150  1273, 865, 866, 1043, 862, 863, 1044, 862, 777, 668,
3151  778, 1045, 978, 678, 1549, 864, 1747, 1746, 978, 1736,
3152  865, 866, 668, 1550, 2385, 862, 863, 777, 862, 778,
3153  1009, 1010, 1010, 1009, 978, 1744, 864, 709, 680, 2143,
3154  978, 865, 866, 862, 863, 2264, 862, 2135, 777, 1551,
3155  778, 1741, 977, 1012, 864, 1013, 1255, 2263, 668, 865,
3156  866, 2143, 1740, 1801, 1552, 668, 777, 2392, 778, 862,
3157 
3158  863, 681, 862, 1553, 2348, 1747, 1746, 1554, 1014, 1746,
3159  864, 1736, 1736, 2693, 939, 865, 866, 939, 862, 863,
3160  1736, 862, 777, 586, 778, 940, 1622, 1555, 1762, 864,
3161  668, 896, 2264, 2263, 865, 866, 2263, 942, 2419, 868,
3162  1556, 777, 2420, 778, 862, 863, 624, 862, 862, 863,
3163  668, 862, 1746, 2290, 2291, 864, 2647, 2396, 1736, 864,
3164  865, 866, 943, 2165, 865, 866, 2165, 777, 965, 778,
3165  2116, 777, 2260, 778, 862, 863, 2260, 862, 1557, 2263,
3166  1009, 1010, 1010, 1009, 594, 864, 2264, 2263, 1558, 594,
3167  865, 866, 668, 966, 1273, 862, 863, 777, 862, 778,
3168 
3169  1801, 2546, 668, 1012, 1559, 1013, 864, 2407, 668, 1744,
3170  1744, 865, 866, 862, 863, 2408, 862, 1560, 777, 1945,
3171  778, 1789, 1945, 2262, 864, 2668, 623, 2261, 1014, 865,
3172  866, 1364, 1623, 2293, 1561, 2669, 777, 1562, 778, 1009,
3173  1010, 1010, 1009, 1009, 1010, 1010, 1009, 1009, 1010, 1010,
3174  1009, 668, 1604, 1273, 1563, 1604, 1798, 1744, 1744, 1744,
3175  1744, 1744, 1012, 1744, 1013, 2711, 1012, 668, 1013, 1750,
3176  1012, 577, 1013, 1564, 577, 2262, 1751, 1945, 3536, 2689,
3177  1945, 3536, 1803, 1804, 1363, 1803, 2261, 1014, 2389, 1364,
3178  1744, 1014, 668, 668, 1747, 1014, 1946, 1946, 1946, 1946,
3179 
3180  1805, 1744, 1142, 2390, 1744, 1746, 1744, 2245, 2559, 1626,
3181  1634, 1625, 1422, 1627, 1628, 1628, 1627, 1422, 1422, 1422,
3182  1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422,
3183  1422, 1422, 1009, 1010, 1010, 1009, 1629, 1422, 1630, 1422,
3184  1422, 1422, 1009, 1010, 1010, 1009, 978, 2601, 1009, 1010,
3185  1010, 1009, 2697, 863, 863, 1012, 863, 1013, 668, 2136,
3186  1422, 1631, 1422, 1422, 864, 1012, 1273, 1013, 978, 865,
3187  866, 1012, 2752, 1013, 1009, 1010, 1010, 1009, 2264, 668,
3188  1014, 1009, 1010, 1010, 1009, 1009, 1010, 1010, 1009, 2263,
3189  1014, 1422, 1422, 1422, 1422, 1632, 1014, 1012, 1963, 1013,
3190 
3191  2716, 1963, 709, 1025, 1012, 1964, 1013, 1633, 1012, 1635,
3192  1013, 1009, 1010, 1010, 1009, 668, 2753, 668, 1009, 1010,
3193  1010, 1009, 1014, 1009, 1010, 1010, 1009, 1803, 1804, 1014,
3194  1803, 965, 3536, 1014, 1012, 3536, 1013, 2401, 668, 1637,
3195  1636, 1012, 2402, 1013, 1950, 1805, 1012, 2403, 1013, 1046,
3196  1039, 1040, 1046, 1744, 1639, 965, 966, 2143, 1638, 1014,
3197  1054, 1039, 1040, 1054, 965, 977, 1014, 569, 2547, 3536,
3198  2136, 1014, 3536, 1744, 1744, 2766, 3536, 1643, 574, 2143,
3199  966, 1640, 1744, 1641, 2545, 1761, 1642, 1744, 1744, 966,
3200  586, 1481, 1481, 1481, 1481, 2594, 1744, 1273, 2741, 586,
3201 
3202  1744, 1744, 845, 1041, 1762, 1116, 1040, 1040, 1116, 668,
3203  668, 2712, 623, 2548, 1041, 1042, 2698, 1791, 1604, 1043,
3204  1744, 1604, 1044, 569, 2260, 668, 1042, 1045, 3536, 3536,
3205  1043, 3536, 3536, 1044, 1744, 2260, 1142, 942, 1045, 1105,
3206  1105, 1142, 1105, 1105, 1105, 2824, 1105, 1798, 1105, 1105,
3207  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1041,
3208  2260, 2260, 709, 1105, 1105, 1105, 1105, 1105, 1105, 2260,
3209  668, 1042, 586, 2688, 2593, 1043, 668, 586, 1044, 1620,
3210  1620, 1620, 1620, 1045, 2725, 772, 2163, 1105, 772, 1105,
3211  1105, 1138, 1040, 1040, 1138, 1861, 773, 668, 1861, 1062,
3212 
3213  1062, 774, 775, 1480, 1481, 1481, 1480, 2260, 777, 574,
3214  778, 2397, 2398, 3536, 845, 668, 3536, 709, 1105, 1105,
3215  1105, 1105, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422,
3216  1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422,
3217  1422, 1422, 1273, 2262, 2261, 1041, 1422, 1422, 1422, 1422,
3218  1422, 1422, 2261, 1747, 1746, 1966, 668, 1042, 1684, 2264,
3219  1019, 1043, 1746, 2263, 1044, 2264, 2263, 2612, 2612, 1045,
3220  1422, 1422, 1422, 1422, 2263, 1224, 1227, 2825, 3536, 1227,
3221  2595, 3536, 2702, 1228, 1811, 1811, 1811, 1811, 1229, 648,
3222  2261, 3536, 3536, 3536, 3536, 2826, 2827, 668, 3536, 1230,
3223 
3224  1746, 1422, 1422, 1422, 1422, 1704, 664, 665, 665, 664,
3225  1811, 1741, 2263, 3536, 3536, 2139, 3536, 666, 667, 3536,
3226  3536, 667, 3536, 2828, 1232, 3536, 3536, 628, 629, 669,
3227  667, 670, 2596, 2705, 978, 772, 3536, 2139, 772, 3536,
3228  1811, 1273, 1849, 1849, 1849, 1849, 773, 1942, 668, 677,
3229  1942, 774, 775, 668, 671, 667, 978, 1233, 777, 772,
3230  778, 3536, 772, 1943, 1944, 678, 1810, 2710, 1431, 1432,
3231  1432, 1431, 3536, 668, 624, 2597, 1819, 1819, 1819, 1819,
3232  2829, 2552, 777, 1228, 778, 2262, 2261, 2830, 3536, 3536,
3233  680, 777, 2715, 778, 3536, 1813, 1814, 1814, 1813, 3536,
3234 
3235  2706, 2696, 1228, 668, 2262, 668, 1968, 1229, 2556, 668,
3236  1259, 1260, 1260, 1259, 1815, 1815, 1815, 1815, 1816, 2260,
3237  2260, 666, 667, 681, 3536, 667, 1260, 1260, 1260, 1260,
3238  2556, 623, 2289, 1262, 667, 1013, 623, 666, 667, 3536,
3239  2835, 667, 3536, 1818, 1820, 1820, 1820, 1820, 1273, 1262,
3240  667, 1821, 668, 2307, 2308, 2308, 2307, 1233, 1264, 667,
3241  1265, 1265, 1265, 1265, 2309, 1747, 2287, 1266, 2836, 2146,
3242  1259, 1260, 1260, 1259, 1264, 667, 1233, 664, 665, 665,
3243  664, 666, 667, 678, 668, 667, 2713, 2837, 666, 667,
3244  2598, 2146, 667, 1262, 667, 1263, 1620, 1620, 1620, 1620,
3245 
3246  669, 667, 670, 1017, 3536, 3536, 3536, 3536, 680, 2262,
3247  2264, 3536, 1850, 1850, 1850, 1850, 2839, 1273, 1264, 667,
3248  668, 2637, 2717, 666, 2637, 671, 667, 3536, 2708, 2652,
3249  668, 1877, 1878, 1878, 1877, 678, 2709, 1852, 2652, 2638,
3250  668, 1268, 1879, 667, 1843, 2264, 667, 863, 863, 2558,
3251  863, 978, 3536, 2653, 669, 667, 1013, 2260, 864, 772,
3252  680, 2554, 772, 865, 866, 1620, 1620, 1620, 1620, 977,
3253  773, 2558, 1017, 978, 977, 774, 775, 1019, 993, 671,
3254  667, 2840, 777, 2554, 778, 3536, 1860, 1861, 1862, 1862,
3255  1861, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1863, 1864,
3256 
3257  1860, 1860, 1864, 1860, 1860, 1860, 1878, 1878, 1878, 1878,
3258  1865, 1864, 1866, 1860, 1860, 1860, 2841, 1879, 667, 1941,
3259  772, 667, 993, 772, 1253, 1253, 1253, 1253, 710, 669,
3260  667, 1254, 668, 2707, 1860, 1867, 1864, 1860, 1310, 665,
3261  665, 1310, 668, 777, 2732, 778, 1019, 678, 668, 666,
3262  667, 2648, 2649, 667, 671, 667, 993, 2301, 2301, 2301,
3263  2301, 669, 667, 1013, 1228, 1860, 1860, 1860, 1860, 1868,
3264  3536, 3536, 680, 3536, 3536, 993, 2714, 1356, 1357, 1357,
3265  1356, 2038, 2038, 2038, 2038, 668, 671, 667, 666, 667,
3266  1255, 776, 667, 1819, 1819, 1819, 1819, 668, 2289, 2718,
3267 
3268  1228, 667, 1013, 2765, 853, 681, 1284, 1285, 1286, 1286,
3269  1889, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1287, 1288,
3270  1284, 1284, 1288, 1284, 1284, 1284, 667, 2728, 2600, 854,
3271  1289, 1288, 1290, 1284, 1284, 1284, 2599, 2720, 1233, 3536,
3272  3536, 3536, 3536, 668, 668, 2724, 3536, 1357, 1357, 1357,
3273  1357, 668, 668, 709, 1284, 1291, 1288, 1284, 666, 667,
3274  2262, 2261, 667, 1890, 2261, 2721, 1356, 1357, 1357, 1356,
3275  2302, 667, 993, 2302, 1233, 2264, 2263, 666, 667, 2263,
3276  668, 667, 1229, 2262, 2261, 1284, 1284, 1284, 1284, 1293,
3277  667, 1013, 2261, 2726, 772, 709, 667, 772, 1009, 1010,
3278 
3279  1010, 1009, 2842, 2264, 2263, 773, 668, 2261, 668, 772,
3280  774, 775, 772, 2650, 2651, 667, 668, 777, 2348, 778,
3281  773, 1617, 2263, 1013, 772, 774, 775, 772, 772, 2729,
3282  2261, 772, 777, 710, 778, 773, 2843, 2844, 668, 773,
3283  774, 775, 2731, 668, 774, 775, 1014, 777, 2730, 778,
3284  2293, 777, 2845, 778, 2322, 2323, 2323, 2322, 1741, 668,
3285  2293, 668, 1740, 2846, 1740, 2324, 1967, 1969, 1970, 1971,
3286  1970, 1970, 1971, 1970, 1970, 1970, 1970, 1970, 1970, 1970,
3287  1972, 1970, 1970, 1970, 1970, 1973, 1974, 1970, 2854, 2691,
3288  1387, 1978, 1975, 1970, 1976, 1970, 1970, 1970, 1861, 2736,
3289 
3290  1224, 1861, 2855, 2692, 772, 1740, 668, 772, 668, 1811,
3291  1811, 1811, 1811, 2264, 2263, 773, 1970, 1970, 1970, 1970,
3292  774, 775, 2263, 1010, 1010, 1010, 1010, 777, 2856, 778,
3293  1475, 1475, 1475, 1475, 2262, 1811, 2637, 852, 2261, 2637,
3294  2261, 772, 1861, 2857, 772, 1861, 1617, 1970, 1970, 1970,
3295  1970, 1977, 773, 853, 2638, 2867, 1979, 774, 775, 772,
3296  2263, 2703, 772, 2748, 777, 1811, 778, 1062, 2868, 772,
3297  773, 1014, 772, 2749, 2735, 774, 775, 1062, 854, 1062,
3298  773, 2261, 777, 1062, 778, 774, 775, 772, 1062, 965,
3299  772, 668, 777, 2695, 778, 978, 2869, 808, 773, 1853,
3300 
3301  1853, 1853, 1853, 774, 775, 772, 1854, 2870, 772, 2871,
3302  777, 855, 778, 1980, 966, 1084, 773, 978, 2834, 2872,
3303  772, 774, 775, 772, 772, 1084, 1084, 772, 777, 1084,
3304  778, 773, 1084, 2873, 2874, 773, 774, 775, 807, 772,
3305  774, 775, 772, 777, 1684, 778, 1684, 777, 2838, 778,
3306  773, 1813, 1814, 1814, 1813, 774, 775, 1981, 3536, 3536,
3307  3536, 3536, 777, 1229, 778, 3536, 772, 2260, 2260, 772,
3308  772, 2260, 1984, 772, 2299, 1982, 1983, 773, 2875, 577,
3309  1985, 773, 774, 775, 577, 772, 774, 775, 772, 777,
3310  2876, 778, 1986, 777, 1125, 778, 773, 2881, 1125, 2300,
3311 
3312  772, 774, 775, 772, 772, 2882, 2618, 772, 777, 1125,
3313  778, 773, 965, 1125, 2260, 773, 774, 775, 1125, 2883,
3314  774, 775, 1987, 777, 2884, 778, 2885, 777, 772, 778,
3315  1736, 772, 772, 1141, 1736, 772, 1736, 966, 2887, 773,
3316  2887, 808, 2214, 773, 774, 775, 2888, 1105, 774, 775,
3317  1747, 777, 2262, 778, 1746, 777, 1746, 778, 772, 2889,
3318  2831, 772, 772, 2261, 1387, 772, 2262, 1988, 2640, 773,
3319  2556, 2264, 2264, 773, 774, 775, 2558, 1736, 774, 775,
3320  2890, 777, 2263, 778, 1989, 777, 2891, 778, 772, 1736,
3321  2264, 772, 2556, 1736, 2263, 1736, 2263, 1746, 2558, 773,
3322 
3323  2892, 1105, 1990, 2262, 774, 775, 2215, 2261, 2893, 2261,
3324  1991, 777, 2646, 778, 1992, 1398, 1399, 1398, 1398, 1993,
3325  1398, 1398, 1398, 1398, 1398, 1398, 1398, 1400, 1398, 1398,
3326  1398, 1398, 1401, 1402, 1398, 772, 1736, 2263, 772, 1403,
3327  1398, 1404, 1398, 1398, 1398, 772, 773, 2648, 772, 965,
3328  2261, 774, 775, 2650, 1998, 2896, 773, 2896, 777, 2898,
3329  778, 774, 775, 1398, 1398, 1398, 1398, 2899, 777, 1744,
3330  778, 2900, 1994, 1744, 966, 1744, 2338, 2338, 2338, 2338,
3331  2832, 2214, 1481, 1481, 1481, 1481, 1105, 666, 2897, 772,
3332  2897, 1995, 772, 845, 1398, 1398, 1398, 1398, 1406, 1996,
3333 
3334  773, 2901, 2902, 2903, 772, 774, 775, 772, 772, 2904,
3335  2637, 772, 777, 2637, 778, 773, 1744, 2894, 2905, 773,
3336  774, 775, 2906, 772, 774, 775, 772, 777, 2638, 778,
3337  2658, 777, 2907, 778, 773, 2908, 2909, 1838, 772, 774,
3338  775, 772, 624, 1258, 668, 1997, 777, 668, 778, 773,
3339  965, 2926, 668, 772, 774, 775, 772, 668, 668, 772,
3340  1999, 777, 772, 778, 773, 668, 2920, 1250, 1250, 774,
3341  775, 668, 1847, 1847, 808, 966, 777, 772, 778, 2919,
3342  772, 2833, 777, 1848, 778, 1250, 1250, 2922, 773, 1273,
3343  1251, 1251, 2927, 774, 775, 1273, 2041, 2041, 2041, 2041,
3344 
3345  777, 1252, 778, 2042, 2000, 3536, 3536, 3536, 3536, 668,
3346  668, 2923, 3536, 2001, 1422, 1423, 1422, 1422, 1423, 1422,
3347  1422, 1422, 1422, 1422, 1422, 1422, 1424, 1422, 1422, 1422,
3348  1422, 1425, 1426, 1422, 772, 807, 1250, 772, 1427, 1422,
3349  1428, 1422, 1422, 1422, 772, 773, 668, 772, 668, 710,
3350  774, 775, 2264, 710, 1250, 773, 2263, 777, 2263, 778,
3351  774, 775, 1422, 1422, 1422, 1422, 2929, 777, 1744, 778,
3352  668, 2002, 1744, 1273, 1744, 668, 2700, 2701, 2701, 2700,
3353  1105, 2657, 2657, 2657, 2657, 2215, 2003, 772, 1228, 668,
3354  772, 2940, 2924, 1422, 1422, 1422, 1422, 1429, 773, 2263,
3355 
3356  2004, 2941, 772, 774, 775, 772, 772, 668, 709, 772,
3357  777, 668, 778, 773, 668, 1744, 710, 773, 774, 775,
3358  2954, 772, 774, 775, 772, 777, 668, 778, 668, 777,
3359  668, 778, 773, 2928, 2930, 2925, 772, 774, 775, 772,
3360  772, 668, 668, 772, 777, 668, 778, 773, 2931, 668,
3361  2005, 773, 774, 775, 1273, 668, 774, 775, 2006, 777,
3362  2933, 778, 1233, 777, 2955, 778, 772, 668, 668, 772,
3363  668, 1814, 1814, 1814, 1814, 2007, 2945, 773, 2932, 2935,
3364  2936, 772, 774, 775, 772, 772, 2741, 2009, 772, 777,
3365  2008, 778, 773, 2934, 2299, 668, 773, 774, 775, 2948,
3366 
3367  772, 774, 775, 772, 777, 1273, 778, 2956, 777, 668,
3368  778, 773, 668, 2010, 2957, 772, 774, 775, 772, 2300,
3369  1273, 668, 2958, 777, 668, 778, 773, 2301, 2301, 2301,
3370  2301, 774, 775, 2721, 1228, 668, 772, 2011, 777, 772,
3371  778, 668, 668, 668, 2012, 2942, 772, 773, 2947, 772,
3372  2959, 2937, 774, 775, 668, 2013, 2960, 773, 2961, 777,
3373  2014, 778, 774, 775, 668, 772, 2962, 2949, 772, 777,
3374  668, 778, 1273, 2963, 2938, 772, 773, 1950, 772, 2943,
3375  2015, 774, 775, 2964, 1861, 2953, 773, 1861, 777, 2260,
3376  778, 774, 775, 2260, 772, 2260, 2965, 772, 777, 2966,
3377 
3378  778, 1105, 2016, 2946, 772, 773, 1105, 772, 1233, 709,
3379  774, 775, 2973, 3009, 3010, 773, 3011, 777, 2017, 778,
3380  774, 775, 1387, 772, 3014, 3015, 772, 777, 3016, 778,
3381  2733, 2734, 2734, 2733, 773, 2944, 2260, 965, 772, 774,
3382  775, 772, 3018, 3019, 2018, 3020, 777, 993, 778, 773,
3383  3022, 993, 965, 772, 774, 775, 772, 965, 3023, 2019,
3384  2020, 777, 966, 778, 773, 3024, 3025, 993, 772, 774,
3385  775, 772, 772, 3029, 2854, 772, 777, 966, 778, 773,
3386  965, 3030, 966, 773, 774, 775, 978, 3036, 774, 775,
3387  2833, 777, 2833, 778, 2021, 777, 772, 778, 2022, 772,
3388 
3389  772, 3037, 3038, 772, 3021, 966, 2165, 773, 978, 2165,
3390  2023, 773, 774, 775, 3039, 772, 774, 775, 772, 777,
3391  3040, 778, 2025, 777, 2024, 778, 773, 3041, 3017, 2166,
3392  772, 774, 775, 772, 772, 3042, 1062, 772, 777, 2026,
3393  778, 773, 1062, 3043, 1062, 773, 774, 775, 1084, 1084,
3394  774, 775, 3044, 777, 1084, 778, 3045, 777, 1125, 778,
3395  772, 1122, 1130, 772, 1131, 2029, 2027, 3046, 1125, 772,
3396  3047, 773, 772, 3048, 3049, 1125, 774, 775, 3051, 3051,
3397  3052, 2028, 1734, 777, 772, 778, 1387, 772, 772, 3054,
3398  2030, 772, 777, 3064, 778, 773, 1734, 1837, 3053, 773,
3399 
3400  774, 775, 3072, 3053, 774, 775, 3053, 777, 3053, 778,
3401  3073, 777, 772, 778, 3053, 772, 772, 3065, 3066, 772,
3402  3065, 3074, 3053, 773, 2658, 2441, 2031, 773, 774, 775,
3403  3075, 3076, 774, 775, 3077, 777, 3078, 778, 3079, 777,
3404  772, 778, 3060, 772, 2032, 1476, 1476, 1476, 1476, 3053,
3405  3056, 773, 1477, 2033, 3062, 3063, 774, 775, 3080, 772,
3406  3053, 3058, 772, 777, 1258, 778, 668, 668, 853, 3089,
3407  773, 807, 1273, 1837, 772, 774, 775, 772, 863, 863,
3408  3113, 863, 777, 2034, 778, 773, 1273, 668, 3088, 864,
3409  774, 775, 2035, 854, 865, 866, 668, 777, 668, 778,
3410 
3411  3536, 3536, 3536, 3536, 668, 668, 3114, 3536, 1273, 3067,
3412  710, 2036, 1273, 2039, 2039, 2039, 2039, 862, 863, 668,
3413  862, 3120, 3103, 3536, 845, 3068, 1479, 668, 864, 1840,
3414  1840, 1840, 1840, 865, 866, 668, 853, 2037, 848, 1273,
3415  777, 2954, 778, 862, 863, 1273, 862, 1962, 3536, 668,
3416  3070, 3115, 2325, 3123, 864, 1839, 1840, 1840, 1839, 865,
3417  866, 854, 668, 3117, 668, 3100, 777, 3101, 778, 862,
3418  863, 3124, 862, 862, 863, 668, 862, 1842, 2325, 668,
3419  864, 3536, 3116, 3071, 864, 865, 866, 2044, 668, 865,
3420  866, 668, 777, 1273, 778, 709, 777, 3125, 778, 1950,
3421 
3422  2356, 862, 863, 1842, 862, 862, 863, 3126, 862, 668,
3423  3104, 3105, 864, 3104, 3107, 2045, 864, 865, 866, 3127,
3424  668, 865, 866, 668, 777, 3118, 778, 3128, 777, 3129,
3425  778, 2047, 2657, 2657, 2657, 2657, 3130, 3119, 3131, 1228,
3426  2046, 1970, 2048, 2049, 1970, 2048, 1970, 1970, 1970, 1970,
3427  1970, 1970, 1970, 2050, 1970, 1970, 1970, 1970, 2051, 2052,
3428  1970, 668, 1962, 2827, 2054, 1975, 1970, 1976, 1970, 1970,
3429  1970, 1487, 2659, 2660, 2660, 2659, 668, 862, 863, 3159,
3430  862, 1273, 3016, 2661, 2660, 2660, 2660, 2660, 864, 1970,
3431  1970, 1970, 1970, 865, 866, 2661, 1840, 1840, 1840, 1840,
3432 
3433  777, 3160, 778, 3020, 2335, 2336, 2336, 2335, 3106, 965,
3434  3162, 3106, 3022, 1233, 862, 863, 3164, 862, 2560, 2325,
3435  1970, 1970, 1970, 1970, 2053, 864, 993, 2337, 3167, 2055,
3436  865, 866, 862, 863, 966, 862, 668, 777, 3164, 778,
3437  3168, 1273, 3161, 864, 1842, 3169, 3170, 3171, 865, 866,
3438  862, 863, 680, 862, 3172, 777, 3173, 778, 3174, 668,
3439  3165, 864, 3175, 3176, 3177, 3178, 865, 866, 862, 863,
3440  896, 862, 2589, 777, 2589, 778, 1062, 3121, 939, 864,
3441  3121, 939, 3122, 1084, 865, 866, 2056, 862, 863, 940,
3442  862, 777, 1716, 778, 2674, 2675, 2675, 2674, 864, 2618,
3443 
3444  1125, 942, 3122, 865, 866, 2676, 2327, 2327, 2327, 2327,
3445  777, 2618, 778, 2328, 862, 863, 3182, 862, 3182, 895,
3446  3054, 1945, 3185, 3186, 1945, 864, 943, 3187, 1363, 678,
3447  865, 866, 2537, 1364, 3188, 3190, 2897, 777, 2057, 778,
3448  1946, 1946, 1946, 1946, 862, 863, 3053, 862, 862, 863,
3449  3070, 862, 3053, 2165, 680, 864, 2165, 2058, 2059, 864,
3450  865, 866, 3202, 3203, 865, 866, 2060, 777, 2658, 778,
3451  624, 777, 2330, 778, 862, 863, 2166, 862, 862, 863,
3452  3053, 862, 3053, 3184, 2658, 864, 3204, 1268, 3205, 864,
3453  865, 866, 2658, 2658, 865, 866, 3060, 777, 3053, 778,
3454 
3455  2061, 777, 3206, 778, 1258, 862, 863, 3053, 862, 862,
3456  863, 3191, 862, 671, 3191, 3053, 864, 668, 668, 668,
3457  864, 865, 866, 3053, 3180, 865, 866, 2062, 777, 3192,
3458  778, 3231, 777, 3232, 778, 862, 863, 3233, 862, 862,
3459  863, 3234, 862, 668, 3062, 3063, 864, 3235, 668, 3236,
3460  864, 865, 866, 3053, 3058, 865, 866, 3212, 777, 668,
3461  778, 896, 777, 3242, 778, 862, 863, 1273, 862, 862,
3462  863, 3213, 862, 1487, 3065, 3066, 864, 3065, 628, 3189,
3463  864, 865, 866, 668, 1945, 865, 866, 1945, 777, 668,
3464  778, 1363, 777, 3243, 778, 2064, 1364, 3237, 2063, 862,
3465 
3466  863, 3244, 862, 1946, 1946, 1946, 1946, 1950, 3219, 668,
3467  864, 1950, 668, 3245, 2348, 865, 866, 862, 863, 1950,
3468  862, 2066, 777, 1950, 778, 3062, 3063, 1950, 864, 3246,
3469  3238, 775, 668, 865, 866, 2065, 2675, 2675, 2675, 2675,
3470  777, 3239, 778, 1380, 1382, 3053, 866, 2676, 3053, 3254,
3471  3255, 2067, 1398, 1498, 1499, 1398, 2068, 1398, 1398, 1398,
3472  1398, 1398, 1398, 1398, 1500, 1398, 1398, 1398, 1398, 1501,
3473  1502, 1398, 1273, 2070, 3256, 3054, 1403, 1398, 1404, 1398,
3474  1398, 1398, 862, 863, 3164, 862, 2338, 2338, 2338, 2338,
3475  2854, 3053, 3056, 864, 2854, 3258, 3259, 666, 865, 866,
3476 
3477  1398, 1398, 1398, 1398, 3260, 777, 3164, 778, 3261, 2069,
3478  2338, 2338, 2338, 2338, 3262, 3263, 1009, 1010, 1010, 1009,
3479  3264, 666, 2858, 2858, 2858, 2858, 862, 863, 3165, 862,
3480  3265, 1398, 1398, 1398, 1398, 1504, 2071, 864, 3266, 1012,
3481  3267, 1013, 865, 866, 862, 863, 2859, 862, 2859, 777,
3482  978, 778, 965, 3268, 3270, 864, 3270, 3053, 3257, 3271,
3483  865, 866, 862, 863, 1014, 862, 3272, 777, 3053, 778,
3484  3053, 3273, 978, 864, 3274, 3275, 2860, 966, 865, 866,
3485  862, 863, 2072, 862, 2833, 777, 2168, 778, 2861, 3277,
3486  628, 864, 2862, 2863, 3184, 2864, 865, 866, 862, 863,
3487 
3488  1045, 862, 3197, 777, 3191, 778, 3281, 3191, 3205, 864,
3489  2073, 3053, 3180, 3276, 865, 866, 862, 863, 2074, 862,
3490  2658, 777, 3192, 778, 3284, 939, 1258, 864, 939, 668,
3491  3292, 668, 865, 866, 862, 863, 940, 862, 3054, 777,
3492  3292, 778, 3296, 624, 3291, 864, 896, 3305, 942, 3296,
3493  865, 866, 862, 863, 3322, 862, 3323, 777, 3296, 778,
3494  3324, 3290, 3325, 864, 3198, 3198, 3198, 3198, 865, 866,
3495  3303, 3067, 3326, 943, 3235, 777, 3335, 778, 862, 863,
3496  668, 862, 862, 863, 3336, 862, 3217, 3217, 2823, 864,
3497  1950, 1251, 1251, 864, 865, 866, 1950, 3327, 865, 866,
3498 
3499  2075, 777, 3218, 778, 668, 777, 3337, 778, 3294, 3010,
3500  668, 3294, 2076, 1422, 1519, 1520, 1422, 1519, 1422, 1422,
3501  1422, 1422, 1422, 1422, 1422, 1521, 1422, 1422, 1422, 1422,
3502  1522, 1523, 1422, 3016, 2078, 3328, 895, 1427, 1422, 1428,
3503  1422, 1422, 1422, 862, 863, 3071, 862, 668, 3329, 3020,
3504  1009, 1010, 1010, 1009, 864, 3217, 3346, 3347, 3348, 865,
3505  866, 1422, 1422, 1422, 1422, 3349, 777, 3350, 778, 978,
3506  2077, 3351, 3352, 1012, 3353, 1013, 3354, 3355, 1849, 1849,
3507  1849, 1849, 3345, 3356, 3358, 677, 862, 863, 3358, 862,
3508  3359, 978, 1422, 1422, 1422, 1422, 1524, 864, 1014, 2079,
3509 
3510  3365, 678, 865, 866, 862, 863, 2658, 862, 3372, 777,
3511  1258, 778, 3296, 2167, 3360, 864, 3361, 3360, 3374, 3361,
3512  865, 866, 862, 863, 3305, 862, 680, 777, 3296, 778,
3513  3217, 3217, 668, 864, 3362, 1251, 1251, 3362, 865, 866,
3514  862, 863, 3392, 862, 3325, 777, 3218, 778, 3393, 2080,
3515  668, 864, 3012, 3012, 3012, 3012, 865, 866, 2652, 681,
3516  2081, 862, 863, 777, 862, 778, 3395, 2652, 3536, 3536,
3517  3536, 3536, 864, 3363, 3398, 3013, 3363, 865, 866, 862,
3518  863, 3375, 862, 3398, 777, 3394, 778, 3400, 3394, 3296,
3519  864, 2082, 3536, 668, 3536, 865, 866, 862, 863, 3217,
3520 
3521  862, 3303, 777, 3401, 778, 3333, 3333, 3296, 864, 2083,
3522  1251, 1251, 2084, 865, 866, 862, 863, 1950, 862, 3314,
3523  777, 3334, 778, 3410, 3370, 3396, 864, 3370, 2865, 3411,
3524  3013, 865, 866, 862, 863, 3371, 862, 668, 777, 3412,
3525  778, 3413, 3121, 668, 864, 3121, 3536, 3122, 3364, 865,
3526  866, 3364, 2085, 3414, 862, 863, 777, 862, 778, 3420,
3527  3397, 3536, 3536, 3536, 3536, 864, 3420, 3122, 2086, 3290,
3528  865, 866, 862, 863, 3333, 862, 3422, 777, 2087, 778,
3529  3305, 3376, 1258, 864, 3376, 3536, 3426, 3536, 865, 866,
3530  862, 863, 3444, 862, 668, 777, 624, 778, 668, 3378,
3531 
3532  3445, 864, 3378, 2088, 2166, 3325, 865, 866, 862, 863,
3533  3379, 862, 668, 777, 2089, 778, 2589, 3418, 3421, 864,
3534  3418, 3421, 668, 3448, 865, 866, 862, 863, 1273, 862,
3535  3290, 777, 3360, 778, 3446, 3360, 3449, 864, 2090, 3536,
3536  1382, 3454, 865, 866, 862, 863, 3410, 862, 3455, 777,
3537  3456, 778, 3333, 3333, 3457, 864, 3361, 1251, 1251, 3361,
3538  865, 866, 2091, 862, 863, 1487, 862, 777, 3334, 778,
3539  3536, 3536, 3536, 3536, 864, 1040, 1040, 1040, 1040, 865,
3540  866, 862, 863, 3459, 862, 3459, 777, 3362, 778, 3460,
3541  3362, 3305, 864, 1258, 3536, 2092, 3536, 865, 866, 862,
3542 
3543  863, 3466, 862, 668, 777, 3295, 778, 3475, 3409, 2093,
3544  864, 3409, 3476, 978, 3478, 865, 866, 862, 863, 2094,
3545  862, 3333, 777, 3479, 778, 3486, 3298, 3487, 864, 3298,
3546  2866, 3351, 3351, 865, 866, 978, 3489, 3304, 862, 863,
3547  777, 862, 778, 2038, 2038, 2038, 2038, 772, 3536, 864,
3548  772, 3295, 2095, 1045, 865, 866, 3489, 862, 863, 2096,
3549  862, 777, 3363, 778, 3376, 3363, 853, 3376, 864, 668,
3550  777, 2097, 778, 865, 866, 3490, 1258, 3500, 862, 863,
3551  777, 862, 778, 3418, 3477, 3502, 3418, 939, 2098, 864,
3552  939, 854, 2099, 3503, 865, 866, 862, 863, 940, 862,
3553 
3554  3493, 777, 3410, 778, 668, 3378, 3364, 864, 3378, 3364,
3555  942, 3410, 865, 866, 862, 863, 3379, 862, 3508, 777,
3556  3508, 778, 3205, 3295, 2100, 864, 3295, 1258, 3295, 3421,
3557  865, 866, 3421, 862, 863, 943, 862, 777, 3512, 778,
3558  1481, 1481, 1481, 1481, 864, 668, 3431, 668, 1487, 865,
3559  866, 845, 862, 863, 624, 862, 777, 3008, 778, 3514,
3560  3501, 939, 2101, 864, 939, 1950, 668, 3517, 865, 866,
3561  862, 863, 940, 862, 3517, 777, 3513, 778, 3509, 2102,
3562  3394, 864, 3447, 3394, 942, 3447, 865, 866, 1258, 1487,
3563  3325, 939, 668, 777, 939, 778, 862, 863, 3522, 862,
3564 
3565  862, 863, 940, 862, 3522, 2166, 1258, 864, 2103, 943,
3566  3523, 864, 865, 866, 942, 3451, 865, 866, 3451, 777,
3567  668, 778, 3452, 777, 3290, 778, 862, 863, 3158, 862,
3568  862, 863, 3447, 862, 2382, 3447, 2104, 864, 3526, 943,
3569  3526, 864, 865, 866, 1258, 3344, 865, 866, 3529, 777,
3570  2383, 778, 3518, 777, 3529, 778, 2105, 862, 863, 668,
3571  862, 862, 863, 1258, 862, 2106, 3295, 3499, 864, 3295,
3572  3499, 3530, 864, 865, 866, 3533, 3451, 865, 866, 3451,
3573  777, 668, 778, 3481, 777, 895, 778, 862, 863, 3468,
3574  862, 1009, 1010, 1010, 1009, 2619, 2618, 2107, 864, 1009,
3575 
3576  1010, 1010, 1009, 865, 866, 1009, 1010, 1010, 1009, 2108,
3577  777, 2613, 778, 2109, 1012, 3534, 1013, 1009, 1010, 1010,
3578  1009, 668, 1012, 2215, 1013, 1684, 3298, 2610, 1012, 3298,
3579  1013, 1009, 1010, 1010, 1009, 2609, 2608, 3304, 3407, 1014,
3580  1617, 3407, 1013, 1009, 1010, 1010, 1009, 1014, 2607, 3408,
3581  2110, 3295, 2169, 1014, 1012, 3295, 1013, 2170, 3295, 2606,
3582  1025, 1009, 1010, 1010, 1009, 1014, 1012, 1084, 1013, 1009,
3583  1010, 1010, 1009, 1009, 1010, 1010, 1009, 2605, 3384, 1014,
3584  1009, 1010, 1010, 1009, 1012, 2604, 1013, 1009, 1010, 1010,
3585  1009, 1014, 1012, 1084, 1013, 2603, 1012, 3463, 1013, 3409,
3586 
3587  3463, 1025, 3409, 1012, 978, 1013, 2602, 2592, 3319, 1014,
3588  1012, 668, 1013, 1009, 1010, 1010, 1009, 1014, 3532, 3442,
3589  3536, 1014, 3442, 3536, 2171, 2172, 978, 3536, 1014, 1009,
3590  1010, 1010, 1009, 2591, 3536, 1014, 1012, 3536, 1013, 2590,
3591  2589, 3536, 2173, 2175, 3295, 2174, 1009, 1010, 1010, 1009,
3592  3491, 2588, 1012, 3491, 1013, 1009, 1010, 1010, 1009, 2587,
3593  2586, 1014, 1009, 1010, 1010, 1009, 2585, 3499, 2573, 1012,
3594  3499, 1013, 668, 2176, 2571, 3527, 2302, 1014, 1012, 2302,
3595  1013, 939, 2570, 1228, 939, 1012, 1234, 1013, 1229, 2177,
3596  3483, 1234, 940, 3483, 1014, 2303, 2303, 2303, 2303, 1230,
3597 
3598  1234, 1025, 3484, 1014, 942, 1234, 668, 2178, 3463, 3531,
3599  1014, 3463, 2569, 2568, 2179, 664, 665, 665, 664, 3319,
3600  1850, 1850, 1850, 1850, 1232, 2567, 666, 667, 2566, 943,
3601  667, 666, 2565, 1850, 1850, 1850, 1850, 3253, 669, 667,
3602  670, 993, 3407, 678, 666, 3407, 2564, 1253, 1253, 1253,
3603  1253, 2563, 3535, 3408, 1254, 3535, 678, 1233, 1852, 3199,
3604  3199, 3199, 3199, 671, 667, 942, 3200, 2562, 680, 993,
3605  678, 2039, 2039, 2039, 2039, 2561, 2560, 3278, 3278, 3278,
3606  3278, 680, 845, 1747, 3067, 2298, 1813, 1814, 1814, 1813,
3607  943, 668, 1741, 1228, 853, 680, 2551, 2550, 1229, 2344,
3608 
3609  2345, 2345, 2344, 2549, 2544, 1815, 1815, 1815, 1815, 1816,
3610  2346, 667, 2543, 1255, 667, 2345, 2345, 2345, 2345, 854,
3611  2542, 2541, 669, 667, 1013, 2540, 2346, 667, 681, 3463,
3612  667, 2539, 3463, 2538, 1818, 950, 943, 942, 669, 667,
3613  3319, 2111, 866, 3012, 3012, 3012, 3012, 671, 667, 1382,
3614  1878, 1878, 1878, 1878, 1009, 1010, 1010, 1009, 3071, 1380,
3615  775, 1879, 667, 671, 667, 667, 3013, 1233, 1813, 1814,
3616  1814, 1813, 2425, 669, 667, 1228, 2424, 1012, 2423, 1013,
3617  1229, 1877, 1878, 1878, 1877, 2422, 2421, 1815, 1815, 1815,
3618  1815, 1816, 1879, 667, 2418, 2417, 667, 772, 671, 667,
3619 
3620  772, 2416, 1014, 2415, 669, 667, 1013, 2414, 773, 3536,
3621  3536, 3536, 3536, 774, 775, 772, 1818, 2413, 772, 2412,
3622  777, 3013, 778, 1944, 2410, 3483, 773, 2409, 3483, 671,
3623  667, 774, 775, 2039, 2039, 2039, 2039, 3505, 777, 710,
3624  778, 1328, 2388, 772, 845, 3483, 772, 1273, 3483, 1233,
3625  664, 665, 665, 664, 773, 2380, 853, 3505, 848, 774,
3626  775, 666, 667, 2379, 3351, 667, 777, 2411, 778, 3199,
3627  3199, 3199, 3199, 669, 667, 670, 3200, 772, 1273, 668,
3628  772, 854, 671, 3483, 2334, 2427, 3483, 3536, 773, 3536,
3629  3536, 3536, 3536, 774, 775, 3484, 3536, 2334, 671, 667,
3630 
3631  777, 1258, 778, 2326, 2321, 2320, 2331, 1860, 2355, 1862,
3632  1862, 2355, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1863,
3633  1864, 1860, 1860, 1864, 1860, 1860, 1860, 1009, 1010, 1010,
3634  1009, 1865, 1864, 1866, 1860, 1860, 1860, 2307, 2308, 2308,
3635  2307, 2319, 3497, 772, 2428, 3497, 772, 2318, 2309, 2317,
3636  1012, 2314, 1013, 3319, 773, 1860, 1867, 1864, 1860, 774,
3637  775, 2336, 2336, 2336, 2336, 2313, 777, 2312, 778, 2659,
3638  2660, 2660, 2659, 2311, 2310, 1014, 1009, 1010, 1010, 1009,
3639  2661, 2306, 2305, 1818, 678, 624, 1860, 1860, 1860, 1860,
3640  1868, 1877, 1878, 1878, 1877, 624, 624, 3497, 2575, 1012,
3641 
3642  3497, 1013, 1879, 667, 624, 1787, 667, 2281, 3319, 680,
3643  772, 2273, 2429, 772, 669, 667, 1013, 1773, 2269, 1762,
3644  772, 773, 3483, 772, 1014, 3483, 774, 775, 2265, 1751,
3645  2578, 773, 2264, 777, 3505, 778, 774, 775, 1747, 671,
3646  667, 772, 2262, 777, 772, 778, 1741, 2360, 1913, 665,
3647  665, 1913, 773, 1009, 1010, 1010, 1009, 774, 775, 666,
3648  667, 2259, 1738, 667, 777, 2257, 778, 3295, 3536, 3295,
3649  3295, 669, 667, 1013, 3295, 2430, 1012, 3497, 1013, 2246,
3650  3497, 2242, 808, 2858, 2858, 2858, 2858, 772, 3319, 2242,
3651  772, 2239, 1009, 1010, 1010, 1009, 671, 667, 773, 2238,
3652 
3653  808, 1014, 2382, 774, 775, 2237, 1125, 2859, 2236, 2859,
3654  777, 2235, 778, 2234, 2233, 1012, 2576, 1013, 2383, 1422,
3655  1423, 1422, 1422, 1423, 1422, 1422, 1422, 1422, 1422, 1422,
3656  1422, 1424, 1422, 1422, 1422, 1422, 1425, 1426, 1422, 772,
3657  1014, 2232, 772, 1427, 1422, 1428, 1422, 1422, 1422, 772,
3658  773, 2231, 772, 2230, 3034, 774, 775, 1387, 2229, 2228,
3659  773, 1045, 777, 1025, 778, 774, 775, 1422, 1422, 1422,
3660  1422, 1125, 777, 2227, 778, 2226, 2431, 2225, 1125, 2224,
3661  772, 2216, 1684, 772, 2660, 2660, 2660, 2660, 1684, 2209,
3662  1084, 773, 2208, 2207, 2206, 2661, 774, 775, 1422, 1422,
3663 
3664  1422, 1422, 1429, 777, 772, 778, 2205, 772, 772, 2433,
3665  2432, 772, 2204, 643, 643, 773, 2203, 2202, 643, 773,
3666  774, 775, 643, 772, 774, 775, 772, 777, 1084, 778,
3667  2201, 777, 2200, 778, 773, 1084, 2199, 2198, 772, 774,
3668  775, 772, 772, 1062, 2197, 772, 777, 2196, 778, 773,
3669  2195, 2194, 2434, 773, 774, 775, 2193, 772, 774, 775,
3670  772, 777, 2192, 778, 2191, 777, 1062, 778, 773, 2190,
3671  2189, 2436, 1062, 774, 775, 2435, 2188, 2187, 772, 2186,
3672  777, 772, 778, 3536, 3536, 3536, 3536, 2437, 2185, 773,
3673  2184, 2183, 2182, 772, 774, 775, 772, 2181, 2438, 2180,
3674 
3675  1619, 777, 1618, 778, 773, 2327, 2327, 2327, 2327, 774,
3676  775, 2439, 2677, 1387, 772, 1014, 777, 772, 778, 3198,
3677  3198, 3198, 3198, 2162, 993, 773, 3067, 2161, 678, 772,
3678  774, 775, 772, 772, 2160, 2159, 772, 777, 2158, 778,
3679  773, 2440, 2157, 3415, 773, 774, 775, 2156, 2155, 774,
3680  775, 2154, 777, 680, 778, 2153, 777, 772, 778, 993,
3681  772, 3536, 2152, 2151, 807, 2150, 2442, 772, 773, 2149,
3682  772, 2679, 993, 774, 775, 2148, 2132, 2125, 773, 2122,
3683  777, 2121, 778, 774, 775, 772, 1268, 2120, 772, 2119,
3684  777, 2118, 778, 950, 2443, 772, 773, 943, 772, 2113,
3685 
3686  3071, 774, 775, 2111, 2444, 866, 773, 866, 777, 1474,
3687  778, 774, 775, 772, 1382, 1380, 772, 775, 777, 1382,
3688  778, 1380, 775, 772, 773, 1382, 772, 1962, 1961, 774,
3689  775, 1387, 1960, 2445, 773, 1959, 777, 1958, 778, 774,
3690  775, 1957, 772, 1954, 1953, 772, 777, 1952, 778, 1951,
3691  1950, 1949, 772, 773, 2446, 772, 1948, 1940, 774, 775,
3692  1939, 753, 753, 773, 2447, 777, 753, 778, 774, 775,
3693  753, 772, 1926, 668, 772, 777, 671, 778, 2448, 1264,
3694  1258, 1838, 773, 1619, 1837, 1836, 772, 774, 775, 772,
3695  772, 1835, 2449, 772, 777, 2450, 778, 773, 1834, 841,
3696 
3697  841, 773, 774, 775, 841, 1833, 774, 775, 841, 777,
3698  1832, 778, 1829, 777, 772, 778, 1828, 772, 772, 860,
3699  860, 772, 2451, 1827, 860, 773, 1826, 1825, 860, 773,
3700  774, 775, 1824, 1823, 774, 775, 1232, 777, 2452, 778,
3701  2453, 777, 2454, 778, 772, 929, 929, 772, 772, 1224,
3702  929, 772, 1786, 1786, 929, 773, 1774, 1763, 1752, 773,
3703  774, 775, 1747, 772, 774, 775, 772, 777, 1737, 778,
3704  1741, 777, 1739, 778, 773, 1737, 1152, 674, 772, 774,
3705  775, 772, 1720, 2455, 1720, 2456, 777, 1718, 778, 773,
3706  3520, 3520, 3520, 3520, 774, 775, 2457, 772, 1141, 1141,
3707 
3708  772, 777, 1717, 778, 2458, 1714, 1713, 1710, 773, 3279,
3709  3279, 3279, 3279, 774, 775, 772, 1709, 1708, 772, 1707,
3710  777, 3194, 778, 2459, 3194, 772, 773, 1706, 772, 1705,
3711  1125, 774, 775, 3194, 1387, 1703, 773, 1702, 777, 1701,
3712  778, 774, 775, 772, 1700, 1699, 772, 1125, 777, 1684,
3713  778, 1682, 1681, 772, 773, 1680, 772, 1679, 3194, 774,
3714  775, 1676, 1675, 1674, 773, 1673, 777, 2460, 778, 774,
3715  775, 772, 936, 936, 772, 1084, 777, 936, 778, 1672,
3716  1671, 936, 773, 1670, 1669, 1084, 2461, 774, 775, 1668,
3717  772, 1667, 1666, 772, 777, 1665, 778, 1662, 2462, 1661,
3718 
3719  772, 773, 1660, 772, 1659, 1062, 774, 775, 1658, 949,
3720  949, 773, 2463, 777, 949, 778, 774, 775, 949, 772,
3721  1657, 1656, 772, 777, 807, 778, 1655, 2464, 1062, 772,
3722  773, 1654, 772, 1653, 1652, 774, 775, 1651, 1650, 1649,
3723  773, 2465, 777, 1648, 778, 774, 775, 772, 953, 953,
3724  772, 1647, 777, 953, 778, 1646, 2466, 953, 773, 1619,
3725  2467, 1618, 772, 774, 775, 772, 3520, 3520, 3520, 3520,
3726  777, 1616, 778, 773, 1615, 1614, 1613, 772, 774, 775,
3727  772, 1612, 1611, 2469, 2468, 777, 1608, 778, 773, 2335,
3728  2336, 2336, 2335, 774, 775, 1607, 2674, 2675, 2675, 2674,
3729 
3730  777, 2470, 778, 772, 1606, 1605, 772, 2676, 3295, 3536,
3731  3295, 3295, 678, 772, 773, 3295, 772, 993, 1603, 774,
3732  775, 2471, 961, 961, 773, 1602, 777, 961, 778, 774,
3733  775, 961, 1601, 1600, 1599, 1598, 777, 680, 778, 993,
3734  2472, 1970, 1971, 1970, 1970, 1971, 1970, 1970, 1970, 1970,
3735  1970, 1970, 1970, 1972, 1970, 1970, 1970, 1970, 2473, 2474,
3736  1970, 1009, 1010, 1010, 1009, 1975, 1970, 1976, 1970, 1970,
3737  1970, 772, 3536, 974, 772, 3536, 967, 2475, 3278, 3278,
3738  3278, 3278, 773, 2476, 1012, 3067, 1013, 774, 775, 1970,
3739  1970, 1970, 1970, 966, 777, 967, 778, 2675, 2675, 2675,
3740 
3741  2675, 1577, 772, 1576, 1575, 772, 1006, 1006, 2676, 1014,
3742  1574, 1006, 1573, 773, 950, 1006, 1571, 950, 774, 775,
3743  1970, 1970, 1970, 1970, 1977, 777, 2477, 778, 2577, 772,
3744  1568, 2478, 772, 1567, 1565, 931, 2479, 674, 867, 772,
3745  773, 866, 772, 854, 1474, 774, 775, 849, 776, 1382,
3746  773, 1380, 777, 775, 778, 774, 775, 772, 1375, 3071,
3747  772, 1372, 777, 1369, 778, 1368, 755, 1387, 773, 755,
3748  1354, 668, 680, 774, 775, 772, 1258, 671, 772, 668,
3749  777, 1244, 778, 1241, 1238, 772, 773, 2480, 772, 1237,
3750  1224, 774, 775, 628, 624, 624, 773, 1387, 777, 616,
3751 
3752  778, 774, 775, 772, 1047, 1047, 772, 609, 777, 1047,
3753  778, 605, 674, 1047, 773, 1040, 1040, 1040, 1040, 774,
3754  775, 1152, 862, 863, 572, 862, 777, 1147, 778, 2481,
3755  1144, 1141, 572, 864, 3536, 3536, 3536, 3536, 865, 866,
3756  862, 863, 1137, 862, 1136, 777, 2482, 778, 1135, 1128,
3757  1127, 864, 1124, 1123, 2483, 1120, 865, 866, 1119, 808,
3758  1109, 862, 863, 777, 862, 778, 1055, 1055, 1098, 2877,
3759  1097, 1055, 864, 1094, 1093, 1055, 1092, 865, 866, 862,
3760  863, 2878, 862, 1088, 777, 2879, 778, 1087, 2880, 1086,
3761  864, 1083, 2485, 1045, 3417, 865, 866, 862, 863, 1082,
3762 
3763  862, 1081, 777, 1080, 778, 1079, 1072, 2486, 864, 1071,
3764  1070, 1066, 3536, 865, 866, 862, 863, 1065, 862, 1064,
3765  777, 1061, 778, 1060, 1073, 1073, 864, 1059, 1058, 1073,
3766  2487, 865, 866, 1073, 1077, 1077, 1057, 572, 777, 1077,
3767  778, 1053, 1052, 1077, 2488, 1422, 1519, 1520, 1422, 1519,
3768  1422, 1422, 1422, 1422, 1422, 1422, 1422, 1521, 1422, 1422,
3769  1422, 1422, 1522, 1523, 1422, 1009, 1010, 1010, 1009, 1427,
3770  1422, 1428, 1422, 1422, 1422, 862, 863, 1051, 862, 1050,
3771  1049, 572, 3536, 3536, 3536, 3536, 864, 1008, 1012, 3536,
3772  1013, 865, 866, 1422, 1422, 1422, 1422, 1005, 777, 1004,
3773 
3774  778, 1003, 2489, 1095, 1095, 3536, 862, 863, 1095, 862,
3775  1100, 1100, 1095, 1014, 997, 1100, 996, 864, 995, 1100,
3776  992, 991, 865, 866, 1422, 1422, 1422, 1422, 1524, 777,
3777  3536, 778, 862, 863, 990, 862, 1025, 896, 987, 986,
3778  967, 962, 959, 864, 958, 957, 956, 950, 865, 866,
3779  862, 863, 572, 862, 572, 777, 674, 778, 931, 572,
3780  842, 864, 646, 3536, 755, 896, 865, 866, 862, 863,
3781  752, 862, 755, 777, 754, 778, 752, 1106, 1106, 864,
3782  675, 654, 1106, 651, 865, 866, 1106, 862, 863, 646,
3783  862, 777, 644, 778, 3282, 3283, 2308, 3282, 864, 638,
3784 
3785  635, 624, 1487, 865, 866, 2309, 862, 863, 624, 862,
3786  777, 624, 778, 619, 616, 608, 572, 864, 595, 589,
3787  580, 1487, 865, 866, 862, 863, 572, 862, 2490, 777,
3788  3536, 778, 3536, 1117, 1117, 864, 3536, 3536, 1117, 3536,
3789  865, 866, 1117, 3536, 3536, 862, 863, 777, 862, 778,
3790  3536, 3536, 3536, 3536, 3536, 3536, 864, 3536, 3536, 2491,
3791  3536, 865, 866, 862, 863, 3536, 862, 3536, 777, 3536,
3792  778, 3536, 3536, 3536, 864, 3536, 3536, 2492, 3536, 865,
3793  866, 862, 863, 3536, 862, 3536, 777, 2493, 778, 3536,
3794  3536, 3536, 864, 1040, 1040, 1040, 1040, 865, 866, 862,
3795 
3796  863, 3536, 862, 3536, 777, 2494, 778, 3536, 3536, 3536,
3797  864, 3536, 3536, 3536, 3536, 865, 866, 862, 863, 3536,
3798  862, 3536, 777, 3536, 778, 3536, 3536, 3536, 864, 3536,
3799  3536, 3536, 2495, 865, 866, 862, 863, 1487, 862, 3536,
3800  777, 3536, 778, 3536, 3536, 3536, 864, 2860, 3536, 3536,
3801  3536, 865, 866, 862, 863, 3536, 862, 3536, 777, 2861,
3802  778, 3536, 2496, 2862, 864, 3536, 2864, 3536, 3536, 865,
3803  866, 1045, 1139, 1139, 3536, 3536, 777, 1139, 778, 862,
3804  863, 1139, 862, 862, 863, 3536, 862, 3536, 895, 3536,
3805  864, 2441, 1566, 1566, 864, 865, 866, 1566, 3536, 865,
3806 
3807  866, 1566, 777, 3536, 778, 2497, 777, 3536, 778, 862,
3808  863, 3536, 862, 862, 863, 3536, 862, 3536, 1569, 1569,
3809  864, 3536, 3536, 1569, 864, 865, 866, 1569, 3536, 865,
3810  866, 3536, 777, 3536, 778, 3536, 777, 3536, 778, 862,
3811  863, 3536, 862, 3536, 2498, 3536, 3536, 3536, 3536, 3536,
3812  864, 3536, 3536, 3536, 2499, 865, 866, 862, 863, 3536,
3813  862, 3536, 777, 3536, 778, 3536, 3536, 3536, 864, 3536,
3814  3536, 3536, 3536, 865, 866, 862, 863, 3536, 862, 2500,
3815  777, 3536, 778, 1487, 3536, 3536, 864, 3536, 3536, 3536,
3816  3536, 865, 866, 862, 863, 3536, 862, 3536, 777, 3536,
3817 
3818  778, 3536, 3536, 3536, 864, 3536, 3536, 3536, 2501, 865,
3819  866, 862, 863, 3536, 862, 3536, 777, 3536, 778, 3536,
3820  1572, 1572, 864, 3536, 3536, 1572, 2502, 865, 866, 1572,
3821  862, 863, 3536, 862, 777, 3536, 778, 3536, 3536, 3536,
3822  2503, 864, 3536, 3536, 3536, 3536, 865, 866, 3536, 862,
3823  863, 3536, 862, 777, 3536, 778, 3536, 3536, 3536, 3536,
3824  864, 3536, 2504, 3536, 2505, 865, 866, 862, 863, 3536,
3825  862, 3536, 777, 3536, 778, 3536, 3536, 3536, 864, 3536,
3826  3536, 3536, 3536, 865, 866, 862, 863, 3536, 862, 3536,
3827  777, 3536, 778, 3536, 3536, 3536, 864, 3536, 3536, 3536,
3828 
3829  2506, 865, 866, 862, 863, 3536, 862, 3536, 777, 3536,
3830  778, 3536, 3536, 3536, 864, 3536, 2507, 3536, 3536, 865,
3831  866, 2508, 862, 863, 3536, 862, 777, 3536, 778, 3536,
3832  3536, 3536, 3536, 864, 3536, 3536, 3536, 2509, 865, 866,
3833  862, 863, 3536, 862, 3536, 777, 3536, 778, 3536, 3536,
3834  3536, 864, 3279, 3279, 3279, 3279, 865, 866, 862, 863,
3835  3536, 862, 3536, 777, 3194, 778, 3536, 3194, 3536, 864,
3836  3536, 3536, 2510, 3536, 865, 866, 3194, 862, 863, 3536,
3837  862, 777, 3536, 778, 3536, 3536, 3536, 3536, 864, 2511,
3838  3536, 3536, 2512, 865, 866, 862, 863, 3536, 862, 3536,
3839 
3840  777, 3194, 778, 3536, 3536, 3536, 864, 2336, 2336, 2336,
3841  2336, 865, 866, 3536, 2513, 3536, 862, 863, 777, 862,
3842  778, 1009, 1010, 1010, 1009, 3536, 3536, 864, 3536, 3536,
3843  678, 3536, 865, 866, 3536, 3536, 3536, 2514, 3536, 777,
3844  3536, 778, 862, 863, 1012, 862, 1013, 2114, 2114, 3536,
3845  3536, 1487, 2114, 864, 3536, 680, 2114, 3536, 865, 866,
3846  862, 863, 3536, 862, 3536, 777, 3536, 778, 3536, 1014,
3847  3536, 864, 2580, 3536, 3536, 3536, 865, 866, 862, 863,
3848  3536, 862, 3536, 777, 3536, 778, 2515, 3536, 3536, 864,
3849  3536, 3536, 3536, 3536, 865, 866, 862, 863, 3536, 862,
3850 
3851  3536, 777, 3536, 778, 3536, 3536, 3536, 864, 3293, 1840,
3852  1840, 3293, 865, 866, 3536, 2516, 3536, 862, 863, 777,
3853  862, 778, 3536, 1009, 1010, 1010, 1009, 3536, 864, 2517,
3854  3536, 1841, 3536, 865, 866, 3536, 2327, 2327, 2327, 2327,
3855  777, 3536, 778, 2328, 862, 863, 1012, 862, 1013, 895,
3856  3536, 3536, 2518, 3536, 3536, 864, 1842, 3536, 3536, 678,
3857  865, 866, 862, 863, 3536, 862, 3536, 777, 2519, 778,
3858  3536, 1014, 3536, 864, 3536, 3536, 3536, 3536, 865, 866,
3859  3536, 3536, 3536, 2520, 680, 777, 3536, 778, 2581, 862,
3860  863, 3536, 862, 3536, 3536, 3536, 1009, 1010, 1010, 1009,
3861 
3862  864, 3536, 2330, 3536, 2521, 865, 866, 862, 863, 3536,
3863  862, 3536, 777, 3536, 778, 3536, 3536, 1268, 864, 1012,
3864  3536, 1013, 3536, 865, 866, 862, 863, 2522, 862, 3536,
3865  777, 3536, 778, 3536, 3536, 3536, 864, 3536, 3536, 3536,
3866  3536, 865, 866, 2523, 1014, 3536, 862, 863, 777, 862,
3867  778, 3536, 2579, 3536, 3536, 3536, 3536, 864, 3536, 3536,
3868  3536, 2524, 865, 866, 862, 863, 3536, 862, 3536, 777,
3869  3536, 778, 3536, 3536, 3536, 864, 3536, 3536, 3536, 3536,
3870  865, 866, 862, 863, 2525, 862, 3536, 777, 3536, 778,
3871  3536, 3536, 3536, 864, 3536, 3536, 3536, 3536, 865, 866,
3872 
3873  862, 863, 3536, 862, 3536, 777, 3536, 778, 3536, 2526,
3874  3536, 864, 3536, 3536, 3536, 3536, 865, 866, 862, 863,
3875  3536, 862, 3536, 777, 3536, 778, 3536, 3536, 3536, 864,
3876  1265, 1265, 1265, 1265, 865, 866, 3536, 2917, 2527, 3536,
3877  3536, 777, 3536, 778, 3536, 862, 863, 3536, 862, 2164,
3878  2164, 3536, 2528, 678, 2164, 2529, 864, 3536, 2164, 3536,
3879  2530, 865, 866, 862, 863, 2531, 862, 3536, 777, 3536,
3880  778, 3536, 3536, 3536, 864, 3536, 3536, 3536, 680, 865,
3881  866, 862, 863, 1487, 862, 3536, 777, 3536, 778, 3536,
3882  3536, 3536, 864, 3536, 3536, 3536, 3536, 865, 866, 862,
3883 
3884  863, 3536, 862, 2532, 777, 3536, 778, 3536, 3536, 3536,
3885  864, 1268, 3536, 3536, 3536, 865, 866, 862, 863, 3536,
3886  862, 1487, 777, 3536, 778, 3536, 3536, 3536, 864, 3536,
3887  3536, 3536, 3536, 865, 866, 862, 863, 3536, 862, 3536,
3888  777, 3536, 778, 3536, 3536, 3536, 864, 3536, 3536, 3536,
3889  3536, 865, 866, 2533, 3536, 3536, 772, 3536, 777, 772,
3890  778, 3536, 3536, 3366, 3367, 2660, 3366, 773, 3536, 3536,
3891  2534, 3536, 2740, 2741, 2661, 2240, 2240, 3536, 3536, 777,
3892  2240, 778, 3536, 3536, 2240, 3536, 2535, 3536, 3536, 3536,
3893  3536, 896, 1422, 1627, 1628, 1628, 1627, 1422, 1422, 1422,
3894 
3895  1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422,
3896  1422, 1422, 1011, 1011, 1011, 1011, 1629, 1422, 1630, 1422,
3897  1422, 1422, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011,
3898  1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011,
3899  1422, 1631, 1422, 1422, 1011, 1011, 1011, 1011, 1011, 2574,
3900  1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011,
3901  1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011,
3902  1011, 1422, 1422, 1422, 1422, 1632, 1009, 1010, 1010, 1009,
3903  1009, 1010, 1010, 1009, 1009, 1010, 1010, 1009, 3536, 2680,
3904  2680, 2680, 2680, 1009, 1010, 1010, 1009, 2678, 2678, 1012,
3905 
3906  666, 1013, 2678, 1012, 3536, 1013, 2678, 1012, 3536, 1013,
3907  772, 3536, 2325, 772, 2682, 3536, 1012, 3536, 1013, 3536,
3908  3536, 773, 3536, 3536, 1014, 3536, 774, 775, 1014, 3536,
3909  3536, 3536, 1014, 777, 2582, 778, 3536, 1842, 2847, 2847,
3910  3536, 1014, 3536, 2847, 3536, 3536, 3536, 2847, 3536, 3536,
3911  3536, 2583, 3536, 2584, 1422, 1422, 1422, 1422, 1422, 1422,
3912  1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422,
3913  1422, 1422, 1422, 1422, 1118, 1118, 1118, 1118, 1422, 1422,
3914  1422, 1422, 1422, 1422, 1118, 1118, 1118, 1118, 1118, 1118,
3915  1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
3916 
3917  1118, 1118, 1422, 1422, 1422, 1422, 1118, 1118, 1118, 1118,
3918  1118, 2617, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
3919  1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
3920  1118, 1118, 1118, 1422, 1422, 1422, 1422, 1704, 664, 665,
3921  665, 664, 2918, 2918, 3536, 2302, 3536, 2918, 2302, 666,
3922  667, 2918, 1228, 667, 2655, 2656, 3536, 1229, 3536, 3536,
3923  3536, 669, 667, 670, 2303, 2303, 2303, 2303, 1230, 2680,
3924  2680, 2680, 2680, 2344, 2345, 2345, 2344, 3536, 3536, 3536,
3925  666, 3536, 3536, 3536, 2346, 667, 671, 667, 667, 3536,
3926  3069, 3069, 2325, 1232, 2682, 3069, 669, 667, 1013, 3069,
3927 
3928  3536, 3367, 3367, 2660, 3367, 3536, 3536, 3536, 2345, 2345,
3929  2345, 2345, 2661, 3317, 665, 3318, 3317, 1842, 3536, 2346,
3930  667, 671, 667, 667, 3319, 3536, 1233, 1813, 1814, 1814,
3931  1813, 669, 667, 3536, 1228, 3536, 2683, 3536, 3536, 1229,
3932  3536, 3536, 772, 3536, 3536, 772, 1815, 1815, 1815, 1815,
3933  1816, 3536, 3536, 773, 3536, 3536, 671, 667, 774, 775,
3934  772, 3536, 3536, 772, 3536, 777, 3536, 778, 3536, 3536,
3935  772, 773, 3536, 772, 3536, 1818, 774, 775, 3536, 3536,
3936  3536, 773, 3536, 777, 3536, 778, 774, 775, 3318, 665,
3937  3318, 3318, 3536, 777, 3536, 778, 3536, 3536, 3536, 3319,
3938 
3939  3536, 3536, 3536, 3536, 1009, 1010, 1010, 1009, 1233, 664,
3940  665, 665, 664, 3295, 2754, 3536, 2755, 3536, 3536, 3536,
3941  666, 667, 2756, 3536, 667, 3536, 3536, 1012, 3536, 1013,
3942  3536, 3536, 669, 667, 670, 3416, 3416, 3416, 3416, 3366,
3943  3367, 2660, 3366, 3536, 772, 3536, 2859, 772, 772, 3536,
3944  2661, 772, 1014, 3536, 3536, 773, 2848, 671, 667, 773,
3945  774, 775, 3536, 3536, 774, 775, 3536, 777, 3536, 778,
3946  3536, 777, 3536, 778, 3536, 3536, 3536, 3536, 2684, 1860,
3947  2694, 1862, 1862, 2694, 1860, 1860, 1860, 1860, 1860, 1860,
3948  1860, 1863, 1864, 1860, 1860, 1864, 1860, 1860, 1860, 772,
3949 
3950  2757, 3536, 772, 1865, 1864, 1866, 1860, 1860, 1860, 2761,
3951  773, 3536, 3536, 3536, 2758, 774, 775, 3536, 3536, 3536,
3952  772, 3536, 777, 772, 778, 3536, 3536, 1860, 1867, 1864,
3953  1860, 773, 2849, 1010, 1010, 2849, 774, 775, 3536, 3536,
3954  3536, 3536, 3536, 777, 3536, 778, 3536, 1009, 1010, 1010,
3955  1009, 2759, 3536, 3536, 3536, 1012, 3536, 1013, 1860, 1860,
3956  1860, 1860, 1868, 2699, 2345, 2345, 2699, 3536, 772, 3536,
3957  1012, 772, 1013, 3536, 2346, 667, 3536, 3536, 667, 773,
3958  1014, 3536, 3536, 2762, 774, 775, 669, 667, 1013, 3536,
3959  3536, 777, 3536, 778, 3536, 1014, 3536, 3536, 772, 3536,
3960 
3961  3536, 772, 772, 1025, 3536, 772, 3536, 3536, 3536, 773,
3962  3536, 671, 667, 773, 774, 775, 3536, 2382, 774, 775,
3963  3536, 777, 3536, 778, 1387, 777, 3536, 778, 3536, 3536,
3964  3536, 3536, 3536, 2383, 1284, 1285, 1286, 1286, 1285, 1284,
3965  1284, 1284, 1284, 1284, 1284, 1284, 1287, 1288, 1284, 1284,
3966  1288, 1284, 1284, 1284, 807, 3536, 2764, 3536, 1289, 1288,
3967  1290, 1284, 1284, 1284, 2680, 2680, 2680, 2680, 3367, 3367,
3968  2660, 3367, 3536, 3536, 3536, 666, 3536, 3536, 772, 2661,
3969  3536, 772, 1284, 1291, 1288, 1284, 3536, 2325, 3536, 773,
3970  3536, 3536, 3536, 3536, 774, 775, 3370, 665, 3318, 3370,
3971 
3972  3536, 777, 3536, 778, 3536, 710, 3536, 3425, 3536, 3536,
3973  3536, 3536, 1842, 1284, 1284, 1284, 1284, 1293, 1970, 1971,
3974  1970, 1970, 1971, 1970, 1970, 1970, 1970, 1970, 1970, 1970,
3975  1972, 1970, 1970, 1970, 1970, 1973, 1974, 1970, 2763, 3536,
3976  3536, 3536, 1975, 1970, 1976, 1970, 1970, 1970, 772, 3536,
3977  3536, 772, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 773,
3978  1009, 1010, 1010, 1009, 774, 775, 1970, 1970, 1970, 1970,
3979  2760, 777, 3536, 778, 3536, 863, 863, 3536, 863, 772,
3980  3536, 3536, 772, 1012, 3536, 1013, 864, 3536, 3536, 3536,
3981  773, 865, 866, 3536, 3536, 774, 775, 1970, 1970, 1970,
3982 
3983  1970, 1977, 777, 772, 778, 3536, 772, 772, 1014, 3536,
3984  772, 3536, 3536, 1387, 773, 1025, 3536, 3536, 773, 774,
3985  775, 3536, 3536, 774, 775, 3536, 777, 3536, 778, 3536,
3986  777, 772, 778, 2767, 772, 3536, 3536, 3293, 1840, 1840,
3987  3293, 3536, 773, 3536, 3536, 3536, 772, 774, 775, 772,
3988  1009, 1010, 1010, 1009, 777, 3536, 778, 773, 1387, 3536,
3989  2325, 772, 774, 775, 772, 772, 3536, 2768, 772, 777,
3990  3536, 778, 773, 1012, 3536, 1013, 773, 774, 775, 3536,
3991  772, 774, 775, 772, 777, 1842, 778, 3536, 777, 3536,
3992  778, 773, 3536, 3536, 3536, 3536, 774, 775, 1014, 3536,
3993 
3994  3536, 772, 1387, 777, 772, 778, 2769, 3536, 1025, 3536,
3995  3536, 772, 773, 3536, 772, 3536, 3536, 774, 775, 3536,
3996  3536, 1387, 773, 3536, 777, 3536, 778, 774, 775, 3536,
3997  772, 3536, 1387, 772, 777, 3536, 778, 3536, 3536, 3536,
3998  772, 773, 3536, 772, 3536, 2770, 774, 775, 3536, 3536,
3999  3536, 773, 3536, 777, 3536, 778, 774, 775, 772, 3536,
4000  3536, 772, 3536, 777, 2771, 778, 3536, 3536, 772, 773,
4001  3536, 772, 3536, 3536, 774, 775, 3536, 3536, 2772, 773,
4002  3536, 777, 3536, 778, 774, 775, 3536, 772, 3536, 3536,
4003  772, 777, 3536, 778, 3536, 3536, 3536, 772, 773, 3536,
4004 
4005  772, 2773, 3536, 774, 775, 3536, 3536, 3536, 773, 3536,
4006  777, 807, 778, 774, 775, 772, 3536, 3536, 772, 3536,
4007  777, 3536, 778, 3536, 3536, 3536, 773, 3536, 2775, 2774,
4008  772, 774, 775, 772, 772, 3536, 3536, 772, 777, 3536,
4009  778, 773, 3536, 3536, 3536, 773, 774, 775, 3536, 3536,
4010  774, 775, 3536, 777, 3536, 778, 3536, 777, 2776, 778,
4011  772, 3536, 3536, 772, 772, 3536, 3536, 772, 2777, 2778,
4012  3536, 773, 3536, 3536, 3536, 773, 774, 775, 3536, 772,
4013  774, 775, 772, 777, 1387, 778, 3536, 777, 3536, 778,
4014  773, 3536, 3536, 3536, 3536, 774, 775, 3536, 772, 3536,
4015 
4016  3536, 772, 777, 3536, 778, 2779, 3536, 3536, 772, 773,
4017  3536, 772, 3536, 3536, 774, 775, 2780, 3536, 3536, 773,
4018  1387, 777, 3536, 778, 774, 775, 772, 3536, 3536, 772,
4019  3536, 777, 3536, 778, 3536, 3536, 3536, 773, 3536, 3536,
4020  3536, 3536, 774, 775, 808, 772, 3536, 3536, 772, 777,
4021  3536, 778, 3536, 807, 3536, 772, 773, 3536, 772, 3536,
4022  3536, 774, 775, 3536, 3536, 3536, 773, 3536, 777, 3536,
4023  778, 774, 775, 772, 3536, 3536, 772, 3536, 777, 807,
4024  778, 3536, 3536, 1387, 773, 3279, 3279, 3279, 3279, 774,
4025  775, 772, 3536, 3536, 772, 3536, 777, 3194, 778, 2781,
4026 
4027  3194, 772, 773, 3536, 772, 3536, 3536, 774, 775, 3194,
4028  3536, 3536, 773, 807, 777, 3536, 778, 774, 775, 3536,
4029  772, 3536, 3536, 772, 777, 3536, 778, 3536, 3536, 3536,
4030  3536, 773, 3536, 3536, 3194, 772, 774, 775, 772, 3536,
4031  3536, 3536, 3536, 777, 1387, 778, 773, 3536, 3536, 3536,
4032  808, 774, 775, 3416, 3416, 3416, 3416, 3536, 777, 3536,
4033  778, 3536, 3536, 3536, 2859, 3536, 3536, 3536, 3536, 3536,
4034  2782, 3536, 2783, 1398, 1399, 1398, 1398, 1399, 1398, 1398,
4035  1398, 1398, 1398, 1398, 1398, 1400, 1398, 1398, 1398, 1398,
4036  1401, 1402, 1398, 772, 3536, 2784, 772, 1403, 1398, 1404,
4037 
4038  1398, 1398, 1398, 772, 773, 3536, 772, 3536, 3536, 774,
4039  775, 3536, 3536, 3536, 773, 3536, 777, 3536, 778, 774,
4040  775, 1398, 1398, 1398, 1398, 3536, 777, 3536, 778, 3416,
4041  3416, 3416, 3416, 3536, 772, 3536, 3536, 772, 3536, 3536,
4042  2859, 3536, 3536, 3536, 808, 773, 3536, 3536, 3536, 2785,
4043  774, 775, 1398, 1398, 1398, 1398, 1406, 777, 1387, 778,
4044  772, 3536, 3536, 772, 772, 3536, 3536, 772, 3536, 3536,
4045  3536, 773, 3536, 3536, 3536, 773, 774, 775, 3536, 772,
4046  774, 775, 772, 777, 3536, 778, 2786, 777, 3536, 778,
4047  773, 3536, 3536, 3536, 772, 774, 775, 772, 862, 863,
4048 
4049  3536, 862, 777, 3536, 778, 773, 3536, 3536, 3536, 864,
4050  774, 775, 3536, 3536, 865, 866, 2788, 777, 3536, 778,
4051  3536, 777, 3536, 778, 3536, 2787, 862, 863, 3536, 862,
4052  3498, 2336, 3498, 3498, 3536, 3536, 3536, 864, 3536, 2789,
4053  3536, 3296, 865, 866, 3536, 2790, 3536, 3536, 3536, 777,
4054  3536, 778, 862, 863, 3536, 862, 862, 863, 3536, 862,
4055  3536, 3536, 3536, 864, 3536, 3536, 3536, 864, 865, 866,
4056  2791, 3536, 865, 866, 3536, 777, 3536, 778, 3536, 777,
4057  3536, 778, 2792, 3536, 862, 863, 3536, 862, 3536, 1009,
4058  1010, 1010, 1009, 3536, 3536, 864, 3536, 3536, 3536, 3536,
4059 
4060  865, 866, 862, 863, 2793, 862, 3536, 777, 2794, 778,
4061  3536, 3536, 1012, 864, 1013, 3536, 3536, 3536, 865, 866,
4062  3536, 3536, 2795, 862, 863, 777, 862, 778, 3536, 3536,
4063  3536, 3536, 3536, 3536, 864, 3536, 2796, 1014, 3536, 865,
4064  866, 862, 863, 3536, 862, 3536, 777, 3536, 778, 3536,
4065  3536, 3536, 864, 3536, 2851, 3536, 3536, 865, 866, 862,
4066  863, 3536, 862, 3536, 777, 3536, 778, 2797, 3536, 3536,
4067  864, 3536, 3536, 3536, 3536, 865, 866, 862, 863, 3536,
4068  862, 3536, 777, 3536, 778, 3536, 2798, 3536, 864, 3536,
4069  3536, 3536, 3536, 865, 866, 862, 863, 1487, 862, 3536,
4070 
4071  777, 3536, 778, 3536, 3536, 3536, 864, 3536, 3536, 3536,
4072  3536, 865, 866, 3536, 3536, 895, 3536, 3536, 777, 3536,
4073  778, 3536, 3536, 862, 863, 3536, 862, 862, 863, 3536,
4074  862, 2799, 3536, 3536, 864, 3536, 3536, 3536, 864, 865,
4075  866, 3536, 3536, 865, 866, 3536, 777, 3536, 778, 3536,
4076  777, 3536, 778, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
4077  1487, 1970, 2048, 2049, 1970, 2048, 1970, 1970, 1970, 1970,
4078  1970, 1970, 1970, 2050, 1970, 1970, 1970, 1970, 2051, 2052,
4079  1970, 2801, 3536, 2802, 3536, 1975, 1970, 1976, 1970, 1970,
4080  1970, 862, 863, 3536, 862, 3471, 2338, 3471, 3471, 3536,
4081 
4082  3536, 3536, 864, 3536, 3536, 3536, 3319, 865, 866, 1970,
4083  1970, 1970, 1970, 3536, 777, 3536, 778, 3536, 3295, 3498,
4084  2336, 3498, 3498, 3536, 3536, 2800, 3399, 1840, 1840, 3399,
4085  3296, 3536, 3536, 3536, 862, 863, 3536, 862, 3536, 3536,
4086  1970, 1970, 1970, 1970, 2053, 864, 1487, 3536, 3536, 1841,
4087  865, 866, 862, 863, 3536, 862, 3536, 777, 3536, 778,
4088  3536, 3536, 3536, 864, 3536, 3536, 3536, 3536, 865, 866,
4089  862, 863, 3536, 862, 1842, 777, 3536, 778, 3536, 3536,
4090  3536, 864, 3536, 3536, 3536, 3536, 865, 866, 3536, 3536,
4091  3536, 862, 863, 777, 862, 778, 3536, 3536, 3536, 3536,
4092 
4093  3536, 3536, 864, 3536, 3536, 1487, 3536, 865, 866, 3536,
4094  862, 863, 2803, 862, 777, 3536, 778, 3536, 3536, 3536,
4095  3536, 864, 3536, 3536, 3536, 3536, 865, 866, 862, 863,
4096  3536, 862, 3536, 777, 3536, 778, 3536, 3536, 3536, 864,
4097  3536, 1487, 3536, 3536, 865, 866, 3536, 1487, 3536, 862,
4098  863, 777, 862, 778, 3536, 3536, 3536, 3536, 3536, 3536,
4099  864, 3536, 3536, 3536, 3536, 865, 866, 862, 863, 3536,
4100  862, 3536, 777, 3536, 778, 2804, 3536, 3536, 864, 3536,
4101  3536, 3536, 3536, 865, 866, 862, 863, 3536, 862, 3536,
4102  777, 2805, 778, 3536, 3536, 3536, 864, 3536, 3536, 3536,
4103 
4104  3536, 865, 866, 862, 863, 3536, 862, 3536, 777, 3536,
4105  778, 3536, 3536, 3536, 864, 3536, 2806, 3536, 3536, 865,
4106  866, 3536, 3536, 3536, 862, 863, 777, 862, 778, 3536,
4107  3536, 3536, 3536, 3536, 3536, 864, 3536, 3536, 2807, 3536,
4108  865, 866, 862, 863, 3536, 862, 3536, 777, 3536, 778,
4109  3536, 3536, 3536, 864, 3536, 3536, 895, 3536, 865, 866,
4110  862, 863, 3536, 862, 3536, 777, 3536, 778, 3536, 3536,
4111  3536, 864, 3536, 3536, 2808, 3536, 865, 866, 862, 863,
4112  3536, 862, 3536, 777, 2809, 778, 3536, 3536, 3536, 864,
4113  3536, 3536, 3536, 3536, 865, 866, 3536, 3536, 3536, 862,
4114 
4115  863, 777, 862, 778, 3536, 3536, 3536, 3536, 3536, 3536,
4116  864, 3536, 3536, 2810, 3536, 865, 866, 862, 863, 3536,
4117  862, 3536, 777, 3536, 778, 3536, 3536, 3536, 864, 3536,
4118  3536, 2811, 2812, 865, 866, 862, 863, 3536, 862, 3536,
4119  777, 3536, 778, 3536, 3536, 3536, 864, 3536, 3536, 3536,
4120  3536, 865, 866, 1487, 862, 863, 3536, 862, 777, 3536,
4121  778, 3536, 3536, 3536, 3536, 864, 3536, 3536, 3536, 3536,
4122  865, 866, 3536, 862, 863, 3536, 862, 777, 3536, 778,
4123  3536, 3536, 3536, 3536, 864, 3536, 3536, 3536, 2813, 865,
4124  866, 1487, 862, 863, 3536, 862, 777, 3536, 778, 1009,
4125 
4126  1010, 1010, 1009, 864, 3536, 3536, 3536, 3536, 865, 866,
4127  862, 863, 3536, 862, 3536, 777, 3536, 778, 3536, 896,
4128  3536, 864, 1012, 3536, 1013, 3536, 865, 866, 895, 862,
4129  863, 3536, 862, 777, 3536, 778, 3536, 3536, 3536, 3536,
4130  864, 3536, 3536, 3536, 3536, 865, 866, 1014, 862, 863,
4131  2853, 862, 777, 3536, 778, 3536, 3536, 3536, 3536, 864,
4132  3536, 3536, 3536, 895, 865, 866, 3536, 1487, 3536, 862,
4133  863, 777, 862, 778, 1009, 1010, 1010, 1009, 3536, 3536,
4134  864, 3536, 3536, 1487, 3536, 865, 866, 862, 863, 3536,
4135  862, 3536, 777, 3536, 778, 3536, 3536, 1012, 864, 1013,
4136 
4137  3536, 3536, 3536, 865, 866, 3536, 895, 3536, 862, 863,
4138  777, 862, 778, 3536, 3536, 3382, 1840, 3382, 3382, 864,
4139  3536, 3536, 1014, 3536, 865, 866, 862, 863, 3536, 862,
4140  3536, 777, 3536, 778, 2852, 3536, 3536, 864, 3430, 3536,
4141  1487, 3536, 865, 866, 862, 863, 896, 862, 3536, 777,
4142  3536, 778, 3536, 3536, 3536, 864, 3536, 3536, 3536, 3536,
4143  865, 866, 3536, 3384, 3536, 3536, 3536, 777, 3536, 778,
4144  3536, 3536, 3536, 3536, 3536, 3536, 3536, 2814, 2815, 1398,
4145  1498, 1499, 1398, 1498, 1398, 1398, 1398, 1398, 1398, 1398,
4146  1398, 1500, 1398, 1398, 1398, 1398, 1501, 1502, 1398, 3536,
4147 
4148  2817, 3536, 3536, 1403, 1398, 1404, 1398, 1398, 1398, 862,
4149  863, 3536, 862, 3536, 3536, 3536, 3381, 1840, 3382, 3381,
4150  864, 3536, 3536, 3536, 3536, 865, 866, 1398, 1398, 1398,
4151  1398, 3536, 777, 3536, 778, 3536, 3536, 3536, 3536, 3430,
4152  862, 863, 3536, 862, 3536, 3536, 3536, 3536, 3536, 3536,
4153  896, 864, 3536, 3536, 3536, 3536, 865, 866, 1398, 1398,
4154  1398, 1398, 1504, 777, 3384, 778, 3536, 862, 863, 2816,
4155  862, 862, 863, 3536, 862, 3536, 3536, 3536, 864, 3536,
4156  3536, 3536, 864, 865, 866, 3536, 3536, 865, 866, 3536,
4157  777, 3536, 778, 3536, 777, 1487, 778, 862, 863, 3536,
4158 
4159  862, 862, 863, 3536, 862, 3536, 3536, 3536, 864, 3536,
4160  3536, 3536, 864, 865, 866, 3536, 3536, 865, 866, 2818,
4161  777, 3536, 778, 3536, 777, 3536, 778, 862, 863, 3536,
4162  862, 1009, 1010, 1010, 1009, 3536, 2819, 3536, 864, 1009,
4163  1010, 1010, 1009, 865, 866, 1009, 1010, 1010, 1009, 2820,
4164  777, 3536, 778, 3536, 1012, 3536, 1013, 3536, 3536, 3536,
4165  3536, 2821, 1012, 3536, 1013, 3536, 3536, 3536, 1012, 3536,
4166  1013, 2910, 2680, 2680, 2910, 3536, 3536, 3536, 2822, 1014,
4167  3536, 3536, 666, 3536, 3536, 3536, 3536, 1014, 2910, 2680,
4168  2680, 2910, 3536, 1014, 1841, 3536, 2682, 3536, 3536, 666,
4169 
4170  3536, 3536, 2850, 2680, 2680, 2680, 2680, 3536, 3536, 3536,
4171  1025, 1841, 3536, 2682, 666, 3536, 1025, 3536, 3536, 1842,
4172  2680, 2680, 2680, 2680, 3536, 3536, 2325, 3536, 2682, 3536,
4173  3536, 666, 3536, 3536, 3536, 3536, 1842, 2921, 2345, 2345,
4174  2921, 3536, 3536, 2325, 3536, 2682, 3536, 3536, 2346, 667,
4175  3536, 1842, 667, 3536, 3536, 2912, 3536, 3536, 3536, 3536,
4176  669, 667, 1013, 3536, 3536, 3536, 3536, 3536, 1842, 3536,
4177  3536, 3536, 2700, 2701, 2701, 2700, 2913, 664, 665, 665,
4178  664, 3536, 3536, 666, 667, 671, 667, 667, 666, 667,
4179  3536, 3536, 667, 3536, 3536, 669, 667, 1013, 3536, 3536,
4180 
4181  669, 667, 670, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
4182  3536, 3536, 2701, 2701, 2701, 2701, 3536, 3536, 3536, 3536,
4183  671, 667, 3536, 666, 667, 671, 667, 667, 3536, 2914,
4184  664, 665, 665, 664, 3536, 669, 667, 3536, 3536, 3536,
4185  3536, 666, 667, 3536, 3536, 667, 3536, 772, 3536, 3536,
4186  772, 3536, 3536, 669, 667, 670, 3536, 3536, 773, 3536,
4187  671, 667, 2915, 774, 775, 3536, 3536, 3536, 3536, 3536,
4188  777, 3536, 778, 2951, 2951, 2951, 2951, 3536, 671, 667,
4189  2699, 2345, 2345, 2699, 2346, 667, 3536, 3536, 667, 3536,
4190  772, 2346, 667, 772, 3536, 667, 669, 667, 3536, 3536,
4191 
4192  3536, 773, 3536, 669, 667, 1013, 774, 775, 3536, 3536,
4193  3536, 2967, 3536, 777, 772, 778, 3536, 772, 3536, 3536,
4194  3536, 671, 667, 3536, 772, 773, 3536, 772, 671, 667,
4195  774, 775, 3536, 3536, 2382, 773, 3536, 777, 2952, 778,
4196  774, 775, 3536, 3536, 2968, 3536, 3536, 777, 3536, 778,
4197  2383, 1860, 2939, 1862, 1862, 2939, 1860, 1860, 1860, 1860,
4198  1860, 1860, 1860, 1863, 1864, 1860, 1860, 1864, 1860, 1860,
4199  1860, 3536, 3536, 3536, 3536, 1865, 1864, 1866, 1860, 1860,
4200  1860, 3536, 3536, 1387, 3536, 3536, 3536, 772, 3536, 3536,
4201  772, 3536, 3536, 3536, 1387, 3536, 3536, 3536, 773, 1860,
4202 
4203  1867, 1864, 1860, 774, 775, 2910, 2680, 2680, 2910, 3536,
4204  777, 3536, 778, 3536, 3536, 3536, 666, 3536, 3086, 1850,
4205  1850, 3086, 3382, 1840, 3382, 3382, 3536, 3536, 2325, 666,
4206  1860, 1860, 1860, 1860, 1868, 2950, 2951, 2951, 2950, 3536,
4207  772, 678, 3536, 772, 1387, 3430, 2346, 667, 3536, 3536,
4208  667, 773, 3536, 1842, 3536, 3536, 774, 775, 669, 667,
4209  1013, 3536, 3536, 777, 772, 778, 680, 772, 3536, 3536,
4210  3384, 3536, 3536, 3536, 772, 773, 3536, 772, 3536, 3536,
4211  774, 775, 3536, 671, 667, 773, 3536, 777, 3536, 778,
4212  774, 775, 772, 3536, 3536, 772, 3536, 777, 3536, 778,
4213 
4214  2952, 3536, 3536, 773, 3536, 807, 3536, 3536, 774, 775,
4215  772, 3536, 3536, 772, 3536, 777, 3536, 778, 2969, 3536,
4216  772, 773, 3536, 772, 3536, 3536, 774, 775, 3536, 3536,
4217  3536, 773, 3536, 777, 3536, 778, 774, 775, 3536, 3381,
4218  1840, 3382, 3381, 777, 772, 778, 2970, 772, 3536, 3536,
4219  3296, 3536, 3536, 3536, 772, 773, 3536, 772, 3536, 3536,
4220  774, 775, 3383, 808, 2971, 773, 3536, 777, 3536, 778,
4221  774, 775, 772, 3536, 3536, 772, 3536, 777, 3536, 778,
4222  2972, 3536, 772, 773, 3536, 772, 3536, 3384, 774, 775,
4223  3536, 3536, 3536, 773, 3536, 777, 3536, 778, 774, 775,
4224 
4225  772, 3536, 3536, 772, 3536, 777, 3536, 778, 3536, 3536,
4226  3536, 773, 3536, 808, 3536, 3536, 774, 775, 772, 3536,
4227  808, 772, 3536, 777, 3536, 778, 3536, 3536, 772, 773,
4228  3536, 772, 3536, 3536, 774, 775, 1387, 3536, 2974, 773,
4229  3536, 777, 3536, 778, 774, 775, 772, 3536, 3536, 772,
4230  3536, 777, 2975, 778, 3536, 3536, 772, 773, 3536, 772,
4231  3536, 3536, 774, 775, 3536, 3536, 3536, 773, 3536, 777,
4232  3536, 778, 774, 775, 1387, 772, 3536, 3536, 772, 777,
4233  2976, 778, 3536, 3536, 3536, 772, 773, 3536, 772, 3536,
4234  3536, 774, 775, 3536, 3536, 3536, 773, 3536, 777, 3536,
4235 
4236  778, 774, 775, 772, 3536, 3536, 772, 3536, 777, 3536,
4237  778, 3536, 3536, 3536, 773, 2977, 3536, 3536, 772, 774,
4238  775, 772, 2978, 3536, 3536, 3536, 777, 3536, 778, 773,
4239  2979, 3536, 3536, 3536, 774, 775, 3536, 3536, 3536, 772,
4240  3536, 777, 772, 778, 3536, 2849, 1010, 1010, 2849, 772,
4241  773, 3536, 772, 3536, 1387, 774, 775, 3536, 3536, 1387,
4242  773, 3536, 777, 3536, 778, 774, 775, 3536, 1617, 3536,
4243  1013, 3536, 777, 3536, 778, 772, 3536, 3536, 772, 3536,
4244  3536, 3536, 3536, 3536, 3536, 772, 773, 3536, 772, 2980,
4245  3536, 774, 775, 1014, 3536, 2981, 773, 3536, 777, 3536,
4246 
4247  778, 774, 775, 3536, 3536, 3536, 3536, 3536, 777, 3536,
4248  778, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 2982, 1970,
4249  1971, 1970, 1970, 1971, 1970, 1970, 1970, 1970, 1970, 1970,
4250  1970, 1972, 1970, 1970, 1970, 1970, 1973, 1974, 1970, 3536,
4251  3536, 2984, 3536, 1975, 1970, 1976, 1970, 1970, 1970, 772,
4252  3536, 3536, 772, 3536, 3536, 3536, 2985, 3536, 3536, 3536,
4253  773, 3536, 3536, 3536, 3536, 774, 775, 1970, 1970, 1970,
4254  1970, 2983, 777, 3536, 778, 3536, 3536, 3536, 3536, 3536,
4255  3536, 1009, 1010, 1010, 1009, 3536, 3536, 3536, 3536, 3536,
4256  3536, 3536, 772, 3536, 3536, 772, 3536, 3536, 1970, 1970,
4257 
4258  1970, 1970, 1977, 773, 1012, 2986, 1013, 772, 774, 775,
4259  772, 772, 3536, 3536, 772, 777, 3536, 778, 773, 3536,
4260  3536, 3536, 773, 774, 775, 3536, 3536, 774, 775, 1014,
4261  777, 3536, 778, 3536, 777, 772, 778, 3027, 772, 772,
4262  3536, 3536, 772, 3536, 3536, 3536, 773, 3536, 3536, 1387,
4263  773, 774, 775, 3536, 3536, 774, 775, 3536, 777, 3536,
4264  778, 3536, 777, 772, 778, 3536, 772, 2988, 3536, 3536,
4265  3536, 2987, 3536, 3536, 773, 3536, 3536, 3536, 3536, 774,
4266  775, 3536, 3536, 3536, 862, 863, 777, 862, 778, 3536,
4267  3536, 3536, 3536, 3536, 3536, 864, 3536, 3536, 1387, 3536,
4268 
4269  865, 866, 2989, 862, 863, 3536, 862, 777, 3536, 778,
4270  3536, 3536, 3536, 3536, 864, 3536, 3536, 3536, 3536, 865,
4271  866, 862, 863, 3536, 862, 3536, 777, 3536, 778, 3536,
4272  3536, 3536, 864, 3536, 807, 3536, 3536, 865, 866, 862,
4273  863, 3536, 862, 3536, 777, 3536, 778, 3536, 2990, 3536,
4274  864, 3536, 3536, 3536, 3536, 865, 866, 862, 863, 3536,
4275  862, 3536, 777, 3536, 778, 3536, 3536, 3536, 864, 3536,
4276  3536, 3536, 1487, 865, 866, 2991, 862, 863, 3536, 862,
4277  777, 3536, 778, 3536, 3536, 3536, 3536, 864, 3536, 3536,
4278  3536, 3536, 865, 866, 862, 863, 3536, 862, 3536, 777,
4279 
4280  3536, 778, 3536, 3536, 3536, 864, 3536, 3536, 3536, 1487,
4281  865, 866, 862, 863, 1487, 862, 3536, 777, 3536, 778,
4282  3536, 3536, 3536, 864, 3536, 3536, 3536, 3536, 865, 866,
4283  3536, 862, 863, 3536, 862, 777, 3536, 778, 3536, 3536,
4284  3536, 895, 864, 3536, 3536, 3536, 3536, 865, 866, 3536,
4285  3536, 3536, 862, 863, 777, 862, 778, 3536, 3536, 3536,
4286  3536, 3536, 3536, 864, 3536, 3536, 2992, 3536, 865, 866,
4287  862, 863, 3536, 862, 3536, 777, 3536, 778, 3536, 3536,
4288  3536, 864, 3536, 896, 3536, 3536, 865, 866, 3536, 862,
4289  863, 2993, 862, 777, 3536, 778, 3536, 3536, 3536, 3536,
4290 
4291  864, 3536, 3536, 3536, 3536, 865, 866, 862, 863, 3536,
4292  862, 3536, 777, 3536, 778, 3536, 3536, 3536, 864, 3536,
4293  3536, 3536, 3536, 865, 866, 3536, 3536, 3536, 896, 896,
4294  777, 3536, 778, 862, 863, 3536, 862, 862, 863, 3536,
4295  862, 3536, 3536, 3536, 864, 3536, 3536, 3536, 864, 865,
4296  866, 3536, 3536, 865, 866, 2994, 777, 3536, 778, 3536,
4297  777, 1487, 778, 862, 863, 3536, 862, 862, 863, 3536,
4298  862, 3536, 3536, 3536, 864, 3536, 3536, 3536, 864, 865,
4299  866, 3536, 3536, 865, 866, 2995, 777, 3536, 778, 3536,
4300  777, 3536, 778, 1487, 862, 863, 3536, 862, 3536, 3536,
4301 
4302  1009, 1010, 1010, 1009, 3536, 864, 1253, 1253, 1253, 1253,
4303  865, 866, 3536, 1254, 3536, 2996, 3536, 777, 3536, 778,
4304  3536, 862, 863, 1012, 862, 1013, 3536, 3536, 3536, 678,
4305  3536, 3536, 864, 3536, 3536, 3536, 2997, 865, 866, 862,
4306  863, 3536, 862, 3536, 777, 3536, 778, 3536, 1014, 3536,
4307  864, 3536, 3536, 3536, 680, 865, 866, 3536, 862, 863,
4308  2998, 862, 777, 3536, 778, 1025, 3536, 3536, 3536, 864,
4309  3536, 3536, 1255, 3536, 865, 866, 2999, 862, 863, 3536,
4310  862, 777, 3536, 778, 3536, 3536, 3536, 681, 864, 3536,
4311  3536, 3536, 3536, 865, 866, 862, 863, 3536, 862, 3536,
4312 
4313  777, 3536, 778, 3536, 3536, 3536, 864, 3536, 1487, 3536,
4314  3536, 865, 866, 3536, 1487, 3536, 862, 863, 777, 862,
4315  778, 3536, 3536, 3536, 3536, 3536, 3536, 864, 3536, 3536,
4316  3536, 3536, 865, 866, 3536, 3536, 3536, 3536, 3536, 777,
4317  3536, 778, 862, 863, 3536, 862, 862, 863, 3000, 862,
4318  3536, 3001, 3536, 864, 3536, 3536, 3536, 864, 865, 866,
4319  3536, 3536, 865, 866, 3536, 777, 3536, 778, 3536, 777,
4320  3536, 778, 862, 863, 3536, 862, 862, 863, 3536, 862,
4321  3536, 3536, 3002, 864, 3536, 3536, 3536, 864, 865, 866,
4322  3536, 3536, 865, 866, 3536, 777, 3536, 778, 3536, 777,
4323 
4324  3536, 778, 3004, 862, 863, 3536, 862, 862, 863, 3536,
4325  862, 3536, 3536, 3003, 864, 3536, 3536, 3536, 864, 865,
4326  866, 3536, 3536, 865, 866, 3536, 777, 3536, 778, 1487,
4327  777, 3536, 778, 862, 863, 3536, 862, 3536, 3536, 3536,
4328  3005, 3536, 3536, 3536, 864, 3536, 3536, 3536, 3536, 865,
4329  866, 862, 863, 3536, 862, 3536, 777, 3536, 778, 3006,
4330  3536, 3536, 864, 1009, 1010, 1010, 1009, 865, 866, 3536,
4331  1487, 3536, 3536, 3536, 777, 3536, 778, 1009, 1010, 1010,
4332  1009, 1009, 1010, 1010, 1009, 3536, 1012, 3536, 1013, 2858,
4333  2858, 2858, 2858, 3536, 3536, 3536, 3007, 3536, 3536, 3536,
4334 
4335  1012, 3536, 1013, 3536, 1012, 3536, 1013, 3536, 3536, 3536,
4336  3536, 1014, 3536, 2859, 3536, 2859, 2910, 2680, 2680, 2910,
4337  3536, 3536, 895, 3536, 3536, 1014, 3536, 666, 3536, 1014,
4338  3536, 3536, 1025, 2910, 2680, 2680, 2910, 3536, 3536, 1841,
4339  3028, 2682, 3536, 3031, 666, 3536, 2680, 2680, 2680, 2680,
4340  3536, 3536, 1025, 3536, 3536, 3032, 1841, 666, 2682, 3033,
4341  3034, 3536, 3035, 3536, 1842, 3536, 3536, 1045, 3536, 2325,
4342  3536, 2682, 3086, 1850, 1850, 3086, 2921, 2345, 2345, 2921,
4343  3536, 1842, 3536, 666, 3536, 3536, 3536, 2346, 667, 3081,
4344  3536, 667, 3536, 3536, 1842, 2337, 3536, 1852, 3536, 669,
4345 
4346  667, 1013, 3536, 3536, 3536, 3536, 3399, 1840, 1840, 3399,
4347  3536, 2951, 2951, 2951, 2951, 3082, 664, 665, 665, 664,
4348  680, 3536, 2346, 667, 671, 667, 667, 666, 667, 2325,
4349  3536, 667, 3536, 3536, 669, 667, 3536, 3536, 3536, 669,
4350  667, 670, 3536, 3536, 3536, 772, 3536, 3536, 772, 3536,
4351  3536, 3536, 3536, 3536, 1842, 772, 773, 3536, 772, 671,
4352  667, 774, 775, 3536, 671, 667, 773, 3536, 777, 3536,
4353  778, 774, 775, 3536, 3536, 3536, 2952, 3536, 777, 3536,
4354  778, 772, 3536, 3536, 772, 3536, 3536, 3083, 664, 665,
4355  665, 664, 773, 3536, 3536, 3536, 3536, 774, 775, 666,
4356 
4357  667, 1387, 3536, 667, 777, 772, 778, 3536, 772, 3536,
4358  3536, 669, 667, 670, 3536, 3536, 773, 3536, 3536, 3536,
4359  3536, 774, 775, 3536, 3536, 3536, 1387, 3536, 777, 3536,
4360  778, 3536, 3536, 3132, 3536, 3536, 671, 667, 3536, 3084,
4361  3090, 3091, 3092, 3092, 3091, 3090, 3090, 3090, 3090, 3090,
4362  3090, 3090, 3093, 3094, 3090, 3090, 3094, 3090, 3090, 3090,
4363  772, 808, 3536, 772, 3095, 3094, 3096, 3090, 3090, 3090,
4364  3536, 773, 3536, 3536, 3536, 3536, 774, 775, 3536, 3536,
4365  3536, 3536, 3536, 777, 772, 778, 3536, 772, 3090, 3097,
4366  3094, 3090, 3098, 3536, 3536, 773, 3536, 3536, 3536, 3536,
4367 
4368  774, 775, 3536, 3536, 3536, 3536, 3536, 777, 3536, 778,
4369  3536, 3133, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3090,
4370  3090, 3090, 3090, 3099, 1860, 3102, 1862, 1862, 3102, 1860,
4371  1860, 1860, 1860, 1860, 1860, 1860, 1863, 1864, 1860, 1860,
4372  1864, 1860, 1860, 1860, 1009, 1010, 1010, 1009, 1865, 1864,
4373  1866, 1860, 1860, 1860, 3536, 1387, 3536, 3536, 3536, 3536,
4374  772, 3536, 3536, 772, 3536, 3536, 3536, 1012, 3536, 1013,
4375  3536, 773, 1860, 1867, 1864, 1860, 774, 775, 3193, 3193,
4376  3193, 3193, 3536, 777, 3536, 778, 3536, 3536, 3536, 3536,
4377  3194, 3536, 1014, 3194, 3536, 3536, 3536, 3536, 3536, 1025,
4378 
4379  3536, 3196, 3194, 1860, 1860, 1860, 1860, 1868, 3108, 2345,
4380  2345, 3108, 3536, 772, 3536, 3536, 772, 3536, 3536, 2346,
4381  667, 3536, 3536, 667, 773, 1387, 3197, 3194, 3536, 774,
4382  775, 669, 667, 1013, 3536, 3536, 777, 772, 778, 3536,
4383  772, 3536, 3536, 3536, 1009, 1010, 1010, 1009, 773, 3536,
4384  3536, 3536, 3536, 774, 775, 772, 671, 667, 772, 3536,
4385  777, 3536, 778, 3536, 3109, 3536, 773, 1012, 3110, 1013,
4386  3536, 774, 775, 3536, 3536, 3536, 1387, 3111, 777, 3536,
4387  778, 3112, 2950, 2951, 2951, 2950, 3536, 772, 3536, 3536,
4388  772, 3134, 1014, 2346, 667, 3536, 3536, 667, 773, 3536,
4389 
4390  2575, 3536, 3536, 774, 775, 669, 667, 1013, 3536, 3536,
4391  777, 772, 778, 3536, 772, 3536, 3536, 3536, 3536, 3536,
4392  3536, 3536, 773, 3536, 1387, 3536, 3536, 774, 775, 3536,
4393  671, 667, 3536, 3536, 777, 3536, 778, 3536, 3536, 3536,
4394  3536, 3536, 3536, 1387, 3536, 3536, 3536, 2952, 3135, 3136,
4395  3135, 3135, 3136, 3135, 3135, 3135, 3135, 3135, 3135, 3135,
4396  3137, 3135, 3135, 3135, 3135, 3138, 3139, 3135, 772, 3536,
4397  3536, 772, 3140, 3135, 3141, 3135, 3135, 3135, 772, 773,
4398  1387, 772, 3536, 3536, 774, 775, 3536, 3536, 3536, 773,
4399  3536, 777, 3536, 778, 774, 775, 3135, 3135, 3135, 3135,
4400 
4401  3536, 777, 3536, 778, 3536, 3536, 3536, 3536, 3536, 772,
4402  3536, 3536, 772, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
4403  773, 3536, 3536, 3536, 3143, 774, 775, 3135, 3135, 3135,
4404  3135, 3142, 777, 772, 778, 3536, 772, 772, 3536, 3536,
4405  772, 3536, 3536, 3536, 773, 3144, 3536, 3536, 773, 774,
4406  775, 3536, 3536, 774, 775, 3536, 777, 3536, 778, 3536,
4407  777, 772, 778, 3145, 772, 772, 3536, 3536, 772, 3536,
4408  3536, 3536, 773, 3536, 3536, 3536, 773, 774, 775, 3536,
4409  772, 774, 775, 772, 777, 3536, 778, 3536, 777, 3536,
4410  778, 773, 3536, 1387, 3536, 3536, 774, 775, 3146, 772,
4411 
4412  3536, 3536, 772, 777, 3536, 778, 3295, 3536, 3295, 3295,
4413  773, 3536, 3536, 3295, 3536, 774, 775, 862, 863, 3536,
4414  862, 1387, 777, 3536, 778, 3536, 3147, 3536, 864, 3295,
4415  3536, 3536, 3536, 865, 866, 807, 862, 863, 3536, 862,
4416  777, 3536, 778, 3536, 3536, 3536, 3536, 864, 3536, 3536,
4417  3536, 3536, 865, 866, 3295, 1387, 3536, 3536, 3536, 777,
4418  3536, 778, 3536, 862, 863, 3536, 862, 862, 863, 3536,
4419  862, 3536, 643, 1487, 864, 3536, 3536, 3536, 864, 865,
4420  866, 3536, 3536, 865, 866, 3536, 777, 3295, 778, 3536,
4421  777, 3536, 778, 862, 863, 3536, 862, 862, 863, 3536,
4422 
4423  862, 3536, 3536, 3536, 864, 3536, 3536, 1487, 864, 865,
4424  866, 3536, 3536, 865, 866, 3536, 777, 3536, 778, 896,
4425  777, 3536, 778, 862, 863, 3536, 862, 3536, 3536, 3536,
4426  3536, 3536, 3536, 3536, 864, 3536, 3536, 3536, 1487, 865,
4427  866, 3536, 3536, 3536, 3536, 3536, 777, 3536, 778, 3536,
4428  862, 863, 3536, 862, 3536, 3536, 3536, 3536, 1487, 3536,
4429  1487, 864, 3536, 3536, 3536, 3536, 865, 866, 3536, 3536,
4430  3536, 3536, 3536, 777, 3536, 778, 3536, 3148, 3135, 3149,
4431  3150, 3135, 3149, 3135, 3135, 3135, 3135, 3135, 3135, 3135,
4432  3151, 3135, 3135, 3135, 3135, 3152, 3153, 3135, 862, 863,
4433 
4434  3536, 862, 3140, 3135, 3141, 3135, 3135, 3135, 3536, 864,
4435  3536, 3536, 3536, 3536, 865, 866, 3536, 3536, 3536, 1487,
4436  3536, 777, 3536, 778, 3536, 3536, 3135, 3135, 3135, 3135,
4437  862, 863, 3536, 862, 3536, 3536, 3536, 3536, 3536, 3536,
4438  3536, 864, 3536, 3536, 3536, 3536, 865, 866, 3536, 3536,
4439  3536, 3536, 3536, 777, 1487, 778, 3536, 3135, 3135, 3135,
4440  3135, 3154, 862, 863, 3536, 862, 3536, 3536, 3536, 3536,
4441  3536, 3536, 3536, 864, 3536, 3536, 3536, 3536, 865, 866,
4442  862, 863, 3536, 862, 3536, 777, 3155, 778, 3536, 3536,
4443  3536, 864, 3536, 3536, 3536, 3536, 865, 866, 862, 863,
4444 
4445  3536, 862, 3536, 777, 3536, 778, 3536, 3536, 3536, 864,
4446  3536, 3536, 3536, 3536, 865, 866, 862, 863, 3536, 862,
4447  3536, 777, 3536, 778, 3536, 3536, 3536, 864, 3536, 3536,
4448  3536, 1487, 865, 866, 3536, 862, 863, 3536, 862, 777,
4449  3536, 778, 3536, 3536, 3536, 3156, 864, 3536, 3536, 3536,
4450  3536, 865, 866, 3536, 1487, 3536, 3536, 3536, 777, 3536,
4451  778, 862, 863, 3536, 862, 3438, 1850, 3438, 3438, 3536,
4452  3536, 3536, 864, 3536, 3536, 3536, 3319, 865, 866, 862,
4453  863, 3157, 862, 3536, 777, 3536, 778, 3536, 3313, 3536,
4454  864, 1487, 3536, 3536, 3536, 865, 866, 2910, 2680, 2680,
4455 
4456  2910, 3536, 777, 3536, 778, 3536, 3536, 3536, 666, 3536,
4457  3536, 3536, 3536, 3314, 3536, 3536, 895, 3536, 3536, 3536,
4458  1841, 3536, 2682, 2680, 2680, 2680, 2680, 3536, 3536, 3536,
4459  3536, 3536, 3536, 3536, 666, 1487, 3086, 1850, 1850, 3086,
4460  3536, 2345, 2345, 2345, 2345, 1842, 2325, 666, 2682, 3536,
4461  3536, 3536, 2346, 667, 3536, 3536, 667, 772, 3536, 2337,
4462  772, 1852, 3536, 3536, 669, 667, 3207, 3536, 773, 3536,
4463  3536, 1842, 3536, 774, 775, 3208, 664, 665, 665, 664,
4464  777, 3536, 778, 3536, 680, 3536, 3536, 666, 667, 671,
4465  667, 667, 3214, 2345, 2345, 3214, 3536, 3536, 3536, 669,
4466 
4467  667, 670, 3536, 2346, 667, 3536, 3536, 667, 3220, 2345,
4468  2345, 3220, 3536, 3536, 3536, 669, 667, 3215, 3536, 2346,
4469  667, 3536, 3536, 667, 671, 667, 3536, 3247, 3536, 3536,
4470  3536, 669, 667, 1013, 3536, 3536, 3104, 3105, 665, 3104,
4471  671, 667, 3209, 664, 665, 665, 664, 666, 667, 3536,
4472  3536, 667, 3536, 3536, 666, 667, 671, 667, 667, 669,
4473  667, 1013, 3536, 3536, 3536, 3536, 669, 667, 670, 3536,
4474  3536, 3536, 3536, 3536, 3210, 3536, 3536, 3536, 3536, 3536,
4475  3536, 3536, 3536, 3536, 671, 667, 3536, 3536, 3536, 3536,
4476  3536, 671, 667, 3221, 3222, 1862, 3223, 3222, 3221, 3221,
4477 
4478  3221, 3221, 3221, 3221, 3221, 3224, 3225, 3221, 3221, 3225,
4479  3221, 3221, 3221, 3105, 3105, 665, 3105, 3226, 3225, 3227,
4480  3221, 3221, 3221, 3536, 666, 667, 3536, 3536, 667, 772,
4481  3536, 3536, 772, 3536, 3536, 3536, 669, 667, 3536, 3536,
4482  773, 3221, 3228, 3225, 3221, 774, 775, 3536, 3295, 3536,
4483  3295, 3295, 777, 3536, 778, 3295, 3536, 3536, 3536, 3536,
4484  3536, 671, 667, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
4485  3536, 3295, 3221, 3221, 3221, 3221, 3229, 3106, 665, 665,
4486  3106, 3536, 772, 3248, 3536, 772, 3536, 3536, 666, 667,
4487  3536, 3536, 667, 773, 3536, 3536, 3295, 3536, 774, 775,
4488 
4489  669, 667, 1013, 3536, 3536, 777, 3536, 778, 3536, 3536,
4490  3536, 3536, 3536, 3536, 3536, 3536, 2910, 2680, 2680, 2910,
4491  3536, 3536, 3536, 3536, 3536, 671, 667, 666, 3536, 3295,
4492  3536, 3230, 3108, 2345, 2345, 3108, 3536, 3536, 1387, 1841,
4493  3536, 2682, 772, 2346, 667, 772, 3536, 667, 3536, 3536,
4494  3536, 3536, 3536, 773, 3536, 669, 667, 1013, 774, 775,
4495  772, 3536, 3536, 772, 1842, 777, 3536, 778, 3285, 3536,
4496  3536, 773, 3536, 3536, 3536, 3536, 774, 775, 3536, 772,
4497  671, 667, 772, 777, 3536, 778, 3536, 3536, 3109, 3536,
4498  773, 3536, 3110, 3536, 3536, 774, 775, 1387, 3536, 3536,
4499 
4500  3536, 3111, 777, 3536, 778, 3112, 3090, 3240, 3092, 3092,
4501  3240, 3090, 3090, 3090, 3090, 3090, 3090, 3090, 3093, 3094,
4502  3090, 3090, 3094, 3090, 3090, 3090, 3536, 3536, 3536, 3249,
4503  3095, 3094, 3241, 3090, 3090, 3090, 3536, 3536, 3536, 3251,
4504  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 772, 3536,
4505  3536, 772, 3536, 3536, 3090, 3097, 3094, 3090, 3098, 773,
4506  3536, 3536, 3536, 3536, 774, 775, 3536, 772, 3536, 3536,
4507  772, 777, 3536, 778, 3536, 3536, 3536, 3536, 773, 3536,
4508  3536, 3536, 3536, 774, 775, 3090, 3090, 3090, 3090, 3099,
4509  777, 3536, 778, 862, 863, 3536, 862, 3536, 3536, 3536,
4510 
4511  3250, 3536, 3536, 3536, 864, 3536, 3536, 3536, 3536, 865,
4512  866, 862, 863, 3536, 862, 3536, 777, 3536, 778, 3536,
4513  3536, 3536, 864, 3536, 3536, 3536, 3536, 865, 866, 862,
4514  863, 3536, 862, 3536, 777, 3536, 778, 3536, 1387, 3536,
4515  864, 3536, 3536, 3536, 3536, 865, 866, 862, 863, 1487,
4516  862, 3536, 777, 3536, 778, 3536, 3536, 3536, 864, 3536,
4517  3536, 3536, 3536, 865, 866, 862, 863, 3536, 862, 3536,
4518  777, 3536, 778, 3536, 3536, 3536, 864, 3536, 3536, 3536,
4519  3536, 865, 866, 862, 863, 3536, 862, 3536, 777, 3536,
4520  778, 3536, 3536, 3536, 864, 3193, 3193, 3193, 3193, 865,
4521 
4522  866, 3536, 1487, 3536, 3536, 3536, 777, 3194, 778, 3536,
4523  3194, 3193, 3193, 3193, 3193, 3536, 3536, 3536, 3196, 3194,
4524  3536, 3536, 3536, 3194, 3536, 3252, 3194, 2680, 2680, 2680,
4525  2680, 3536, 3536, 3536, 3196, 3194, 3536, 3536, 666, 3536,
4526  3536, 3536, 3536, 3197, 3194, 3536, 3214, 2345, 2345, 3214,
4527  2325, 3536, 2682, 3536, 1487, 3536, 3536, 2346, 667, 3197,
4528  3194, 667, 772, 3536, 3536, 772, 3536, 3536, 3536, 669,
4529  667, 3215, 3536, 773, 3536, 1842, 3536, 3536, 774, 775,
4530  3536, 3220, 2345, 2345, 3220, 777, 3536, 778, 3536, 3536,
4531  3536, 3536, 2346, 667, 671, 667, 667, 3536, 3286, 664,
4532 
4533  665, 665, 664, 3536, 669, 667, 1013, 3536, 3536, 3536,
4534  666, 667, 3536, 3536, 667, 3536, 3297, 2345, 3298, 3297,
4535  3536, 3536, 669, 667, 670, 3536, 3536, 3299, 3300, 671,
4536  667, 3300, 3536, 3338, 3330, 2345, 2345, 3330, 3536, 3301,
4537  3300, 3302, 3536, 3536, 3536, 2346, 667, 671, 667, 667,
4538  772, 3536, 3536, 772, 3536, 3536, 3536, 669, 667, 3331,
4539  3536, 773, 3536, 3536, 3303, 3300, 774, 775, 3287, 664,
4540  665, 665, 664, 777, 772, 778, 3536, 772, 3536, 3536,
4541  666, 667, 671, 667, 667, 773, 3536, 3536, 3536, 3536,
4542  774, 775, 669, 667, 670, 3536, 3536, 777, 3536, 3402,
4543 
4544  3536, 3536, 3339, 3536, 3536, 3536, 3536, 3536, 3288, 3536,
4545  3536, 3536, 3536, 3536, 3536, 3536, 3536, 671, 667, 3306,
4546  3306, 3536, 3306, 3306, 3306, 3295, 3306, 3306, 3306, 3306,
4547  3306, 3307, 3308, 3306, 3306, 3306, 3309, 3309, 3295, 1249,
4548  1249, 1249, 1249, 3306, 3306, 3306, 3306, 3310, 3306, 1249,
4549  1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249,
4550  1249, 1249, 1249, 1249, 1249, 1249, 1249, 3306, 3306, 3306,
4551  3306, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249,
4552  1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249,
4553  1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 3295, 3306,
4554 
4555  3308, 3306, 3306, 3295, 3311, 1253, 3311, 3311, 3295, 3295,
4556  3295, 3312, 3295, 3295, 3295, 3296, 3295, 3295, 3295, 3295,
4557  3295, 3295, 3295, 3536, 3536, 3536, 3536, 3313, 3295, 3295,
4558  3295, 3295, 3295, 643, 643, 643, 643, 643, 643, 643,
4559  643, 643, 643, 643, 643, 643, 643, 643, 643, 643,
4560  643, 3295, 3314, 3295, 3295, 643, 643, 643, 643, 643,
4561  643, 643, 643, 643, 643, 643, 643, 643, 643, 643,
4562  1255, 643, 643, 643, 643, 643, 643, 643, 643, 643,
4563  643, 643, 3295, 3295, 3295, 3315, 3316, 3295, 3317, 3536,
4564  3318, 3317, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3319,
4565 
4566  3300, 3295, 3295, 3300, 3295, 3295, 3295, 772, 3536, 3536,
4567  772, 3301, 3300, 3320, 3295, 3295, 3295, 772, 773, 3536,
4568  772, 3536, 3536, 774, 775, 3536, 3536, 668, 773, 3536,
4569  777, 3536, 778, 774, 775, 3295, 3303, 3300, 3295, 3536,
4570  777, 3536, 778, 3536, 3536, 3536, 3536, 3536, 772, 3536,
4571  3536, 772, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 773,
4572  3536, 3536, 3536, 3340, 774, 775, 3295, 3295, 3295, 3295,
4573  3321, 777, 3536, 778, 862, 863, 3536, 862, 2910, 2680,
4574  2680, 2910, 3536, 3536, 3536, 864, 3536, 3341, 3536, 666,
4575  865, 866, 3536, 2680, 2680, 2680, 2680, 777, 3536, 778,
4576 
4577  3536, 1841, 3536, 2682, 666, 3536, 3536, 3536, 3297, 2345,
4578  3298, 3297, 3536, 3536, 3536, 3536, 2325, 3536, 2682, 3299,
4579  3300, 3536, 3536, 3300, 3536, 3342, 1842, 3536, 3536, 3536,
4580  3536, 3301, 3300, 3302, 3536, 3536, 3536, 3536, 3536, 3536,
4581  3536, 1842, 3536, 3330, 2345, 2345, 3330, 3536, 3536, 3368,
4582  3536, 3343, 3536, 3536, 2346, 667, 3303, 3300, 667, 3369,
4583  3294, 665, 665, 3294, 3536, 3536, 669, 667, 3331, 3536,
4584  772, 666, 667, 772, 3536, 667, 3536, 3462, 2680, 3463,
4585  3462, 773, 3536, 669, 667, 1013, 774, 775, 3425, 3536,
4586  3536, 671, 667, 777, 3536, 778, 3536, 3536, 3536, 3536,
4587 
4588  3430, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 671, 667,
4589  3536, 3536, 3536, 3536, 2382, 3536, 3536, 3536, 3536, 3536,
4590  3536, 3536, 3536, 3536, 3536, 3384, 3405, 3536, 3536, 3536,
4591  2383, 3308, 3308, 3536, 3308, 3308, 3308, 3295, 3308, 3308,
4592  3308, 3308, 3308, 3307, 3308, 3308, 3308, 3308, 3295, 3295,
4593  3295, 1250, 1250, 1250, 1250, 3308, 3308, 3308, 3308, 3377,
4594  3308, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
4595  1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 3308,
4596  3308, 3308, 3308, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
4597  1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
4598 
4599  1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
4600  3295, 3308, 3308, 3308, 3308, 3295, 3311, 1253, 3311, 3311,
4601  3295, 3295, 3295, 3312, 3295, 3295, 3295, 3296, 3295, 3295,
4602  3295, 3295, 3295, 3295, 3295, 3536, 3536, 3536, 3536, 3313,
4603  3295, 3295, 3295, 3295, 3295, 643, 643, 643, 643, 643,
4604  643, 643, 643, 643, 643, 643, 643, 643, 643, 643,
4605  643, 643, 643, 3295, 3314, 3295, 3295, 643, 643, 643,
4606  643, 643, 643, 643, 643, 643, 643, 643, 643, 643,
4607  643, 643, 1255, 643, 643, 643, 643, 643, 643, 643,
4608  643, 643, 643, 643, 3295, 3295, 3295, 3315, 3316, 3306,
4609 
4610  3306, 3536, 3306, 3306, 3306, 3295, 3306, 3306, 3306, 3306,
4611  3306, 3307, 3308, 3306, 3306, 3306, 3309, 3309, 3295, 1249,
4612  1249, 1249, 1249, 3306, 3306, 3306, 3306, 3310, 3306, 1249,
4613  1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249,
4614  1249, 1249, 1249, 1249, 1249, 1249, 1249, 3306, 3306, 3306,
4615  3306, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249,
4616  1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249,
4617  1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 3295, 3306,
4618  3308, 3306, 3306, 1250, 1250, 3536, 1250, 1250, 1250, 3536,
4619  1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
4620 
4621  3536, 3536, 3536, 862, 863, 3536, 862, 1250, 1250, 1250,
4622  1250, 1619, 1250, 3536, 864, 3536, 3536, 3536, 3536, 865,
4623  866, 3536, 3536, 3536, 3536, 3536, 777, 3536, 778, 3536,
4624  3536, 1250, 1250, 1250, 1250, 3536, 3536, 3536, 3536, 3536,
4625  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
4626  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3406,
4627  3536, 3536, 3536, 1250, 1250, 1250, 1250, 3309, 3309, 3536,
4628  3309, 3309, 3309, 3295, 3309, 3309, 3309, 3309, 3309, 3296,
4629  3295, 3309, 3309, 3309, 3309, 3309, 3295, 1251, 1251, 1251,
4630  1251, 3309, 3309, 3309, 3309, 3380, 3309, 1251, 1251, 1251,
4631 
4632  1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
4633  1251, 1251, 1251, 1251, 1251, 3309, 3309, 3309, 3309, 1251,
4634  1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
4635  1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
4636  1251, 1251, 1251, 1251, 1251, 1251, 3295, 3309, 3295, 3309,
4637  3309, 3295, 3385, 1265, 3385, 3385, 3295, 3295, 3295, 3386,
4638  3295, 3295, 3295, 3296, 3295, 3295, 3295, 3295, 3295, 3295,
4639  3295, 3536, 3536, 3536, 3536, 3313, 3295, 3295, 3295, 3295,
4640  3295, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
4641  1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 3295,
4642 
4643  3314, 3295, 3295, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
4644  1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
4645  1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
4646  3295, 3295, 3295, 3387, 3388, 3295, 3389, 745, 3389, 3389,
4647  3295, 3295, 3295, 3390, 3295, 3295, 3295, 3296, 3295, 3295,
4648  3295, 3295, 3295, 3295, 3295, 3536, 3536, 3536, 3536, 3295,
4649  3295, 3295, 3295, 3295, 3295, 747, 747, 747, 747, 747,
4650  747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
4651  747, 747, 747, 3295, 3295, 3295, 3295, 747, 747, 747,
4652  747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
4653 
4654  747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
4655  747, 747, 747, 747, 3295, 3295, 3295, 3295, 3391, 772,
4656  3536, 3536, 772, 772, 3536, 3536, 772, 3536, 3536, 3536,
4657  773, 3536, 3536, 3536, 773, 774, 775, 3536, 772, 774,
4658  775, 772, 777, 3536, 778, 3536, 777, 3536, 778, 773,
4659  3536, 3536, 3536, 3536, 774, 775, 2910, 2680, 2680, 2910,
4660  3536, 777, 3536, 778, 3536, 3536, 3536, 666, 3536, 3536,
4661  3536, 3536, 2680, 2680, 2680, 2680, 3536, 3536, 3536, 1841,
4662  3536, 2682, 3536, 666, 3536, 3536, 3536, 3536, 3536, 3403,
4663  3428, 3536, 3295, 3428, 3404, 2325, 3536, 2682, 3536, 3536,
4664 
4665  3536, 3296, 3295, 3536, 1842, 3295, 3536, 772, 3536, 3338,
4666  772, 3536, 3536, 3429, 3295, 3295, 3536, 3536, 773, 3536,
4667  1842, 3536, 3423, 774, 775, 3536, 3536, 3536, 3536, 3536,
4668  777, 3536, 778, 3536, 3536, 3536, 3536, 3536, 3295, 3295,
4669  3536, 3424, 1249, 1249, 3536, 1249, 1249, 1249, 3536, 1249,
4670  1249, 1249, 1249, 1249, 1250, 1250, 1249, 1249, 1249, 1251,
4671  1251, 3536, 3536, 3536, 3536, 3536, 1249, 1249, 1249, 1249,
4672  1252, 1249, 3536, 3536, 3536, 3536, 3536, 3536, 3338, 3536,
4673  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
4674  1249, 1249, 1249, 1249, 3536, 772, 3536, 3536, 772, 3536,
4675 
4676  3536, 3536, 3536, 3536, 3536, 3536, 773, 3536, 3536, 3536,
4677  3536, 774, 775, 3536, 3536, 3536, 3536, 3536, 777, 3536,
4678  778, 3536, 1249, 1250, 1249, 1249, 3295, 3432, 2327, 3432,
4679  3432, 3295, 3295, 3295, 3433, 3295, 3295, 3295, 3296, 3295,
4680  3295, 3295, 3295, 3295, 3295, 3295, 3450, 3536, 3536, 3536,
4681  3313, 3295, 3295, 3295, 3295, 3295, 2329, 2329, 2329, 2329,
4682  2329, 2329, 2329, 2329, 2329, 2329, 2329, 2329, 2329, 2329,
4683  2329, 2329, 2329, 2329, 3295, 3314, 3295, 3295, 2329, 2329,
4684  2329, 2329, 2329, 2329, 2329, 2329, 2329, 2329, 2329, 2329,
4685  2329, 2329, 2329, 2330, 2329, 2329, 2329, 2329, 2329, 2329,
4686 
4687  2329, 2329, 2329, 2329, 2329, 3295, 3295, 3295, 3387, 3434,
4688  3295, 3385, 1265, 3385, 3385, 3295, 3295, 3295, 3386, 3295,
4689  3295, 3295, 3296, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
4690  3536, 3536, 3536, 3536, 3313, 3295, 3295, 3295, 3295, 3295,
4691  1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
4692  1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 3295, 3314,
4693  3295, 3295, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
4694  1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
4695  1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 3295,
4696  3295, 3295, 3387, 3388, 3295, 3435, 1853, 3435, 3435, 3295,
4697 
4698  3295, 3295, 3436, 3295, 3295, 3295, 3296, 3295, 3295, 3295,
4699  3295, 3295, 3295, 3295, 3536, 3536, 3536, 3536, 3295, 3295,
4700  3295, 3295, 3295, 3295, 1855, 1855, 1855, 1855, 1855, 1855,
4701  1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855,
4702  1855, 1855, 3295, 3295, 3295, 3295, 1855, 1855, 1855, 1855,
4703  1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855,
4704  1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855,
4705  1855, 1855, 1855, 3295, 3295, 3295, 3295, 3437, 3295, 3438,
4706  1850, 3438, 3438, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
4707  3319, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 1851, 1851,
4708 
4709  1851, 1851, 3313, 3295, 3439, 3295, 3295, 3295, 1851, 1851,
4710  1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851,
4711  1851, 1851, 1851, 1851, 1851, 1851, 3295, 3314, 3295, 3295,
4712  1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851,
4713  1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851,
4714  1851, 1851, 1851, 1851, 1851, 1851, 1851, 3295, 3295, 3295,
4715  3295, 3440, 3295, 3389, 745, 3389, 3389, 3295, 3295, 3295,
4716  3390, 3295, 3295, 3295, 3296, 3295, 3295, 3295, 3295, 3295,
4717  3295, 3295, 3536, 3536, 3536, 3536, 3295, 3295, 3295, 3295,
4718  3295, 3295, 747, 747, 747, 747, 747, 747, 747, 747,
4719 
4720  747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
4721  3295, 3295, 3295, 3295, 747, 747, 747, 747, 747, 747,
4722  747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
4723  747, 747, 747, 747, 747, 747, 747, 747, 747, 747,
4724  747, 3295, 3295, 3295, 3295, 3391, 3295, 3441, 1357, 3442,
4725  3441, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3319, 3300,
4726  3295, 3295, 3300, 3295, 3295, 3295, 1358, 1358, 1358, 1358,
4727  3295, 3300, 3302, 3295, 3295, 3295, 1358, 1358, 1358, 1358,
4728  1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
4729  1358, 1358, 1358, 1358, 3295, 3295, 3300, 3295, 1358, 1358,
4730 
4731  1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
4732  1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
4733  1358, 1358, 1358, 1358, 1358, 3295, 3295, 3295, 3295, 3443,
4734  772, 3536, 3536, 772, 862, 863, 3536, 862, 3536, 3536,
4735  3536, 773, 3536, 3536, 3536, 864, 774, 775, 3536, 3536,
4736  865, 866, 3536, 777, 3536, 778, 3536, 777, 3536, 778,
4737  3536, 2910, 2680, 2680, 2910, 3536, 3536, 3441, 1357, 3442,
4738  3441, 3536, 666, 3536, 3536, 3536, 3536, 772, 3319, 3300,
4739  772, 3536, 3300, 3536, 1841, 1387, 2682, 3536, 773, 1487,
4740  3295, 3300, 3302, 774, 775, 3536, 772, 3536, 3536, 772,
4741 
4742  777, 3536, 778, 3295, 3536, 3295, 3295, 773, 3536, 1842,
4743  3295, 3536, 774, 775, 3536, 3536, 3300, 3536, 3536, 777,
4744  3536, 778, 3536, 3536, 3536, 3536, 3295, 3536, 3536, 3504,
4745  3461, 3295, 3462, 2680, 3463, 3462, 3295, 3295, 3295, 3295,
4746  3295, 3295, 3295, 3371, 3295, 3295, 3295, 3295, 3295, 3295,
4747  3295, 3295, 3536, 3536, 3536, 3430, 3295, 3464, 3295, 3295,
4748  3295, 3536, 3536, 3536, 3536, 3536, 3515, 3536, 3536, 2329,
4749  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3295,
4750  3384, 3295, 3295, 772, 3295, 3536, 772, 3536, 3536, 3536,
4751  3536, 3536, 3536, 3536, 773, 3536, 3536, 3536, 3536, 774,
4752 
4753  775, 3536, 3536, 3536, 3536, 3536, 777, 3536, 778, 3536,
4754  3295, 3295, 3295, 3295, 3465, 3295, 3432, 2327, 3432, 3432,
4755  3295, 3295, 3295, 3469, 3295, 3295, 3295, 3296, 3295, 3295,
4756  3295, 3295, 3295, 3295, 3295, 3536, 3536, 3480, 3536, 3313,
4757  3295, 3295, 3295, 3295, 3295, 2678, 2678, 2678, 2678, 2678,
4758  2678, 2678, 2678, 2678, 2678, 2678, 2678, 2678, 2678, 2678,
4759  2678, 2678, 2678, 3295, 3314, 3295, 3295, 2678, 2678, 2678,
4760  2678, 2678, 2678, 2678, 2678, 2678, 2678, 2678, 2678, 2678,
4761  2678, 2678, 2679, 2678, 2678, 2678, 2678, 2678, 2678, 2678,
4762  2678, 2678, 2678, 2678, 3295, 3295, 3295, 3387, 3470, 3295,
4763 
4764  3471, 2338, 3471, 3471, 3295, 3295, 3295, 3295, 3295, 3295,
4765  3295, 3319, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 2339,
4766  2339, 2339, 2339, 3295, 3295, 3295, 3295, 3295, 3295, 2339,
4767  2339, 2339, 2339, 2339, 2339, 2339, 2339, 2339, 2339, 2339,
4768  2339, 2339, 2339, 2339, 2339, 2339, 2339, 3295, 3295, 3295,
4769  3295, 2339, 2339, 2339, 2339, 2339, 2339, 2339, 2339, 2339,
4770  2339, 2339, 2339, 2339, 2339, 2339, 2339, 2339, 2339, 2339,
4771  2339, 2339, 2339, 2339, 2339, 2339, 2339, 2339, 3295, 3295,
4772  3295, 3295, 3472, 3473, 3473, 3536, 3473, 3473, 3473, 3295,
4773  3473, 3473, 3473, 3473, 3473, 3296, 3295, 3473, 3473, 3473,
4774 
4775  3473, 3473, 3295, 1847, 1847, 1847, 1847, 3473, 3473, 3473,
4776  3473, 3474, 3473, 1847, 1847, 1847, 1847, 1847, 1847, 1847,
4777  1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847,
4778  1847, 3473, 3473, 3473, 3473, 1847, 1847, 1847, 1847, 1847,
4779  1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847,
4780  1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847,
4781  1847, 1847, 3295, 3473, 3295, 3473, 3473, 3295, 3491, 2680,
4782  3463, 3491, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3371,
4783  3295, 3295, 3295, 3295, 3295, 3295, 3295, 3535, 665, 665,
4784  3535, 3383, 3295, 3464, 3295, 3295, 3295, 3536, 666, 667,
4785 
4786  3536, 3536, 667, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
4787  669, 667, 1013, 3536, 3536, 3295, 3384, 3295, 3295, 3536,
4788  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
4789  3536, 3536, 3536, 3536, 3536, 671, 667, 3536, 3536, 3536,
4790  3536, 3536, 3536, 3536, 3536, 3536, 3295, 3295, 3295, 3295,
4791  3492, 3309, 3309, 3536, 3309, 3309, 3309, 3295, 3309, 3309,
4792  3309, 3309, 3309, 3296, 3295, 3309, 3309, 3309, 3309, 3309,
4793  3295, 1251, 1251, 1251, 1251, 3309, 3309, 3309, 3309, 3380,
4794  3309, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
4795  1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 3309,
4796 
4797  3309, 3309, 3309, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
4798  1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
4799  1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
4800  3295, 3309, 3295, 3309, 3309, 3295, 3295, 3536, 3295, 3295,
4801  3295, 3295, 3295, 3495, 3295, 3295, 3295, 3296, 3295, 3295,
4802  3295, 3295, 3295, 3295, 3295, 3536, 3536, 3536, 3536, 3295,
4803  3295, 3295, 3295, 3295, 3295, 2847, 2847, 2847, 2847, 2847,
4804  2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
4805  2847, 2847, 2847, 3295, 3295, 3295, 3295, 2847, 2847, 2847,
4806  2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
4807 
4808  2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
4809  2847, 2847, 2847, 2847, 3295, 3295, 3295, 3295, 3496, 3295,
4810  3295, 3536, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
4811  3295, 3296, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3536,
4812  3536, 3536, 3536, 3295, 3295, 3295, 3295, 3295, 3295, 2678,
4813  2678, 2678, 2678, 2678, 2678, 2678, 2678, 2678, 2678, 2678,
4814  2678, 2678, 2678, 2678, 2678, 2678, 2678, 3295, 3295, 3295,
4815  3295, 2678, 2678, 2678, 2678, 2678, 2678, 2678, 2678, 2678,
4816  2678, 2678, 2678, 2678, 2678, 2678, 2678, 2678, 2678, 2678,
4817  2678, 2678, 2678, 2678, 2678, 2678, 2678, 2678, 3295, 3295,
4818 
4819  3295, 3295, 3470, 3295, 3428, 3536, 3295, 3428, 3295, 3295,
4820  3295, 3295, 3295, 3295, 3295, 3296, 3295, 3295, 3295, 3295,
4821  3295, 3295, 3295, 3026, 3026, 3026, 3026, 3429, 3295, 3295,
4822  3295, 3295, 3295, 3026, 3026, 3026, 3026, 3026, 3026, 3026,
4823  3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026,
4824  3026, 3295, 3295, 3295, 3295, 3026, 3026, 3026, 3026, 3026,
4825  3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026,
4826  3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026,
4827  3026, 3026, 3295, 3295, 3295, 3295, 3511, 772, 3536, 3536,
4828  772, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 773, 3536,
4829 
4830  3536, 3536, 3536, 774, 775, 3536, 3536, 3536, 3536, 3536,
4831  777, 3536, 778, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
4832  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
4833  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
4834  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
4835  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3338, 74,
4836  74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
4837  74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
4838  74, 74, 74, 74, 74, 74, 74, 74, 74, 83,
4839  83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
4840 
4841  83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
4842  83, 83, 83, 83, 83, 83, 83, 83, 83, 92,
4843  92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
4844  92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
4845  92, 92, 92, 92, 92, 92, 92, 92, 92, 100,
4846  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
4847  100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
4848  100, 100, 100, 100, 100, 100, 100, 100, 100, 110,
4849  110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
4850  110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
4851 
4852  110, 110, 110, 110, 110, 110, 110, 110, 110, 120,
4853  120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
4854  120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
4855  120, 120, 120, 120, 120, 120, 120, 120, 120, 130,
4856  130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
4857  130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
4858  130, 130, 130, 130, 130, 130, 130, 130, 130, 140,
4859  140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
4860  140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
4861  140, 140, 140, 140, 140, 140, 140, 140, 140, 315,
4862 
4863  315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
4864  315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
4865  315, 315, 315, 315, 315, 315, 315, 315, 315, 325,
4866  325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
4867  325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
4868  325, 325, 325, 325, 325, 325, 325, 325, 325, 370,
4869  370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
4870  370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
4871  370, 370, 370, 370, 370, 370, 370, 370, 370, 542,
4872  542, 542, 542, 542, 542, 542, 542, 542, 542, 542,
4873 
4874  542, 542, 542, 542, 542, 542, 542, 542, 542, 542,
4875  542, 542, 542, 542, 542, 542, 542, 542, 542, 552,
4876  552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
4877  552, 552, 552, 552, 552, 552, 552, 552, 552, 552,
4878  552, 552, 552, 552, 552, 552, 552, 552, 552, 577,
4879  577, 3536, 3536, 577, 3536, 577, 577, 577, 577, 577,
4880  577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
4881  577, 577, 3536, 577, 577, 577, 577, 577, 577, 581,
4882  581, 3536, 581, 581, 581, 581, 581, 581, 581, 581,
4883  581, 581, 581, 581, 581, 581, 581, 581, 581, 581,
4884 
4885  581, 581, 581, 581, 581, 581, 581, 581, 581, 586,
4886  586, 3536, 3536, 586, 586, 586, 3536, 586, 586, 586,
4887  586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
4888  586, 586, 3536, 586, 586, 586, 586, 586, 586, 594,
4889  594, 3536, 594, 594, 3536, 594, 594, 594, 594, 594,
4890  594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
4891  594, 594, 594, 594, 594, 594, 594, 594, 594, 602,
4892  602, 3536, 602, 602, 602, 602, 602, 602, 602, 602,
4893  602, 602, 602, 3536, 602, 602, 602, 602, 602, 602,
4894  602, 602, 3536, 602, 602, 602, 602, 602, 602, 603,
4895 
4896  603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
4897  603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
4898  603, 603, 603, 603, 603, 603, 603, 603, 603, 613,
4899  613, 3536, 613, 613, 613, 613, 613, 613, 613, 3536,
4900  613, 613, 613, 3536, 613, 613, 613, 613, 613, 613,
4901  613, 613, 613, 613, 613, 613, 613, 613, 613, 623,
4902  623, 3536, 3536, 623, 623, 623, 623, 623, 623, 623,
4903  623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
4904  623, 623, 623, 623, 623, 623, 623, 623, 623, 634,
4905  634, 3536, 634, 634, 634, 634, 634, 634, 634, 3536,
4906 
4907  634, 634, 634, 634, 634, 634, 634, 634, 634, 634,
4908  634, 634, 634, 634, 634, 634, 634, 634, 634, 645,
4909  645, 3536, 645, 645, 645, 645, 645, 645, 645, 645,
4910  645, 645, 645, 645, 645, 645, 645, 645, 645, 645,
4911  645, 645, 645, 645, 645, 645, 645, 645, 645, 668,
4912  668, 668, 668, 3536, 3536, 3536, 668, 668, 3536, 668,
4913  3536, 3536, 3536, 668, 668, 668, 668, 3536, 668, 668,
4914  3536, 668, 668, 668, 3536, 3536, 3536, 668, 679, 679,
4915  679, 679, 3536, 679, 3536, 3536, 3536, 3536, 3536, 3536,
4916  3536, 3536, 3536, 679, 3536, 3536, 3536, 679, 679, 3536,
4917 
4918  679, 3536, 679, 3536, 3536, 679, 679, 747, 747, 747,
4919  747, 3536, 747, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
4920  3536, 3536, 3536, 3536, 3536, 3536, 747, 747, 3536, 3536,
4921  3536, 747, 3536, 3536, 3536, 747, 776, 3536, 3536, 776,
4922  3536, 3536, 3536, 776, 3536, 3536, 3536, 776, 776, 3536,
4923  776, 776, 3536, 776, 3536, 776, 776, 3536, 3536, 3536,
4924  776, 3536, 3536, 3536, 776, 846, 846, 846, 846, 3536,
4925  3536, 3536, 846, 3536, 3536, 3536, 3536, 3536, 3536, 846,
4926  846, 3536, 846, 3536, 846, 846, 3536, 846, 3536, 846,
4927  3536, 3536, 3536, 846, 859, 859, 859, 859, 3536, 859,
4928 
4929  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
4930  3536, 3536, 3536, 859, 859, 3536, 3536, 3536, 859, 3536,
4931  3536, 3536, 859, 867, 867, 3536, 867, 3536, 3536, 3536,
4932  867, 3536, 3536, 3536, 867, 867, 3536, 867, 867, 3536,
4933  867, 3536, 867, 867, 3536, 3536, 3536, 867, 3536, 3536,
4934  3536, 867, 930, 3536, 3536, 3536, 3536, 930, 930, 3536,
4935  3536, 3536, 930, 3536, 3536, 3536, 930, 941, 3536, 3536,
4936  941, 3536, 3536, 3536, 941, 3536, 3536, 3536, 3536, 3536,
4937  3536, 941, 941, 3536, 3536, 3536, 941, 941, 3536, 941,
4938  3536, 941, 3536, 3536, 3536, 941, 951, 3536, 951, 3536,
4939 
4940  3536, 3536, 3536, 951, 951, 3536, 3536, 3536, 951, 3536,
4941  3536, 3536, 951, 955, 3536, 3536, 3536, 3536, 955, 955,
4942  3536, 3536, 3536, 955, 3536, 3536, 3536, 955, 964, 964,
4943  3536, 3536, 3536, 964, 964, 3536, 964, 3536, 964, 3536,
4944  3536, 3536, 964, 975, 975, 3536, 3536, 3536, 3536, 3536,
4945  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 975, 975,
4946  3536, 3536, 3536, 975, 3536, 3536, 3536, 975, 977, 977,
4947  3536, 977, 977, 977, 977, 977, 977, 977, 977, 977,
4948  977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
4949  977, 977, 977, 977, 977, 977, 977, 977, 1011, 1011,
4950 
4951  1011, 1011, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
4952  3536, 3536, 1011, 1011, 3536, 1011, 3536, 1011, 1011, 3536,
4953  1011, 3536, 1011, 3536, 3536, 3536, 1011, 1018, 1018, 1018,
4954  1018, 3536, 1018, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
4955  3536, 3536, 3536, 3536, 3536, 3536, 1018, 1018, 3536, 3536,
4956  3536, 1018, 3536, 3536, 1018, 1018, 1038, 1038, 1038, 1038,
4957  3536, 1038, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
4958  3536, 3536, 3536, 3536, 3536, 1038, 1038, 3536, 3536, 3536,
4959  1038, 3536, 3536, 3536, 1038, 1048, 3536, 3536, 3536, 3536,
4960  1048, 1048, 3536, 3536, 3536, 1048, 3536, 3536, 3536, 1048,
4961 
4962  1056, 3536, 3536, 3536, 3536, 1056, 1056, 3536, 3536, 3536,
4963  1056, 3536, 3536, 3536, 1056, 1075, 3536, 3536, 1075, 3536,
4964  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 1075,
4965  1075, 3536, 3536, 3536, 1075, 1075, 3536, 3536, 3536, 1075,
4966  3536, 3536, 3536, 1075, 1078, 3536, 3536, 3536, 3536, 1078,
4967  1078, 3536, 3536, 3536, 1078, 3536, 3536, 3536, 1078, 1096,
4968  1096, 3536, 1096, 3536, 1096, 1096, 3536, 1096, 1096, 1096,
4969  1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096,
4970  1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1099,
4971  3536, 3536, 3536, 3536, 1099, 1099, 3536, 3536, 3536, 1099,
4972 
4973  3536, 3536, 3536, 1099, 1102, 1102, 1102, 1102, 3536, 3536,
4974  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 1102, 1102,
4975  3536, 3536, 3536, 1102, 1102, 3536, 3536, 1102, 1102, 3536,
4976  3536, 3536, 1102, 1105, 1105, 3536, 1105, 1105, 3536, 3536,
4977  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
4978  1105, 1105, 1105, 1105, 1105, 1105, 3536, 1105, 1105, 1105,
4979  1105, 1105, 1105, 1110, 1110, 3536, 1110, 1110, 3536, 3536,
4980  1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110,
4981  1110, 1110, 1110, 1110, 1110, 1110, 3536, 1110, 1110, 1110,
4982  1110, 1110, 1110, 1111, 1111, 3536, 1111, 1111, 1111, 1111,
4983 
4984  1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111,
4985  1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111,
4986  1111, 1111, 1111, 1118, 3536, 3536, 3536, 3536, 1118, 1118,
4987  3536, 3536, 3536, 1118, 3536, 3536, 3536, 1118, 1140, 1140,
4988  3536, 3536, 3536, 1140, 1140, 3536, 3536, 3536, 1140, 3536,
4989  3536, 3536, 1140, 1142, 1142, 3536, 1142, 1142, 1142, 1142,
4990  1142, 1142, 3536, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
4991  1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
4992  1142, 1142, 1142, 1143, 3536, 1143, 1143, 3536, 1143, 1143,
4993  1143, 3536, 3536, 1143, 1143, 1143, 1143, 1143, 1143, 1143,
4994 
4995  1143, 1143, 1143, 1143, 1143, 1143, 3536, 1143, 1143, 1143,
4996  1143, 1143, 1143, 577, 577, 3536, 3536, 577, 3536, 577,
4997  577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
4998  577, 577, 577, 577, 577, 577, 3536, 577, 577, 577,
4999  577, 577, 577, 586, 586, 3536, 3536, 586, 586, 586,
5000  3536, 586, 586, 586, 586, 586, 586, 586, 586, 586,
5001  586, 586, 586, 586, 586, 586, 3536, 586, 586, 586,
5002  586, 586, 586, 594, 594, 3536, 594, 594, 3536, 594,
5003  594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
5004  594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
5005 
5006  594, 594, 594, 602, 602, 3536, 602, 602, 602, 602,
5007  602, 602, 602, 602, 602, 602, 602, 3536, 602, 602,
5008  602, 602, 602, 602, 602, 602, 3536, 602, 602, 602,
5009  602, 602, 602, 603, 603, 603, 603, 603, 603, 603,
5010  603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
5011  603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
5012  603, 603, 603, 613, 613, 3536, 613, 613, 613, 613,
5013  613, 613, 613, 3536, 613, 613, 613, 3536, 613, 613,
5014  613, 613, 613, 613, 613, 613, 613, 613, 613, 613,
5015  613, 613, 613, 623, 623, 3536, 3536, 623, 623, 623,
5016 
5017  623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
5018  623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
5019  623, 623, 623, 634, 634, 3536, 634, 634, 634, 634,
5020  634, 634, 634, 3536, 634, 634, 634, 634, 634, 634,
5021  634, 634, 634, 634, 634, 634, 634, 634, 634, 634,
5022  634, 634, 634, 668, 668, 668, 668, 3536, 3536, 3536,
5023  668, 668, 3536, 668, 3536, 3536, 3536, 668, 668, 668,
5024  668, 3536, 668, 668, 3536, 668, 668, 668, 3536, 3536,
5025  3536, 668, 645, 645, 3536, 645, 645, 645, 645, 645,
5026  645, 645, 645, 645, 645, 645, 645, 645, 645, 645,
5027 
5028  645, 645, 645, 645, 645, 645, 645, 645, 645, 645,
5029  645, 645, 1231, 3536, 3536, 1231, 3536, 1231, 3536, 3536,
5030  1231, 1231, 3536, 3536, 3536, 3536, 3536, 1231, 3536, 3536,
5031  3536, 1231, 1231, 3536, 1231, 3536, 1231, 3536, 3536, 1231,
5032  1231, 679, 679, 679, 679, 3536, 679, 3536, 3536, 3536,
5033  3536, 3536, 3536, 3536, 3536, 3536, 679, 3536, 3536, 3536,
5034  679, 679, 3536, 679, 3536, 679, 3536, 3536, 679, 679,
5035  1249, 1249, 3536, 1249, 1249, 3536, 1249, 1249, 1249, 1249,
5036  1249, 1249, 1249, 1249, 3536, 1249, 1249, 1249, 1249, 1249,
5037  1249, 1249, 1249, 1249, 1249, 1249, 3536, 1249, 1249, 1249,
5038 
5039  643, 643, 643, 643, 3536, 643, 3536, 3536, 3536, 3536,
5040  3536, 3536, 3536, 3536, 3536, 643, 3536, 3536, 3536, 643,
5041  643, 3536, 643, 3536, 643, 3536, 3536, 643, 643, 1257,
5042  3536, 1257, 1257, 3536, 1257, 1257, 1257, 1257, 3536, 1257,
5043  1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
5044  1257, 1257, 3536, 1257, 1257, 1257, 1257, 1257, 1257, 1261,
5045  1261, 1261, 1261, 3536, 3536, 3536, 1261, 1261, 3536, 1261,
5046  3536, 3536, 3536, 1261, 1261, 1261, 1261, 3536, 1261, 1261,
5047  3536, 1261, 1261, 1261, 3536, 3536, 3536, 1261, 1267, 1267,
5048  1267, 1267, 3536, 1267, 3536, 3536, 3536, 3536, 3536, 3536,
5049 
5050  3536, 3536, 3536, 1267, 3536, 3536, 3536, 1267, 1267, 3536,
5051  1267, 3536, 1267, 3536, 3536, 1267, 1267, 747, 747, 747,
5052  747, 3536, 747, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5053  3536, 3536, 3536, 3536, 3536, 3536, 747, 747, 3536, 3536,
5054  3536, 747, 3536, 3536, 3536, 747, 1358, 1358, 1358, 1358,
5055  3536, 3536, 3536, 1358, 1358, 3536, 1358, 3536, 3536, 3536,
5056  1358, 3536, 1358, 1358, 3536, 1358, 1358, 3536, 3536, 1358,
5057  1358, 3536, 3536, 3536, 1358, 776, 3536, 3536, 776, 3536,
5058  3536, 3536, 776, 3536, 3536, 3536, 776, 776, 3536, 776,
5059  776, 3536, 776, 3536, 776, 776, 3536, 3536, 3536, 776,
5060 
5061  3536, 3536, 3536, 776, 1365, 3536, 3536, 1365, 3536, 1365,
5062  3536, 3536, 1365, 1365, 3536, 3536, 3536, 3536, 3536, 3536,
5063  3536, 3536, 3536, 1365, 1365, 3536, 3536, 3536, 1365, 3536,
5064  3536, 3536, 1365, 1381, 1381, 3536, 1381, 1381, 1381, 1381,
5065  1381, 3536, 3536, 1381, 1381, 1381, 1381, 1381, 1381, 1381,
5066  1381, 3536, 1381, 1381, 1381, 3536, 1381, 3536, 1381, 3536,
5067  3536, 1381, 1381, 846, 846, 846, 846, 3536, 3536, 3536,
5068  846, 3536, 3536, 3536, 3536, 3536, 3536, 846, 846, 3536,
5069  846, 3536, 846, 846, 3536, 846, 3536, 846, 3536, 3536,
5070  3536, 846, 841, 841, 841, 841, 3536, 841, 3536, 3536,
5071 
5072  3536, 3536, 3536, 3536, 3536, 3536, 3536, 841, 3536, 3536,
5073  3536, 841, 841, 3536, 841, 3536, 841, 3536, 3536, 841,
5074  841, 1473, 1473, 3536, 1473, 1473, 3536, 1473, 1473, 3536,
5075  3536, 1473, 1473, 1473, 1473, 3536, 1473, 1473, 1473, 1473,
5076  1473, 1473, 1473, 1473, 1473, 1473, 1473, 3536, 3536, 1473,
5077  1473, 1478, 1478, 1478, 1478, 3536, 1478, 3536, 3536, 3536,
5078  3536, 3536, 3536, 3536, 3536, 3536, 1478, 3536, 3536, 3536,
5079  1478, 1478, 3536, 1478, 3536, 1478, 3536, 3536, 1478, 1478,
5080  859, 859, 859, 859, 3536, 859, 3536, 3536, 3536, 3536,
5081  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 859,
5082 
5083  859, 3536, 3536, 3536, 859, 3536, 3536, 3536, 859, 1482,
5084  1482, 1482, 1482, 3536, 3536, 3536, 1482, 3536, 3536, 3536,
5085  3536, 3536, 3536, 1482, 3536, 3536, 3536, 3536, 1482, 1482,
5086  3536, 3536, 3536, 1482, 3536, 3536, 3536, 1482, 867, 867,
5087  3536, 867, 3536, 3536, 3536, 867, 3536, 3536, 3536, 867,
5088  867, 3536, 867, 867, 3536, 867, 3536, 867, 867, 3536,
5089  3536, 3536, 867, 3536, 3536, 3536, 867, 930, 3536, 3536,
5090  3536, 3536, 930, 930, 3536, 3536, 3536, 930, 3536, 3536,
5091  3536, 930, 941, 3536, 3536, 941, 3536, 3536, 3536, 941,
5092  3536, 3536, 3536, 3536, 3536, 3536, 941, 941, 3536, 3536,
5093 
5094  3536, 941, 941, 3536, 941, 3536, 941, 3536, 3536, 3536,
5095  941, 1566, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5096  3536, 3536, 3536, 3536, 3536, 1566, 1566, 3536, 3536, 3536,
5097  1566, 3536, 3536, 3536, 1566, 1569, 3536, 3536, 3536, 3536,
5098  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 1569,
5099  1569, 3536, 3536, 3536, 1569, 3536, 3536, 3536, 1569, 951,
5100  3536, 951, 3536, 3536, 3536, 3536, 951, 951, 3536, 3536,
5101  3536, 951, 3536, 3536, 3536, 951, 1572, 3536, 3536, 3536,
5102  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5103  1572, 1572, 3536, 3536, 3536, 1572, 3536, 3536, 3536, 1572,
5104 
5105  955, 3536, 3536, 3536, 3536, 955, 955, 3536, 3536, 3536,
5106  955, 3536, 3536, 3536, 955, 964, 964, 3536, 3536, 3536,
5107  964, 964, 3536, 964, 3536, 964, 3536, 3536, 3536, 964,
5108  961, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5109  3536, 3536, 3536, 3536, 961, 961, 3536, 3536, 3536, 961,
5110  3536, 3536, 3536, 961, 975, 3536, 3536, 3536, 3536, 3536,
5111  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 975, 975,
5112  3536, 3536, 3536, 975, 3536, 3536, 3536, 975, 1584, 3536,
5113  3536, 3536, 3536, 1584, 1584, 3536, 3536, 3536, 1584, 3536,
5114  3536, 3536, 1584, 977, 977, 3536, 977, 977, 977, 977,
5115 
5116  977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
5117  977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
5118  977, 977, 977, 1011, 1011, 1011, 1011, 3536, 3536, 3536,
5119  3536, 3536, 3536, 3536, 3536, 3536, 3536, 1011, 1011, 3536,
5120  1011, 3536, 1011, 1011, 3536, 1011, 3536, 1011, 3536, 3536,
5121  3536, 1011, 1018, 1018, 1018, 1018, 3536, 1018, 3536, 3536,
5122  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5123  3536, 1018, 1018, 3536, 3536, 3536, 1018, 3536, 3536, 1018,
5124  1018, 1250, 1250, 3536, 1250, 1250, 3536, 1250, 1250, 1250,
5125  1250, 1250, 1250, 3536, 3536, 3536, 1250, 1250, 1250, 1250,
5126 
5127  1250, 1250, 1250, 1250, 1250, 1250, 1250, 3536, 1250, 1250,
5128  1250, 1621, 1621, 1621, 1621, 3536, 3536, 3536, 3536, 3536,
5129  3536, 3536, 3536, 3536, 3536, 1621, 1621, 3536, 1621, 3536,
5130  1621, 1621, 3536, 1621, 3536, 1621, 3536, 3536, 3536, 1621,
5131  1038, 1038, 1038, 1038, 3536, 1038, 3536, 3536, 3536, 3536,
5132  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 1038,
5133  1038, 3536, 3536, 3536, 1038, 3536, 3536, 3536, 1038, 1645,
5134  3536, 3536, 1645, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5135  3536, 3536, 3536, 1645, 3536, 3536, 1645, 3536, 1645, 1645,
5136  3536, 3536, 3536, 1645, 3536, 3536, 3536, 1645, 1048, 3536,
5137 
5138  3536, 3536, 3536, 1048, 1048, 3536, 3536, 3536, 1048, 3536,
5139  3536, 3536, 1048, 1056, 3536, 3536, 3536, 3536, 1056, 1056,
5140  3536, 3536, 3536, 1056, 3536, 3536, 3536, 1056, 1075, 3536,
5141  3536, 1075, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5142  3536, 3536, 1075, 1075, 3536, 3536, 3536, 1075, 1075, 3536,
5143  3536, 3536, 1075, 3536, 3536, 3536, 1075, 1078, 3536, 3536,
5144  3536, 3536, 1078, 1078, 3536, 3536, 3536, 1078, 3536, 3536,
5145  3536, 1078, 1099, 3536, 3536, 3536, 3536, 1099, 1099, 3536,
5146  3536, 3536, 1099, 3536, 3536, 3536, 1099, 1683, 1683, 3536,
5147  1683, 3536, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683,
5148 
5149  1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683, 1683,
5150  3536, 1683, 1683, 1683, 1683, 1683, 1683, 1685, 1685, 3536,
5151  1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685,
5152  1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685,
5153  1685, 1685, 1685, 1685, 1685, 1685, 1685, 1102, 1102, 1102,
5154  1102, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5155  3536, 1102, 1102, 3536, 3536, 3536, 1102, 1102, 3536, 3536,
5156  1102, 1102, 3536, 3536, 3536, 1102, 1105, 1105, 3536, 1105,
5157  1105, 3536, 3536, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
5158  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 3536,
5159 
5160  1105, 1105, 1105, 1105, 1105, 1105, 1687, 3536, 3536, 3536,
5161  3536, 1687, 1687, 3536, 3536, 3536, 1687, 3536, 3536, 3536,
5162  1687, 1110, 1110, 3536, 1110, 1110, 3536, 3536, 1110, 1110,
5163  1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110,
5164  1110, 1110, 1110, 1110, 3536, 1110, 1110, 1110, 1110, 1110,
5165  1110, 1118, 3536, 3536, 3536, 3536, 1118, 1118, 3536, 3536,
5166  3536, 1118, 3536, 3536, 3536, 1118, 1140, 1140, 3536, 3536,
5167  3536, 1140, 1140, 3536, 3536, 3536, 1140, 3536, 3536, 3536,
5168  1140, 1142, 1142, 3536, 1142, 1142, 1142, 1142, 1142, 1142,
5169  3536, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
5170 
5171  1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
5172  1142, 1719, 3536, 1719, 1719, 3536, 1719, 1719, 1719, 3536,
5173  3536, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
5174  1719, 1719, 1719, 1719, 3536, 1719, 1719, 1719, 1719, 1719,
5175  1719, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
5176  1736, 1736, 1736, 1736, 1736, 3536, 1736, 1736, 1736, 1736,
5177  1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
5178  1736, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740,
5179  1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740,
5180  1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740,
5181 
5182  1740, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744,
5183  1744, 1744, 1744, 1744, 1744, 3536, 1744, 1744, 1744, 1744,
5184  1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744,
5185  1744, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746,
5186  1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746,
5187  1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746,
5188  1746, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749,
5189  1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749,
5190  1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749,
5191  1749, 577, 577, 3536, 3536, 577, 3536, 577, 577, 577,
5192 
5193  577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
5194  577, 577, 577, 577, 3536, 577, 577, 577, 577, 577,
5195  577, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753,
5196  1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753,
5197  1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753,
5198  1753, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756,
5199  1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756,
5200  1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756,
5201  1756, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758,
5202  1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758,
5203 
5204  1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758,
5205  1758, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760,
5206  1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760,
5207  1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760,
5208  1760, 586, 586, 3536, 3536, 586, 586, 586, 3536, 586,
5209  586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
5210  586, 586, 586, 586, 3536, 586, 586, 586, 586, 586,
5211  586, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764,
5212  1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764,
5213  1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764,
5214 
5215  1764, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767,
5216  1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767,
5217  1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767,
5218  1767, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769,
5219  1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769,
5220  1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769,
5221  1769, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771,
5222  1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771,
5223  1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771,
5224  1771, 594, 594, 3536, 594, 594, 3536, 594, 594, 594,
5225 
5226  594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
5227  594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
5228  594, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
5229  1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
5230  1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
5231  1775, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778,
5232  1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778,
5233  1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778, 1778,
5234  1778, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780,
5235  1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780,
5236 
5237  1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780,
5238  1780, 603, 603, 603, 603, 603, 603, 603, 603, 603,
5239  603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
5240  603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
5241  603, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
5242  1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
5243  1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788, 1788,
5244  1788, 623, 623, 3536, 3536, 623, 623, 623, 623, 623,
5245  623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
5246  623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
5247 
5248  623, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793,
5249  1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793,
5250  1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793,
5251  1793, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797,
5252  1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797,
5253  1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797,
5254  1797, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800,
5255  1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800,
5256  1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800,
5257  1800, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
5258 
5259  1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
5260  1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
5261  1806, 634, 634, 3536, 634, 634, 634, 634, 634, 634,
5262  634, 3536, 634, 634, 634, 634, 634, 634, 634, 634,
5263  634, 634, 634, 634, 634, 634, 634, 634, 634, 634,
5264  634, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808,
5265  1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808,
5266  1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808,
5267  1808, 668, 668, 668, 668, 3536, 3536, 3536, 668, 668,
5268  3536, 668, 3536, 3536, 3536, 668, 668, 668, 668, 3536,
5269 
5270  668, 668, 3536, 668, 668, 668, 3536, 3536, 3536, 668,
5271  1231, 3536, 3536, 1231, 3536, 1231, 3536, 3536, 1231, 1231,
5272  3536, 3536, 3536, 3536, 3536, 1231, 3536, 3536, 3536, 1231,
5273  1231, 3536, 1231, 3536, 1231, 3536, 3536, 1231, 1231, 1817,
5274  1817, 1817, 1817, 3536, 1817, 3536, 3536, 1817, 3536, 3536,
5275  3536, 3536, 3536, 1817, 1817, 3536, 3536, 3536, 1817, 1817,
5276  3536, 1817, 3536, 1817, 3536, 3536, 1817, 1817, 1822, 1822,
5277  1822, 1822, 3536, 1822, 3536, 3536, 3536, 3536, 3536, 3536,
5278  3536, 3536, 3536, 3536, 3536, 3536, 3536, 1822, 1822, 3536,
5279  3536, 3536, 1822, 3536, 3536, 3536, 1822, 1249, 1249, 3536,
5280 
5281  1249, 1249, 3536, 1249, 1249, 1249, 1249, 1249, 1249, 1249,
5282  1249, 3536, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249,
5283  1249, 1249, 1249, 3536, 1249, 1249, 1249, 1250, 1250, 3536,
5284  1250, 1250, 3536, 1250, 1250, 1250, 1250, 1250, 1250, 3536,
5285  3536, 3536, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
5286  1250, 1250, 1250, 3536, 1250, 1250, 1250, 1251, 1251, 3536,
5287  1251, 1251, 3536, 1251, 1251, 3536, 3536, 1251, 1251, 1251,
5288  1251, 3536, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
5289  1251, 1251, 1251, 3536, 3536, 1251, 1251, 643, 643, 643,
5290  643, 3536, 643, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5291 
5292  3536, 3536, 643, 3536, 3536, 3536, 643, 643, 3536, 643,
5293  3536, 643, 3536, 3536, 643, 643, 1845, 3536, 1845, 1845,
5294  3536, 1845, 1845, 1845, 1845, 3536, 1845, 1845, 1845, 1845,
5295  1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 3536,
5296  1845, 1845, 1845, 1845, 1845, 1845, 1261, 1261, 1261, 1261,
5297  3536, 3536, 3536, 1261, 1261, 3536, 1261, 3536, 3536, 3536,
5298  1261, 1261, 1261, 1261, 3536, 1261, 1261, 3536, 1261, 1261,
5299  1261, 3536, 3536, 3536, 1261, 1846, 1846, 3536, 1846, 1846,
5300  3536, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 3536,
5301  1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846,
5302 
5303  1846, 3536, 1846, 1846, 1846, 679, 679, 679, 679, 3536,
5304  679, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5305  679, 3536, 3536, 3536, 679, 679, 3536, 679, 3536, 679,
5306  3536, 3536, 679, 679, 1267, 1267, 1267, 1267, 3536, 1267,
5307  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 1267,
5308  3536, 3536, 3536, 1267, 1267, 3536, 1267, 3536, 1267, 3536,
5309  3536, 1267, 1267, 1851, 1851, 1851, 1851, 3536, 3536, 3536,
5310  1851, 3536, 3536, 3536, 3536, 3536, 3536, 1851, 1851, 3536,
5311  1851, 3536, 1851, 1851, 3536, 1851, 3536, 1851, 3536, 3536,
5312  3536, 1851, 1855, 1855, 1855, 1855, 3536, 1855, 3536, 3536,
5313 
5314  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5315  3536, 1855, 1855, 3536, 3536, 3536, 1855, 3536, 3536, 3536,
5316  1855, 1358, 1358, 1358, 1358, 3536, 3536, 3536, 1358, 1358,
5317  3536, 1358, 3536, 3536, 3536, 1358, 3536, 1358, 1358, 3536,
5318  1358, 1358, 3536, 3536, 1358, 1358, 3536, 3536, 3536, 1358,
5319  776, 3536, 3536, 776, 3536, 3536, 3536, 776, 3536, 3536,
5320  3536, 776, 776, 3536, 776, 776, 3536, 776, 3536, 776,
5321  776, 3536, 3536, 3536, 776, 3536, 3536, 3536, 776, 1365,
5322  3536, 3536, 1365, 3536, 1365, 3536, 3536, 1365, 1365, 3536,
5323  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 1365, 1365,
5324 
5325  3536, 3536, 3536, 1365, 3536, 3536, 3536, 1365, 1947, 3536,
5326  3536, 1947, 3536, 1947, 3536, 3536, 1947, 3536, 3536, 3536,
5327  3536, 3536, 1947, 3536, 3536, 3536, 3536, 1947, 1947, 3536,
5328  3536, 3536, 1947, 3536, 3536, 3536, 1947, 1965, 3536, 3536,
5329  1965, 3536, 1965, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5330  3536, 3536, 3536, 3536, 3536, 3536, 1965, 1965, 3536, 3536,
5331  3536, 1965, 3536, 3536, 3536, 1965, 1381, 1381, 3536, 1381,
5332  1381, 1381, 1381, 1381, 3536, 3536, 1381, 1381, 1381, 1381,
5333  1381, 1381, 1381, 1381, 3536, 1381, 1381, 1381, 3536, 1381,
5334  3536, 1381, 3536, 3536, 1381, 1381, 1473, 1473, 3536, 1473,
5335 
5336  1473, 3536, 1473, 1473, 3536, 3536, 1473, 1473, 1473, 1473,
5337  3536, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,
5338  1473, 1473, 3536, 3536, 1473, 1473, 841, 841, 841, 841,
5339  3536, 841, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5340  3536, 841, 3536, 3536, 3536, 841, 841, 3536, 841, 3536,
5341  841, 3536, 3536, 841, 841, 1478, 1478, 1478, 1478, 3536,
5342  1478, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5343  1478, 3536, 3536, 3536, 1478, 1478, 3536, 1478, 3536, 1478,
5344  3536, 3536, 1478, 1478, 2040, 2040, 2040, 2040, 3536, 3536,
5345  3536, 2040, 3536, 3536, 3536, 3536, 3536, 3536, 2040, 2040,
5346 
5347  3536, 2040, 3536, 2040, 2040, 3536, 2040, 3536, 2040, 3536,
5348  3536, 3536, 2040, 2043, 2043, 2043, 2043, 3536, 2043, 3536,
5349  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5350  3536, 3536, 2043, 2043, 3536, 3536, 3536, 2043, 3536, 3536,
5351  3536, 2043, 1482, 1482, 1482, 1482, 3536, 3536, 3536, 1482,
5352  3536, 3536, 3536, 3536, 3536, 3536, 1482, 3536, 3536, 3536,
5353  3536, 1482, 1482, 3536, 3536, 3536, 1482, 3536, 3536, 3536,
5354  1482, 867, 867, 3536, 867, 3536, 3536, 3536, 867, 3536,
5355  3536, 3536, 867, 867, 3536, 867, 867, 3536, 867, 3536,
5356  867, 867, 3536, 3536, 3536, 867, 3536, 3536, 3536, 867,
5357 
5358  2112, 3536, 3536, 3536, 3536, 3536, 2112, 3536, 3536, 3536,
5359  3536, 2112, 2112, 3536, 3536, 3536, 2112, 3536, 3536, 3536,
5360  2112, 2114, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5361  3536, 3536, 3536, 3536, 3536, 2114, 2114, 3536, 3536, 3536,
5362  2114, 3536, 3536, 3536, 2114, 2115, 3536, 3536, 3536, 3536,
5363  2115, 2115, 3536, 2115, 3536, 2115, 3536, 3536, 3536, 2115,
5364  941, 3536, 3536, 941, 3536, 3536, 3536, 941, 3536, 3536,
5365  3536, 3536, 3536, 3536, 941, 941, 3536, 3536, 3536, 941,
5366  941, 3536, 941, 3536, 941, 3536, 3536, 3536, 941, 2117,
5367  3536, 2117, 3536, 3536, 3536, 3536, 2117, 2117, 3536, 3536,
5368 
5369  3536, 2117, 3536, 3536, 3536, 2117, 955, 3536, 3536, 3536,
5370  3536, 955, 955, 3536, 3536, 3536, 955, 3536, 3536, 3536,
5371  955, 964, 964, 3536, 3536, 3536, 964, 964, 3536, 964,
5372  3536, 964, 3536, 3536, 3536, 964, 1584, 3536, 3536, 3536,
5373  3536, 1584, 1584, 3536, 3536, 3536, 1584, 3536, 3536, 3536,
5374  1584, 2133, 2133, 2133, 2133, 2133, 2133, 2133, 2133, 2133,
5375  2133, 2133, 2133, 2133, 2133, 2133, 2133, 2133, 2133, 2133,
5376  2133, 2133, 2133, 2133, 2133, 2133, 2133, 2133, 2133, 2133,
5377  2133, 977, 977, 3536, 977, 977, 977, 977, 977, 977,
5378  977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
5379 
5380  977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
5381  977, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138,
5382  2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138,
5383  2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138,
5384  2138, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142,
5385  2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142,
5386  2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142,
5387  2142, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145,
5388  2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145,
5389  2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145,
5390 
5391  2145, 2164, 2164, 2164, 2164, 3536, 2164, 3536, 3536, 3536,
5392  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5393  2164, 2164, 3536, 3536, 3536, 2164, 3536, 3536, 2164, 2164,
5394  1018, 1018, 1018, 1018, 3536, 1018, 3536, 3536, 3536, 3536,
5395  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 1018,
5396  1018, 3536, 3536, 3536, 1018, 3536, 3536, 1018, 1018, 1621,
5397  1621, 1621, 1621, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5398  3536, 3536, 3536, 1621, 1621, 3536, 1621, 3536, 1621, 1621,
5399  3536, 1621, 3536, 1621, 3536, 3536, 3536, 1621, 1011, 1011,
5400  1011, 1011, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5401 
5402  3536, 3536, 1011, 1011, 3536, 1011, 3536, 1011, 1011, 3536,
5403  1011, 3536, 1011, 3536, 3536, 3536, 1011, 1250, 1250, 3536,
5404  1250, 1250, 3536, 1250, 1250, 1250, 1250, 1250, 1250, 3536,
5405  3536, 3536, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
5406  1250, 1250, 1250, 3536, 1250, 1250, 1250, 1645, 3536, 3536,
5407  1645, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5408  3536, 1645, 3536, 3536, 1645, 3536, 1645, 1645, 3536, 3536,
5409  3536, 1645, 3536, 3536, 3536, 1645, 1048, 3536, 3536, 3536,
5410  3536, 1048, 1048, 3536, 3536, 3536, 1048, 3536, 3536, 3536,
5411  1048, 1056, 3536, 3536, 3536, 3536, 1056, 1056, 3536, 3536,
5412 
5413  3536, 1056, 3536, 3536, 3536, 1056, 1078, 3536, 3536, 3536,
5414  3536, 1078, 1078, 3536, 3536, 3536, 1078, 3536, 3536, 3536,
5415  1078, 2210, 2210, 3536, 2210, 3536, 2210, 2210, 2210, 2210,
5416  2210, 2210, 2210, 2210, 2210, 2210, 2210, 2210, 2210, 2210,
5417  2210, 2210, 2210, 2210, 3536, 2210, 2210, 2210, 2210, 2210,
5418  2210, 1687, 3536, 3536, 3536, 3536, 1687, 1687, 3536, 3536,
5419  3536, 1687, 3536, 3536, 3536, 1687, 2213, 2213, 2213, 2213,
5420  2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213,
5421  2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2213,
5422  2213, 2213, 2213, 2213, 2213, 2213, 1105, 1105, 3536, 1105,
5423 
5424  1105, 3536, 3536, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
5425  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 3536,
5426  1105, 1105, 1105, 1105, 1105, 1105, 2217, 2217, 2217, 2217,
5427  2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217,
5428  2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217,
5429  2217, 2217, 2217, 2217, 2217, 2217, 2220, 2220, 2220, 2220,
5430  2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
5431  2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
5432  2220, 2220, 2220, 2220, 2220, 2220, 2222, 2222, 2222, 2222,
5433  2222, 2222, 2222, 2222, 2222, 2222, 2222, 2222, 2222, 2222,
5434 
5435  2222, 2222, 2222, 2222, 2222, 2222, 2222, 2222, 2222, 2222,
5436  2222, 2222, 2222, 2222, 2222, 2222, 1118, 3536, 3536, 3536,
5437  3536, 1118, 1118, 3536, 3536, 3536, 1118, 3536, 3536, 3536,
5438  1118, 2240, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5439  3536, 3536, 3536, 3536, 3536, 2240, 2240, 3536, 3536, 3536,
5440  2240, 3536, 3536, 3536, 2240, 2241, 3536, 2241, 2241, 3536,
5441  2241, 2241, 2241, 3536, 3536, 2241, 2241, 2241, 2241, 2241,
5442  2241, 2241, 2241, 2241, 2241, 2241, 2241, 2241, 3536, 2241,
5443  2241, 2241, 2241, 2241, 2241, 2243, 2243, 2243, 2243, 2243,
5444  2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243,
5445 
5446  2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2243,
5447  2243, 2243, 2243, 2243, 2243, 1142, 1142, 3536, 1142, 1142,
5448  1142, 1142, 1142, 1142, 3536, 1142, 1142, 1142, 1142, 1142,
5449  1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
5450  1142, 1142, 1142, 1142, 1142, 2247, 2247, 2247, 2247, 2247,
5451  2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247,
5452  2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247,
5453  2247, 2247, 2247, 2247, 2247, 2250, 2250, 2250, 2250, 2250,
5454  2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250,
5455  2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250,
5456 
5457  2250, 2250, 2250, 2250, 2250, 2252, 2252, 2252, 2252, 2252,
5458  2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252,
5459  2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252,
5460  2252, 2252, 2252, 2252, 2252, 2254, 2254, 2254, 2254, 2254,
5461  2254, 2254, 2254, 2254, 2254, 3536, 2254, 2254, 2254, 3536,
5462  2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254, 2254,
5463  2254, 2254, 2254, 2254, 2254, 2256, 2256, 2256, 2256, 2256,
5464  2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
5465  2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
5466  2256, 2256, 2256, 2256, 2256, 1740, 1740, 1740, 1740, 1740,
5467 
5468  1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740,
5469  1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740,
5470  1740, 1740, 1740, 1740, 1740, 2260, 2260, 2260, 2260, 2260,
5471  2260, 2260, 2260, 2260, 2260, 3536, 2260, 2260, 2260, 3536,
5472  2260, 2260, 2260, 2260, 2260, 2260, 2260, 2260, 2260, 2260,
5473  2260, 2260, 2260, 2260, 2260, 2261, 2261, 2261, 2261, 2261,
5474  2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261,
5475  2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261,
5476  2261, 2261, 2261, 2261, 2261, 1746, 1746, 1746, 1746, 1746,
5477  1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746,
5478 
5479  1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746,
5480  1746, 1746, 1746, 1746, 1746, 2263, 2263, 2263, 2263, 2263,
5481  2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263,
5482  2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263,
5483  2263, 2263, 2263, 2263, 2263, 577, 577, 3536, 3536, 577,
5484  3536, 577, 577, 577, 577, 577, 577, 577, 577, 577,
5485  577, 577, 577, 577, 577, 577, 577, 577, 3536, 577,
5486  577, 577, 577, 577, 577, 1753, 1753, 1753, 1753, 1753,
5487  1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753,
5488  1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1753,
5489 
5490  1753, 1753, 1753, 1753, 1753, 2266, 2266, 2266, 2266, 2266,
5491  2266, 2266, 2266, 2266, 2266, 2266, 2266, 2266, 2266, 2266,
5492  2266, 2266, 2266, 2266, 2266, 2266, 2266, 2266, 2266, 2266,
5493  2266, 2266, 2266, 2266, 2266, 2267, 2267, 2267, 2267, 2267,
5494  2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267,
5495  2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267,
5496  2267, 2267, 2267, 2267, 2267, 1758, 1758, 1758, 1758, 1758,
5497  1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758,
5498  1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758, 1758,
5499  1758, 1758, 1758, 1758, 1758, 2268, 2268, 2268, 2268, 2268,
5500 
5501  2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268,
5502  2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268,
5503  2268, 2268, 2268, 2268, 2268, 586, 586, 3536, 3536, 586,
5504  586, 586, 3536, 586, 586, 586, 586, 586, 586, 586,
5505  586, 586, 586, 586, 586, 586, 586, 586, 3536, 586,
5506  586, 586, 586, 586, 586, 1764, 1764, 1764, 1764, 1764,
5507  1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764,
5508  1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764,
5509  1764, 1764, 1764, 1764, 1764, 2270, 2270, 2270, 2270, 2270,
5510  2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270,
5511 
5512  2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270, 2270,
5513  2270, 2270, 2270, 2270, 2270, 2271, 2271, 2271, 2271, 2271,
5514  2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271,
5515  2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271,
5516  2271, 2271, 2271, 2271, 2271, 1769, 1769, 1769, 1769, 1769,
5517  1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769,
5518  1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769,
5519  1769, 1769, 1769, 1769, 1769, 2272, 2272, 2272, 2272, 2272,
5520  2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272,
5521  2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272,
5522 
5523  2272, 2272, 2272, 2272, 2272, 594, 594, 3536, 594, 594,
5524  3536, 594, 594, 594, 594, 594, 594, 594, 594, 594,
5525  594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
5526  594, 594, 594, 594, 594, 1775, 1775, 1775, 1775, 1775,
5527  1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
5528  1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
5529  1775, 1775, 1775, 1775, 1775, 2274, 2274, 2274, 2274, 2274,
5530  2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274,
5531  2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274, 2274,
5532  2274, 2274, 2274, 2274, 2274, 2275, 2275, 2275, 2275, 2275,
5533 
5534  2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275,
5535  2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275,
5536  2275, 2275, 2275, 2275, 2275, 1780, 1780, 1780, 1780, 1780,
5537  1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780,
5538  1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780,
5539  1780, 1780, 1780, 1780, 1780, 2276, 2276, 2276, 2276, 2276,
5540  2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276,
5541  2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276,
5542  2276, 2276, 2276, 2276, 2276, 2277, 2277, 2277, 2277, 2277,
5543  2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277,
5544 
5545  2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2277,
5546  2277, 2277, 2277, 2277, 2277, 603, 603, 603, 603, 603,
5547  603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
5548  603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
5549  603, 603, 603, 603, 603, 2280, 2280, 2280, 2280, 2280,
5550  2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280,
5551  2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280,
5552  2280, 2280, 2280, 2280, 2280, 623, 623, 3536, 3536, 623,
5553  623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
5554  623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
5555 
5556  623, 623, 623, 623, 623, 1793, 1793, 1793, 1793, 1793,
5557  1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793,
5558  1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793,
5559  1793, 1793, 1793, 1793, 1793, 2286, 2286, 2286, 2286, 2286,
5560  2286, 2286, 2286, 2286, 2286, 2286, 2286, 2286, 2286, 2286,
5561  2286, 2286, 2286, 2286, 2286, 2286, 2286, 2286, 2286, 2286,
5562  2286, 2286, 2286, 2286, 2286, 2288, 2288, 2288, 2288, 2288,
5563  2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288,
5564  2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288,
5565  2288, 2288, 2288, 2288, 2288, 1800, 1800, 1800, 1800, 1800,
5566 
5567  1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800,
5568  1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800,
5569  1800, 1800, 1800, 1800, 1800, 2292, 2292, 2292, 2292, 2292,
5570  2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
5571  2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
5572  2292, 2292, 2292, 2292, 2292, 1806, 1806, 1806, 1806, 1806,
5573  1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
5574  1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
5575  1806, 1806, 1806, 1806, 1806, 2296, 2296, 2296, 2296, 2296,
5576  2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296,
5577 
5578  2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296,
5579  2296, 2296, 2296, 2296, 2296, 1808, 1808, 1808, 1808, 1808,
5580  1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808,
5581  1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808, 1808,
5582  1808, 1808, 1808, 1808, 1808, 2297, 2297, 2297, 2297, 2297,
5583  2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297,
5584  2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297,
5585  2297, 2297, 2297, 2297, 2297, 668, 668, 668, 668, 3536,
5586  3536, 3536, 668, 668, 3536, 668, 3536, 3536, 3536, 668,
5587  668, 668, 668, 3536, 668, 668, 3536, 668, 668, 668,
5588 
5589  3536, 3536, 3536, 668, 1817, 1817, 1817, 1817, 3536, 1817,
5590  3536, 3536, 1817, 3536, 3536, 3536, 3536, 3536, 1817, 1817,
5591  3536, 3536, 3536, 1817, 1817, 3536, 1817, 3536, 1817, 3536,
5592  3536, 1817, 1817, 1231, 1231, 1231, 1231, 3536, 1231, 3536,
5593  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5594  3536, 3536, 1231, 1231, 3536, 3536, 3536, 1231, 3536, 3536,
5595  1231, 1231, 1822, 1822, 1822, 1822, 3536, 1822, 3536, 3536,
5596  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5597  3536, 1822, 1822, 3536, 3536, 3536, 1822, 3536, 3536, 3536,
5598  1822, 2304, 3536, 3536, 2304, 3536, 2304, 3536, 3536, 2304,
5599 
5600  3536, 3536, 3536, 3536, 3536, 2304, 2304, 3536, 3536, 3536,
5601  2304, 2304, 3536, 2304, 3536, 2304, 3536, 3536, 2304, 2304,
5602  1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860,
5603  1860, 1860, 1860, 1860, 1860, 3536, 1860, 1860, 1860, 1860,
5604  3536, 3536, 1860, 1860, 1860, 3536, 1860, 1860, 1860, 1860,
5605  1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
5606  1284, 1284, 1284, 1284, 1284, 3536, 1284, 1284, 1284, 1284,
5607  3536, 3536, 1284, 1284, 1284, 3536, 1284, 1284, 1284, 1284,
5608  2329, 2329, 2329, 2329, 3536, 2329, 3536, 3536, 3536, 3536,
5609  3536, 3536, 3536, 3536, 3536, 2329, 3536, 3536, 3536, 2329,
5610 
5611  2329, 3536, 2329, 3536, 2329, 3536, 3536, 2329, 2329, 2333,
5612  3536, 2333, 2333, 3536, 2333, 2333, 2333, 2333, 3536, 2333,
5613  2333, 2333, 2333, 2333, 2333, 2333, 2333, 2333, 2333, 2333,
5614  2333, 2333, 3536, 2333, 2333, 2333, 2333, 2333, 2333, 1846,
5615  1846, 3536, 1846, 1846, 3536, 1846, 1846, 1846, 1846, 1846,
5616  1846, 1846, 1846, 3536, 1846, 1846, 1846, 1846, 1846, 1846,
5617  1846, 1846, 1846, 1846, 1846, 3536, 1846, 1846, 1846, 1847,
5618  1847, 3536, 1847, 1847, 3536, 1847, 1847, 3536, 3536, 1847,
5619  1847, 1847, 1847, 3536, 1847, 1847, 1847, 1847, 1847, 1847,
5620  1847, 1847, 1847, 1847, 1847, 3536, 3536, 1847, 1847, 679,
5621 
5622  679, 679, 679, 3536, 679, 3536, 3536, 3536, 3536, 3536,
5623  3536, 3536, 3536, 3536, 679, 3536, 3536, 3536, 679, 679,
5624  3536, 679, 3536, 679, 3536, 3536, 679, 679, 1851, 1851,
5625  1851, 1851, 3536, 3536, 3536, 1851, 3536, 3536, 3536, 3536,
5626  3536, 3536, 1851, 1851, 3536, 1851, 3536, 1851, 1851, 3536,
5627  1851, 3536, 1851, 3536, 3536, 3536, 1851, 1855, 1855, 1855,
5628  1855, 3536, 1855, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5629  3536, 3536, 3536, 3536, 3536, 3536, 1855, 1855, 3536, 3536,
5630  3536, 1855, 3536, 3536, 3536, 1855, 2339, 2339, 2339, 2339,
5631  3536, 3536, 3536, 2339, 3536, 3536, 3536, 3536, 3536, 3536,
5632 
5633  2339, 3536, 3536, 3536, 3536, 2339, 2339, 3536, 3536, 3536,
5634  2339, 3536, 3536, 3536, 2339, 1249, 1249, 3536, 1249, 1249,
5635  3536, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 3536,
5636  1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249,
5637  1249, 3536, 1249, 1249, 1249, 643, 643, 643, 643, 3536,
5638  643, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5639  643, 3536, 3536, 3536, 643, 643, 3536, 643, 3536, 643,
5640  3536, 3536, 643, 643, 776, 3536, 3536, 776, 3536, 3536,
5641  3536, 776, 3536, 3536, 3536, 776, 776, 3536, 776, 776,
5642  3536, 776, 3536, 776, 776, 3536, 3536, 3536, 776, 3536,
5643 
5644  3536, 3536, 776, 1947, 3536, 3536, 1947, 3536, 1947, 3536,
5645  3536, 1947, 3536, 3536, 3536, 3536, 3536, 1947, 3536, 3536,
5646  3536, 3536, 1947, 1947, 3536, 3536, 3536, 1947, 3536, 3536,
5647  3536, 1947, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1970,
5648  1970, 1970, 1970, 1970, 1970, 1970, 1970, 3536, 1970, 1970,
5649  1970, 1970, 3536, 3536, 1970, 1970, 1970, 3536, 1970, 1970,
5650  1970, 1970, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398,
5651  1398, 1398, 1398, 1398, 1398, 1398, 1398, 3536, 1398, 1398,
5652  1398, 1398, 3536, 3536, 1398, 1398, 1398, 3536, 1398, 1398,
5653  1398, 1398, 1965, 3536, 3536, 1965, 3536, 1965, 3536, 3536,
5654 
5655  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5656  3536, 1965, 1965, 3536, 3536, 3536, 1965, 3536, 3536, 3536,
5657  1965, 2426, 3536, 3536, 2426, 3536, 3536, 3536, 3536, 3536,
5658  3536, 3536, 3536, 3536, 3536, 2426, 2426, 3536, 2426, 3536,
5659  2426, 2426, 3536, 3536, 3536, 2426, 3536, 3536, 3536, 2426,
5660  1381, 1381, 3536, 1381, 1381, 1381, 1381, 1381, 3536, 3536,
5661  1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 3536, 1381,
5662  1381, 1381, 3536, 1381, 3536, 1381, 3536, 3536, 1381, 1381,
5663  2040, 2040, 2040, 2040, 3536, 3536, 3536, 2040, 3536, 3536,
5664  3536, 3536, 3536, 3536, 2040, 2040, 3536, 2040, 3536, 2040,
5665 
5666  2040, 3536, 2040, 3536, 2040, 3536, 3536, 3536, 2040, 2043,
5667  2043, 2043, 2043, 3536, 2043, 3536, 3536, 3536, 3536, 3536,
5668  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 2043, 2043,
5669  3536, 3536, 3536, 2043, 3536, 3536, 3536, 2043, 2484, 2484,
5670  2484, 2484, 3536, 3536, 3536, 2484, 3536, 3536, 3536, 3536,
5671  3536, 3536, 2484, 3536, 3536, 3536, 3536, 2484, 2484, 3536,
5672  3536, 3536, 2484, 3536, 3536, 3536, 2484, 867, 867, 3536,
5673  867, 3536, 3536, 3536, 867, 3536, 3536, 3536, 867, 867,
5674  3536, 867, 867, 3536, 867, 3536, 867, 867, 3536, 3536,
5675  3536, 867, 3536, 3536, 3536, 867, 2112, 3536, 3536, 3536,
5676 
5677  3536, 3536, 2112, 3536, 3536, 3536, 3536, 2112, 2112, 3536,
5678  3536, 3536, 2112, 3536, 3536, 3536, 2112, 2536, 2536, 3536,
5679  3536, 3536, 2536, 2536, 3536, 3536, 3536, 2536, 3536, 3536,
5680  3536, 2536, 2115, 3536, 3536, 3536, 3536, 2115, 2115, 3536,
5681  2115, 3536, 2115, 3536, 3536, 3536, 2115, 941, 3536, 3536,
5682  941, 3536, 3536, 3536, 941, 3536, 3536, 3536, 3536, 3536,
5683  3536, 941, 941, 3536, 3536, 3536, 941, 941, 3536, 941,
5684  3536, 941, 3536, 3536, 3536, 941, 2117, 3536, 2117, 3536,
5685  3536, 3536, 3536, 2117, 2117, 3536, 3536, 3536, 2117, 3536,
5686  3536, 3536, 2117, 955, 3536, 3536, 3536, 3536, 955, 955,
5687 
5688  3536, 3536, 3536, 955, 3536, 3536, 3536, 955, 964, 964,
5689  3536, 3536, 3536, 964, 964, 3536, 964, 3536, 964, 3536,
5690  3536, 3536, 964, 1584, 3536, 3536, 3536, 3536, 1584, 1584,
5691  3536, 3536, 3536, 1584, 3536, 3536, 3536, 1584, 977, 977,
5692  3536, 977, 977, 977, 977, 977, 977, 977, 977, 977,
5693  977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
5694  977, 977, 977, 977, 977, 977, 977, 977, 2138, 2138,
5695  2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138,
5696  2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138,
5697  2138, 2138, 2138, 2138, 2138, 2138, 2138, 2138, 1740, 1740,
5698 
5699  1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740,
5700  1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740,
5701  1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 2553, 2553,
5702  2553, 2553, 2553, 2553, 2553, 2553, 2553, 2553, 2553, 2553,
5703  2553, 2553, 2553, 2553, 2553, 2553, 2553, 2553, 2553, 2553,
5704  2553, 2553, 2553, 2553, 2553, 2553, 2553, 2553, 2555, 2555,
5705  2555, 2555, 2555, 2555, 2555, 2555, 2555, 2555, 2555, 2555,
5706  2555, 2555, 2555, 2555, 2555, 2555, 2555, 2555, 2555, 2555,
5707  2555, 2555, 2555, 2555, 2555, 2555, 2555, 2555, 2145, 2145,
5708  2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145,
5709 
5710  2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145,
5711  2145, 2145, 2145, 2145, 2145, 2145, 2145, 2145, 1746, 1746,
5712  1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746,
5713  1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746,
5714  1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 2557, 2557,
5715  2557, 2557, 2557, 2557, 2557, 2557, 2557, 2557, 2557, 2557,
5716  2557, 2557, 2557, 2557, 2557, 2557, 2557, 2557, 2557, 2557,
5717  2557, 2557, 2557, 2557, 2557, 2557, 2557, 2557, 2572, 2572,
5718  2572, 2572, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5719  3536, 3536, 2572, 2572, 3536, 2572, 3536, 2572, 2572, 3536,
5720 
5721  2572, 3536, 2572, 3536, 3536, 3536, 2572, 1011, 1011, 1011,
5722  1011, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5723  3536, 1011, 1011, 3536, 1011, 3536, 1011, 1011, 3536, 1011,
5724  3536, 1011, 3536, 3536, 3536, 1011, 1048, 3536, 3536, 3536,
5725  3536, 1048, 1048, 3536, 3536, 3536, 1048, 3536, 3536, 3536,
5726  1048, 1056, 3536, 3536, 1056, 3536, 3536, 3536, 3536, 3536,
5727  3536, 3536, 3536, 3536, 3536, 1056, 3536, 3536, 3536, 3536,
5728  1056, 1056, 3536, 3536, 3536, 1056, 3536, 3536, 3536, 1056,
5729  1078, 3536, 3536, 3536, 3536, 1078, 1078, 3536, 3536, 3536,
5730  1078, 3536, 3536, 3536, 1078, 2611, 2611, 3536, 2611, 3536,
5731 
5732  2611, 2611, 2611, 2611, 2611, 2611, 2611, 2611, 2611, 2611,
5733  2611, 2611, 2611, 2611, 2611, 2611, 2611, 2611, 3536, 2611,
5734  2611, 2611, 2611, 2611, 2611, 1105, 1105, 3536, 1105, 1105,
5735  3536, 3536, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
5736  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 3536, 1105,
5737  1105, 1105, 1105, 1105, 1105, 2217, 2217, 2217, 2217, 2217,
5738  2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217,
5739  2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217, 2217,
5740  2217, 2217, 2217, 2217, 2217, 2614, 2614, 2614, 2614, 2614,
5741  2614, 2614, 2614, 2614, 2614, 2614, 2614, 2614, 2614, 2614,
5742 
5743  2614, 2614, 2614, 2614, 2614, 2614, 2614, 2614, 2614, 2614,
5744  2614, 2614, 2614, 2614, 2614, 2615, 2615, 2615, 2615, 2615,
5745  2615, 2615, 2615, 2615, 2615, 2615, 2615, 2615, 2615, 2615,
5746  2615, 2615, 2615, 2615, 2615, 2615, 2615, 2615, 2615, 2615,
5747  2615, 2615, 2615, 2615, 2615, 2222, 2222, 2222, 2222, 2222,
5748  2222, 2222, 2222, 2222, 2222, 2222, 2222, 2222, 2222, 2222,
5749  2222, 2222, 2222, 2222, 2222, 2222, 2222, 2222, 2222, 2222,
5750  2222, 2222, 2222, 2222, 2222, 2616, 2616, 2616, 2616, 2616,
5751  2616, 2616, 2616, 2616, 2616, 2616, 2616, 2616, 2616, 2616,
5752  2616, 2616, 2616, 2616, 2616, 2616, 2616, 2616, 2616, 2616,
5753 
5754  2616, 2616, 2616, 2616, 2616, 1118, 3536, 3536, 3536, 3536,
5755  1118, 1118, 3536, 3536, 3536, 1118, 3536, 3536, 3536, 1118,
5756  2630, 2630, 3536, 3536, 3536, 2630, 2630, 3536, 3536, 3536,
5757  2630, 3536, 3536, 3536, 2630, 2631, 3536, 2631, 2631, 3536,
5758  2631, 2631, 2631, 3536, 3536, 2631, 2631, 2631, 2631, 2631,
5759  2631, 2631, 2631, 2631, 2631, 2631, 2631, 2631, 3536, 2631,
5760  2631, 2631, 2631, 2631, 2631, 1142, 1142, 3536, 1142, 1142,
5761  1142, 1142, 1142, 1142, 3536, 1142, 1142, 1142, 1142, 1142,
5762  1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
5763  1142, 1142, 1142, 1142, 1142, 2247, 2247, 2247, 2247, 2247,
5764 
5765  2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247,
5766  2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247, 2247,
5767  2247, 2247, 2247, 2247, 2247, 2634, 2634, 2634, 2634, 2634,
5768  2634, 2634, 2634, 2634, 2634, 2634, 2634, 2634, 2634, 2634,
5769  2634, 2634, 2634, 2634, 2634, 2634, 2634, 2634, 2634, 2634,
5770  2634, 2634, 2634, 2634, 2634, 2635, 2635, 2635, 2635, 2635,
5771  2635, 2635, 2635, 2635, 2635, 2635, 2635, 2635, 2635, 2635,
5772  2635, 2635, 2635, 2635, 2635, 2635, 2635, 2635, 2635, 2635,
5773  2635, 2635, 2635, 2635, 2635, 2252, 2252, 2252, 2252, 2252,
5774  2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252,
5775 
5776  2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252,
5777  2252, 2252, 2252, 2252, 2252, 2636, 2636, 2636, 2636, 2636,
5778  2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636,
5779  2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636,
5780  2636, 2636, 2636, 2636, 2636, 2256, 2256, 2256, 2256, 2256,
5781  2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
5782  2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
5783  2256, 2256, 2256, 2256, 2256, 2639, 2639, 2639, 2639, 2639,
5784  2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639,
5785  2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639,
5786 
5787  2639, 2639, 2639, 2639, 2639, 2261, 2261, 2261, 2261, 2261,
5788  2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261,
5789  2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261,
5790  2261, 2261, 2261, 2261, 2261, 2263, 2263, 2263, 2263, 2263,
5791  2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263,
5792  2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263,
5793  2263, 2263, 2263, 2263, 2263, 577, 577, 3536, 3536, 577,
5794  3536, 577, 577, 577, 577, 577, 577, 577, 577, 577,
5795  577, 577, 577, 577, 577, 577, 577, 577, 3536, 577,
5796  577, 577, 577, 577, 577, 2267, 2267, 2267, 2267, 2267,
5797 
5798  2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267,
5799  2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267, 2267,
5800  2267, 2267, 2267, 2267, 2267, 2268, 2268, 2268, 2268, 2268,
5801  2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268,
5802  2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268,
5803  2268, 2268, 2268, 2268, 2268, 586, 586, 3536, 3536, 586,
5804  586, 586, 3536, 586, 586, 586, 586, 586, 586, 586,
5805  586, 586, 586, 586, 586, 586, 586, 586, 3536, 586,
5806  586, 586, 586, 586, 586, 2271, 2271, 2271, 2271, 2271,
5807  2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271,
5808 
5809  2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271, 2271,
5810  2271, 2271, 2271, 2271, 2271, 2272, 2272, 2272, 2272, 2272,
5811  2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272,
5812  2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272,
5813  2272, 2272, 2272, 2272, 2272, 594, 594, 3536, 594, 594,
5814  3536, 594, 594, 594, 594, 594, 594, 594, 594, 594,
5815  594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
5816  594, 594, 594, 594, 594, 2275, 2275, 2275, 2275, 2275,
5817  2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275,
5818  2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275, 2275,
5819 
5820  2275, 2275, 2275, 2275, 2275, 2276, 2276, 2276, 2276, 2276,
5821  2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276,
5822  2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276, 2276,
5823  2276, 2276, 2276, 2276, 2276, 603, 603, 603, 603, 603,
5824  603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
5825  603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
5826  603, 603, 603, 603, 603, 2280, 2280, 2280, 2280, 2280,
5827  2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280,
5828  2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280,
5829  2280, 2280, 2280, 2280, 2280, 2645, 2645, 2645, 2645, 2645,
5830 
5831  2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645,
5832  2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645,
5833  2645, 2645, 2645, 2645, 2645, 623, 623, 3536, 3536, 623,
5834  623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
5835  623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
5836  623, 623, 623, 623, 623, 1740, 1740, 1740, 1740, 1740,
5837  1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740,
5838  1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740,
5839  1740, 1740, 1740, 1740, 1740, 2288, 2288, 2288, 2288, 2288,
5840  2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288,
5841 
5842  2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288,
5843  2288, 2288, 2288, 2288, 2288, 1746, 1746, 1746, 1746, 1746,
5844  1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746,
5845  1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746,
5846  1746, 1746, 1746, 1746, 1746, 2292, 2292, 2292, 2292, 2292,
5847  2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
5848  2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
5849  2292, 2292, 2292, 2292, 2292, 2296, 2296, 2296, 2296, 2296,
5850  2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296,
5851  2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296,
5852 
5853  2296, 2296, 2296, 2296, 2296, 2297, 2297, 2297, 2297, 2297,
5854  2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297,
5855  2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297,
5856  2297, 2297, 2297, 2297, 2297, 668, 668, 668, 668, 3536,
5857  3536, 3536, 668, 668, 3536, 668, 668, 668, 3536, 668,
5858  668, 668, 668, 3536, 668, 668, 3536, 668, 668, 668,
5859  3536, 3536, 3536, 668, 1231, 1231, 1231, 1231, 3536, 1231,
5860  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5861  3536, 3536, 3536, 1231, 1231, 3536, 3536, 3536, 1231, 3536,
5862  3536, 1231, 1231, 2304, 3536, 3536, 2304, 3536, 2304, 3536,
5863 
5864  3536, 2304, 3536, 3536, 3536, 3536, 3536, 2304, 2304, 3536,
5865  3536, 3536, 2304, 2304, 3536, 2304, 3536, 2304, 3536, 3536,
5866  2304, 2304, 1817, 1817, 1817, 1817, 3536, 1817, 3536, 3536,
5867  1817, 3536, 3536, 3536, 3536, 3536, 1817, 1817, 3536, 3536,
5868  3536, 1817, 1817, 3536, 1817, 3536, 1817, 3536, 3536, 1817,
5869  1817, 2678, 2678, 2678, 2678, 3536, 2678, 3536, 3536, 3536,
5870  3536, 3536, 3536, 3536, 3536, 3536, 2678, 3536, 3536, 3536,
5871  2678, 2678, 3536, 2678, 3536, 2678, 3536, 3536, 2678, 2678,
5872  2329, 2329, 2329, 2329, 3536, 2329, 3536, 3536, 3536, 3536,
5873  3536, 3536, 3536, 3536, 3536, 2329, 3536, 3536, 3536, 2329,
5874 
5875  2329, 3536, 2329, 3536, 2329, 3536, 3536, 2329, 2329, 2681,
5876  2681, 2681, 2681, 3536, 3536, 3536, 2681, 3536, 3536, 3536,
5877  3536, 3536, 3536, 2681, 2681, 3536, 2681, 3536, 2681, 2681,
5878  3536, 2681, 3536, 2681, 3536, 3536, 3536, 2681, 2686, 3536,
5879  2686, 2686, 3536, 2686, 2686, 2686, 2686, 3536, 2686, 2686,
5880  2686, 2686, 2686, 2686, 2686, 2686, 2686, 2686, 2686, 2686,
5881  2686, 3536, 2686, 2686, 2686, 2686, 2686, 2686, 2339, 2339,
5882  2339, 2339, 3536, 3536, 3536, 2339, 3536, 3536, 3536, 3536,
5883  3536, 3536, 2339, 3536, 3536, 3536, 3536, 2339, 2339, 3536,
5884  3536, 3536, 2339, 3536, 3536, 3536, 2339, 776, 3536, 3536,
5885 
5886  776, 3536, 3536, 3536, 776, 3536, 3536, 3536, 776, 776,
5887  3536, 776, 776, 3536, 776, 3536, 776, 776, 3536, 3536,
5888  3536, 776, 3536, 3536, 3536, 776, 2426, 3536, 3536, 2426,
5889  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5890  2426, 2426, 3536, 2426, 3536, 2426, 2426, 3536, 3536, 3536,
5891  2426, 3536, 3536, 3536, 2426, 2484, 2484, 2484, 2484, 3536,
5892  3536, 3536, 2484, 3536, 3536, 3536, 3536, 3536, 3536, 2484,
5893  3536, 3536, 3536, 3536, 2484, 2484, 3536, 3536, 3536, 2484,
5894  3536, 3536, 3536, 2484, 867, 867, 3536, 867, 3536, 3536,
5895  3536, 867, 3536, 3536, 3536, 867, 867, 3536, 867, 867,
5896 
5897  3536, 867, 3536, 867, 867, 3536, 3536, 3536, 867, 3536,
5898  3536, 3536, 867, 2536, 2536, 3536, 3536, 3536, 2536, 2536,
5899  3536, 3536, 3536, 2536, 3536, 3536, 3536, 2536, 941, 3536,
5900  3536, 941, 3536, 3536, 3536, 941, 3536, 3536, 3536, 3536,
5901  3536, 3536, 941, 941, 3536, 3536, 3536, 941, 941, 3536,
5902  941, 3536, 941, 3536, 3536, 3536, 941, 955, 3536, 3536,
5903  3536, 3536, 955, 955, 3536, 3536, 3536, 955, 3536, 3536,
5904  3536, 955, 964, 964, 3536, 3536, 3536, 964, 964, 3536,
5905  964, 3536, 964, 3536, 3536, 3536, 964, 1584, 3536, 3536,
5906  3536, 3536, 1584, 1584, 3536, 3536, 3536, 1584, 3536, 3536,
5907 
5908  3536, 1584, 977, 977, 3536, 977, 977, 977, 977, 977,
5909  977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
5910  977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
5911  977, 977, 2555, 2555, 2555, 2555, 2555, 2555, 2555, 2555,
5912  2555, 2555, 2555, 2555, 2555, 2555, 2555, 2555, 2555, 2555,
5913  2555, 2555, 2555, 2555, 2555, 2555, 2555, 2555, 2555, 2555,
5914  2555, 2555, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261,
5915  2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261,
5916  2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261,
5917  2261, 2261, 2557, 2557, 2557, 2557, 2557, 2557, 2557, 2557,
5918 
5919  2557, 2557, 2557, 2557, 2557, 2557, 2557, 2557, 2557, 2557,
5920  2557, 2557, 2557, 2557, 2557, 2557, 2557, 2557, 2557, 2557,
5921  2557, 2557, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263,
5922  2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263,
5923  2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263, 2263,
5924  2263, 2263, 2572, 2572, 2572, 2572, 3536, 3536, 3536, 3536,
5925  3536, 3536, 3536, 3536, 3536, 3536, 2572, 2572, 3536, 2572,
5926  3536, 2572, 2572, 3536, 2572, 3536, 2572, 3536, 3536, 3536,
5927  2572, 2847, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5928  3536, 3536, 3536, 3536, 3536, 2847, 2847, 3536, 3536, 3536,
5929 
5930  2847, 3536, 3536, 3536, 2847, 1011, 1011, 1011, 1011, 3536,
5931  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 1011,
5932  1011, 3536, 1011, 3536, 1011, 1011, 3536, 1011, 3536, 1011,
5933  3536, 3536, 3536, 1011, 1048, 1048, 1048, 1048, 3536, 3536,
5934  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 1048, 3536,
5935  1048, 3536, 1048, 1048, 1048, 3536, 3536, 3536, 1048, 1048,
5936  3536, 3536, 1048, 1056, 3536, 3536, 3536, 3536, 1056, 1056,
5937  3536, 3536, 3536, 1056, 3536, 3536, 3536, 1056, 1078, 3536,
5938  3536, 3536, 3536, 1078, 1078, 3536, 3536, 3536, 1078, 3536,
5939  3536, 3536, 1078, 1105, 1105, 3536, 1105, 1105, 3536, 3536,
5940 
5941  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
5942  1105, 1105, 1105, 1105, 1105, 1105, 3536, 1105, 1105, 1105,
5943  1105, 1105, 1105, 2615, 2615, 2615, 2615, 2615, 2615, 2615,
5944  2615, 2615, 2615, 2615, 2615, 2615, 2615, 2615, 2615, 2615,
5945  2615, 2615, 2615, 2615, 2615, 2615, 2615, 2615, 2615, 2615,
5946  2615, 2615, 2615, 2616, 2616, 2616, 2616, 2616, 2616, 2616,
5947  2616, 2616, 2616, 2616, 2616, 2616, 2616, 2616, 2616, 2616,
5948  2616, 2616, 2616, 2616, 2616, 2616, 2616, 2616, 2616, 2616,
5949  2616, 2616, 2616, 1118, 3536, 3536, 3536, 3536, 1118, 1118,
5950  3536, 3536, 3536, 1118, 3536, 3536, 3536, 1118, 2630, 2630,
5951 
5952  3536, 3536, 3536, 2630, 2630, 3536, 3536, 3536, 2630, 3536,
5953  3536, 3536, 2630, 2886, 3536, 2886, 2886, 3536, 2886, 2886,
5954  2886, 3536, 3536, 2886, 2886, 2886, 2886, 2886, 2886, 2886,
5955  2886, 2886, 2886, 2886, 2886, 2886, 3536, 2886, 2886, 2886,
5956  2886, 2886, 2886, 1142, 1142, 3536, 1142, 1142, 1142, 1142,
5957  1142, 1142, 3536, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
5958  1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
5959  1142, 1142, 1142, 2635, 2635, 2635, 2635, 2635, 2635, 2635,
5960  2635, 2635, 2635, 2635, 2635, 2635, 2635, 2635, 2635, 2635,
5961  2635, 2635, 2635, 2635, 2635, 2635, 2635, 2635, 2635, 2635,
5962 
5963  2635, 2635, 2635, 2636, 2636, 2636, 2636, 2636, 2636, 2636,
5964  2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636,
5965  2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636, 2636,
5966  2636, 2636, 2636, 2639, 2639, 2639, 2639, 2639, 2639, 2639,
5967  2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639,
5968  2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639,
5969  2639, 2639, 2639, 577, 577, 3536, 3536, 577, 3536, 577,
5970  577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
5971  577, 577, 577, 577, 577, 577, 3536, 577, 577, 577,
5972  577, 577, 577, 586, 586, 3536, 3536, 586, 586, 586,
5973 
5974  3536, 586, 586, 586, 586, 586, 586, 586, 586, 586,
5975  586, 586, 586, 586, 586, 586, 3536, 586, 586, 586,
5976  586, 586, 586, 594, 594, 3536, 594, 594, 3536, 594,
5977  594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
5978  594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
5979  594, 594, 594, 2645, 2645, 2645, 2645, 2645, 2645, 2645,
5980  2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645,
5981  2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645,
5982  2645, 2645, 2645, 623, 623, 3536, 3536, 623, 623, 623,
5983  623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
5984 
5985  623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
5986  623, 623, 623, 2261, 2261, 2261, 2261, 2261, 2261, 2261,
5987  2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261,
5988  2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261,
5989  2261, 2261, 2261, 2895, 2895, 2895, 2895, 2895, 2895, 2895,
5990  2895, 2895, 2895, 3536, 2895, 2895, 2895, 3536, 2895, 2895,
5991  2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895,
5992  2895, 2895, 2895, 1231, 1231, 1231, 1231, 3536, 1231, 3536,
5993  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
5994  3536, 3536, 1231, 1231, 3536, 3536, 3536, 1231, 3536, 3536,
5995 
5996  1231, 1231, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860,
5997  1860, 1860, 1860, 1860, 1860, 1860, 1860, 3536, 1860, 1860,
5998  1860, 1860, 3536, 3536, 1860, 1860, 1860, 3536, 1860, 1860,
5999  1860, 1860, 2911, 2911, 2911, 2911, 3536, 3536, 3536, 2911,
6000  3536, 3536, 3536, 3536, 3536, 3536, 2911, 2911, 3536, 2911,
6001  3536, 2911, 2911, 3536, 2911, 3536, 2911, 3536, 3536, 3536,
6002  2911, 2681, 2681, 2681, 2681, 3536, 3536, 3536, 2681, 3536,
6003  3536, 3536, 3536, 3536, 3536, 2681, 2681, 3536, 2681, 3536,
6004  2681, 2681, 3536, 2681, 3536, 2681, 3536, 3536, 3536, 2681,
6005  1251, 1251, 3536, 1251, 1251, 3536, 1251, 1251, 3536, 3536,
6006 
6007  1251, 1251, 1251, 1251, 3536, 1251, 1251, 1251, 1251, 1251,
6008  1251, 1251, 1251, 1251, 1251, 1251, 3536, 3536, 1251, 1251,
6009  668, 668, 668, 668, 3536, 3536, 3536, 668, 668, 3536,
6010  668, 3536, 3536, 3536, 668, 668, 668, 668, 3536, 668,
6011  668, 3536, 668, 668, 668, 3536, 3536, 3536, 668, 2916,
6012  3536, 2916, 2916, 3536, 2916, 2916, 2916, 2916, 3536, 2916,
6013  2916, 2916, 2916, 2916, 2916, 2916, 2916, 2916, 2916, 2916,
6014  2916, 2916, 3536, 2916, 2916, 2916, 2916, 2916, 2916, 2918,
6015  2918, 2918, 2918, 3536, 2918, 3536, 3536, 3536, 3536, 3536,
6016  3536, 3536, 3536, 3536, 2918, 3536, 3536, 3536, 2918, 2918,
6017 
6018  3536, 2918, 3536, 2918, 3536, 3536, 2918, 2918, 776, 3536,
6019  3536, 776, 3536, 3536, 3536, 776, 3536, 3536, 3536, 776,
6020  776, 3536, 776, 776, 3536, 776, 3536, 776, 776, 3536,
6021  3536, 3536, 776, 3536, 3536, 3536, 776, 867, 867, 3536,
6022  867, 3536, 3536, 3536, 867, 3536, 3536, 3536, 867, 867,
6023  3536, 867, 867, 3536, 867, 3536, 867, 867, 3536, 3536,
6024  3536, 867, 3536, 3536, 3536, 867, 941, 3536, 3536, 941,
6025  3536, 3536, 3536, 941, 3536, 3536, 3536, 3536, 3536, 3536,
6026  941, 941, 3536, 3536, 3536, 941, 941, 3536, 941, 3536,
6027  941, 3536, 3536, 3536, 941, 955, 3536, 3536, 3536, 3536,
6028 
6029  955, 955, 3536, 3536, 3536, 955, 3536, 3536, 3536, 955,
6030  964, 964, 3536, 3536, 3536, 964, 964, 3536, 964, 3536,
6031  964, 3536, 3536, 3536, 964, 1584, 3536, 3536, 3536, 3536,
6032  1584, 1584, 3536, 3536, 3536, 1584, 3536, 3536, 3536, 1584,
6033  977, 977, 3536, 977, 977, 977, 977, 977, 977, 977,
6034  977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
6035  977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
6036  3026, 3536, 3536, 3026, 3536, 3536, 3536, 3536, 3536, 3536,
6037  3536, 3536, 3536, 3536, 3026, 3026, 3536, 3536, 3536, 3026,
6038  3026, 3536, 3536, 3536, 3026, 3536, 3536, 3536, 3026, 1011,
6039 
6040  1011, 1011, 1011, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
6041  3536, 3536, 3536, 1011, 1011, 3536, 1011, 3536, 1011, 1011,
6042  3536, 1011, 3536, 1011, 3536, 3536, 3536, 1011, 1048, 3536,
6043  3536, 3536, 3536, 1048, 1048, 3536, 3536, 3536, 1048, 3536,
6044  3536, 3536, 1048, 1056, 3536, 3536, 3536, 3536, 1056, 1056,
6045  3536, 3536, 3536, 1056, 3536, 3536, 3536, 1056, 1078, 3536,
6046  3536, 3536, 3536, 1078, 1078, 3536, 3536, 3536, 1078, 3536,
6047  3536, 3536, 1078, 1105, 1105, 3536, 1105, 1105, 3536, 3536,
6048  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
6049  1105, 1105, 1105, 1105, 1105, 1105, 3536, 1105, 1105, 1105,
6050 
6051  1105, 1105, 1105, 1118, 3536, 3536, 3536, 3536, 1118, 1118,
6052  3536, 3536, 3536, 1118, 3536, 3536, 3536, 1118, 3050, 3536,
6053  3050, 3050, 3536, 3050, 3050, 3050, 3536, 3536, 3050, 3050,
6054  3050, 3050, 3050, 3050, 3050, 3050, 3050, 3050, 3050, 3050,
6055  3050, 3536, 3050, 3050, 3050, 3050, 3050, 3050, 1142, 1142,
6056  3536, 1142, 1142, 1142, 1142, 1142, 1142, 3536, 1142, 1142,
6057  1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
6058  1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 3053, 3053,
6059  3536, 3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053,
6060  3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053,
6061 
6062  3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053, 3055, 3055,
6063  3536, 3055, 3055, 3055, 3055, 3055, 3055, 3055, 3055, 3055,
6064  3055, 3055, 3055, 3055, 3055, 3055, 3055, 3055, 3055, 3055,
6065  3055, 3055, 3055, 3055, 3055, 3055, 3055, 3055, 3057, 3057,
6066  3536, 3057, 3057, 3057, 3057, 3057, 3057, 3057, 3057, 3057,
6067  3057, 3057, 3057, 3057, 3057, 3057, 3057, 3057, 3057, 3057,
6068  3057, 3057, 3057, 3057, 3057, 3057, 3057, 3057, 3059, 3059,
6069  3536, 3059, 3059, 3059, 3059, 3059, 3059, 3059, 3059, 3059,
6070  3059, 3059, 3059, 3059, 3059, 3059, 3059, 3059, 3059, 3059,
6071  3059, 3059, 3059, 3059, 3059, 3059, 3059, 3059, 3061, 3061,
6072 
6073  3536, 3061, 3061, 3061, 3061, 3061, 3061, 3061, 3061, 3061,
6074  3061, 3061, 3061, 3061, 3061, 3061, 3061, 3061, 3061, 3061,
6075  3061, 3061, 3061, 3061, 3061, 3061, 3061, 3061, 3069, 3536,
6076  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3069, 3536,
6077  3536, 3536, 3069, 3069, 3536, 3069, 3536, 3069, 3536, 3536,
6078  3069, 3069, 2911, 2911, 2911, 2911, 3536, 3536, 3536, 2911,
6079  3536, 3536, 3536, 3536, 3536, 3536, 2911, 2911, 3536, 2911,
6080  3536, 2911, 2911, 3536, 2911, 3536, 2911, 3536, 3536, 3536,
6081  2911, 2681, 2681, 2681, 2681, 3536, 3536, 3536, 2681, 3536,
6082  3536, 3536, 3536, 3536, 3536, 2681, 2681, 3536, 2681, 3536,
6083 
6084  2681, 2681, 3536, 2681, 3536, 2681, 3536, 3536, 3536, 2681,
6085  668, 668, 668, 668, 3536, 3536, 3536, 668, 668, 3536,
6086  668, 3536, 3536, 3536, 668, 668, 668, 668, 3536, 668,
6087  668, 3536, 668, 668, 668, 3536, 3536, 3536, 668, 3085,
6088  3536, 3085, 3085, 3536, 3085, 3085, 3085, 3085, 3536, 3085,
6089  3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085,
6090  3085, 3085, 3536, 3085, 3085, 3085, 3085, 3085, 3085, 3087,
6091  3087, 3087, 3087, 3536, 3536, 3536, 3087, 3536, 3536, 3536,
6092  3536, 3536, 3536, 3087, 3087, 3536, 3087, 3536, 3087, 3087,
6093  3536, 3087, 3536, 3087, 3536, 3536, 3536, 3087, 776, 3536,
6094 
6095  3536, 776, 3536, 3536, 3536, 776, 3536, 3536, 3536, 776,
6096  776, 3536, 776, 776, 3536, 776, 3536, 776, 776, 3536,
6097  3536, 3536, 776, 3536, 3536, 3536, 776, 867, 867, 3536,
6098  867, 3536, 3536, 3536, 867, 3536, 3536, 3536, 867, 867,
6099  3536, 867, 867, 3536, 867, 3536, 867, 867, 3536, 3536,
6100  3536, 867, 3536, 3536, 3536, 867, 941, 3536, 3536, 941,
6101  3536, 3536, 3536, 941, 3536, 3536, 3536, 3536, 3536, 3536,
6102  941, 941, 3536, 3536, 3536, 941, 941, 3536, 941, 3536,
6103  941, 3536, 3536, 3536, 941, 955, 3536, 3536, 3536, 3536,
6104  955, 955, 3536, 3536, 3536, 955, 3536, 3536, 3536, 955,
6105 
6106  964, 964, 3536, 3536, 3536, 964, 964, 3536, 964, 3536,
6107  964, 3536, 3536, 3536, 964, 1584, 3536, 3536, 3536, 3536,
6108  1584, 1584, 3536, 3536, 3536, 1584, 3536, 3536, 3536, 1584,
6109  3163, 3163, 3536, 3163, 3163, 3163, 3163, 3163, 3163, 3163,
6110  3163, 3163, 3163, 3163, 3163, 3163, 3163, 3163, 3163, 3163,
6111  3163, 3163, 3163, 3163, 3163, 3163, 3163, 3163, 3163, 3163,
6112  3166, 3166, 3166, 3166, 3166, 3166, 3166, 3166, 3166, 3166,
6113  3166, 3166, 3166, 3166, 3166, 3536, 3166, 3166, 3166, 3166,
6114  3536, 3536, 3166, 3166, 3166, 3166, 3166, 3166, 3166, 3166,
6115  3026, 3536, 3536, 3026, 3536, 3536, 3536, 3536, 3536, 3536,
6116 
6117  3536, 3536, 3536, 3536, 3026, 3026, 3536, 3536, 3536, 3026,
6118  3026, 3536, 3536, 3536, 3026, 3536, 3536, 3536, 3026, 1011,
6119  1011, 1011, 1011, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
6120  3536, 3536, 3536, 1011, 1011, 3536, 1011, 3536, 1011, 1011,
6121  3536, 1011, 3536, 1011, 3536, 3536, 3536, 1011, 1048, 3536,
6122  3536, 3536, 3536, 1048, 1048, 3536, 3536, 3536, 1048, 3536,
6123  3536, 3536, 1048, 1056, 3536, 3536, 3536, 3536, 1056, 1056,
6124  3536, 3536, 3536, 1056, 3536, 3536, 3536, 1056, 1078, 3536,
6125  3536, 3536, 3536, 1078, 1078, 3536, 3536, 3536, 1078, 3536,
6126  3536, 3536, 1078, 3179, 3179, 3536, 3179, 3179, 3179, 3179,
6127 
6128  3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179,
6129  3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179,
6130  3179, 3179, 3179, 1118, 3536, 3536, 3536, 3536, 1118, 1118,
6131  3536, 3536, 3536, 1118, 3536, 3536, 3536, 1118, 3181, 3536,
6132  3181, 3181, 3536, 3181, 3181, 3181, 3536, 3536, 3181, 3181,
6133  3181, 3181, 3181, 3181, 3181, 3181, 3181, 3181, 3181, 3181,
6134  3181, 3536, 3181, 3181, 3181, 3181, 3181, 3181, 3183, 3183,
6135  3536, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183,
6136  3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183,
6137  3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3053, 3053,
6138 
6139  3536, 3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053,
6140  3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053,
6141  3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053, 3055, 3055,
6142  3536, 3055, 3055, 3055, 3055, 3055, 3055, 3055, 3055, 3055,
6143  3055, 3055, 3055, 3055, 3055, 3055, 3055, 3055, 3055, 3055,
6144  3055, 3055, 3055, 3055, 3055, 3055, 3055, 3055, 577, 577,
6145  3536, 3536, 577, 3536, 577, 577, 577, 577, 577, 577,
6146  577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
6147  577, 3536, 577, 577, 577, 577, 577, 577, 3057, 3057,
6148  3536, 3057, 3057, 3057, 3057, 3057, 3057, 3057, 3057, 3057,
6149 
6150  3057, 3057, 3057, 3057, 3057, 3057, 3057, 3057, 3057, 3057,
6151  3057, 3057, 3057, 3057, 3057, 3057, 3057, 3057, 586, 586,
6152  3536, 3536, 586, 586, 586, 3536, 586, 586, 586, 586,
6153  586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
6154  586, 3536, 586, 586, 586, 586, 586, 586, 3059, 3059,
6155  3536, 3059, 3059, 3059, 3059, 3059, 3059, 3059, 3059, 3059,
6156  3059, 3059, 3059, 3059, 3059, 3059, 3059, 3059, 3059, 3059,
6157  3059, 3059, 3059, 3059, 3059, 3059, 3059, 3059, 594, 594,
6158  3536, 594, 594, 3536, 594, 594, 594, 594, 594, 594,
6159  594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
6160 
6161  594, 594, 594, 594, 594, 594, 594, 594, 3061, 3061,
6162  3536, 3061, 3061, 3061, 3061, 3061, 3061, 3061, 3061, 3061,
6163  3061, 3061, 3061, 3061, 3061, 3061, 3061, 3061, 3061, 3061,
6164  3061, 3061, 3061, 3061, 3061, 3061, 3061, 3061, 623, 623,
6165  3536, 3536, 623, 623, 623, 623, 623, 623, 623, 623,
6166  623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
6167  623, 623, 623, 623, 623, 623, 623, 623, 3195, 3195,
6168  3195, 3195, 3536, 3536, 3536, 3536, 3195, 3536, 3195, 3536,
6169  3536, 3536, 3195, 3195, 3195, 3536, 3536, 3195, 3195, 3536,
6170  3195, 3195, 3195, 3536, 3536, 3536, 3195, 3201, 3201, 3201,
6171 
6172  3201, 3536, 3201, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
6173  3536, 3536, 3536, 3536, 3536, 3536, 3201, 3201, 3536, 3536,
6174  3536, 3201, 3536, 3536, 3536, 3201, 2911, 2911, 2911, 2911,
6175  3536, 3536, 3536, 2911, 3536, 3536, 3536, 3536, 3536, 3536,
6176  2911, 2911, 3536, 2911, 3536, 2911, 2911, 3536, 2911, 3536,
6177  2911, 3536, 3536, 3536, 2911, 2681, 2681, 2681, 2681, 3536,
6178  3536, 3536, 2681, 3536, 3536, 3536, 3536, 3536, 3536, 2681,
6179  2681, 3536, 2681, 3536, 2681, 2681, 3536, 2681, 3536, 2681,
6180  3536, 3536, 3536, 2681, 668, 668, 668, 668, 3536, 3536,
6181  3536, 668, 668, 3536, 668, 3536, 3536, 3536, 668, 668,
6182 
6183  668, 668, 3536, 668, 668, 3536, 668, 668, 668, 3536,
6184  3536, 3536, 668, 3211, 3536, 3211, 3211, 3536, 3211, 3211,
6185  3211, 3211, 3536, 3211, 3211, 3211, 3211, 3211, 3211, 3211,
6186  3211, 3211, 3211, 3211, 3211, 3211, 3536, 3211, 3211, 3211,
6187  3211, 3211, 3211, 3087, 3087, 3087, 3087, 3536, 3536, 3536,
6188  3087, 3536, 3536, 3536, 3536, 3536, 3536, 3087, 3087, 3536,
6189  3087, 3536, 3087, 3087, 3536, 3087, 3536, 3087, 3536, 3536,
6190  3536, 3087, 3216, 3216, 3536, 3216, 3216, 3536, 3216, 3216,
6191  3216, 3216, 3216, 3216, 3216, 3216, 3536, 3216, 3216, 3216,
6192  3216, 3216, 3216, 3216, 3216, 3216, 3216, 3216, 3536, 3216,
6193 
6194  3216, 3216, 643, 643, 643, 643, 3536, 643, 3536, 3536,
6195  3536, 3536, 3536, 3536, 3536, 3536, 3536, 643, 3536, 3536,
6196  3536, 643, 643, 3536, 643, 3536, 643, 3536, 3536, 643,
6197  643, 776, 3536, 3536, 776, 3536, 3536, 3536, 776, 3536,
6198  3536, 3536, 776, 776, 3536, 776, 776, 3536, 776, 3536,
6199  776, 776, 3536, 3536, 3536, 776, 3536, 3536, 3536, 776,
6200  1381, 1381, 3536, 1381, 1381, 1381, 1381, 1381, 3536, 3536,
6201  1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 3536, 1381,
6202  1381, 1381, 3536, 1381, 3536, 1381, 3536, 3536, 1381, 1381,
6203  867, 867, 3536, 867, 3536, 3536, 3536, 867, 3536, 3536,
6204 
6205  3536, 867, 867, 3536, 867, 867, 3536, 867, 3536, 867,
6206  867, 3536, 3536, 3536, 867, 3536, 3536, 3536, 867, 941,
6207  3536, 3536, 941, 3536, 3536, 3536, 941, 3536, 3536, 3536,
6208  3536, 3536, 3536, 941, 941, 3536, 3536, 3536, 941, 941,
6209  3536, 941, 3536, 941, 3536, 3536, 3536, 941, 955, 3536,
6210  3536, 3536, 3536, 955, 955, 3536, 3536, 3536, 955, 3536,
6211  3536, 3536, 955, 964, 964, 3536, 3536, 3536, 964, 964,
6212  3536, 964, 3536, 964, 3536, 3536, 3536, 964, 1584, 3536,
6213  3536, 3536, 3536, 1584, 1584, 3536, 3536, 3536, 1584, 3536,
6214  3536, 3536, 1584, 3163, 3163, 3536, 3163, 3163, 3163, 3163,
6215 
6216  3163, 3163, 3163, 3163, 3163, 3163, 3163, 3163, 3163, 3163,
6217  3163, 3163, 3163, 3163, 3163, 3163, 3163, 3163, 3163, 3163,
6218  3163, 3163, 3163, 3053, 3053, 3536, 3053, 3053, 3053, 3053,
6219  3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053,
6220  3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053, 3053,
6221  3053, 3053, 3053, 977, 977, 3536, 977, 977, 977, 977,
6222  977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
6223  977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
6224  977, 977, 977, 1048, 3536, 3536, 3536, 3536, 1048, 1048,
6225  3536, 3536, 3536, 1048, 3536, 3536, 3536, 1048, 3179, 3179,
6226 
6227  3536, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179,
6228  3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179,
6229  3179, 3179, 3179, 3179, 3179, 3179, 3179, 3179, 1105, 1105,
6230  3536, 1105, 1105, 3536, 3536, 1105, 1105, 1105, 1105, 1105,
6231  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
6232  1105, 3536, 1105, 1105, 1105, 1105, 1105, 1105, 3269, 3536,
6233  3269, 3269, 3536, 3269, 3269, 3269, 3536, 3536, 3269, 3269,
6234  3269, 3269, 3269, 3269, 3269, 3269, 3269, 3269, 3269, 3269,
6235  3269, 3536, 3269, 3269, 3269, 3269, 3269, 3269, 3183, 3183,
6236  3536, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183,
6237 
6238  3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183,
6239  3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 1142, 1142,
6240  3536, 1142, 1142, 1142, 1142, 1142, 1142, 3536, 1142, 1142,
6241  1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
6242  1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 577, 577,
6243  3536, 3536, 577, 3536, 577, 577, 577, 577, 577, 577,
6244  577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
6245  577, 3536, 577, 577, 577, 577, 577, 577, 586, 586,
6246  3536, 3536, 586, 586, 586, 3536, 586, 586, 586, 586,
6247  586, 586, 586, 586, 586, 586, 586, 586, 586, 586,
6248 
6249  586, 3536, 586, 586, 586, 586, 586, 586, 594, 594,
6250  3536, 594, 594, 3536, 594, 594, 594, 594, 594, 594,
6251  594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
6252  594, 594, 594, 594, 594, 594, 594, 594, 623, 623,
6253  3536, 3536, 623, 623, 623, 623, 623, 623, 623, 623,
6254  623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
6255  623, 623, 623, 623, 623, 623, 623, 623, 3195, 3195,
6256  3195, 3195, 3536, 3536, 3536, 3536, 3195, 3536, 3195, 3536,
6257  3536, 3536, 3195, 3195, 3195, 3536, 3536, 3195, 3195, 3536,
6258  3195, 3195, 3195, 3536, 3536, 3536, 3195, 3069, 3069, 3069,
6259 
6260  3069, 3536, 3069, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
6261  3536, 3536, 3536, 3536, 3536, 3536, 3069, 3069, 3536, 3536,
6262  3536, 3069, 3536, 3536, 3069, 3069, 3201, 3201, 3201, 3201,
6263  3536, 3201, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
6264  3536, 3536, 3536, 3536, 3536, 3201, 3201, 3536, 3536, 3536,
6265  3201, 3536, 3536, 3536, 3201, 3280, 3280, 3280, 3280, 3536,
6266  3536, 3536, 3536, 3280, 3536, 3280, 3536, 3536, 3536, 3280,
6267  3536, 3280, 3536, 3536, 3280, 3280, 3536, 3536, 3280, 3280,
6268  3536, 3536, 3536, 3280, 1860, 1860, 1860, 1860, 1860, 1860,
6269  1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 3536,
6270 
6271  1860, 1860, 1860, 1860, 3536, 3536, 1860, 1860, 1860, 3536,
6272  1860, 1860, 1860, 1860, 2911, 2911, 2911, 2911, 3536, 3536,
6273  3536, 2911, 3536, 3536, 3536, 3536, 3536, 3536, 2911, 2911,
6274  3536, 2911, 3536, 2911, 2911, 3536, 2911, 3536, 2911, 3536,
6275  3536, 3536, 2911, 2681, 2681, 2681, 2681, 3536, 3536, 3536,
6276  2681, 3536, 3536, 3536, 3536, 3536, 3536, 2681, 2681, 3536,
6277  2681, 3536, 2681, 2681, 3536, 2681, 3536, 2681, 3536, 3536,
6278  3536, 2681, 668, 668, 668, 668, 3536, 3536, 3536, 668,
6279  668, 3536, 668, 3536, 3536, 3536, 668, 668, 668, 668,
6280  3536, 668, 668, 3536, 668, 668, 668, 3536, 3536, 3536,
6281 
6282  668, 3289, 3536, 3289, 3289, 3536, 3289, 3289, 3289, 3289,
6283  3536, 3289, 3289, 3289, 3289, 3289, 3289, 3289, 3289, 3289,
6284  3289, 3289, 3289, 3289, 3536, 3289, 3289, 3289, 3289, 3289,
6285  3289, 3217, 3217, 3536, 3217, 3217, 3536, 3217, 3217, 3217,
6286  3217, 3217, 3217, 3536, 3536, 3536, 3217, 3217, 3217, 3217,
6287  3217, 3217, 3217, 3217, 3217, 3217, 3217, 3536, 3217, 3217,
6288  3217, 3216, 3216, 3536, 3216, 3216, 3536, 3216, 3216, 3216,
6289  3216, 3216, 3216, 3216, 3216, 3536, 3216, 3216, 3216, 3216,
6290  3216, 3216, 3216, 3216, 3216, 3216, 3216, 3536, 3216, 3216,
6291  3216, 3295, 3295, 3536, 3295, 3295, 3295, 3295, 3295, 3295,
6292 
6293  3295, 3295, 3295, 3295, 3295, 3295, 3536, 3295, 3295, 3295,
6294  3295, 3536, 3536, 3295, 3295, 3295, 3536, 3295, 3295, 3295,
6295  3295, 3332, 3332, 3536, 3332, 3332, 3536, 3332, 3332, 3332,
6296  3332, 3332, 3332, 3332, 3332, 3536, 3332, 3332, 3332, 3332,
6297  3332, 3332, 3332, 3332, 3332, 3332, 3332, 3536, 3332, 3332,
6298  3332, 776, 3536, 3536, 776, 3536, 3536, 3536, 776, 3536,
6299  3536, 3536, 776, 776, 3536, 776, 776, 3536, 776, 3536,
6300  776, 776, 3536, 3536, 3536, 776, 3536, 3536, 3536, 776,
6301  867, 867, 3536, 867, 3536, 3536, 3536, 867, 3536, 3536,
6302  3536, 867, 867, 3536, 867, 867, 3536, 867, 3536, 867,
6303 
6304  867, 3536, 3536, 3536, 867, 3536, 3536, 3536, 867, 941,
6305  3536, 3536, 941, 3536, 3536, 3536, 941, 3536, 3536, 3536,
6306  3536, 3536, 3536, 941, 941, 3536, 3536, 3536, 941, 941,
6307  3536, 941, 3536, 941, 3536, 3536, 3536, 941, 955, 3536,
6308  3536, 3536, 3536, 955, 955, 3536, 3536, 3536, 955, 3536,
6309  3536, 3536, 955, 1584, 3536, 3536, 3536, 3536, 1584, 1584,
6310  3536, 3536, 3536, 1584, 3536, 3536, 3536, 1584, 977, 977,
6311  3536, 977, 977, 977, 977, 977, 977, 977, 977, 977,
6312  977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
6313  977, 977, 977, 977, 977, 977, 977, 977, 1048, 3536,
6314 
6315  3536, 3536, 3536, 1048, 1048, 3536, 3536, 3536, 1048, 3536,
6316  3536, 3536, 1048, 1105, 1105, 3536, 1105, 1105, 3536, 3536,
6317  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
6318  1105, 1105, 1105, 1105, 1105, 1105, 3536, 1105, 1105, 1105,
6319  1105, 1105, 1105, 3357, 3536, 3357, 3357, 3536, 3357, 3357,
6320  3357, 3536, 3536, 3357, 3357, 3357, 3357, 3357, 3357, 3357,
6321  3357, 3357, 3357, 3357, 3357, 3357, 3536, 3357, 3357, 3357,
6322  3357, 3357, 3357, 1142, 1142, 3536, 1142, 1142, 1142, 1142,
6323  1142, 1142, 3536, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
6324  1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
6325 
6326  1142, 1142, 1142, 577, 577, 3536, 3536, 577, 3536, 577,
6327  577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
6328  577, 577, 577, 577, 577, 577, 3536, 577, 577, 577,
6329  577, 577, 577, 586, 586, 3536, 3536, 586, 586, 586,
6330  3536, 586, 586, 586, 586, 586, 586, 586, 586, 586,
6331  586, 586, 586, 586, 586, 586, 3536, 586, 586, 586,
6332  586, 586, 586, 594, 594, 3536, 594, 594, 3536, 594,
6333  594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
6334  594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
6335  594, 594, 594, 623, 623, 3536, 3536, 623, 623, 623,
6336 
6337  623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
6338  623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
6339  623, 623, 623, 3069, 3069, 3069, 3069, 3536, 3069, 3536,
6340  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
6341  3536, 3536, 3069, 3069, 3536, 3536, 3536, 3069, 3536, 3536,
6342  3069, 3069, 3280, 3280, 3280, 3280, 3536, 3536, 3536, 3536,
6343  3280, 3536, 3280, 3536, 3536, 3536, 3280, 3536, 3280, 3536,
6344  3536, 3280, 3280, 3536, 3536, 3280, 3280, 3536, 3536, 3536,
6345  3280, 2911, 2911, 2911, 2911, 3536, 3536, 3536, 2911, 3536,
6346  3536, 3536, 3536, 3536, 3536, 2911, 2911, 3536, 2911, 3536,
6347 
6348  2911, 2911, 3536, 2911, 3536, 2911, 3536, 3536, 3536, 2911,
6349  2681, 2681, 2681, 2681, 3536, 3536, 3536, 2681, 3536, 3536,
6350  3536, 3536, 3536, 3536, 2681, 2681, 3536, 2681, 3536, 2681,
6351  2681, 3536, 2681, 3536, 2681, 3536, 3536, 3536, 2681, 3373,
6352  3536, 3373, 3373, 3536, 3373, 3373, 3373, 3373, 3536, 3373,
6353  3373, 3373, 3373, 3373, 3373, 3373, 3373, 3373, 3373, 3373,
6354  3373, 3373, 3536, 3373, 3373, 3373, 3373, 3373, 3373, 3295,
6355  3295, 3536, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
6356  3295, 3295, 3295, 3295, 3536, 3295, 3295, 3295, 3295, 3536,
6357  3536, 3295, 3295, 3295, 3536, 3295, 3295, 3295, 3295, 3333,
6358 
6359  3333, 3536, 3333, 3333, 3536, 3333, 3333, 3333, 3333, 3333,
6360  3333, 3536, 3536, 3536, 3333, 3333, 3333, 3333, 3333, 3333,
6361  3333, 3333, 3333, 3333, 3333, 3536, 3333, 3333, 3333, 3332,
6362  3332, 3536, 3332, 3332, 3536, 3332, 3332, 3332, 3332, 3332,
6363  3332, 3332, 3332, 3536, 3332, 3332, 3332, 3332, 3332, 3332,
6364  3332, 3332, 3332, 3332, 3332, 3536, 3332, 3332, 3332, 776,
6365  3536, 3536, 776, 3536, 3536, 3536, 776, 3536, 3536, 3536,
6366  776, 776, 3536, 776, 776, 3536, 776, 3536, 776, 776,
6367  3536, 3536, 3536, 776, 3536, 3536, 3536, 776, 867, 867,
6368  3536, 867, 3536, 3536, 3536, 867, 3536, 3536, 3536, 867,
6369 
6370  867, 3536, 867, 867, 3536, 867, 3536, 867, 867, 3536,
6371  3536, 3536, 867, 3536, 3536, 3536, 867, 941, 3536, 3536,
6372  941, 3536, 3536, 3536, 941, 3536, 3536, 3536, 3536, 3536,
6373  3536, 941, 941, 3536, 3536, 3536, 941, 941, 3536, 941,
6374  3536, 941, 3536, 3536, 3536, 941, 977, 977, 3536, 977,
6375  977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
6376  977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
6377  977, 977, 977, 977, 977, 977, 1048, 1048, 1048, 1048,
6378  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
6379  1048, 3536, 3536, 3536, 3536, 1048, 1048, 3536, 3536, 3536,
6380 
6381  1048, 1048, 3536, 3536, 1048, 1105, 1105, 3536, 1105, 1105,
6382  3536, 3536, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
6383  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 3536, 1105,
6384  1105, 1105, 1105, 1105, 1105, 3419, 3536, 3419, 3419, 3536,
6385  3419, 3419, 3419, 3536, 3536, 3419, 3419, 3419, 3419, 3419,
6386  3419, 3419, 3419, 3419, 3419, 3419, 3419, 3419, 3536, 3419,
6387  3419, 3419, 3419, 3419, 3419, 1142, 1142, 3536, 1142, 1142,
6388  1142, 1142, 1142, 1142, 3536, 1142, 1142, 1142, 1142, 1142,
6389  1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
6390  1142, 1142, 1142, 1142, 1142, 577, 577, 3536, 3536, 577,
6391 
6392  3536, 577, 577, 577, 577, 577, 577, 577, 577, 577,
6393  577, 577, 577, 577, 577, 577, 577, 577, 3536, 577,
6394  577, 577, 577, 577, 577, 586, 586, 3536, 3536, 586,
6395  586, 586, 3536, 586, 586, 586, 586, 586, 586, 586,
6396  586, 586, 586, 586, 586, 586, 586, 586, 3536, 586,
6397  586, 586, 586, 586, 586, 594, 594, 3536, 594, 594,
6398  3536, 594, 594, 594, 594, 594, 594, 594, 594, 594,
6399  594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
6400  594, 594, 594, 594, 594, 623, 623, 3536, 3536, 623,
6401  623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
6402 
6403  623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
6404  623, 623, 623, 623, 623, 2911, 2911, 2911, 2911, 3536,
6405  3536, 3536, 2911, 3536, 3536, 3536, 3536, 3536, 3536, 2911,
6406  2911, 3536, 2911, 3536, 2911, 2911, 3536, 2911, 3536, 2911,
6407  3536, 3536, 3536, 2911, 2681, 2681, 2681, 2681, 3536, 3536,
6408  3536, 2681, 3536, 3536, 3536, 3536, 3536, 3536, 2681, 2681,
6409  3536, 2681, 3536, 2681, 2681, 3536, 2681, 3536, 2681, 3536,
6410  3536, 3536, 2681, 3427, 3536, 3427, 3427, 3536, 3427, 3427,
6411  3427, 3427, 3536, 3427, 3427, 3427, 3427, 3427, 3427, 3427,
6412  3427, 3427, 3427, 3427, 3427, 3427, 3536, 3427, 3427, 3427,
6413 
6414  3427, 3427, 3427, 1381, 1381, 3536, 1381, 1381, 1381, 1381,
6415  1381, 3536, 3536, 1381, 1381, 1381, 1381, 1381, 1381, 1381,
6416  1381, 3536, 1381, 1381, 1381, 3536, 1381, 3536, 1381, 3536,
6417  3536, 1381, 1381, 776, 3536, 3536, 776, 3536, 3536, 3536,
6418  776, 3536, 3536, 3536, 776, 776, 3536, 776, 776, 3536,
6419  776, 3536, 776, 776, 3536, 3536, 3536, 776, 3536, 3536,
6420  3536, 776, 867, 867, 3536, 867, 3536, 3536, 3536, 867,
6421  3536, 3536, 3536, 867, 867, 3536, 867, 867, 3536, 867,
6422  3536, 867, 867, 3536, 3536, 3536, 867, 3536, 3536, 3536,
6423  867, 3453, 3536, 3536, 3453, 3536, 3453, 3536, 3536, 3536,
6424 
6425  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
6426  3453, 3453, 3536, 3536, 3536, 3453, 3536, 3536, 3536, 3453,
6427  977, 977, 3536, 977, 977, 977, 977, 977, 977, 977,
6428  977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
6429  977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
6430  1048, 3536, 3536, 3536, 3536, 1048, 1048, 3536, 3536, 3536,
6431  1048, 3536, 3536, 3536, 1048, 1105, 1105, 3536, 1105, 1105,
6432  3536, 3536, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
6433  1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 3536, 1105,
6434  1105, 1105, 1105, 1105, 1105, 3458, 3536, 3458, 3458, 3536,
6435 
6436  3458, 3458, 3458, 3536, 3536, 3458, 3458, 3458, 3458, 3458,
6437  3458, 3458, 3458, 3458, 3458, 3458, 3458, 3458, 3536, 3458,
6438  3458, 3458, 3458, 3458, 3458, 1142, 1142, 3536, 1142, 1142,
6439  1142, 1142, 1142, 1142, 3536, 1142, 1142, 1142, 1142, 1142,
6440  1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
6441  1142, 1142, 1142, 1142, 1142, 3467, 3536, 3467, 3467, 3536,
6442  3467, 3467, 3467, 3467, 3536, 3467, 3467, 3467, 3467, 3467,
6443  3467, 3467, 3467, 3467, 3467, 3467, 3467, 3467, 3536, 3467,
6444  3467, 3467, 3467, 3467, 3467, 3482, 3536, 3536, 3482, 3536,
6445  3482, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
6446 
6447  3536, 3536, 3536, 3536, 3482, 3482, 3536, 3536, 3536, 3482,
6448  3536, 3536, 3536, 3482, 3485, 3536, 3536, 3485, 3536, 3536,
6449  3536, 3536, 3485, 3536, 3536, 3536, 3536, 3536, 3485, 3536,
6450  3536, 3536, 3536, 3485, 3485, 3536, 3536, 3536, 3485, 3536,
6451  3536, 3536, 3485, 3488, 3536, 3488, 3488, 3536, 3488, 3488,
6452  3488, 3536, 3536, 3488, 3488, 3488, 3488, 3488, 3488, 3488,
6453  3488, 3488, 3488, 3488, 3488, 3488, 3536, 3488, 3488, 3488,
6454  3488, 3488, 3488, 3494, 3536, 3494, 3494, 3536, 3494, 3494,
6455  3494, 3494, 3536, 3494, 3494, 3494, 3494, 3494, 3494, 3494,
6456  3494, 3494, 3494, 3494, 3494, 3494, 3536, 3494, 3494, 3494,
6457 
6458  3494, 3494, 3494, 3506, 3536, 3536, 3506, 3536, 3536, 3536,
6459  3536, 3506, 3536, 3536, 3536, 3536, 3536, 3506, 3536, 3536,
6460  3536, 3536, 3506, 3506, 3536, 3536, 3536, 3506, 3536, 3536,
6461  3536, 3506, 3507, 3536, 3507, 3507, 3536, 3507, 3507, 3507,
6462  3536, 3536, 3507, 3507, 3507, 3507, 3507, 3507, 3507, 3507,
6463  3507, 3507, 3507, 3507, 3507, 3536, 3507, 3507, 3507, 3507,
6464  3507, 3507, 3510, 3536, 3510, 3510, 3536, 3510, 3510, 3510,
6465  3510, 3536, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510,
6466  3510, 3510, 3510, 3510, 3510, 3536, 3510, 3510, 3510, 3510,
6467  3510, 3510, 3516, 3536, 3516, 3516, 3536, 3516, 3516, 3516,
6468 
6469  3536, 3536, 3516, 3516, 3516, 3516, 3516, 3516, 3516, 3516,
6470  3516, 3516, 3516, 3516, 3516, 3536, 3516, 3516, 3516, 3516,
6471  3516, 3516, 3519, 3536, 3519, 3519, 3536, 3519, 3519, 3519,
6472  3519, 3536, 3519, 3519, 3519, 3519, 3519, 3519, 3519, 3519,
6473  3519, 3519, 3519, 3519, 3519, 3536, 3519, 3519, 3519, 3519,
6474  3519, 3519, 3521, 3536, 3521, 3521, 3536, 3521, 3521, 3521,
6475  3536, 3536, 3521, 3521, 3521, 3521, 3521, 3521, 3521, 3521,
6476  3521, 3521, 3521, 3521, 3521, 3536, 3521, 3521, 3521, 3521,
6477  3521, 3521, 3524, 3536, 3524, 3524, 3536, 3524, 3524, 3524,
6478  3524, 3536, 3524, 3524, 3524, 3524, 3524, 3524, 3524, 3524,
6479 
6480  3524, 3524, 3524, 3524, 3524, 3536, 3524, 3524, 3524, 3524,
6481  3524, 3524, 3525, 3536, 3525, 3525, 3536, 3525, 3525, 3525,
6482  3536, 3536, 3525, 3525, 3525, 3525, 3525, 3525, 3525, 3525,
6483  3525, 3525, 3525, 3525, 3525, 3536, 3525, 3525, 3525, 3525,
6484  3525, 3525, 3528, 3536, 3528, 3528, 3536, 3528, 3528, 3528,
6485  3528, 3536, 3528, 3528, 3528, 3528, 3528, 3528, 3528, 3528,
6486  3528, 3528, 3528, 3528, 3528, 3536, 3528, 3528, 3528, 3528,
6487  3528, 3528, 73, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
6488  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
6489  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
6490 
6491  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
6492  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
6493  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
6494  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
6495  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
6496  3536, 3536, 3536, 3536, 3536, 3536, 3536
6497  } ;
6498 
6499 static yyconst flex_int16_t yy_chk[36458] =
6500  { 0,
6501  0, 0, 1, 1, 2, 2, 2, 2, 117, 117,
6502  3, 3, 1, 1, 3, 2, 2, 204, 0, 1,
6503  3, 3, 2, 22, 0, 20, 22, 3, 20, 1,
6504  79, 20, 2, 82, 204, 79, 24, 3, 82, 24,
6505  87, 22, 91, 20, 170, 87, 136, 91, 1, 26,
6506  1, 2, 26, 2, 24, 175, 3, 3, 3, 4,
6507  4, 4, 4, 96, 4, 5, 5, 26, 96, 304,
6508  4, 4, 170, 175, 5, 5, 5, 4, 28, 99,
6509  30, 28, 5, 30, 99, 106, 109, 4, 304, 136,
6510  106, 109, 5, 7, 7, 115, 28, 7, 30, 718,
6511 
6512  115, 718, 169, 7, 7, 345, 4, 4, 4, 169,
6513  7, 5, 5, 5, 6, 6, 6, 6, 36, 38,
6514  7, 36, 38, 119, 6, 6, 6, 48, 119, 1164,
6515  48, 1164, 6, 9, 9, 50, 36, 38, 50, 7,
6516  184, 7, 6, 9, 9, 48, 8, 8, 8, 8,
6517  9, 8, 52, 50, 126, 52, 345, 8, 8, 126,
6518  9, 6, 6, 6, 8, 2227, 10, 10, 10, 10,
6519  52, 129, 121, 184, 8, 121, 129, 10, 10, 9,
6520  9, 9, 146, 154, 10, 121, 154, 146, 11, 11,
6521  11, 11, 149, 8, 10, 8, 154, 149, 161, 11,
6522 
6523  11, 11, 210, 161, 54, 391, 11, 54, 12, 12,
6524  12, 12, 210, 10, 10, 10, 11, 13, 13, 12,
6525  12, 12, 54, 185, 135, 391, 12, 13, 13, 135,
6526  14, 14, 14, 14, 13, 11, 12, 11, 370, 15,
6527  15, 14, 14, 56, 13, 358, 56, 200, 14, 15,
6528  15, 15, 200, 182, 194, 12, 15, 12, 14, 135,
6529  370, 56, 185, 13, 13, 13, 15, 137, 137, 716,
6530  16, 16, 16, 16, 182, 194, 182, 14, 14, 14,
6531  194, 16, 16, 16, 716, 15, 182, 15, 16, 17,
6532  17, 139, 18, 18, 18, 18, 139, 254, 16, 17,
6533 
6534  17, 208, 254, 18, 18, 42, 17, 358, 42, 58,
6535  18, 42, 58, 208, 137, 189, 17, 16, 60, 16,
6536  18, 60, 62, 42, 711, 62, 139, 58, 213, 213,
6537  215, 215, 711, 42, 189, 17, 60, 17, 189, 18,
6538  62, 18, 19, 19, 19, 19, 19, 19, 19, 19,
6539  19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
6540  19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
6541  19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
6542  19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
6543  19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
6544 
6545  19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
6546  19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
6547  19, 19, 19, 19, 19, 19, 21, 21, 21, 21,
6548  21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
6549  21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
6550  21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
6551  21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
6552  21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
6553  21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
6554  21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
6555 
6556  21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
6557  23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
6558  23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
6559  23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
6560  23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
6561  23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
6562  23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
6563  23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
6564  23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
6565  23, 23, 23, 23, 25, 25, 25, 25, 25, 25,
6566 
6567  25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
6568  25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
6569  25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
6570  25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
6571  25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
6572  25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
6573  25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
6574  25, 25, 25, 25, 25, 25, 25, 25, 27, 27,
6575  27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
6576  27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
6577 
6578  27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
6579  27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
6580  27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
6581  27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
6582  27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
6583  27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
6584  27, 27, 29, 29, 29, 29, 29, 29, 29, 29,
6585  29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
6586  29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
6587  29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
6588 
6589  29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
6590  29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
6591  29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
6592  29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
6593  29, 29, 29, 29, 29, 29, 31, 31, 32, 32,
6594  32, 32, 658, 658, 33, 33, 31, 31, 199, 32,
6595  32, 199, 371, 31, 33, 33, 32, 64, 382, 268,
6596  64, 33, 382, 31, 268, 66, 32, 243, 66, 156,
6597  1323, 33, 156, 68, 371, 64, 68, 34, 34, 34,
6598  34, 156, 31, 66, 31, 32, 1323, 32, 34, 34,
6599 
6600  33, 68, 33, 75, 81, 34, 75, 81, 90, 98,
6601  101, 90, 98, 101, 108, 34, 205, 108, 199, 205,
6602  211, 75, 81, 390, 390, 211, 90, 98, 101, 205,
6603  243, 2228, 108, 211, 34, 390, 34, 35, 35, 35,
6604  35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
6605  35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
6606  35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
6607  35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
6608  35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
6609  35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
6610 
6611  35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
6612  35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
6613  35, 37, 37, 37, 37, 37, 37, 37, 37, 37,
6614  37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
6615  37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
6616  37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
6617  37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
6618  37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
6619  37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
6620  37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
6621 
6622  37, 37, 37, 37, 37, 39, 39, 39, 39, 40,
6623  40, 40, 40, 246, 43, 43, 39, 39, 246, 270,
6624  40, 40, 2229, 39, 43, 43, 246, 40, 39, 270,
6625  270, 43, 40, 39, 69, 69, 186, 40, 43, 118,
6626  43, 43, 118, 177, 69, 69, 111, 111, 2230, 111,
6627  128, 69, 39, 128, 39, 186, 40, 118, 40, 186,
6628  43, 69, 43, 128, 111, 686, 131, 141, 128, 131,
6629  141, 197, 197, 197, 197, 186, 177, 686, 197, 177,
6630  69, 320, 69, 39, 131, 141, 320, 40, 41, 41,
6631  41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
6632 
6633  41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
6634  41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
6635  41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
6636  41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
6637  41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
6638  41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
6639  41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
6640  41, 41, 44, 44, 44, 44, 45, 45, 138, 309,
6641  45, 138, 309, 44, 44, 313, 45, 45, 313, 2231,
6642  44, 148, 253, 45, 148, 253, 138, 44, 176, 44,
6643 
6644  44, 178, 45, 45, 253, 46, 46, 46, 46, 148,
6645  46, 359, 162, 162, 162, 162, 46, 46, 176, 44,
6646  178, 44, 45, 46, 45, 372, 138, 178, 176, 180,
6647  179, 178, 46, 46, 178, 176, 359, 176, 162, 70,
6648  70, 70, 70, 193, 187, 351, 571, 372, 351, 2232,
6649  70, 70, 46, 179, 46, 47, 47, 70, 188, 180,
6650  571, 180, 193, 179, 187, 47, 47, 70, 162, 180,
6651  193, 180, 47, 179, 183, 324, 193, 188, 187, 47,
6652  324, 47, 47, 286, 187, 188, 70, 207, 70, 660,
6653  207, 2233, 660, 286, 188, 47, 183, 188, 183, 207,
6654 
6655  286, 47, 286, 47, 579, 183, 183, 47, 47, 47,
6656  330, 47, 47, 207, 47, 330, 335, 47, 579, 47,
6657  47, 335, 2234, 351, 47, 47, 47, 47, 47, 49,
6658  49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
6659  49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
6660  49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
6661  49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
6662  49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
6663  49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
6664  49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
6665 
6666  49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
6667  49, 49, 49, 51, 51, 51, 51, 51, 51, 51,
6668  51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
6669  51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
6670  51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
6671  51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
6672  51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
6673  51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
6674  51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
6675  51, 51, 51, 51, 51, 51, 51, 53, 53, 53,
6676 
6677  53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
6678  53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
6679  53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
6680  53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
6681  53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
6682  53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
6683  53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
6684  53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
6685  53, 55, 55, 55, 55, 55, 55, 55, 55, 55,
6686  55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
6687 
6688  55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
6689  55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
6690  55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
6691  55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
6692  55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
6693  55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
6694  55, 55, 55, 55, 55, 57, 57, 57, 57, 57,
6695  57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
6696  57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
6697  57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
6698 
6699  57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
6700  57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
6701  57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
6702  57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
6703  57, 57, 57, 57, 57, 57, 57, 57, 57, 59,
6704  59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
6705  59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
6706  59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
6707  59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
6708  59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
6709 
6710  59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
6711  59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
6712  59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
6713  59, 59, 59, 61, 61, 61, 61, 61, 61, 61,
6714  61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
6715  61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
6716  61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
6717  61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
6718  61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
6719  61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
6720 
6721  61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
6722  61, 61, 61, 61, 61, 61, 61, 63, 63, 63,
6723  63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
6724  63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
6725  63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
6726  63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
6727  63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
6728  63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
6729  63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
6730  63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
6731 
6732  63, 65, 65, 65, 65, 65, 65, 65, 65, 65,
6733  65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
6734  65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
6735  65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
6736  65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
6737  65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
6738  65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
6739  65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
6740  65, 65, 65, 65, 65, 67, 67, 67, 67, 67,
6741  67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
6742 
6743  67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
6744  67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
6745  67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
6746  67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
6747  67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
6748  67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
6749  67, 67, 67, 67, 67, 67, 67, 67, 67, 71,
6750  71, 166, 267, 71, 463, 267, 191, 463, 71, 71,
6751  71, 173, 173, 173, 173, 365, 71, 365, 173, 198,
6752  267, 181, 198, 518, 192, 198, 71, 463, 316, 191,
6753 
6754  518, 316, 191, 373, 173, 71, 192, 198, 71, 563,
6755  181, 71, 191, 192, 216, 71, 316, 71, 181, 191,
6756  166, 181, 166, 166, 181, 373, 166, 181, 563, 173,
6757  181, 336, 166, 166, 336, 166, 166, 166, 192, 323,
6758  71, 708, 323, 192, 455, 455, 71, 365, 71, 72,
6759  72, 72, 72, 708, 72, 336, 455, 323, 386, 72,
6760  72, 72, 173, 216, 190, 216, 216, 72, 386, 216,
6761  167, 167, 167, 167, 2235, 216, 216, 72, 216, 216,
6762  216, 167, 167, 308, 308, 167, 72, 190, 308, 72,
6763  190, 190, 72, 167, 167, 167, 72, 217, 72, 362,
6764 
6765  217, 423, 190, 588, 375, 190, 423, 190, 217, 265,
6766  265, 265, 265, 217, 217, 374, 265, 588, 167, 167,
6767  217, 72, 217, 374, 362, 308, 375, 72, 374, 72,
6768  168, 168, 168, 168, 597, 218, 362, 374, 218, 287,
6769  287, 168, 168, 287, 326, 168, 218, 326, 597, 2236,
6770  287, 218, 218, 168, 168, 168, 396, 287, 218, 287,
6771  218, 434, 326, 168, 646, 219, 434, 451, 219, 220,
6772  219, 334, 220, 646, 334, 218, 219, 451, 168, 168,
6773  220, 219, 219, 377, 222, 220, 220, 222, 219, 334,
6774  219, 377, 220, 396, 220, 222, 377, 279, 279, 655,
6775 
6776  222, 222, 220, 223, 279, 377, 223, 222, 279, 222,
6777  655, 279, 737, 224, 223, 279, 224, 279, 441, 223,
6778  223, 290, 290, 441, 224, 290, 223, 672, 223, 224,
6779  224, 737, 290, 472, 225, 222, 224, 225, 224, 290,
6780  672, 290, 460, 472, 229, 225, 229, 460, 229, 2237,
6781  225, 225, 229, 476, 476, 229, 223, 225, 229, 225,
6782  226, 229, 692, 226, 229, 476, 223, 306, 692, 311,
6783  306, 226, 311, 223, 521, 223, 226, 226, 227, 224,
6784  311, 227, 224, 226, 521, 226, 225, 700, 231, 227,
6785  306, 700, 311, 225, 227, 227, 231, 225, 361, 231,
6786 
6787  225, 227, 231, 227, 488, 231, 494, 230, 231, 488,
6788  230, 494, 230, 673, 232, 230, 226, 311, 230, 230,
6789  230, 230, 232, 361, 230, 232, 226, 230, 232, 663,
6790  341, 232, 340, 341, 232, 340, 226, 607, 233, 663,
6791  524, 227, 233, 227, 361, 306, 233, 361, 341, 233,
6792  340, 607, 233, 227, 228, 233, 340, 228, 233, 503,
6793  524, 234, 234, 508, 503, 228, 662, 673, 508, 234,
6794  228, 228, 234, 618, 2238, 234, 234, 228, 234, 228,
6795  235, 234, 234, 687, 240, 236, 662, 618, 235, 236,
6796  687, 235, 240, 236, 235, 240, 236, 235, 240, 236,
6797 
6798  235, 240, 236, 695, 240, 236, 228, 2240, 237, 695,
6799  624, 624, 237, 537, 228, 237, 237, 228, 537, 237,
6800  228, 314, 237, 228, 314, 237, 228, 237, 237, 238,
6801  237, 239, 237, 238, 683, 1875, 238, 238, 436, 314,
6802  238, 436, 541, 238, 314, 683, 238, 541, 278, 238,
6803  239, 1875, 241, 238, 241, 697, 436, 624, 278, 241,
6804  241, 278, 239, 241, 278, 278, 241, 278, 697, 241,
6805  239, 675, 241, 239, 459, 239, 239, 459, 481, 239,
6806  239, 481, 239, 257, 257, 257, 257, 258, 258, 258,
6807  258, 701, 459, 675, 257, 1007, 481, 701, 258, 314,
6808 
6809  259, 259, 259, 259, 547, 259, 257, 281, 257, 547,
6810  258, 259, 258, 261, 261, 261, 261, 281, 525, 281,
6811  261, 525, 525, 259, 281, 259, 281, 258, 703, 281,
6812  961, 257, 1007, 525, 493, 258, 261, 493, 703, 263,
6813  263, 263, 263, 266, 266, 266, 266, 693, 259, 693,
6814  263, 637, 493, 693, 266, 961, 401, 401, 401, 401,
6815  263, 261, 263, 401, 263, 637, 266, 280, 266, 551,
6816  280, 559, 272, 272, 551, 272, 559, 280, 507, 263,
6817  280, 507, 532, 272, 280, 532, 280, 263, 272, 272,
6818  540, 266, 714, 540, 261, 272, 507, 272, 273, 273,
6819 
6820  532, 273, 274, 274, 714, 274, 567, 274, 540, 273,
6821  576, 567, 569, 274, 273, 273, 585, 569, 274, 274,
6822  705, 273, 2241, 273, 576, 274, 705, 274, 275, 275,
6823  585, 275, 276, 276, 576, 276, 574, 401, 273, 275,
6824  585, 574, 583, 276, 275, 275, 713, 583, 276, 276,
6825  2242, 275, 713, 275, 284, 276, 284, 276, 284, 277,
6826  277, 275, 277, 570, 284, 284, 284, 684, 684, 591,
6827  277, 284, 570, 284, 591, 277, 277, 282, 282, 704,
6828  704, 689, 277, 276, 277, 282, 283, 283, 282, 283,
6829  288, 282, 689, 689, 282, 282, 283, 282, 285, 283,
6830 
6831  288, 2244, 696, 283, 288, 283, 570, 288, 285, 288,
6832  288, 285, 277, 696, 599, 285, 289, 285, 363, 599,
6833  682, 363, 277, 289, 363, 543, 289, 682, 543, 277,
6834  770, 277, 289, 289, 291, 289, 363, 291, 682, 293,
6835  291, 291, 376, 543, 291, 376, 363, 376, 725, 725,
6836  770, 291, 291, 291, 593, 291, 292, 291, 293, 292,
6837  376, 578, 292, 731, 731, 763, 292, 294, 593, 376,
6838  578, 293, 292, 292, 294, 292, 763, 294, 593, 292,
6839  294, 293, 312, 293, 294, 312, 294, 736, 293, 587,
6840  293, 295, 295, 312, 596, 736, 363, 295, 587, 690,
6841 
6842  617, 295, 640, 596, 578, 312, 690, 640, 295, 617,
6843  295, 399, 399, 399, 399, 400, 400, 400, 400, 402,
6844  402, 402, 402, 2246, 403, 403, 403, 403, 550, 706,
6845  312, 550, 587, 312, 399, 706, 399, 596, 400, 706,
6846  400, 717, 402, 617, 402, 717, 550, 403, 400, 403,
6847  404, 404, 404, 404, 405, 405, 405, 405, 553, 399,
6848  740, 553, 566, 400, 740, 566, 568, 402, 688, 568,
6849  712, 688, 403, 404, 712, 404, 553, 405, 573, 405,
6850  566, 573, 712, 403, 568, 402, 406, 406, 406, 406,
6851  403, 722, 414, 414, 414, 414, 573, 722, 404, 414,
6852 
6853  582, 691, 405, 582, 407, 407, 407, 407, 691, 406,
6854  2256, 406, 408, 408, 408, 408, 404, 405, 582, 409,
6855  409, 409, 409, 410, 410, 410, 410, 407, 606, 407,
6856  411, 411, 411, 411, 406, 408, 590, 408, 685, 590,
6857  606, 406, 409, 685, 409, 606, 410, 698, 410, 2258,
6858  698, 406, 407, 411, 590, 411, 412, 412, 412, 412,
6859  408, 631, 413, 413, 413, 413, 631, 409, 739, 739,
6860  407, 410, 409, 416, 416, 416, 416, 2259, 411, 412,
6861  707, 412, 410, 410, 408, 413, 707, 413, 417, 417,
6862  417, 417, 707, 575, 410, 411, 631, 724, 418, 418,
6863 
6864  418, 418, 575, 724, 412, 598, 417, 964, 598, 732,
6865  413, 433, 433, 433, 433, 732, 413, 575, 496, 496,
6866  496, 496, 412, 598, 601, 649, 584, 416, 649, 433,
6867  719, 592, 964, 719, 999, 584, 575, 649, 601, 416,
6868  592, 496, 417, 416, 604, 604, 416, 604, 601, 612,
6869  584, 416, 418, 999, 417, 592, 622, 611, 417, 1278,
6870  611, 417, 604, 612, 418, 433, 417, 496, 418, 584,
6871  622, 418, 1278, 612, 592, 611, 418, 433, 715, 614,
6872  622, 433, 614, 715, 433, 509, 509, 509, 509, 433,
6873  505, 505, 614, 505, 505, 505, 1166, 505, 1166, 505,
6874 
6875  505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
6876  510, 510, 510, 510, 505, 505, 505, 505, 505, 505,
6877  511, 511, 511, 511, 620, 600, 2261, 620, 510, 626,
6878  530, 530, 530, 530, 600, 621, 636, 620, 505, 509,
6879  505, 505, 620, 626, 621, 636, 741, 630, 530, 600,
6880  630, 509, 771, 633, 702, 509, 741, 720, 509, 621,
6881  720, 702, 771, 509, 510, 630, 625, 633, 600, 505,
6882  505, 505, 505, 626, 511, 625, 510, 633, 621, 636,
6883  510, 1192, 632, 510, 530, 1192, 511, 728, 510, 639,
6884  511, 632, 639, 511, 728, 630, 530, 633, 511, 642,
6885 
6886  530, 635, 635, 530, 635, 641, 632, 639, 530, 625,
6887  625, 738, 738, 642, 641, 721, 643, 643, 643, 643,
6888  721, 647, 738, 642, 647, 632, 632, 643, 643, 641,
6889  721, 643, 744, 744, 647, 654, 654, 654, 654, 643,
6890  643, 643, 654, 699, 751, 751, 1312, 648, 641, 709,
6891  648, 699, 709, 1312, 648, 699, 723, 723, 654, 648,
6892  648, 729, 729, 723, 643, 643, 644, 644, 644, 644,
6893  648, 652, 652, 652, 652, 734, 734, 644, 644, 733,
6894  729, 644, 727, 654, 733, 734, 727, 670, 670, 644,
6895  644, 644, 670, 670, 727, 648, 977, 652, 664, 664,
6896 
6897  664, 664, 1333, 670, 681, 681, 681, 681, 709, 664,
6898  664, 681, 1333, 664, 644, 644, 654, 730, 977, 735,
6899  2263, 664, 664, 664, 730, 644, 735, 652, 648, 665,
6900  665, 665, 665, 1219, 730, 671, 671, 671, 671, 735,
6901  665, 665, 671, 735, 665, 1219, 664, 664, 676, 676,
6902  676, 676, 665, 665, 768, 676, 670, 768, 671, 677,
6903  677, 677, 677, 742, 742, 1113, 677, 742, 766, 766,
6904  1113, 676, 680, 680, 680, 680, 1198, 665, 665, 680,
6905  1198, 758, 677, 671, 758, 1097, 1097, 679, 679, 679,
6906  679, 748, 2265, 758, 748, 680, 676, 748, 679, 679,
6907 
6908  1305, 671, 679, 747, 747, 747, 747, 677, 1107, 748,
6909  679, 679, 679, 1305, 747, 747, 671, 1107, 747, 934,
6910  680, 2269, 934, 726, 726, 726, 726, 747, 747, 676,
6911  726, 745, 745, 745, 745, 679, 679, 726, 745, 1242,
6912  677, 746, 746, 746, 746, 1242, 749, 750, 746, 749,
6913  750, 1107, 747, 680, 694, 694, 694, 694, 694, 694,
6914  694, 694, 694, 694, 694, 694, 694, 694, 694, 694,
6915  694, 694, 694, 694, 753, 968, 1844, 753, 694, 694,
6916  694, 694, 694, 694, 2273, 753, 855, 855, 855, 855,
6917  753, 753, 935, 855, 1844, 935, 1108, 753, 754, 753,
6918 
6919  968, 754, 694, 694, 694, 694, 749, 750, 933, 754,
6920  1108, 933, 968, 756, 754, 754, 756, 757, 968, 772,
6921  757, 754, 772, 754, 757, 938, 756, 694, 938, 757,
6922  757, 933, 1115, 694, 694, 694, 694, 694, 776, 1340,
6923  945, 776, 772, 945, 772, 1208, 1115, 936, 779, 776,
6924  936, 779, 1340, 779, 776, 776, 1115, 754, 936, 779,
6925  1146, 776, 1149, 776, 779, 779, 780, 1149, 1208, 780,
6926  936, 779, 947, 779, 1146, 947, 781, 780, 2277, 781,
6927  937, 937, 780, 780, 1151, 937, 933, 781, 1175, 780,
6928  1175, 780, 781, 781, 782, 936, 947, 782, 1151, 781,
6929 
6930  1177, 781, 1177, 780, 939, 782, 2279, 939, 1151, 783,
6931  782, 782, 783, 784, 1068, 939, 784, 782, 960, 782,
6932  783, 960, 937, 1221, 784, 783, 783, 969, 781, 784,
6933  784, 2280, 783, 1068, 783, 1221, 784, 785, 784, 1186,
6934  785, 1186, 857, 857, 857, 857, 781, 963, 785, 857,
6935  963, 1256, 969, 785, 785, 786, 976, 969, 786, 976,
6936  785, 1188, 785, 1188, 782, 993, 786, 1881, 993, 783,
6937  787, 786, 786, 787, 1256, 1881, 952, 784, 786, 952,
6938  786, 787, 858, 858, 858, 858, 787, 787, 788, 858,
6939  1090, 788, 970, 787, 952, 787, 960, 979, 979, 788,
6940 
6941  952, 1197, 1352, 1197, 788, 788, 979, 941, 785, 1090,
6942  941, 788, 789, 788, 1352, 789, 790, 970, 941, 790,
6943  979, 786, 1062, 789, 1133, 1062, 787, 790, 789, 789,
6944  941, 791, 790, 790, 791, 789, 1154, 789, 970, 790,
6945  979, 790, 791, 1133, 2282, 1154, 792, 791, 791, 792,
6946  841, 841, 841, 841, 791, 941, 791, 792, 788, 788,
6947  1154, 841, 792, 792, 789, 1114, 1324, 794, 790, 792,
6948  794, 792, 1324, 841, 1114, 841, 1038, 795, 794, 1038,
6949  795, 980, 980, 794, 794, 1199, 1157, 1199, 795, 1114,
6950  794, 1157, 794, 795, 795, 980, 791, 1222, 841, 1222,
6951 
6952  795, 1038, 795, 792, 980, 1274, 1274, 2285, 1114, 792,
6953  793, 793, 793, 793, 793, 793, 793, 793, 793, 793,
6954  793, 793, 793, 793, 793, 793, 793, 793, 793, 793,
6955  985, 985, 794, 983, 793, 793, 793, 793, 793, 793,
6956  796, 983, 1136, 796, 985, 1136, 983, 795, 1279, 1073,
6957  1279, 796, 1073, 985, 985, 983, 796, 796, 793, 793,
6958  793, 793, 1292, 796, 2286, 796, 859, 859, 859, 859,
6959  1229, 797, 1073, 1229, 797, 1160, 1292, 859, 842, 842,
6960  842, 842, 797, 793, 1160, 842, 1145, 797, 797, 793,
6961  793, 793, 793, 793, 797, 1145, 797, 798, 2291, 1160,
6962 
6963  798, 842, 849, 849, 849, 849, 1163, 799, 798, 849,
6964  799, 1163, 796, 798, 798, 1297, 982, 1297, 799, 982,
6965  798, 982, 798, 799, 799, 849, 842, 2295, 800, 1145,
6966  799, 800, 799, 1074, 982, 1203, 1074, 1271, 797, 800,
6967  1203, 1271, 797, 982, 800, 800, 801, 1307, 1307, 801,
6968  849, 800, 1155, 800, 2299, 1075, 1074, 801, 1075, 842,
6969  798, 1275, 801, 801, 802, 1275, 1155, 802, 1161, 801,
6970  1112, 801, 799, 1112, 803, 802, 1155, 803, 1075, 1205,
6971  802, 802, 1161, 849, 1205, 803, 1856, 802, 1112, 802,
6972  803, 803, 1161, 804, 800, 971, 804, 803, 971, 803,
6973 
6974  1856, 971, 1269, 805, 804, 1269, 805, 1309, 1309, 804,
6975  804, 1172, 1150, 971, 805, 801, 804, 1270, 804, 805,
6976  805, 1150, 1270, 971, 802, 1172, 805, 806, 805, 1789,
6977  806, 843, 843, 843, 843, 1172, 1150, 944, 806, 803,
6978  944, 1298, 843, 806, 806, 1298, 1277, 1183, 944, 1319,
6979  806, 1319, 806, 809, 843, 1150, 809, 1277, 804, 1789,
6980  944, 1183, 804, 946, 809, 1276, 946, 1282, 805, 809,
6981  809, 1183, 811, 971, 805, 811, 809, 1329, 809, 843,
6982  1276, 946, 1282, 811, 1329, 944, 946, 1272, 811, 811,
6983  1217, 1217, 944, 1217, 2305, 811, 1272, 811, 806, 807,
6984 
6985  807, 807, 807, 807, 807, 807, 807, 807, 807, 807,
6986  807, 807, 807, 807, 807, 807, 807, 807, 807, 1294,
6987  809, 1209, 1209, 807, 807, 807, 807, 807, 807, 810,
6988  810, 810, 810, 1148, 1294, 1171, 1148, 811, 1301, 1317,
6989  810, 946, 1214, 1317, 1171, 810, 810, 807, 807, 807,
6990  807, 1148, 810, 1301, 810, 1008, 1008, 1008, 1008, 1171,
6991  812, 2306, 1008, 812, 844, 844, 844, 844, 1209, 1322,
6992  1194, 812, 1214, 1322, 1214, 844, 812, 812, 807, 807,
6993  807, 807, 807, 812, 1194, 812, 813, 844, 1280, 813,
6994  814, 1280, 810, 814, 1194, 1216, 1320, 813, 1320, 1283,
6995 
6996  810, 814, 813, 813, 2310, 815, 814, 814, 815, 813,
6997  1283, 813, 844, 814, 1302, 814, 815, 1019, 1019, 1019,
6998  1019, 815, 815, 816, 1019, 1216, 816, 1216, 815, 1302,
6999  815, 812, 1215, 1215, 816, 2311, 1008, 1315, 817, 816,
7000  816, 817, 818, 1170, 1170, 818, 816, 1170, 816, 817,
7001  813, 1295, 1315, 818, 817, 817, 2312, 1296, 818, 818,
7002  1296, 817, 1295, 817, 814, 818, 819, 818, 815, 819,
7003  820, 1176, 1176, 820, 1325, 1176, 1326, 819, 1325, 1215,
7004  1326, 820, 819, 819, 816, 821, 820, 820, 821, 819,
7005  1170, 819, 1321, 820, 817, 820, 821, 1321, 818, 2313,
7006 
7007  822, 821, 821, 822, 823, 1181, 1181, 823, 821, 1300,
7008  821, 822, 1300, 1182, 1181, 823, 822, 822, 1176, 1332,
7009  823, 823, 1182, 822, 1332, 822, 1220, 823, 1299, 823,
7010  820, 819, 824, 1304, 1348, 824, 820, 1182, 821, 1299,
7011  1220, 1348, 825, 824, 1304, 825, 1311, 1311, 824, 824,
7012  1220, 1327, 1181, 825, 1327, 824, 1350, 824, 825, 825,
7013  822, 1350, 823, 826, 823, 825, 826, 825, 823, 1100,
7014  1100, 1100, 1100, 827, 826, 823, 827, 1935, 1314, 826,
7015  826, 1330, 1193, 1330, 827, 2314, 826, 1314, 826, 827,
7016  827, 1193, 1100, 1935, 828, 824, 827, 828, 827, 1006,
7017 
7018  1006, 1006, 1006, 824, 1200, 828, 1193, 1200, 825, 1306,
7019  828, 828, 829, 1331, 1331, 829, 1200, 828, 1100, 828,
7020  1306, 826, 1006, 829, 1006, 827, 2315, 830, 829, 829,
7021  830, 1200, 1187, 1187, 1353, 829, 1201, 829, 830, 1201,
7022  826, 1187, 827, 830, 830, 831, 1308, 1006, 831, 1353,
7023  830, 1210, 830, 1201, 828, 832, 831, 1308, 832, 2317,
7024  1210, 831, 831, 1201, 1218, 1218, 832, 1218, 831, 1806,
7025  831, 832, 832, 833, 1316, 1210, 833, 829, 832, 1187,
7026  832, 1806, 1218, 834, 833, 1316, 834, 1249, 1249, 833,
7027  833, 830, 1249, 1249, 834, 1210, 833, 1211, 833, 834,
7028 
7029  834, 835, 1318, 1249, 835, 831, 834, 832, 834, 1343,
7030  1343, 1211, 835, 1318, 831, 1916, 1189, 835, 835, 836,
7031  1189, 1211, 836, 834, 835, 1337, 835, 832, 1189, 1337,
7032  836, 832, 1916, 1189, 837, 836, 836, 837, 1347, 1347,
7033  833, 1211, 836, 1281, 836, 837, 1281, 1281, 1354, 838,
7034  837, 837, 838, 984, 984, 1313, 1249, 837, 1313, 837,
7035  838, 835, 984, 1354, 839, 838, 838, 839, 1334, 1339,
7036  1334, 835, 838, 1339, 838, 839, 984, 984, 2318, 836,
7037  839, 839, 840, 1178, 1178, 840, 1335, 839, 1335, 839,
7038  1336, 1342, 1178, 840, 1342, 1178, 984, 1345, 840, 840,
7039 
7040  1178, 1336, 1344, 837, 1344, 840, 1346, 840, 1345, 838,
7041  2319, 1313, 838, 846, 846, 846, 846, 1346, 851, 851,
7042  851, 851, 1313, 839, 846, 851, 850, 850, 850, 850,
7043  1178, 850, 852, 852, 852, 852, 846, 850, 846, 852,
7044  1351, 851, 840, 2320, 1351, 854, 854, 854, 854, 850,
7045  1355, 850, 854, 1880, 1355, 852, 856, 856, 856, 856,
7046  1880, 846, 1009, 1009, 1009, 1009, 851, 856, 854, 1349,
7047  1338, 1349, 860, 860, 850, 860, 2321, 1338, 1373, 856,
7048  852, 856, 1338, 860, 1373, 1009, 1190, 1009, 860, 860,
7049  1190, 862, 862, 854, 862, 860, 856, 860, 1190, 851,
7050 
7051  2325, 2333, 862, 1190, 856, 1578, 1328, 862, 862, 1328,
7052  1009, 1578, 1604, 852, 862, 1604, 862, 863, 863, 1195,
7053  863, 867, 867, 1195, 867, 1696, 854, 1696, 863, 1585,
7054  1582, 1195, 867, 863, 863, 1585, 1195, 867, 867, 1619,
7055  868, 868, 1619, 868, 867, 868, 867, 1036, 1036, 1036,
7056  1036, 868, 2337, 1580, 1036, 1582, 868, 868, 869, 869,
7057  1870, 869, 1619, 868, 1380, 868, 1870, 1380, 1196, 869,
7058  1582, 1380, 1196, 1328, 869, 869, 870, 870, 1580, 870,
7059  1196, 869, 1698, 869, 1698, 1196, 2360, 870, 1101, 1101,
7060  1101, 1101, 870, 870, 1581, 869, 1858, 871, 871, 870,
7061 
7062  871, 870, 1589, 1580, 1010, 1010, 1010, 1010, 871, 1858,
7063  2379, 1101, 1724, 871, 871, 872, 872, 1590, 872, 1581,
7064  871, 1590, 871, 1724, 1589, 1596, 872, 1010, 870, 1596,
7065  1730, 872, 872, 873, 873, 2332, 873, 1101, 872, 1692,
7066  872, 1730, 1581, 1590, 873, 1729, 870, 1729, 1692, 873,
7067  873, 1596, 1010, 1583, 874, 874, 873, 874, 873, 1037,
7068  1037, 1037, 1037, 1692, 2332, 874, 1037, 871, 1589, 1364,
7069  874, 874, 1364, 875, 875, 872, 875, 874, 1583, 874,
7070  1011, 1011, 1011, 1011, 875, 1364, 1364, 1206, 1206, 875,
7071  875, 876, 876, 1731, 876, 1731, 875, 873, 875, 1206,
7072 
7073  1595, 1583, 876, 1011, 1206, 1011, 1812, 876, 876, 1812,
7074  877, 877, 1857, 877, 876, 2382, 876, 1233, 1233, 1233,
7075  1233, 877, 1595, 1857, 1233, 874, 877, 877, 1011, 1014,
7076  1014, 1014, 1014, 877, 1206, 877, 1014, 878, 878, 875,
7077  878, 879, 879, 1362, 879, 1693, 1362, 876, 878, 1733,
7078  1362, 1733, 879, 878, 878, 1362, 1362, 879, 879, 1693,
7079  878, 1735, 878, 1735, 879, 1807, 879, 880, 880, 1693,
7080  880, 881, 881, 1595, 881, 1595, 1686, 1807, 880, 2383,
7081  877, 877, 881, 880, 880, 1686, 1686, 881, 881, 878,
7082  880, 1726, 880, 879, 881, 1808, 881, 883, 883, 1587,
7083 
7084  883, 884, 884, 1587, 884, 1726, 1382, 1808, 883, 1382,
7085  1014, 1587, 884, 883, 883, 1726, 1587, 884, 884, 1775,
7086  883, 1809, 883, 1775, 884, 1587, 884, 1871, 881, 1382,
7087  1871, 1382, 880, 1809, 881, 882, 882, 882, 882, 882,
7088  882, 882, 882, 882, 882, 882, 882, 882, 882, 882,
7089  882, 882, 882, 882, 882, 885, 885, 1721, 885, 882,
7090  882, 882, 882, 882, 882, 1783, 885, 883, 1721, 1721,
7091  1805, 885, 885, 884, 1721, 1805, 886, 886, 885, 886,
7092  885, 1790, 1790, 882, 882, 882, 882, 886, 1016, 1016,
7093  1016, 1016, 886, 886, 1644, 1016, 1777, 1644, 1780, 886,
7094 
7095  1777, 886, 1780, 1017, 1017, 1017, 1017, 1781, 882, 1399,
7096  1017, 1781, 1399, 2395, 882, 882, 882, 882, 882, 1644,
7097  887, 887, 885, 887, 888, 888, 885, 888, 1790, 1753,
7098  1753, 887, 1399, 1753, 1399, 888, 887, 887, 1597, 886,
7099  888, 888, 1783, 887, 1783, 887, 1894, 888, 1792, 888,
7100  889, 889, 1792, 889, 890, 890, 1894, 890, 1263, 1263,
7101  1597, 889, 2397, 1263, 1263, 890, 889, 889, 1831, 1016,
7102  890, 890, 1831, 889, 1263, 889, 1753, 890, 1874, 890,
7103  891, 891, 1874, 891, 1017, 887, 1268, 1268, 1268, 1268,
7104  888, 891, 1785, 1268, 2409, 1859, 891, 891, 1423, 892,
7105 
7106  892, 1423, 892, 891, 1859, 891, 1015, 1015, 1015, 1015,
7107  892, 1597, 1872, 1597, 890, 892, 892, 893, 893, 889,
7108  893, 1423, 892, 1423, 892, 1887, 1872, 1263, 893, 1015,
7109  1891, 1015, 1887, 893, 893, 894, 894, 2410, 894, 1891,
7110  893, 1645, 893, 1015, 1645, 891, 894, 1018, 1018, 1018,
7111  1018, 894, 894, 1691, 1015, 1793, 1793, 1691, 894, 1691,
7112  894, 2412, 897, 897, 892, 897, 1645, 2342, 892, 1785,
7113  1018, 1785, 1018, 897, 1432, 1432, 1432, 1432, 897, 897,
7114  898, 898, 893, 898, 2342, 897, 1363, 897, 893, 1363,
7115  1884, 898, 1897, 1363, 1884, 1018, 898, 898, 1363, 1363,
7116 
7117  1691, 1897, 1793, 898, 2413, 898, 894, 895, 895, 895,
7118  895, 895, 895, 895, 895, 895, 895, 895, 895, 895,
7119  895, 895, 895, 895, 895, 895, 895, 1782, 2414, 897,
7120  1722, 895, 895, 895, 895, 895, 895, 899, 899, 1782,
7121  899, 1722, 1722, 898, 1782, 1755, 1755, 1722, 899, 1755,
7122  1901, 898, 1893, 899, 899, 895, 895, 895, 895, 1885,
7123  899, 1901, 899, 1873, 1039, 1039, 1039, 1039, 900, 900,
7124  1893, 900, 1885, 1102, 1102, 1102, 1102, 2415, 1873, 900,
7125  1252, 1252, 1252, 1252, 900, 900, 895, 895, 895, 895,
7126  895, 900, 1755, 900, 901, 901, 1102, 901, 902, 902,
7127 
7128  1890, 902, 899, 1252, 1890, 901, 1900, 1725, 1903, 902,
7129  901, 901, 1903, 2416, 902, 902, 1725, 901, 1039, 901,
7130  1900, 902, 1102, 902, 903, 903, 1869, 903, 1252, 1869,
7131  1039, 1725, 1697, 1876, 1039, 903, 1697, 1039, 1697, 900,
7132  903, 903, 1039, 904, 904, 1928, 904, 903, 1876, 903,
7133  1207, 1207, 1167, 1167, 904, 1902, 1167, 1902, 901, 904,
7134  904, 1905, 1207, 1928, 1167, 1905, 904, 1207, 904, 1167,
7135  1794, 1794, 902, 905, 905, 2417, 905, 906, 906, 1697,
7136  906, 1906, 1869, 2418, 905, 1906, 1883, 903, 906, 905,
7137  905, 2296, 1899, 906, 906, 1899, 905, 1207, 905, 1167,
7138 
7139  906, 1883, 906, 2296, 904, 907, 907, 1727, 907, 908,
7140  908, 1923, 908, 1923, 1764, 1764, 907, 1794, 1727, 1727,
7141  908, 907, 907, 1764, 1727, 908, 908, 1908, 907, 905,
7142  907, 1908, 908, 906, 908, 909, 909, 1588, 909, 910,
7143  910, 1588, 910, 1911, 1888, 1925, 909, 1911, 1925, 1588,
7144  910, 909, 909, 2419, 1588, 910, 910, 1914, 909, 1888,
7145  909, 1764, 910, 1588, 910, 1479, 1479, 1479, 1479, 908,
7146  907, 1914, 1479, 911, 911, 908, 911, 1591, 1591, 2421,
7147  1022, 1022, 1022, 1022, 911, 1924, 1591, 1924, 909, 911,
7148  911, 912, 912, 1895, 912, 1932, 911, 1932, 911, 910,
7149 
7150  1591, 1591, 912, 1022, 1892, 1022, 1895, 912, 912, 913,
7151  913, 1896, 913, 1929, 912, 2422, 912, 1290, 1290, 1892,
7152  913, 2133, 1290, 1290, 1896, 913, 913, 1929, 1022, 1796,
7153  1796, 911, 913, 1290, 913, 914, 914, 911, 914, 1480,
7154  1480, 1480, 1480, 2133, 911, 1022, 914, 1592, 1592, 1921,
7155  1480, 914, 914, 1921, 912, 1898, 915, 915, 914, 915,
7156  914, 1592, 912, 1040, 1040, 1040, 1040, 915, 1898, 1904,
7157  1592, 1592, 915, 915, 2136, 913, 1796, 1798, 1798, 915,
7158  2408, 915, 1904, 1907, 916, 916, 1290, 916, 917, 917,
7159  1933, 917, 1933, 914, 1907, 916, 2136, 1917, 2408, 917,
7160 
7161  916, 916, 1168, 1168, 917, 917, 1168, 916, 915, 916,
7162  1917, 917, 914, 917, 1168, 918, 918, 1040, 918, 1168,
7163  1253, 1253, 1253, 1253, 1798, 915, 918, 1253, 2364, 1040,
7164  2364, 918, 918, 1040, 919, 919, 1040, 919, 918, 1915,
7165  918, 1040, 2142, 1253, 916, 919, 1800, 1800, 2144, 1168,
7166  919, 919, 1918, 917, 1915, 920, 920, 919, 920, 919,
7167  1020, 1020, 1020, 1020, 2142, 1593, 920, 1918, 1253, 1593,
7168  2144, 920, 920, 921, 921, 2297, 921, 1593, 920, 918,
7169  920, 2247, 1593, 1020, 921, 1020, 1253, 2297, 1922, 921,
7170  921, 1593, 2247, 1800, 919, 1931, 921, 1922, 921, 922,
7171 
7172  922, 1253, 922, 919, 1931, 1758, 1758, 920, 1020, 1758,
7173  922, 1179, 1179, 2347, 1570, 922, 922, 1570, 923, 923,
7174  1179, 923, 922, 1179, 922, 1570, 1020, 920, 1179, 923,
7175  2347, 920, 1759, 1759, 923, 923, 1759, 1570, 1956, 922,
7176  921, 923, 1956, 923, 924, 924, 2283, 924, 925, 925,
7177  1926, 925, 1758, 1801, 1801, 924, 2283, 1926, 1179, 925,
7178  924, 924, 1570, 2165, 925, 925, 2165, 924, 2127, 924,
7179  1570, 925, 1776, 925, 926, 926, 1776, 926, 923, 1759,
7180  1021, 1021, 1021, 1021, 1776, 926, 1802, 1802, 923, 1776,
7181  926, 926, 1936, 2127, 2362, 927, 927, 926, 927, 926,
7182 
7183  1801, 2127, 1937, 1021, 924, 1021, 927, 1936, 2362, 1212,
7184  1212, 927, 927, 928, 928, 1937, 928, 925, 927, 1945,
7185  927, 1212, 1945, 2275, 928, 2316, 1212, 2275, 1021, 928,
7186  928, 1945, 1021, 1802, 926, 2316, 928, 926, 928, 1023,
7187  1023, 1023, 1023, 1024, 1024, 1024, 1024, 1028, 1028, 1028,
7188  1028, 2366, 2148, 2366, 927, 2148, 1212, 1173, 1173, 1174,
7189  1174, 1173, 1023, 1174, 1023, 2370, 1024, 2370, 1024, 1173,
7190  1028, 1174, 1028, 928, 1173, 2249, 1174, 1365, 2198, 2341,
7191  1365, 2198, 1803, 1803, 1365, 1803, 2249, 1023, 1920, 1365,
7192  1728, 1024, 2341, 1920, 2252, 1028, 1365, 1365, 1365, 1365,
7193 
7194  1803, 1728, 1728, 1920, 1173, 2252, 1174, 1728, 2148, 1024,
7195  1028, 1023, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025,
7196  1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025,
7197  1025, 1025, 1026, 1026, 1026, 1026, 1025, 1025, 1025, 1025,
7198  1025, 1025, 1027, 1027, 1027, 1027, 2135, 2198, 1029, 1029,
7199  1029, 1029, 2351, 1499, 1499, 1026, 1499, 1026, 2351, 2135,
7200  1025, 1025, 1025, 1025, 1499, 1027, 2352, 1027, 2135, 1499,
7201  1499, 1029, 2423, 1029, 1030, 1030, 1030, 1030, 2253, 2352,
7202  1026, 1031, 1031, 1031, 1031, 1032, 1032, 1032, 1032, 2253,
7203  1027, 1025, 1025, 1025, 1025, 1025, 1029, 1030, 1963, 1030,
7204 
7205  2376, 1963, 2353, 1026, 1031, 1963, 1031, 1027, 1032, 1029,
7206  1032, 1033, 1033, 1033, 1033, 2353, 2424, 2376, 1035, 1035,
7207  1035, 1035, 1030, 1034, 1034, 1034, 1034, 1804, 1804, 1031,
7208  1804, 2128, 2189, 1032, 1033, 2189, 1033, 1930, 1930, 1031,
7209  1030, 1035, 1930, 1035, 2425, 1804, 1034, 1930, 1034, 1046,
7210  1046, 1046, 1046, 1594, 1032, 2126, 2128, 1594, 1031, 1033,
7211  1054, 1054, 1054, 1054, 2129, 1594, 1035, 1046, 2128, 1964,
7212  1594, 1034, 1964, 1184, 1184, 2441, 1964, 1035, 1054, 1594,
7213  2126, 1033, 1184, 1034, 2126, 1184, 1034, 1185, 1185, 2129,
7214  1184, 1481, 1481, 1481, 1481, 2189, 1185, 2367, 2473, 1185,
7215 
7216  1213, 1213, 1481, 1046, 1185, 1116, 1116, 1116, 1116, 2371,
7217  2367, 2371, 1213, 2129, 1054, 1046, 2354, 1213, 2188, 1046,
7218  1184, 2188, 1046, 1116, 2248, 2354, 1054, 1046, 2190, 2193,
7219  1054, 2190, 2193, 1054, 1185, 2248, 2248, 2536, 1054, 1110,
7220  1110, 2248, 1110, 1110, 1110, 2538, 1110, 1213, 1110, 1110,
7221  1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1116,
7222  1765, 1765, 2388, 1110, 1110, 1110, 1110, 1110, 1110, 1765,
7223  2340, 1116, 1765, 2340, 2188, 1116, 2388, 1765, 1116, 1618,
7224  1618, 1618, 1618, 1116, 2385, 1383, 1618, 1110, 1383, 1110,
7225  1110, 1138, 1138, 1138, 1138, 1927, 1383, 2385, 1927, 2190,
7226 
7227  2193, 1383, 1383, 1482, 1482, 1482, 1482, 1765, 1383, 1138,
7228  1383, 1927, 1927, 2191, 1482, 2372, 2191, 2372, 1110, 1110,
7229  1110, 1110, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125,
7230  1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125,
7231  1125, 1125, 2402, 1766, 1766, 1138, 1125, 1125, 1125, 1125,
7232  1125, 1125, 1766, 1769, 1769, 1383, 2402, 1138, 2212, 2276,
7233  1618, 1138, 1769, 2276, 1138, 1770, 1770, 2212, 2212, 1138,
7234  1125, 1125, 1125, 1125, 1770, 1226, 1227, 2539, 2192, 1227,
7235  2191, 2192, 2357, 1227, 1226, 1226, 1226, 1226, 1227, 1227,
7236  1766, 1254, 1254, 1254, 1254, 2540, 2541, 2357, 1254, 1227,
7237 
7238  1769, 1125, 1125, 1125, 1125, 1125, 1223, 1223, 1223, 1223,
7239  1226, 2138, 1770, 1228, 1254, 2138, 1228, 1223, 1223, 2194,
7240  1228, 1223, 2194, 2542, 1227, 1228, 1228, 2287, 2287, 1223,
7241  1223, 1223, 2192, 2361, 2137, 1385, 1228, 2138, 1385, 1254,
7242  1226, 2390, 1264, 1264, 1264, 1264, 1385, 1942, 2361, 1264,
7243  1942, 1385, 1385, 2390, 1223, 1223, 2137, 1227, 1385, 1965,
7244  1385, 1228, 1965, 1942, 1942, 1264, 1223, 2369, 1431, 1431,
7245  1431, 1431, 1254, 2369, 2287, 2194, 1232, 1232, 1232, 1232,
7246  2543, 2137, 1965, 1232, 1965, 2288, 2288, 2544, 1232, 1232,
7247  1264, 1431, 2375, 1431, 1228, 1231, 1231, 1231, 1231, 1232,
7248 
7249  2363, 2350, 1231, 2375, 2141, 2350, 1385, 1231, 2141, 2363,
7250  1259, 1259, 1259, 1259, 1231, 1231, 1231, 1231, 1231, 1795,
7251  1795, 1259, 1259, 1264, 1232, 1259, 1260, 1260, 1260, 1260,
7252  2141, 1795, 2288, 1259, 1259, 1259, 1795, 1260, 1260, 2195,
7253  2549, 1260, 2195, 1231, 1820, 1820, 1820, 1820, 2358, 1260,
7254  1260, 1820, 2358, 1825, 1825, 1825, 1825, 1232, 1259, 1259,
7255  1265, 1265, 1265, 1265, 1825, 2145, 1795, 1265, 2550, 2145,
7256  1261, 1261, 1261, 1261, 1260, 1260, 1231, 1255, 1255, 1255,
7257  1255, 1261, 1261, 1265, 2373, 1261, 2373, 2551, 1255, 1255,
7258  2195, 2145, 1255, 1261, 1261, 1261, 1620, 1620, 1620, 1620,
7259 
7260  1255, 1255, 1255, 1620, 1266, 1266, 1266, 1266, 1265, 2556,
7261  2558, 1266, 1267, 1267, 1267, 1267, 2559, 2386, 1261, 1261,
7262  2377, 2257, 2377, 1267, 2257, 1255, 1255, 1266, 2368, 2294,
7263  2386, 1285, 1285, 1285, 1285, 1267, 2368, 1267, 2294, 2257,
7264  2368, 1265, 1285, 1285, 1255, 2147, 1285, 1520, 1520, 2147,
7265  1520, 2553, 1266, 2294, 1285, 1285, 1285, 2140, 1520, 1361,
7266  1267, 2140, 1361, 1520, 1520, 1631, 1631, 1631, 1631, 2140,
7267  1361, 2147, 1631, 2553, 2140, 1361, 1361, 1620, 2561, 1285,
7268  1285, 2562, 1361, 2140, 1361, 1266, 1273, 1273, 1273, 1273,
7269  1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
7270 
7271  1273, 1273, 1273, 1273, 1273, 1273, 1286, 1286, 1286, 1286,
7272  1273, 1273, 1273, 1273, 1273, 1273, 2563, 1286, 1286, 1361,
7273  1971, 1286, 2564, 1971, 1291, 1291, 1291, 1291, 2387, 1286,
7274  1286, 1291, 2387, 2365, 1273, 1273, 1273, 1273, 1310, 1310,
7275  1310, 1310, 2365, 1971, 2404, 1971, 1631, 1291, 2404, 1310,
7276  1310, 2289, 2289, 1310, 1286, 1286, 2565, 1818, 1818, 1818,
7277  1818, 1310, 1310, 1310, 1818, 1273, 1273, 1273, 1273, 1273,
7278  2197, 2196, 1291, 2197, 2196, 2566, 2374, 1356, 1356, 1356,
7279  1356, 1474, 1474, 1474, 1474, 2374, 1310, 1310, 1356, 1356,
7280  1291, 2440, 1356, 1819, 1819, 1819, 1819, 2378, 2289, 2378,
7281 
7282  1819, 1356, 1356, 2440, 1474, 1291, 1303, 1303, 1303, 1303,
7283  1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303,
7284  1303, 1303, 1303, 1303, 1303, 1303, 1356, 2396, 2197, 1474,
7285  1303, 1303, 1303, 1303, 1303, 1303, 2196, 2380, 1818, 1821,
7286  1821, 1821, 1821, 2384, 2396, 2384, 1821, 1357, 1357, 1357,
7287  1357, 2389, 2380, 2389, 1303, 1303, 1303, 1303, 1357, 1357,
7288  2267, 2267, 1357, 1303, 2267, 2381, 1358, 1358, 1358, 1358,
7289  2302, 1357, 2567, 2302, 1819, 2268, 2268, 1358, 1358, 2268,
7290  2381, 1358, 2302, 2271, 2271, 1303, 1303, 1303, 1303, 1303,
7291  1358, 1358, 2271, 2391, 1384, 2392, 1357, 1384, 1621, 1621,
7292 
7293  1621, 1621, 2568, 2292, 2292, 1384, 2392, 2267, 2391, 1386,
7294  1384, 1384, 1386, 2293, 2293, 1358, 2393, 1384, 2393, 1384,
7295  1386, 1621, 2268, 1621, 1388, 1386, 1386, 1388, 1389, 2400,
7296  2271, 1389, 1386, 2394, 1386, 1388, 2569, 2570, 2400, 1389,
7297  1388, 1388, 2403, 2394, 1389, 1389, 1621, 1388, 2401, 1388,
7298  2292, 1389, 2571, 1389, 1837, 1837, 1837, 1837, 2217, 2403,
7299  2293, 2401, 2217, 2573, 2217, 1837, 1384, 1386, 1387, 1387,
7300  1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387,
7301  1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 2585, 2343,
7302  1388, 1389, 1387, 1387, 1387, 1387, 1387, 1387, 2359, 2407,
7303 
7304  1811, 2359, 2586, 2343, 1390, 2217, 2343, 1390, 2407, 1811,
7305  1811, 1811, 1811, 2272, 2272, 1390, 1387, 1387, 1387, 1387,
7306  1390, 1390, 2272, 1628, 1628, 1628, 1628, 1390, 2587, 1390,
7307  1475, 1475, 1475, 1475, 2219, 1811, 2281, 1475, 2219, 2281,
7308  2219, 1391, 2349, 2588, 1391, 2349, 1628, 1387, 1387, 1387,
7309  1387, 1387, 1391, 1475, 2281, 2593, 1390, 1391, 1391, 1392,
7310  2272, 2359, 1392, 2420, 1391, 1811, 1391, 2594, 2595, 1393,
7311  1392, 1628, 1393, 2420, 2406, 1392, 1392, 2596, 1475, 2597,
7312  1393, 2219, 1392, 2598, 1392, 1393, 1393, 1394, 2599, 2548,
7313  1394, 2406, 1393, 2349, 1393, 2552, 2600, 1391, 1394, 1853,
7314 
7315  1853, 1853, 1853, 1394, 1394, 1395, 1853, 2601, 1395, 2602,
7316  1394, 1475, 1394, 1392, 2548, 2603, 1395, 2552, 2548, 2604,
7317  1396, 1395, 1395, 1396, 1397, 2605, 2606, 1397, 1395, 2607,
7318  1395, 1396, 2608, 2609, 2610, 1397, 1396, 1396, 1393, 1405,
7319  1397, 1397, 1405, 1396, 2611, 1396, 2612, 1397, 2552, 1397,
7320  1405, 1813, 1813, 1813, 1813, 1405, 1405, 1394, 1854, 1854,
7321  1854, 1854, 1405, 1813, 1405, 1854, 1406, 1754, 1754, 1406,
7322  1407, 1754, 1396, 1407, 1813, 1395, 1395, 1406, 2613, 1754,
7323  1397, 1407, 1406, 1406, 1754, 1408, 1407, 1407, 1408, 1406,
7324  2617, 1406, 1405, 1407, 2619, 1407, 1408, 2620, 2621, 1813,
7325 
7326  1409, 1408, 1408, 1409, 1410, 2622, 2623, 1410, 1408, 2624,
7327  1408, 1409, 2545, 2625, 1754, 1410, 1409, 1409, 2626, 2627,
7328  1410, 1410, 1407, 1409, 2628, 1409, 2629, 1410, 1411, 1410,
7329  1688, 1411, 1412, 2630, 1688, 1412, 1688, 2545, 2631, 1411,
7330  2632, 1408, 1688, 1412, 1411, 1411, 2633, 1688, 1412, 1412,
7331  2222, 1411, 2635, 1411, 2222, 1412, 2222, 1412, 1413, 2638,
7332  2545, 1413, 1414, 2635, 1409, 1414, 2555, 1410, 2639, 1413,
7333  2555, 2636, 2557, 1414, 1413, 1413, 2557, 1688, 1414, 1414,
7334  2641, 1413, 2636, 1413, 1411, 1414, 2642, 1414, 1419, 1689,
7335  2223, 1419, 2555, 1689, 2223, 1689, 2223, 2222, 2557, 1419,
7336 
7337  2643, 1689, 1412, 2615, 1419, 1419, 1689, 2615, 2644, 2615,
7338  1413, 1419, 2645, 1419, 1414, 1415, 1415, 1415, 1415, 1415,
7339  1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415,
7340  1415, 1415, 1415, 1415, 1415, 1416, 1689, 2223, 1416, 1415,
7341  1415, 1415, 1415, 1415, 1415, 1417, 1416, 2649, 1417, 2546,
7342  2615, 1416, 1416, 2651, 1419, 2653, 1417, 2653, 1416, 2655,
7343  1416, 1417, 1417, 1415, 1415, 1415, 1415, 2662, 1417, 1694,
7344  1417, 2663, 1415, 1694, 2546, 1694, 1855, 1855, 1855, 1855,
7345  2546, 1694, 2043, 2043, 2043, 2043, 1694, 1855, 2654, 1418,
7346  2654, 1416, 1418, 2043, 1415, 1415, 1415, 1415, 1415, 1417,
7347 
7348  1418, 2664, 2665, 2666, 1420, 1418, 1418, 1420, 1421, 2667,
7349  2637, 1421, 1418, 2637, 1418, 1420, 1694, 2647, 2668, 1421,
7350  1420, 1420, 2669, 1429, 1421, 1421, 1429, 1420, 2637, 1420,
7351  2670, 1421, 2671, 1421, 1429, 2672, 2673, 2682, 1430, 1429,
7352  1429, 1430, 2647, 2686, 2690, 1418, 1429, 2688, 1429, 1430,
7353  2547, 2704, 2689, 1433, 1430, 1430, 1433, 2691, 2706, 2426,
7354  1420, 1430, 2426, 1430, 1433, 2695, 2690, 1846, 1846, 1433,
7355  1433, 2696, 1846, 1846, 1421, 2547, 1433, 1435, 1433, 2688,
7356  1435, 2547, 2426, 1846, 2426, 1866, 1866, 2695, 1435, 2689,
7357  1866, 1866, 2706, 1435, 1435, 2691, 2041, 2041, 2041, 2041,
7358 
7359  1435, 1866, 1435, 2041, 1430, 2042, 2042, 2042, 2042, 2703,
7360  2697, 2696, 2042, 1433, 1434, 1434, 1434, 1434, 1434, 1434,
7361  1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434, 1434,
7362  1434, 1434, 1434, 1434, 1436, 1435, 1846, 1436, 1434, 1434,
7363  1434, 1434, 1434, 1434, 1437, 1436, 2708, 1437, 2692, 2697,
7364  1436, 1436, 2616, 2703, 1866, 1437, 2616, 1436, 2616, 1436,
7365  1437, 1437, 1434, 1434, 1434, 1434, 2708, 1437, 1695, 1437,
7366  2698, 1434, 1695, 2692, 1695, 2693, 2356, 2356, 2356, 2356,
7367  1695, 2300, 2300, 2300, 2300, 1695, 1436, 1438, 2300, 2705,
7368  1438, 2722, 2698, 1434, 1434, 1434, 1434, 1434, 1438, 2616,
7369 
7370  1437, 2723, 1439, 1438, 1438, 1439, 1440, 2702, 2693, 1440,
7371  1438, 2707, 1438, 1439, 2709, 1695, 2705, 1440, 1439, 1439,
7372  2738, 1441, 1440, 1440, 1441, 1439, 2713, 1439, 2711, 1440,
7373  2710, 1440, 1441, 2707, 2709, 2702, 1442, 1441, 1441, 1442,
7374  1443, 2712, 2727, 1443, 1441, 2356, 1441, 1442, 2711, 2716,
7375  1438, 1443, 1442, 1442, 2710, 2715, 1443, 1443, 1439, 1442,
7376  2713, 1442, 2300, 1443, 2739, 1443, 1444, 2731, 2717, 1444,
7377  2714, 1814, 1814, 1814, 1814, 1440, 2727, 1444, 2712, 2715,
7378  2716, 1445, 1444, 1444, 1445, 1446, 2740, 1442, 1446, 1444,
7379  1441, 1444, 1445, 2714, 1814, 2730, 1446, 1445, 1445, 2731,
7380 
7381  1447, 1446, 1446, 1447, 1445, 2717, 1445, 2742, 1446, 2718,
7382  1446, 1447, 2719, 1443, 2743, 1448, 1447, 1447, 1448, 1814,
7383  2730, 2724, 2744, 1447, 2729, 1447, 1448, 2301, 2301, 2301,
7384  2301, 1448, 1448, 2718, 2301, 2720, 1449, 1444, 1448, 1449,
7385  1448, 2735, 2725, 2732, 1445, 2724, 1450, 1449, 2729, 1450,
7386  2745, 2719, 1449, 1449, 2736, 1446, 2746, 1450, 2747, 1449,
7387  1447, 1449, 1450, 1450, 2728, 1451, 2748, 2732, 1451, 1450,
7388  2737, 1450, 2735, 2749, 2720, 1452, 1451, 2750, 1452, 2725,
7389  1448, 1451, 1451, 2751, 2726, 2736, 1452, 2726, 1451, 2218,
7390  1451, 1452, 1452, 2218, 1453, 2218, 2752, 1453, 1452, 2753,
7391 
7392  1452, 2218, 1449, 2728, 1454, 1453, 2218, 1454, 2301, 2737,
7393  1453, 1453, 2766, 2824, 2825, 1454, 2826, 1453, 1450, 1453,
7394  1454, 1454, 1451, 1455, 2828, 2829, 1455, 1454, 2830, 1454,
7395  2405, 2405, 2405, 2405, 1455, 2726, 2218, 2833, 1456, 1455,
7396  1455, 1456, 2835, 2836, 1452, 2837, 1455, 2839, 1455, 1456,
7397  2840, 2841, 2834, 1457, 1456, 1456, 1457, 2831, 2842, 1453,
7398  1454, 1456, 2833, 1456, 1457, 2843, 2844, 2845, 1458, 1457,
7399  1457, 1458, 1459, 2855, 2856, 1459, 1457, 2834, 1457, 1458,
7400  2832, 2857, 2831, 1459, 1458, 1458, 2838, 2860, 1459, 1459,
7401  2831, 1458, 2834, 1458, 1455, 1459, 1460, 1459, 1456, 1460,
7402 
7403  1462, 2861, 2862, 1462, 2838, 2832, 2847, 1460, 2838, 2847,
7404  1456, 1462, 1460, 1460, 2863, 1461, 1462, 1462, 1461, 1460,
7405  2864, 1460, 1458, 1462, 1457, 1462, 1461, 2865, 2832, 2847,
7406  1463, 1461, 1461, 1463, 1464, 2866, 2867, 1464, 1461, 1459,
7407  1461, 1463, 2868, 2869, 2870, 1464, 1463, 1463, 2871, 2872,
7408  1464, 1464, 2873, 1463, 2874, 1463, 2875, 1464, 2876, 1464,
7409  1465, 2877, 2878, 1465, 2879, 1462, 1460, 2880, 2881, 1993,
7410  2882, 1465, 1993, 2883, 2884, 2885, 1465, 1465, 2886, 2887,
7411  2888, 1461, 2889, 1465, 1466, 1465, 1463, 1466, 1467, 2890,
7412  1464, 1467, 1993, 2896, 1993, 1466, 2889, 2899, 2893, 1467,
7413 
7414  1466, 1466, 2900, 2891, 1467, 1467, 2891, 1466, 2894, 1466,
7415  2901, 1467, 1468, 1467, 2892, 1468, 1469, 2897, 2897, 1469,
7416  2897, 2902, 2892, 1468, 2903, 1993, 1465, 1469, 1468, 1468,
7417  2904, 2905, 1469, 1469, 2906, 1468, 2907, 1468, 2908, 1469,
7418  1470, 1469, 2893, 1470, 1466, 1476, 1476, 1476, 1476, 2891,
7419  2891, 1470, 1476, 1467, 2894, 2894, 1470, 1470, 2909, 1471,
7420  2892, 2892, 1471, 1470, 2916, 1470, 2920, 2919, 1476, 2924,
7421  1471, 1469, 2919, 2926, 1472, 1471, 1471, 1472, 2049, 2049,
7422  2940, 2049, 1471, 1468, 1471, 1472, 2920, 2922, 2922, 2049,
7423  1472, 1472, 1470, 1476, 2049, 2049, 2930, 1472, 2927, 1472,
7424 
7425  1477, 1477, 1477, 1477, 2933, 2923, 2941, 1477, 2930, 2898,
7426  2923, 1471, 2927, 1478, 1478, 1478, 1478, 1483, 1483, 2925,
7427  1483, 2952, 2933, 1477, 1478, 2898, 1476, 2942, 1483, 1838,
7428  1838, 1838, 1838, 1483, 1483, 2943, 1478, 1472, 1478, 2925,
7429  1483, 2955, 1483, 1484, 1484, 2942, 1484, 2956, 1477, 2945,
7430  2898, 2943, 1838, 2957, 1484, 1839, 1839, 1839, 1839, 1484,
7431  1484, 1478, 2929, 2945, 2931, 2929, 1484, 2931, 1484, 1485,
7432  1485, 2958, 1485, 1486, 1486, 2937, 1486, 1838, 1839, 2944,
7433  1485, 1477, 2944, 2898, 1486, 1485, 1485, 1483, 2934, 1486,
7434  1486, 2949, 1485, 2934, 1485, 2949, 1486, 2959, 1486, 2960,
7435 
7436  2937, 1489, 1489, 1839, 1489, 1488, 1488, 2961, 1488, 2938,
7437  2935, 2935, 1489, 2935, 2938, 1484, 1488, 1489, 1489, 2962,
7438  2946, 1488, 1488, 2947, 1489, 2946, 1489, 2963, 1488, 2964,
7439  1488, 1486, 2657, 2657, 2657, 2657, 2965, 2947, 2966, 2657,
7440  1485, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487,
7441  1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487,
7442  1487, 2935, 2973, 3009, 1489, 1487, 1487, 1487, 1487, 1487,
7443  1487, 1488, 2307, 2307, 2307, 2307, 2948, 1490, 1490, 3011,
7444  1490, 2948, 3014, 2307, 2308, 2308, 2308, 2308, 1490, 1487,
7445  1487, 1487, 1487, 1490, 1490, 2308, 1840, 1840, 1840, 1840,
7446 
7447  1490, 3015, 1490, 3018, 1848, 1848, 1848, 1848, 2936, 3017,
7448  3019, 2936, 3023, 2657, 1491, 1491, 3021, 1491, 3024, 1840,
7449  1487, 1487, 1487, 1487, 1487, 1491, 3025, 1848, 3029, 1490,
7450  1491, 1491, 1492, 1492, 3017, 1492, 2953, 1491, 3021, 1491,
7451  3030, 2953, 3017, 1492, 1840, 3031, 3032, 3033, 1492, 1492,
7452  1493, 1493, 1848, 1493, 3034, 1492, 3035, 1492, 3036, 2936,
7453  3021, 1493, 3037, 3038, 3039, 3040, 1493, 1493, 1494, 1494,
7454  1491, 1494, 3041, 1493, 3042, 1493, 3043, 2954, 2116, 1494,
7455  2954, 2116, 2954, 3044, 1494, 1494, 1492, 1495, 1495, 2116,
7456  1495, 1494, 3046, 1494, 2322, 2322, 2322, 2322, 1495, 3047,
7457 
7458  3048, 2116, 2954, 1495, 1495, 2322, 1842, 1842, 1842, 1842,
7459  1495, 3049, 1495, 1842, 1496, 1496, 3050, 1496, 3051, 1493,
7460  3053, 1946, 3054, 3056, 1946, 1496, 2116, 3058, 1946, 1842,
7461  1496, 1496, 2116, 1946, 3060, 3063, 3064, 1496, 1494, 1496,
7462  1946, 1946, 1946, 1946, 1497, 1497, 3052, 1497, 1498, 1498,
7463  3068, 1498, 3059, 3026, 1842, 1497, 3026, 1495, 1495, 1498,
7464  1497, 1497, 3072, 3073, 1498, 1498, 1496, 1497, 3074, 1497,
7465  3063, 1498, 1842, 1498, 1503, 1503, 3026, 1503, 1504, 1504,
7466  3045, 1504, 3045, 3052, 3075, 1503, 3076, 1842, 3077, 1504,
7467  1503, 1503, 3078, 3079, 1504, 1504, 3059, 1503, 3061, 1503,
7468 
7469  1497, 1504, 3080, 1504, 3085, 1505, 1505, 3057, 1505, 1506,
7470  1506, 3066, 1506, 3095, 3066, 3057, 1505, 3098, 3088, 3099,
7471  1506, 1505, 1505, 3045, 3045, 1506, 1506, 1503, 1505, 3066,
7472  1505, 3109, 1506, 3110, 1506, 1507, 1507, 3111, 1507, 1508,
7473  1508, 3112, 1508, 3107, 3061, 3061, 1507, 3113, 3089, 3114,
7474  1508, 1507, 1507, 3057, 3057, 1508, 1508, 3088, 1507, 3115,
7475  1507, 1505, 1508, 3120, 1508, 1509, 1509, 3107, 1509, 1510,
7476  1510, 3089, 1510, 1506, 3065, 3065, 1509, 3065, 3062, 3062,
7477  1510, 1509, 1509, 3100, 1947, 1510, 1510, 1947, 1509, 3101,
7478  1509, 1947, 1510, 3123, 1510, 1508, 1947, 3115, 1507, 1511,
7479 
7480  1511, 3124, 1511, 1947, 1947, 1947, 1947, 3125, 3100, 3116,
7481  1511, 3126, 3117, 3127, 3101, 1511, 1511, 1513, 1513, 3128,
7482  1513, 1510, 1511, 3129, 1511, 3062, 3062, 3130, 1513, 3131,
7483  3116, 3138, 3119, 1513, 1513, 1509, 2323, 2323, 2323, 2323,
7484  1513, 3117, 1513, 3140, 3141, 3055, 3152, 2323, 3055, 3159,
7485  3160, 1511, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512,
7486  1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512,
7487  1512, 1512, 3119, 1513, 3162, 3164, 1512, 1512, 1512, 1512,
7488  1512, 1512, 1514, 1514, 3163, 1514, 2338, 2338, 2338, 2338,
7489  3167, 3055, 3055, 1514, 3168, 3169, 3170, 2338, 1514, 1514,
7490 
7491  1512, 1512, 1512, 1512, 3171, 1514, 3163, 1514, 3172, 1512,
7492  2339, 2339, 2339, 2339, 3173, 3174, 1624, 1624, 1624, 1624,
7493  3175, 2339, 2589, 2589, 2589, 2589, 1515, 1515, 3163, 1515,
7494  3176, 1512, 1512, 1512, 1512, 1512, 1514, 1515, 3177, 1624,
7495  3178, 1624, 1515, 1515, 1516, 1516, 2589, 1516, 2589, 1515,
7496  3165, 1515, 3161, 3180, 3181, 1516, 3182, 3183, 3165, 3184,
7497  1516, 1516, 1517, 1517, 1624, 1517, 3185, 1516, 3179, 1516,
7498  3179, 3186, 3165, 1517, 3187, 3188, 2589, 3161, 1517, 1517,
7499  1518, 1518, 1515, 1518, 3161, 1517, 1624, 1517, 2589, 3192,
7500  3189, 1518, 2589, 2589, 3183, 2589, 1518, 1518, 1519, 1519,
7501 
7502  2589, 1519, 3196, 1518, 3191, 1518, 3202, 3191, 3203, 1519,
7503  1516, 3179, 3179, 3190, 1519, 1519, 1524, 1524, 1517, 1524,
7504  3204, 1519, 3191, 1519, 3206, 2537, 3211, 1524, 2537, 3212,
7505  3215, 3213, 1524, 1524, 1525, 1525, 2537, 1525, 3189, 1524,
7506  3217, 1524, 3221, 3190, 3213, 1525, 1518, 3224, 2537, 3225,
7507  1525, 1525, 1526, 1526, 3230, 1526, 3231, 1525, 3226, 1525,
7508  3232, 3212, 3233, 1526, 3070, 3070, 3070, 3070, 1526, 1526,
7509  3226, 3070, 3234, 2537, 3236, 1526, 3242, 1526, 1528, 1528,
7510  3237, 1528, 1529, 1529, 3243, 1529, 3096, 3096, 2537, 1528,
7511  3244, 3096, 3096, 1529, 1528, 1528, 3245, 3237, 1529, 1529,
7512 
7513  1525, 1528, 3096, 1528, 3238, 1529, 3246, 1529, 3219, 3254,
7514  3239, 3219, 1526, 1527, 1527, 1527, 1527, 1527, 1527, 1527,
7515  1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527,
7516  1527, 1527, 1527, 3255, 1529, 3238, 1528, 1527, 1527, 1527,
7517  1527, 1527, 1527, 1530, 1530, 3070, 1530, 3219, 3239, 3256,
7518  1622, 1622, 1622, 1622, 1530, 3096, 3258, 3259, 3260, 1530,
7519  1530, 1527, 1527, 1527, 1527, 3261, 1530, 3262, 1530, 3257,
7520  1527, 3263, 3264, 1622, 3265, 1622, 3266, 3267, 1849, 1849,
7521  1849, 1849, 3257, 3268, 3269, 1849, 1531, 1531, 3270, 1531,
7522  3271, 3257, 1527, 1527, 1527, 1527, 1527, 1531, 1622, 1530,
7523 
7524  3281, 1849, 1531, 1531, 1532, 1532, 3284, 1532, 3288, 1531,
7525  3289, 1531, 3295, 1622, 3272, 1532, 3273, 3272, 3290, 3273,
7526  1532, 1532, 1533, 1533, 3299, 1533, 1849, 1532, 3300, 1532,
7527  3216, 3216, 3290, 1533, 3274, 3216, 3216, 3274, 1533, 1533,
7528  1534, 1534, 3322, 1534, 3323, 1533, 3216, 1533, 3324, 1531,
7529  3291, 1534, 2827, 2827, 2827, 2827, 1534, 1534, 3277, 1849,
7530  1532, 1535, 1535, 1534, 1535, 1534, 3326, 3277, 2590, 2590,
7531  2590, 2590, 1535, 3275, 3331, 2827, 3275, 1535, 1535, 1536,
7532  1536, 3291, 1536, 3333, 1535, 3325, 1535, 3335, 3325, 3301,
7533  1536, 1533, 2590, 3327, 2590, 1536, 1536, 1537, 1537, 3216,
7534 
7535  1537, 3301, 1536, 3336, 1536, 3241, 3241, 3313, 1537, 1534,
7536  3241, 3241, 1535, 1537, 1537, 1538, 1538, 3337, 1538, 3313,
7537  1537, 3241, 1537, 3346, 3287, 3327, 1538, 3287, 2590, 3347,
7538  2827, 1538, 1538, 1539, 1539, 3287, 1539, 3328, 1538, 3348,
7539  1538, 3349, 3121, 3329, 1539, 3121, 2590, 3121, 3276, 1539,
7540  1539, 3276, 1536, 3350, 1540, 1540, 1539, 1540, 1539, 3357,
7541  3329, 2591, 2591, 2591, 2591, 1540, 3358, 3121, 1537, 3328,
7542  1540, 1540, 1541, 1541, 3241, 1541, 3365, 1540, 1538, 1540,
7543  3371, 3292, 3373, 1541, 3292, 2591, 3372, 2591, 1541, 1541,
7544  1542, 1542, 3392, 1542, 3372, 1541, 3276, 1541, 3375, 3305,
7545 
7546  3393, 1542, 3305, 1539, 3292, 3395, 1542, 1542, 1543, 1543,
7547  3305, 1543, 3397, 1542, 1540, 1542, 2591, 3356, 3359, 1543,
7548  3356, 3359, 3396, 3400, 1543, 1543, 1544, 1544, 3397, 1544,
7549  3375, 1543, 3360, 1543, 3396, 3360, 3401, 1544, 1541, 2591,
7550  3402, 3411, 1544, 1544, 1545, 1545, 3412, 1545, 3414, 1544,
7551  3415, 1544, 3332, 3332, 3417, 1545, 3361, 3332, 3332, 3361,
7552  1545, 1545, 1542, 1546, 1546, 1543, 1546, 1545, 3332, 1545,
7553  2592, 2592, 2592, 2592, 1546, 2854, 2854, 2854, 2854, 1546,
7554  1546, 1547, 1547, 3419, 1547, 3420, 1546, 3362, 1546, 3422,
7555  3362, 3425, 1547, 3427, 2592, 1544, 2592, 1547, 1547, 1548,
7556 
7557  1548, 3426, 1548, 3426, 1547, 3428, 1547, 3444, 3345, 1545,
7558  1548, 3345, 3445, 3345, 3448, 1548, 1548, 1549, 1549, 1546,
7559  1549, 3332, 1548, 3449, 1548, 3454, 3223, 3455, 1549, 3223,
7560  2592, 3456, 3457, 1549, 1549, 3345, 3458, 3223, 1550, 1550,
7561  1549, 1550, 1549, 2038, 2038, 2038, 2038, 3136, 2592, 1550,
7562  3136, 3223, 1547, 2854, 1550, 1550, 3459, 1551, 1551, 1548,
7563  1551, 1550, 3363, 1550, 3376, 3363, 2038, 3376, 1551, 3446,
7564  3136, 1548, 3136, 1551, 1551, 3460, 3467, 3476, 1552, 1552,
7565  1551, 1552, 1551, 3418, 3446, 3478, 3418, 2823, 1549, 1552,
7566  2823, 2038, 1550, 3479, 1552, 1552, 1553, 1553, 2823, 1553,
7567 
7568  3466, 1552, 3486, 1552, 3466, 3378, 3364, 1553, 3378, 3364,
7569  2823, 3487, 1553, 1553, 1554, 1554, 3378, 1554, 3488, 1553,
7570  3489, 1553, 3490, 3383, 1551, 1554, 3383, 3494, 3495, 3421,
7571  1554, 1554, 3421, 1555, 1555, 2823, 1555, 1554, 3500, 1554,
7572  2484, 2484, 2484, 2484, 1555, 3501, 3383, 3477, 1552, 1555,
7573  1555, 2484, 1556, 1556, 3364, 1556, 1555, 2823, 1555, 3502,
7574  3477, 3008, 1553, 1556, 3008, 3503, 3493, 3507, 1556, 1556,
7575  1557, 1557, 3008, 1557, 3508, 1556, 3501, 1556, 3493, 1554,
7576  3394, 1557, 3398, 3394, 3008, 3398, 1557, 1557, 3510, 1555,
7577  3512, 3253, 3513, 1557, 3253, 1557, 1558, 1558, 3516, 1558,
7578 
7579  1559, 1559, 3253, 1559, 3517, 3398, 3519, 1558, 1556, 3008,
7580  3518, 1559, 1558, 1558, 3253, 3408, 1559, 1559, 3408, 1558,
7581  3518, 1558, 3408, 1559, 3513, 1559, 1560, 1560, 3008, 1560,
7582  1561, 1561, 3447, 1561, 3394, 3447, 1557, 1560, 3521, 3253,
7583  3522, 1561, 1560, 1560, 3524, 3253, 1561, 1561, 3525, 1560,
7584  3394, 1560, 3509, 1561, 3526, 1561, 1558, 1562, 1562, 3509,
7585  1562, 1563, 1563, 3528, 1563, 1559, 3429, 3475, 1562, 3429,
7586  3475, 3527, 1563, 1562, 1562, 3532, 3451, 1563, 1563, 3451,
7587  1562, 3527, 1562, 3451, 1563, 1561, 1563, 1564, 1564, 3429,
7588  1564, 1623, 1623, 1623, 1623, 2226, 2225, 1560, 1564, 1625,
7589 
7590  1625, 1625, 1625, 1564, 1564, 1626, 1626, 1626, 1626, 1562,
7591  1564, 2216, 1564, 1563, 1623, 3533, 1623, 1627, 1627, 1627,
7592  1627, 3533, 1625, 2214, 1625, 2210, 3298, 2209, 1626, 3298,
7593  1626, 1632, 1632, 1632, 1632, 2208, 2207, 3298, 3407, 1623,
7594  1627, 3407, 1627, 1633, 1633, 1633, 1633, 1625, 2206, 3407,
7595  1564, 3298, 1625, 1626, 1632, 3430, 1632, 1626, 3430, 2205,
7596  1623, 1634, 1634, 1634, 1634, 1627, 1633, 2204, 1633, 1635,
7597  1635, 1635, 1635, 1636, 1636, 1636, 1636, 2203, 3430, 1632,
7598  1637, 1637, 1637, 1637, 1634, 2202, 1634, 1638, 1638, 1638,
7599  1638, 1633, 1635, 2201, 1635, 2200, 1636, 3434, 1636, 3409,
7600 
7601  3434, 1633, 3409, 1637, 3409, 1637, 2199, 2187, 3434, 1634,
7602  1638, 3531, 1638, 1639, 1639, 1639, 1639, 1635, 3531, 3442,
7603  3452, 1636, 3442, 3452, 1634, 1635, 3409, 3452, 1637, 1640,
7604  1640, 1640, 1640, 2186, 3481, 1638, 1639, 3481, 1639, 2185,
7605  2184, 3481, 1636, 1638, 3442, 1637, 1641, 1641, 1641, 1641,
7606  3491, 2183, 1640, 3491, 1640, 1642, 1642, 1642, 1642, 2182,
7607  2181, 1639, 1643, 1643, 1643, 1643, 2180, 3499, 2166, 1641,
7608  3499, 1641, 3523, 1639, 2162, 3523, 1822, 1640, 1642, 1822,
7609  1642, 3158, 2161, 1822, 3158, 1643, 3621, 1643, 1822, 1640,
7610  3453, 3621, 3158, 3453, 1641, 1822, 1822, 1822, 1822, 1822,
7611 
7612  3705, 1641, 3453, 1642, 3158, 3705, 3530, 1642, 3463, 3530,
7613  1643, 3463, 2160, 2159, 1643, 1810, 1810, 1810, 1810, 3463,
7614  1850, 1850, 1850, 1850, 1822, 2158, 1810, 1810, 2157, 3158,
7615  1810, 1850, 2156, 1851, 1851, 1851, 1851, 3158, 1810, 1810,
7616  1810, 2155, 3344, 1850, 1851, 3344, 2154, 1867, 1867, 1867,
7617  1867, 2153, 3534, 3344, 1867, 3534, 1851, 1822, 1851, 3071,
7618  3071, 3071, 3071, 1810, 1810, 3344, 3071, 2152, 1850, 2151,
7619  1867, 2039, 2039, 2039, 2039, 2150, 2149, 3197, 3197, 3197,
7620  3197, 1851, 2039, 2146, 3197, 1810, 1815, 1815, 1815, 1815,
7621  3344, 3534, 2139, 1815, 2039, 1867, 2132, 2131, 1815, 1861,
7622 
7623  1861, 1861, 1861, 2130, 2125, 1815, 1815, 1815, 1815, 1815,
7624  1861, 1861, 2124, 1867, 1861, 1862, 1862, 1862, 1862, 2039,
7625  2123, 2122, 1861, 1861, 1861, 2121, 1862, 1862, 1867, 3465,
7626  1862, 2120, 3465, 2119, 1815, 2117, 2115, 2114, 1862, 1862,
7627  3465, 2112, 2051, 3012, 3012, 3012, 3012, 1861, 1861, 1976,
7628  1878, 1878, 1878, 1878, 2164, 2164, 2164, 2164, 3197, 1975,
7629  1973, 1878, 1878, 1862, 1862, 1878, 3012, 1815, 1817, 1817,
7630  1817, 1817, 1961, 1878, 1878, 1817, 1960, 2164, 1959, 2164,
7631  1817, 1877, 1877, 1877, 1877, 1958, 1957, 1817, 1817, 1817,
7632  1817, 1817, 1877, 1877, 1955, 1954, 1877, 1941, 1878, 1878,
7633 
7634  1941, 1953, 2164, 1952, 1877, 1877, 1877, 1951, 1941, 3353,
7635  3353, 3353, 3353, 1941, 1941, 1966, 1817, 1949, 1966, 1948,
7636  1941, 3012, 1941, 1943, 1940, 3482, 1966, 1939, 3482, 1877,
7637  1877, 1966, 1966, 2040, 2040, 2040, 2040, 3482, 1966, 1938,
7638  1966, 1934, 1919, 1977, 2040, 3483, 1977, 1912, 3483, 1817,
7639  1843, 1843, 1843, 1843, 1977, 1910, 2040, 3483, 2040, 1977,
7640  1977, 1843, 1843, 1909, 3353, 1843, 1977, 1941, 1977, 3199,
7641  3199, 3199, 3199, 1843, 1843, 1843, 3199, 1967, 1886, 1868,
7642  1967, 2040, 1865, 3485, 1852, 1966, 3485, 3353, 1967, 3200,
7643  3200, 3200, 3200, 1967, 1967, 3485, 3200, 1847, 1843, 1843,
7644 
7645  1967, 1845, 1967, 1841, 1836, 1835, 1843, 1882, 1882, 1882,
7646  1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882,
7647  1882, 1882, 1882, 1882, 1882, 1882, 1882, 2168, 2168, 2168,
7648  2168, 1882, 1882, 1882, 1882, 1882, 1882, 2658, 2658, 2658,
7649  2658, 1834, 3470, 1968, 1967, 3470, 1968, 1833, 2658, 1832,
7650  2168, 1830, 2168, 3470, 1968, 1882, 1882, 1882, 1882, 1968,
7651  1968, 2334, 2334, 2334, 2334, 1829, 1968, 1828, 1968, 2659,
7652  2659, 2659, 2659, 1827, 1826, 2168, 2172, 2172, 2172, 2172,
7653  2659, 1824, 1823, 1816, 2334, 1799, 1882, 1882, 1882, 1882,
7654  1882, 1889, 1889, 1889, 1889, 1797, 1791, 3492, 2168, 2172,
7655 
7656  3492, 2172, 1889, 1889, 1788, 1786, 1889, 1784, 3492, 2334,
7657  1969, 1774, 1968, 1969, 1889, 1889, 1889, 1772, 1763, 1761,
7658  1979, 1969, 3506, 1979, 2172, 3506, 1969, 1969, 1752, 1750,
7659  2172, 1979, 1748, 1969, 3506, 1969, 1979, 1979, 1746, 1889,
7660  1889, 1980, 1743, 1979, 1980, 1979, 1740, 1889, 1913, 1913,
7661  1913, 1913, 1980, 2169, 2169, 2169, 2169, 1980, 1980, 1913,
7662  1913, 1739, 1737, 1913, 1980, 1734, 1980, 3390, 3390, 3390,
7663  3390, 1913, 1913, 1913, 3390, 1969, 2169, 3497, 2169, 1723,
7664  3497, 1720, 1979, 3410, 3410, 3410, 3410, 1981, 3497, 1719,
7665  1981, 1718, 2170, 2170, 2170, 2170, 1913, 1913, 1981, 1717,
7666 
7667  1980, 2169, 1913, 1981, 1981, 1716, 1715, 3410, 1714, 3410,
7668  1981, 1713, 1981, 1712, 1711, 2170, 2169, 2170, 1913, 1978,
7669  1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978,
7670  1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1978, 1982,
7671  2170, 1710, 1982, 1978, 1978, 1978, 1978, 1978, 1978, 1983,
7672  1982, 1709, 1983, 1708, 3410, 1982, 1982, 1981, 1707, 1706,
7673  1983, 3410, 1982, 2170, 1982, 1983, 1983, 1978, 1978, 1978,
7674  1978, 1705, 1983, 1703, 1983, 1702, 1978, 1701, 1700, 1699,
7675  1984, 1690, 1685, 1984, 2660, 2660, 2660, 2660, 1683, 1682,
7676  1681, 1984, 1680, 1679, 1678, 2660, 1984, 1984, 1978, 1978,
7677 
7678  1978, 1978, 1978, 1984, 1985, 1984, 1677, 1985, 1986, 1983,
7679  1982, 1986, 1676, 3559, 3559, 1985, 1675, 1674, 3559, 1986,
7680  1985, 1985, 3559, 1987, 1986, 1986, 1987, 1985, 1673, 1985,
7681  1672, 1986, 1671, 1986, 1987, 1670, 1669, 1668, 1988, 1987,
7682  1987, 1988, 1989, 1667, 1666, 1989, 1987, 1665, 1987, 1988,
7683  1664, 1663, 1984, 1989, 1988, 1988, 1662, 1990, 1989, 1989,
7684  1990, 1988, 1661, 1988, 1660, 1989, 1659, 1989, 1990, 1658,
7685  1657, 1986, 1656, 1990, 1990, 1985, 1655, 1654, 1991, 1652,
7686  1990, 1991, 1990, 3352, 3352, 3352, 3352, 1987, 1651, 1991,
7687  1650, 1649, 1648, 1992, 1991, 1991, 1992, 1647, 1988, 1646,
7688 
7689  1630, 1991, 1629, 1991, 1992, 2326, 2326, 2326, 2326, 1992,
7690  1992, 1989, 2326, 1990, 1994, 1617, 1992, 1994, 1992, 3198,
7691  3198, 3198, 3198, 1616, 1615, 1994, 3198, 1614, 2326, 1995,
7692  1994, 1994, 1995, 1996, 1613, 1612, 1996, 1994, 1611, 1994,
7693  1995, 1991, 1610, 3352, 1996, 1995, 1995, 1609, 1608, 1996,
7694  1996, 1607, 1995, 2326, 1995, 1606, 1996, 1997, 1996, 1605,
7695  1997, 3352, 1603, 1602, 1992, 1601, 1994, 1998, 1997, 1600,
7696  1998, 2326, 1599, 1997, 1997, 1598, 1586, 1579, 1998, 1577,
7697  1997, 1576, 1997, 1998, 1998, 1999, 2326, 1575, 1999, 1574,
7698  1998, 1573, 1998, 1572, 1995, 2000, 1999, 1569, 2000, 1567,
7699 
7700  3198, 1999, 1999, 1566, 1996, 1522, 2000, 1501, 1999, 1473,
7701  1999, 2000, 2000, 2001, 1428, 1427, 2001, 1425, 2000, 1404,
7702  2000, 1403, 1401, 2002, 2001, 1381, 2002, 1379, 1378, 2001,
7703  2001, 1997, 1377, 1998, 2002, 1376, 2001, 1375, 2001, 2002,
7704  2002, 1374, 2003, 1372, 1371, 2003, 2002, 1370, 2002, 1369,
7705  1368, 1367, 2004, 2003, 1999, 2004, 1366, 1360, 2003, 2003,
7706  1359, 3564, 3564, 2004, 2000, 2003, 3564, 2003, 2004, 2004,
7707  3564, 2005, 1341, 1293, 2005, 2004, 1289, 2004, 2001, 1262,
7708  1257, 1251, 2005, 1250, 1248, 1247, 2006, 2005, 2005, 2006,
7709  2007, 1246, 2002, 2007, 2005, 2003, 2005, 2006, 1245, 3566,
7710 
7711  3566, 2007, 2006, 2006, 3566, 1244, 2007, 2007, 3566, 2006,
7712  1243, 2006, 1241, 2007, 2008, 2007, 1240, 2008, 2009, 3569,
7713  3569, 2009, 2004, 1239, 3569, 2008, 1238, 1237, 3569, 2009,
7714  2008, 2008, 1236, 1235, 2009, 2009, 1230, 2008, 2005, 2008,
7715  2006, 2009, 2007, 2009, 2010, 3571, 3571, 2010, 2011, 1225,
7716  3571, 2011, 1204, 1202, 3571, 2010, 1191, 1180, 1169, 2011,
7717  2010, 2010, 1165, 2012, 2011, 2011, 2012, 2010, 1162, 2010,
7718  1159, 2011, 1158, 2011, 2012, 1156, 1153, 1152, 2013, 2012,
7719  2012, 2013, 1144, 2008, 1143, 2009, 2012, 1141, 2012, 2013,
7720  3514, 3514, 3514, 3514, 2013, 2013, 2010, 2014, 1140, 1139,
7721 
7722  2014, 2013, 1137, 2013, 2011, 1135, 1134, 1132, 2014, 3201,
7723  3201, 3201, 3201, 2014, 2014, 2015, 1131, 1130, 2015, 1129,
7724  2014, 3201, 2014, 2012, 3201, 2016, 2015, 1128, 2016, 1127,
7725  1126, 2015, 2015, 3201, 2013, 1124, 2016, 1123, 2015, 1122,
7726  2015, 2016, 2016, 2017, 1121, 1120, 2017, 1119, 2016, 1096,
7727  2016, 1094, 1093, 2018, 2017, 1092, 2018, 1091, 3201, 2017,
7728  2017, 1089, 1088, 1087, 2018, 1086, 2017, 2014, 2017, 2018,
7729  2018, 2019, 3573, 3573, 2019, 1085, 2018, 3573, 2018, 1083,
7730  1082, 3573, 2019, 1081, 1080, 1079, 2015, 2019, 2019, 1072,
7731  2020, 1071, 1070, 2020, 2019, 1069, 2019, 1067, 2016, 1066,
7732 
7733  2021, 2020, 1065, 2021, 1064, 1063, 2020, 2020, 1061, 3575,
7734  3575, 2021, 2017, 2020, 3575, 2020, 2021, 2021, 3575, 2022,
7735  1060, 1059, 2022, 2021, 2018, 2021, 1058, 2019, 1057, 2023,
7736  2022, 1053, 2023, 1052, 1051, 2022, 2022, 1050, 1049, 1044,
7737  2023, 2020, 2022, 1043, 2022, 2023, 2023, 2024, 3577, 3577,
7738  2024, 1042, 2023, 3577, 2023, 1041, 2020, 3577, 2024, 1013,
7739  2021, 1012, 2025, 2024, 2024, 2025, 3520, 3520, 3520, 3520,
7740  2024, 1005, 2024, 2025, 1004, 1003, 1002, 2026, 2025, 2025,
7741  2026, 1001, 1000, 2023, 2022, 2025, 998, 2025, 2026, 2335,
7742  2335, 2335, 2335, 2026, 2026, 997, 2674, 2674, 2674, 2674,
7743 
7744  2026, 2024, 2026, 2028, 996, 995, 2028, 2674, 3436, 3436,
7745  3436, 3436, 2335, 2029, 2028, 3436, 2029, 994, 992, 2028,
7746  2028, 2025, 3579, 3579, 2029, 991, 2028, 3579, 2028, 2029,
7747  2029, 3579, 990, 989, 988, 987, 2029, 2335, 2029, 986,
7748  2026, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027,
7749  2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027,
7750  2027, 2171, 2171, 2171, 2171, 2027, 2027, 2027, 2027, 2027,
7751  2027, 2030, 974, 973, 2030, 967, 966, 2028, 3278, 3278,
7752  3278, 3278, 2030, 2029, 2171, 3278, 2171, 2030, 2030, 2027,
7753  2027, 2027, 2027, 965, 2030, 962, 2030, 2675, 2675, 2675,
7754 
7755  2675, 959, 2031, 958, 957, 2031, 3583, 3583, 2675, 2171,
7756  956, 3583, 954, 2031, 951, 3583, 950, 949, 2031, 2031,
7757  2027, 2027, 2027, 2027, 2027, 2031, 2030, 2031, 2171, 2032,
7758  943, 2030, 2032, 942, 940, 932, 2030, 931, 896, 2033,
7759  2032, 865, 2033, 853, 848, 2032, 2032, 847, 808, 778,
7760  2033, 777, 2032, 774, 2032, 2033, 2033, 2034, 769, 3278,
7761  2034, 767, 2033, 765, 2033, 764, 762, 2031, 2034, 761,
7762  743, 710, 678, 2034, 2034, 2035, 674, 669, 2035, 668,
7763  2034, 661, 2034, 659, 657, 2036, 2035, 2032, 2036, 656,
7764  645, 2035, 2035, 629, 627, 623, 2036, 2033, 2035, 615,
7765 
7766  2035, 2036, 2036, 2037, 3587, 3587, 2037, 610, 2036, 3587,
7767  2036, 603, 562, 3587, 2037, 2618, 2618, 2618, 2618, 2037,
7768  2037, 561, 2044, 2044, 560, 2044, 2037, 548, 2037, 2034,
7769  546, 539, 538, 2044, 3355, 3355, 3355, 3355, 2044, 2044,
7770  2045, 2045, 528, 2045, 527, 2044, 2035, 2044, 526, 523,
7771  522, 2045, 520, 519, 2036, 517, 2045, 2045, 516, 2037,
7772  504, 2046, 2046, 2045, 2046, 2045, 3589, 3589, 489, 2618,
7773  485, 3589, 2046, 479, 478, 3589, 477, 2046, 2046, 2047,
7774  2047, 2618, 2047, 475, 2046, 2618, 2046, 474, 2618, 473,
7775  2047, 471, 2044, 2618, 3355, 2047, 2047, 2048, 2048, 470,
7776 
7777  2048, 469, 2047, 468, 2047, 467, 458, 2045, 2048, 457,
7778  456, 454, 3355, 2048, 2048, 2053, 2053, 453, 2053, 452,
7779  2048, 450, 2048, 449, 3591, 3591, 2053, 448, 447, 3591,
7780  2046, 2053, 2053, 3591, 3593, 3593, 446, 444, 2053, 3593,
7781  2053, 431, 430, 3593, 2047, 2054, 2054, 2054, 2054, 2054,
7782  2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054,
7783  2054, 2054, 2054, 2054, 2054, 2173, 2173, 2173, 2173, 2054,
7784  2054, 2054, 2054, 2054, 2054, 2055, 2055, 429, 2055, 428,
7785  427, 425, 2328, 2328, 2328, 2328, 2055, 397, 2173, 2328,
7786  2173, 2055, 2055, 2054, 2054, 2054, 2054, 394, 2055, 393,
7787 
7788  2055, 392, 2054, 3595, 3595, 2328, 2056, 2056, 3595, 2056,
7789  3598, 3598, 3595, 2173, 389, 3598, 388, 2056, 387, 3598,
7790  385, 384, 2056, 2056, 2054, 2054, 2054, 2054, 2054, 2056,
7791  2328, 2056, 2057, 2057, 383, 2057, 2173, 2055, 381, 380,
7792  360, 355, 350, 2057, 349, 348, 347, 339, 2057, 2057,
7793  2058, 2058, 331, 2058, 321, 2057, 303, 2057, 302, 256,
7794  255, 2058, 251, 2328, 221, 2056, 2058, 2058, 2059, 2059,
7795  214, 2059, 203, 2058, 202, 2058, 201, 3601, 3601, 2059,
7796  171, 163, 3601, 159, 2059, 2059, 3601, 2060, 2060, 153,
7797  2060, 2059, 152, 2059, 3205, 3205, 3205, 3205, 2060, 147,
7798 
7799  145, 134, 2057, 2060, 2060, 3205, 2061, 2061, 133, 2061,
7800  2060, 130, 2060, 127, 125, 116, 107, 2061, 103, 97,
7801  88, 2058, 2061, 2061, 2062, 2062, 80, 2062, 2059, 2061,
7802  73, 2061, 0, 3604, 3604, 2062, 0, 0, 3604, 0,
7803  2062, 2062, 3604, 0, 0, 2063, 2063, 2062, 2063, 2062,
7804  0, 0, 0, 0, 0, 0, 2063, 0, 0, 2060,
7805  0, 2063, 2063, 2064, 2064, 0, 2064, 0, 2063, 0,
7806  2063, 0, 0, 0, 2064, 0, 0, 2061, 0, 2064,
7807  2064, 2065, 2065, 0, 2065, 0, 2064, 2062, 2064, 0,
7808  0, 0, 2065, 3351, 3351, 3351, 3351, 2065, 2065, 2066,
7809 
7810  2066, 0, 2066, 0, 2065, 2063, 2065, 0, 0, 0,
7811  2066, 0, 0, 0, 0, 2066, 2066, 2067, 2067, 0,
7812  2067, 0, 2066, 0, 2066, 0, 0, 0, 2067, 0,
7813  0, 0, 2064, 2067, 2067, 2068, 2068, 2065, 2068, 0,
7814  2067, 0, 2067, 0, 0, 0, 2068, 3351, 0, 0,
7815  0, 2068, 2068, 2069, 2069, 0, 2069, 0, 2068, 3351,
7816  2068, 0, 2066, 3351, 2069, 0, 3351, 0, 0, 2069,
7817  2069, 3351, 3606, 3606, 0, 0, 2069, 3606, 2069, 2070,
7818  2070, 3606, 2070, 2071, 2071, 0, 2071, 0, 2067, 0,
7819  2070, 2068, 3730, 3730, 2071, 2070, 2070, 3730, 0, 2071,
7820 
7821  2071, 3730, 2070, 0, 2070, 2069, 2071, 0, 2071, 2072,
7822  2072, 0, 2072, 2073, 2073, 0, 2073, 0, 3733, 3733,
7823  2072, 0, 0, 3733, 2073, 2072, 2072, 3733, 0, 2073,
7824  2073, 0, 2072, 0, 2072, 0, 2073, 0, 2073, 2074,
7825  2074, 0, 2074, 0, 2070, 0, 0, 0, 0, 0,
7826  2074, 0, 0, 0, 2071, 2074, 2074, 2075, 2075, 0,
7827  2075, 0, 2074, 0, 2074, 0, 0, 0, 2075, 0,
7828  0, 0, 0, 2075, 2075, 2076, 2076, 0, 2076, 2073,
7829  2075, 0, 2075, 2072, 0, 0, 2076, 0, 0, 0,
7830  0, 2076, 2076, 2077, 2077, 0, 2077, 0, 2076, 0,
7831 
7832  2076, 0, 0, 0, 2077, 0, 0, 0, 2074, 2077,
7833  2077, 2078, 2078, 0, 2078, 0, 2077, 0, 2077, 0,
7834  3736, 3736, 2078, 0, 0, 3736, 2075, 2078, 2078, 3736,
7835  2079, 2079, 0, 2079, 2078, 0, 2078, 0, 0, 0,
7836  2076, 2079, 0, 0, 0, 0, 2079, 2079, 0, 2080,
7837  2080, 0, 2080, 2079, 0, 2079, 0, 0, 0, 0,
7838  2080, 0, 2077, 0, 2078, 2080, 2080, 2081, 2081, 0,
7839  2081, 0, 2080, 0, 2080, 0, 0, 0, 2081, 0,
7840  0, 0, 0, 2081, 2081, 2082, 2082, 0, 2082, 0,
7841  2081, 0, 2081, 0, 0, 0, 2082, 0, 0, 0,
7842 
7843  2079, 2082, 2082, 2083, 2083, 0, 2083, 0, 2082, 0,
7844  2082, 0, 0, 0, 2083, 0, 2080, 0, 0, 2083,
7845  2083, 2081, 2084, 2084, 0, 2084, 2083, 0, 2083, 0,
7846  0, 0, 0, 2084, 0, 0, 0, 2082, 2084, 2084,
7847  2085, 2085, 0, 2085, 0, 2084, 0, 2084, 0, 0,
7848  0, 2085, 3279, 3279, 3279, 3279, 2085, 2085, 2086, 2086,
7849  0, 2086, 0, 2085, 3279, 2085, 0, 3279, 0, 2086,
7850  0, 0, 2083, 0, 2086, 2086, 3279, 2087, 2087, 0,
7851  2087, 2086, 0, 2086, 0, 0, 0, 0, 2087, 2084,
7852  0, 0, 2085, 2087, 2087, 2088, 2088, 0, 2088, 0,
7853 
7854  2087, 3279, 2087, 0, 0, 0, 2088, 2336, 2336, 2336,
7855  2336, 2088, 2088, 0, 2086, 0, 2089, 2089, 2088, 2089,
7856  2088, 2175, 2175, 2175, 2175, 0, 0, 2089, 0, 0,
7857  2336, 0, 2089, 2089, 0, 0, 0, 2087, 0, 2089,
7858  0, 2089, 2090, 2090, 2175, 2090, 2175, 3837, 3837, 0,
7859  0, 2088, 3837, 2090, 0, 2336, 3837, 0, 2090, 2090,
7860  2091, 2091, 0, 2091, 0, 2090, 0, 2090, 0, 2175,
7861  0, 2091, 2175, 0, 0, 0, 2091, 2091, 2092, 2092,
7862  0, 2092, 0, 2091, 0, 2091, 2089, 0, 0, 2092,
7863  0, 0, 0, 0, 2092, 2092, 2093, 2093, 0, 2093,
7864 
7865  0, 2092, 0, 2092, 0, 0, 0, 2093, 3218, 3218,
7866  3218, 3218, 2093, 2093, 0, 2090, 0, 2094, 2094, 2093,
7867  2094, 2093, 0, 2176, 2176, 2176, 2176, 0, 2094, 2091,
7868  0, 3218, 0, 2094, 2094, 0, 2327, 2327, 2327, 2327,
7869  2094, 0, 2094, 2327, 2095, 2095, 2176, 2095, 2176, 2092,
7870  0, 0, 2093, 0, 0, 2095, 3218, 0, 0, 2327,
7871  2095, 2095, 2096, 2096, 0, 2096, 0, 2095, 2094, 2095,
7872  0, 2176, 0, 2096, 0, 0, 0, 0, 2096, 2096,
7873  0, 0, 0, 2094, 2327, 2096, 0, 2096, 2176, 2097,
7874  2097, 0, 2097, 0, 0, 0, 2174, 2174, 2174, 2174,
7875 
7876  2097, 0, 2327, 0, 2095, 2097, 2097, 2098, 2098, 0,
7877  2098, 0, 2097, 0, 2097, 0, 0, 2327, 2098, 2174,
7878  0, 2174, 0, 2098, 2098, 2099, 2099, 2096, 2099, 0,
7879  2098, 0, 2098, 0, 0, 0, 2099, 0, 0, 0,
7880  0, 2099, 2099, 2097, 2174, 0, 2100, 2100, 2099, 2100,
7881  2099, 0, 2174, 0, 0, 0, 0, 2100, 0, 0,
7882  0, 2098, 2100, 2100, 2101, 2101, 0, 2101, 0, 2100,
7883  0, 2100, 0, 0, 0, 2101, 0, 0, 0, 0,
7884  2101, 2101, 2102, 2102, 2099, 2102, 0, 2101, 0, 2101,
7885  0, 0, 0, 2102, 0, 0, 0, 0, 2102, 2102,
7886 
7887  2103, 2103, 0, 2103, 0, 2102, 0, 2102, 0, 2100,
7888  0, 2103, 0, 0, 0, 0, 2103, 2103, 2104, 2104,
7889  0, 2104, 0, 2103, 0, 2103, 0, 0, 0, 2104,
7890  2687, 2687, 2687, 2687, 2104, 2104, 0, 2687, 2101, 0,
7891  0, 2104, 0, 2104, 0, 2105, 2105, 0, 2105, 3853,
7892  3853, 0, 2102, 2687, 3853, 2103, 2105, 0, 3853, 0,
7893  2103, 2105, 2105, 2106, 2106, 2103, 2106, 0, 2105, 0,
7894  2105, 0, 0, 0, 2106, 0, 0, 0, 2687, 2106,
7895  2106, 2107, 2107, 2104, 2107, 0, 2106, 0, 2106, 0,
7896  0, 0, 2107, 0, 0, 0, 0, 2107, 2107, 2108,
7897 
7898  2108, 0, 2108, 2105, 2107, 0, 2107, 0, 0, 0,
7899  2108, 2687, 0, 0, 0, 2108, 2108, 2109, 2109, 0,
7900  2109, 2106, 2108, 0, 2108, 0, 0, 0, 2109, 0,
7901  0, 0, 0, 2109, 2109, 2110, 2110, 0, 2110, 0,
7902  2109, 0, 2109, 0, 0, 0, 2110, 0, 0, 0,
7903  0, 2110, 2110, 2107, 0, 0, 2411, 0, 2110, 2411,
7904  2110, 0, 0, 3282, 3282, 3282, 3282, 2411, 0, 0,
7905  2108, 0, 2411, 2411, 3282, 3867, 3867, 0, 0, 2411,
7906  3867, 2411, 0, 0, 3867, 0, 2109, 0, 0, 0,
7907  0, 2110, 2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167,
7908 
7909  2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167,
7910  2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167,
7911  2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167,
7912  2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167,
7913  2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167,
7914  2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167,
7915  2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167, 2167,
7916  2167, 2167, 2167, 2167, 2167, 2167, 2177, 2177, 2177, 2177,
7917  2178, 2178, 2178, 2178, 2179, 2179, 2179, 2179, 0, 2329,
7918  2329, 2329, 2329, 2572, 2572, 2572, 2572, 3947, 3947, 2177,
7919 
7920  2329, 2177, 3947, 2178, 0, 2178, 3947, 2179, 0, 2179,
7921  3142, 0, 2329, 3142, 2329, 0, 2572, 0, 2572, 0,
7922  0, 3142, 0, 0, 2177, 0, 3142, 3142, 2178, 0,
7923  0, 0, 2179, 3142, 2177, 3142, 0, 2329, 3961, 3961,
7924  0, 2572, 0, 3961, 0, 0, 0, 3961, 0, 0,
7925  0, 2178, 0, 2179, 2224, 2224, 2224, 2224, 2224, 2224,
7926  2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224,
7927  2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224,
7928  2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224,
7929  2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224,
7930 
7931  2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224,
7932  2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224,
7933  2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224,
7934  2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2298, 2298,
7935  2298, 2298, 3981, 3981, 0, 2303, 0, 3981, 2303, 2298,
7936  2298, 3981, 2303, 2298, 2298, 2298, 0, 2303, 0, 0,
7937  0, 2298, 2298, 2298, 2303, 2303, 2303, 2303, 2303, 2330,
7938  2330, 2330, 2330, 2344, 2344, 2344, 2344, 0, 0, 0,
7939  2330, 0, 0, 0, 2344, 2344, 2298, 2298, 2344, 0,
7940  4009, 4009, 2330, 2303, 2330, 4009, 2344, 2344, 2344, 4009,
7941 
7942  0, 3283, 3283, 3283, 3283, 0, 0, 0, 2345, 2345,
7943  2345, 2345, 3283, 3317, 3317, 3317, 3317, 2330, 0, 2345,
7944  2345, 2344, 2344, 2345, 3317, 0, 2303, 2304, 2304, 2304,
7945  2304, 2345, 2345, 0, 2304, 0, 2330, 0, 0, 2304,
7946  0, 0, 2427, 0, 0, 2427, 2304, 2304, 2304, 2304,
7947  2304, 0, 0, 2427, 0, 0, 2345, 2345, 2427, 2427,
7948  2428, 0, 0, 2428, 0, 2427, 0, 2427, 0, 0,
7949  2429, 2428, 0, 2429, 0, 2304, 2428, 2428, 0, 0,
7950  0, 2429, 0, 2428, 0, 2428, 2429, 2429, 3318, 3318,
7951  3318, 3318, 0, 2429, 0, 2429, 0, 0, 0, 3318,
7952 
7953  0, 0, 0, 0, 2574, 2574, 2574, 2574, 2304, 2331,
7954  2331, 2331, 2331, 3318, 2427, 0, 2428, 0, 0, 0,
7955  2331, 2331, 2429, 0, 2331, 2331, 2331, 2574, 0, 2574,
7956  0, 0, 2331, 2331, 2331, 3354, 3354, 3354, 3354, 3366,
7957  3366, 3366, 3366, 0, 2433, 0, 3354, 2433, 2430, 0,
7958  3366, 2430, 2574, 0, 0, 2433, 2574, 2331, 2331, 2430,
7959  2433, 2433, 0, 0, 2430, 2430, 0, 2433, 0, 2433,
7960  0, 2430, 0, 2430, 0, 0, 0, 0, 2331, 2348,
7961  2348, 2348, 2348, 2348, 2348, 2348, 2348, 2348, 2348, 2348,
7962  2348, 2348, 2348, 2348, 2348, 2348, 2348, 2348, 2348, 2431,
7963 
7964  2430, 0, 2431, 2348, 2348, 2348, 2348, 2348, 2348, 2433,
7965  2431, 0, 0, 3354, 2430, 2431, 2431, 0, 0, 0,
7966  2434, 0, 2431, 2434, 2431, 0, 0, 2348, 2348, 2348,
7967  2348, 2434, 2575, 2575, 2575, 2575, 2434, 2434, 0, 0,
7968  0, 0, 0, 2434, 0, 2434, 0, 2576, 2576, 2576,
7969  2576, 2431, 0, 0, 0, 2575, 0, 2575, 2348, 2348,
7970  2348, 2348, 2348, 2355, 2355, 2355, 2355, 0, 2435, 0,
7971  2576, 2435, 2576, 0, 2355, 2355, 0, 0, 2355, 2435,
7972  2575, 0, 0, 2434, 2435, 2435, 2355, 2355, 2355, 0,
7973  0, 2435, 0, 2435, 0, 2576, 0, 0, 2436, 0,
7974 
7975  0, 2436, 2438, 2576, 0, 2438, 0, 0, 0, 2436,
7976  0, 2355, 2355, 2438, 2436, 2436, 0, 2355, 2438, 2438,
7977  0, 2436, 0, 2436, 2435, 2438, 0, 2438, 0, 0,
7978  0, 0, 0, 2355, 2399, 2399, 2399, 2399, 2399, 2399,
7979  2399, 2399, 2399, 2399, 2399, 2399, 2399, 2399, 2399, 2399,
7980  2399, 2399, 2399, 2399, 2436, 0, 2438, 0, 2399, 2399,
7981  2399, 2399, 2399, 2399, 2680, 2680, 2680, 2680, 3367, 3367,
7982  3367, 3367, 0, 0, 0, 2680, 0, 0, 2437, 3367,
7983  0, 2437, 2399, 2399, 2399, 2399, 0, 2680, 0, 2437,
7984  0, 0, 0, 0, 2437, 2437, 3370, 3370, 3370, 3370,
7985 
7986  0, 2437, 0, 2437, 0, 2399, 0, 3370, 0, 0,
7987  0, 0, 2680, 2399, 2399, 2399, 2399, 2399, 2432, 2432,
7988  2432, 2432, 2432, 2432, 2432, 2432, 2432, 2432, 2432, 2432,
7989  2432, 2432, 2432, 2432, 2432, 2432, 2432, 2432, 2437, 0,
7990  0, 0, 2432, 2432, 2432, 2432, 2432, 2432, 2439, 0,
7991  0, 2439, 0, 0, 0, 0, 0, 0, 0, 2439,
7992  2579, 2579, 2579, 2579, 2439, 2439, 2432, 2432, 2432, 2432,
7993  2432, 2439, 0, 2439, 0, 3150, 3150, 0, 3150, 2442,
7994  0, 0, 2442, 2579, 0, 2579, 3150, 0, 0, 0,
7995  2442, 3150, 3150, 0, 0, 2442, 2442, 2432, 2432, 2432,
7996 
7997  2432, 2432, 2442, 2443, 2442, 0, 2443, 2444, 2579, 0,
7998  2444, 0, 0, 2439, 2443, 2579, 0, 0, 2444, 2443,
7999  2443, 0, 0, 2444, 2444, 0, 2443, 0, 2443, 0,
8000  2444, 2445, 2444, 2442, 2445, 0, 0, 3293, 3293, 3293,
8001  3293, 0, 2445, 0, 0, 0, 2446, 2445, 2445, 2446,
8002  2581, 2581, 2581, 2581, 2445, 0, 2445, 2446, 2443, 0,
8003  3293, 2447, 2446, 2446, 2447, 2448, 0, 2444, 2448, 2446,
8004  0, 2446, 2447, 2581, 0, 2581, 2448, 2447, 2447, 0,
8005  2449, 2448, 2448, 2449, 2447, 3293, 2447, 0, 2448, 0,
8006  2448, 2449, 0, 0, 0, 0, 2449, 2449, 2581, 0,
8007 
8008  0, 2450, 2445, 2449, 2450, 2449, 2446, 0, 2581, 0,
8009  0, 2451, 2450, 0, 2451, 0, 0, 2450, 2450, 0,
8010  0, 2448, 2451, 0, 2450, 0, 2450, 2451, 2451, 0,
8011  2452, 0, 2447, 2452, 2451, 0, 2451, 0, 0, 0,
8012  2453, 2452, 0, 2453, 0, 2449, 2452, 2452, 0, 0,
8013  0, 2453, 0, 2452, 0, 2452, 2453, 2453, 2454, 0,
8014  0, 2454, 0, 2453, 2450, 2453, 0, 0, 2455, 2454,
8015  0, 2455, 0, 0, 2454, 2454, 0, 0, 2451, 2455,
8016  0, 2454, 0, 2454, 2455, 2455, 0, 2456, 0, 0,
8017  2456, 2455, 0, 2455, 0, 0, 0, 2457, 2456, 0,
8018 
8019  2457, 2452, 0, 2456, 2456, 0, 0, 0, 2457, 0,
8020  2456, 2453, 2456, 2457, 2457, 2458, 0, 0, 2458, 0,
8021  2457, 0, 2457, 0, 0, 0, 2458, 0, 2455, 2454,
8022  2459, 2458, 2458, 2459, 2460, 0, 0, 2460, 2458, 0,
8023  2458, 2459, 0, 0, 0, 2460, 2459, 2459, 0, 0,
8024  2460, 2460, 0, 2459, 0, 2459, 0, 2460, 2456, 2460,
8025  2461, 0, 0, 2461, 2462, 0, 0, 2462, 2457, 2458,
8026  0, 2461, 0, 0, 0, 2462, 2461, 2461, 0, 2463,
8027  2462, 2462, 2463, 2461, 2459, 2461, 0, 2462, 0, 2462,
8028  2463, 0, 0, 0, 0, 2463, 2463, 0, 2464, 0,
8029 
8030  0, 2464, 2463, 0, 2463, 2460, 0, 0, 2465, 2464,
8031  0, 2465, 0, 0, 2464, 2464, 2461, 0, 0, 2465,
8032  2462, 2464, 0, 2464, 2465, 2465, 2466, 0, 0, 2466,
8033  0, 2465, 0, 2465, 0, 0, 0, 2466, 0, 0,
8034  0, 0, 2466, 2466, 2463, 2467, 0, 0, 2467, 2466,
8035  0, 2466, 0, 2464, 0, 2468, 2467, 0, 2468, 0,
8036  0, 2467, 2467, 0, 0, 0, 2468, 0, 2467, 0,
8037  2467, 2468, 2468, 2469, 0, 0, 2469, 0, 2468, 2465,
8038  2468, 0, 0, 2466, 2469, 3280, 3280, 3280, 3280, 2469,
8039  2469, 2470, 0, 0, 2470, 0, 2469, 3280, 2469, 2467,
8040 
8041  3280, 2471, 2470, 0, 2471, 0, 0, 2470, 2470, 3280,
8042  0, 0, 2471, 2468, 2470, 0, 2470, 2471, 2471, 0,
8043  2472, 0, 0, 2472, 2471, 0, 2471, 0, 0, 0,
8044  0, 2472, 0, 0, 3280, 2476, 2472, 2472, 2476, 0,
8045  0, 0, 0, 2472, 2469, 2472, 2476, 0, 0, 0,
8046  2470, 2476, 2476, 3413, 3413, 3413, 3413, 0, 2476, 0,
8047  2476, 0, 0, 0, 3413, 0, 0, 0, 0, 0,
8048  2471, 0, 2472, 2475, 2475, 2475, 2475, 2475, 2475, 2475,
8049  2475, 2475, 2475, 2475, 2475, 2475, 2475, 2475, 2475, 2475,
8050  2475, 2475, 2475, 2477, 0, 2476, 2477, 2475, 2475, 2475,
8051 
8052  2475, 2475, 2475, 2478, 2477, 0, 2478, 0, 0, 2477,
8053  2477, 0, 0, 0, 2478, 0, 2477, 0, 2477, 2478,
8054  2478, 2475, 2475, 2475, 2475, 0, 2478, 0, 2478, 3416,
8055  3416, 3416, 3416, 0, 2479, 0, 0, 2479, 0, 0,
8056  3416, 0, 0, 0, 2475, 2479, 0, 0, 0, 2477,
8057  2479, 2479, 2475, 2475, 2475, 2475, 2475, 2479, 2478, 2479,
8058  2480, 0, 0, 2480, 2481, 0, 0, 2481, 0, 0,
8059  0, 2480, 0, 0, 0, 2481, 2480, 2480, 0, 2482,
8060  2481, 2481, 2482, 2480, 0, 2480, 2479, 2481, 0, 2481,
8061  2482, 0, 0, 0, 2483, 2482, 2482, 2483, 2485, 2485,
8062 
8063  0, 2485, 2482, 0, 2482, 2483, 0, 0, 0, 2485,
8064  2483, 2483, 0, 0, 2485, 2485, 2481, 2483, 0, 2483,
8065  0, 2485, 0, 2485, 0, 2480, 2486, 2486, 0, 2486,
8066  3474, 3474, 3474, 3474, 0, 0, 0, 2486, 0, 2482,
8067  0, 3474, 2486, 2486, 0, 2483, 0, 0, 0, 2486,
8068  0, 2486, 2487, 2487, 0, 2487, 2488, 2488, 0, 2488,
8069  0, 0, 0, 2487, 0, 0, 0, 2488, 2487, 2487,
8070  2485, 0, 2488, 2488, 0, 2487, 0, 2487, 0, 2488,
8071  0, 2488, 2486, 0, 2489, 2489, 0, 2489, 0, 2582,
8072  2582, 2582, 2582, 0, 0, 2489, 0, 0, 0, 0,
8073 
8074  2489, 2489, 2490, 2490, 2487, 2490, 0, 2489, 2488, 2489,
8075  0, 0, 2582, 2490, 2582, 0, 0, 0, 2490, 2490,
8076  0, 0, 2488, 2491, 2491, 2490, 2491, 2490, 0, 0,
8077  0, 0, 0, 0, 2491, 0, 2489, 2582, 0, 2491,
8078  2491, 2492, 2492, 0, 2492, 0, 2491, 0, 2491, 0,
8079  0, 0, 2492, 0, 2582, 0, 0, 2492, 2492, 2493,
8080  2493, 0, 2493, 0, 2492, 0, 2492, 2490, 0, 0,
8081  2493, 0, 0, 0, 0, 2493, 2493, 2494, 2494, 0,
8082  2494, 0, 2493, 0, 2493, 0, 2491, 0, 2494, 0,
8083  0, 0, 0, 2494, 2494, 2495, 2495, 2492, 2495, 0,
8084 
8085  2494, 0, 2494, 0, 0, 0, 2495, 0, 0, 0,
8086  0, 2495, 2495, 0, 0, 2493, 0, 0, 2495, 0,
8087  2495, 0, 0, 2499, 2499, 0, 2499, 2497, 2497, 0,
8088  2497, 2494, 0, 0, 2499, 0, 0, 0, 2497, 2499,
8089  2499, 0, 0, 2497, 2497, 0, 2499, 0, 2499, 0,
8090  2497, 0, 2497, 0, 0, 0, 0, 0, 0, 0,
8091  2495, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496,
8092  2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2496,
8093  2496, 2497, 0, 2499, 0, 2496, 2496, 2496, 2496, 2496,
8094  2496, 2498, 2498, 0, 2498, 3471, 3471, 3471, 3471, 0,
8095 
8096  0, 0, 2498, 0, 0, 0, 3471, 2498, 2498, 2496,
8097  2496, 2496, 2496, 0, 2498, 0, 2498, 0, 3471, 3498,
8098  3498, 3498, 3498, 0, 0, 2496, 3334, 3334, 3334, 3334,
8099  3498, 0, 0, 0, 2500, 2500, 0, 2500, 0, 0,
8100  2496, 2496, 2496, 2496, 2496, 2500, 2498, 0, 0, 3334,
8101  2500, 2500, 2501, 2501, 0, 2501, 0, 2500, 0, 2500,
8102  0, 0, 0, 2501, 0, 0, 0, 0, 2501, 2501,
8103  2502, 2502, 0, 2502, 3334, 2501, 0, 2501, 0, 0,
8104  0, 2502, 0, 0, 0, 0, 2502, 2502, 0, 0,
8105  0, 2503, 2503, 2502, 2503, 2502, 0, 0, 0, 0,
8106 
8107  0, 0, 2503, 0, 0, 2500, 0, 2503, 2503, 0,
8108  2504, 2504, 2501, 2504, 2503, 0, 2503, 0, 0, 0,
8109  0, 2504, 0, 0, 0, 0, 2504, 2504, 2505, 2505,
8110  0, 2505, 0, 2504, 0, 2504, 0, 0, 0, 2505,
8111  0, 2502, 0, 0, 2505, 2505, 0, 2503, 0, 2506,
8112  2506, 2505, 2506, 2505, 0, 0, 0, 0, 0, 0,
8113  2506, 0, 0, 0, 0, 2506, 2506, 2507, 2507, 0,
8114  2507, 0, 2506, 0, 2506, 2504, 0, 0, 2507, 0,
8115  0, 0, 0, 2507, 2507, 2508, 2508, 0, 2508, 0,
8116  2507, 2505, 2507, 0, 0, 0, 2508, 0, 0, 0,
8117 
8118  0, 2508, 2508, 2509, 2509, 0, 2509, 0, 2508, 0,
8119  2508, 0, 0, 0, 2509, 0, 2506, 0, 0, 2509,
8120  2509, 0, 0, 0, 2510, 2510, 2509, 2510, 2509, 0,
8121  0, 0, 0, 0, 0, 2510, 0, 0, 2507, 0,
8122  2510, 2510, 2511, 2511, 0, 2511, 0, 2510, 0, 2510,
8123  0, 0, 0, 2511, 0, 0, 2508, 0, 2511, 2511,
8124  2512, 2512, 0, 2512, 0, 2511, 0, 2511, 0, 0,
8125  0, 2512, 0, 0, 2509, 0, 2512, 2512, 2513, 2513,
8126  0, 2513, 0, 2512, 2510, 2512, 0, 0, 0, 2513,
8127  0, 0, 0, 0, 2513, 2513, 0, 0, 0, 2514,
8128 
8129  2514, 2513, 2514, 2513, 0, 0, 0, 0, 0, 0,
8130  2514, 0, 0, 2511, 0, 2514, 2514, 2515, 2515, 0,
8131  2515, 0, 2514, 0, 2514, 0, 0, 0, 2515, 0,
8132  0, 2512, 2513, 2515, 2515, 2516, 2516, 0, 2516, 0,
8133  2515, 0, 2515, 0, 0, 0, 2516, 0, 0, 0,
8134  0, 2516, 2516, 2514, 2517, 2517, 0, 2517, 2516, 0,
8135  2516, 0, 0, 0, 0, 2517, 0, 0, 0, 0,
8136  2517, 2517, 0, 2518, 2518, 0, 2518, 2517, 0, 2517,
8137  0, 0, 0, 0, 2518, 0, 0, 0, 2515, 2518,
8138  2518, 2516, 2519, 2519, 0, 2519, 2518, 0, 2518, 2584,
8139 
8140  2584, 2584, 2584, 2519, 0, 0, 0, 0, 2519, 2519,
8141  2520, 2520, 0, 2520, 0, 2519, 0, 2519, 0, 2517,
8142  0, 2520, 2584, 0, 2584, 0, 2520, 2520, 2518, 2521,
8143  2521, 0, 2521, 2520, 0, 2520, 0, 0, 0, 0,
8144  2521, 0, 0, 0, 0, 2521, 2521, 2584, 2522, 2522,
8145  2584, 2522, 2521, 0, 2521, 0, 0, 0, 0, 2522,
8146  0, 0, 0, 2519, 2522, 2522, 0, 2520, 0, 2523,
8147  2523, 2522, 2523, 2522, 2583, 2583, 2583, 2583, 0, 0,
8148  2523, 0, 0, 2521, 0, 2523, 2523, 2524, 2524, 0,
8149  2524, 0, 2523, 0, 2523, 0, 0, 2583, 2524, 2583,
8150 
8151  0, 0, 0, 2524, 2524, 0, 2522, 0, 2525, 2525,
8152  2524, 2525, 2524, 0, 0, 3380, 3380, 3380, 3380, 2525,
8153  0, 0, 2583, 0, 2525, 2525, 2526, 2526, 0, 2526,
8154  0, 2525, 0, 2525, 2583, 0, 0, 2526, 3380, 0,
8155  2523, 0, 2526, 2526, 2529, 2529, 2524, 2529, 0, 2526,
8156  0, 2526, 0, 0, 0, 2529, 0, 0, 0, 0,
8157  2529, 2529, 0, 3380, 0, 0, 0, 2529, 0, 2529,
8158  0, 0, 0, 0, 0, 0, 0, 2525, 2526, 2527,
8159  2527, 2527, 2527, 2527, 2527, 2527, 2527, 2527, 2527, 2527,
8160  2527, 2527, 2527, 2527, 2527, 2527, 2527, 2527, 2527, 0,
8161 
8162  2529, 0, 0, 2527, 2527, 2527, 2527, 2527, 2527, 2528,
8163  2528, 0, 2528, 0, 0, 0, 3381, 3381, 3381, 3381,
8164  2528, 0, 0, 0, 0, 2528, 2528, 2527, 2527, 2527,
8165  2527, 0, 2528, 0, 2528, 0, 0, 0, 0, 3381,
8166  2530, 2530, 0, 2530, 0, 0, 0, 0, 0, 0,
8167  2527, 2530, 0, 0, 0, 0, 2530, 2530, 2527, 2527,
8168  2527, 2527, 2527, 2530, 3381, 2530, 0, 2531, 2531, 2528,
8169  2531, 2532, 2532, 0, 2532, 0, 0, 0, 2531, 0,
8170  0, 0, 2532, 2531, 2531, 0, 0, 2532, 2532, 0,
8171  2531, 0, 2531, 0, 2532, 2530, 2532, 2533, 2533, 0,
8172 
8173  2533, 2534, 2534, 0, 2534, 0, 0, 0, 2533, 0,
8174  0, 0, 2534, 2533, 2533, 0, 0, 2534, 2534, 2531,
8175  2533, 0, 2533, 0, 2534, 0, 2534, 2535, 2535, 0,
8176  2535, 2577, 2577, 2577, 2577, 0, 2532, 0, 2535, 2578,
8177  2578, 2578, 2578, 2535, 2535, 2580, 2580, 2580, 2580, 2533,
8178  2535, 0, 2535, 0, 2577, 0, 2577, 0, 0, 0,
8179  0, 2534, 2578, 0, 2578, 0, 0, 0, 2580, 0,
8180  2580, 2678, 2678, 2678, 2678, 0, 0, 0, 2535, 2577,
8181  0, 0, 2678, 0, 0, 0, 0, 2578, 2679, 2679,
8182  2679, 2679, 0, 2580, 2678, 0, 2678, 0, 0, 2679,
8183 
8184  0, 0, 2577, 2681, 2681, 2681, 2681, 0, 0, 0,
8185  2578, 2679, 0, 2679, 2681, 0, 2580, 0, 0, 2678,
8186  2683, 2683, 2683, 2683, 0, 0, 2681, 0, 2681, 0,
8187  0, 2683, 0, 0, 0, 0, 2679, 2694, 2694, 2694,
8188  2694, 0, 0, 2683, 0, 2683, 0, 0, 2694, 2694,
8189  0, 2681, 2694, 0, 0, 2679, 0, 0, 0, 0,
8190  2694, 2694, 2694, 0, 0, 0, 0, 0, 2683, 0,
8191  0, 0, 2700, 2700, 2700, 2700, 2683, 2684, 2684, 2684,
8192  2684, 0, 0, 2700, 2700, 2694, 2694, 2700, 2684, 2684,
8193  0, 0, 2684, 0, 0, 2700, 2700, 2700, 0, 0,
8194 
8195  2684, 2684, 2684, 0, 0, 0, 0, 0, 0, 0,
8196  0, 0, 2701, 2701, 2701, 2701, 0, 0, 0, 0,
8197  2700, 2700, 0, 2701, 2701, 2684, 2684, 2701, 0, 2684,
8198  2685, 2685, 2685, 2685, 0, 2701, 2701, 0, 0, 0,
8199  0, 2685, 2685, 0, 0, 2685, 0, 2754, 0, 0,
8200  2754, 0, 0, 2685, 2685, 2685, 0, 0, 2754, 0,
8201  2701, 2701, 2685, 2754, 2754, 0, 0, 0, 0, 0,
8202  2754, 0, 2754, 2734, 2734, 2734, 2734, 0, 2685, 2685,
8203  2699, 2699, 2699, 2699, 2734, 2734, 0, 0, 2734, 0,
8204  2756, 2699, 2699, 2756, 0, 2699, 2734, 2734, 0, 0,
8205 
8206  0, 2756, 0, 2699, 2699, 2699, 2756, 2756, 0, 0,
8207  0, 2754, 0, 2756, 2755, 2756, 0, 2755, 0, 0,
8208  0, 2734, 2734, 0, 2757, 2755, 0, 2757, 2699, 2699,
8209  2755, 2755, 0, 0, 2699, 2757, 0, 2755, 2734, 2755,
8210  2757, 2757, 0, 0, 2756, 0, 0, 2757, 0, 2757,
8211  2699, 2721, 2721, 2721, 2721, 2721, 2721, 2721, 2721, 2721,
8212  2721, 2721, 2721, 2721, 2721, 2721, 2721, 2721, 2721, 2721,
8213  2721, 0, 0, 0, 0, 2721, 2721, 2721, 2721, 2721,
8214  2721, 0, 0, 2755, 0, 0, 0, 2758, 0, 0,
8215  2758, 0, 0, 0, 2757, 0, 0, 0, 2758, 2721,
8216 
8217  2721, 2721, 2721, 2758, 2758, 2910, 2910, 2910, 2910, 0,
8218  2758, 0, 2758, 0, 0, 0, 2910, 0, 3086, 3086,
8219  3086, 3086, 3382, 3382, 3382, 3382, 0, 0, 2910, 3086,
8220  2721, 2721, 2721, 2721, 2721, 2733, 2733, 2733, 2733, 0,
8221  2759, 3086, 0, 2759, 2758, 3382, 2733, 2733, 0, 0,
8222  2733, 2759, 0, 2910, 0, 0, 2759, 2759, 2733, 2733,
8223  2733, 0, 0, 2759, 2760, 2759, 3086, 2760, 0, 0,
8224  3382, 0, 0, 0, 2761, 2760, 0, 2761, 0, 0,
8225  2760, 2760, 0, 2733, 2733, 2761, 0, 2760, 0, 2760,
8226  2761, 2761, 2762, 0, 0, 2762, 0, 2761, 0, 2761,
8227 
8228  2733, 0, 0, 2762, 0, 2759, 0, 0, 2762, 2762,
8229  2763, 0, 0, 2763, 0, 2762, 0, 2762, 2760, 0,
8230  2764, 2763, 0, 2764, 0, 0, 2763, 2763, 0, 0,
8231  0, 2764, 0, 2763, 0, 2763, 2764, 2764, 0, 3310,
8232  3310, 3310, 3310, 2764, 2765, 2764, 2761, 2765, 0, 0,
8233  3310, 0, 0, 0, 2767, 2765, 0, 2767, 0, 0,
8234  2765, 2765, 3310, 2762, 2763, 2767, 0, 2765, 0, 2765,
8235  2767, 2767, 2768, 0, 0, 2768, 0, 2767, 0, 2767,
8236  2764, 0, 2769, 2768, 0, 2769, 0, 3310, 2768, 2768,
8237  0, 0, 0, 2769, 0, 2768, 0, 2768, 2769, 2769,
8238 
8239  2770, 0, 0, 2770, 0, 2769, 0, 2769, 0, 0,
8240  0, 2770, 0, 2767, 0, 0, 2770, 2770, 2771, 0,
8241  2765, 2771, 0, 2770, 0, 2770, 0, 0, 2772, 2771,
8242  0, 2772, 0, 0, 2771, 2771, 2769, 0, 2768, 2772,
8243  0, 2771, 0, 2771, 2772, 2772, 2773, 0, 0, 2773,
8244  0, 2772, 2770, 2772, 0, 0, 2774, 2773, 0, 2774,
8245  0, 0, 2773, 2773, 0, 0, 0, 2774, 0, 2773,
8246  0, 2773, 2774, 2774, 2771, 2775, 0, 0, 2775, 2774,
8247  2772, 2774, 0, 0, 0, 2776, 2775, 0, 2776, 0,
8248  0, 2775, 2775, 0, 0, 0, 2776, 0, 2775, 0,
8249 
8250  2775, 2776, 2776, 2777, 0, 0, 2777, 0, 2776, 0,
8251  2776, 0, 0, 0, 2777, 2773, 0, 0, 2778, 2777,
8252  2777, 2778, 2774, 0, 0, 0, 2777, 0, 2777, 2778,
8253  2775, 0, 0, 0, 2778, 2778, 0, 0, 0, 2779,
8254  0, 2778, 2779, 2778, 0, 2849, 2849, 2849, 2849, 2780,
8255  2779, 0, 2780, 0, 2776, 2779, 2779, 0, 0, 2777,
8256  2780, 0, 2779, 0, 2779, 2780, 2780, 0, 2849, 0,
8257  2849, 0, 2780, 0, 2780, 2782, 0, 0, 2782, 0,
8258  0, 0, 0, 0, 0, 2783, 2782, 0, 2783, 2778,
8259  0, 2782, 2782, 2849, 0, 2779, 2783, 0, 2782, 0,
8260 
8261  2782, 2783, 2783, 0, 0, 0, 0, 0, 2783, 0,
8262  2783, 0, 0, 0, 0, 0, 0, 0, 2780, 2781,
8263  2781, 2781, 2781, 2781, 2781, 2781, 2781, 2781, 2781, 2781,
8264  2781, 2781, 2781, 2781, 2781, 2781, 2781, 2781, 2781, 0,
8265  0, 2782, 0, 2781, 2781, 2781, 2781, 2781, 2781, 2784,
8266  0, 0, 2784, 0, 0, 0, 2783, 0, 0, 0,
8267  2784, 0, 0, 0, 0, 2784, 2784, 2781, 2781, 2781,
8268  2781, 2781, 2784, 0, 2784, 0, 0, 0, 0, 0,
8269  0, 2851, 2851, 2851, 2851, 0, 0, 0, 0, 0,
8270  0, 0, 2785, 0, 0, 2785, 0, 0, 2781, 2781,
8271 
8272  2781, 2781, 2781, 2785, 2851, 2784, 2851, 2786, 2785, 2785,
8273  2786, 2787, 0, 0, 2787, 2785, 0, 2785, 2786, 0,
8274  0, 0, 2787, 2786, 2786, 0, 0, 2787, 2787, 2851,
8275  2786, 0, 2786, 0, 2787, 2788, 2787, 2851, 2788, 2789,
8276  0, 0, 2789, 0, 0, 0, 2788, 0, 0, 2785,
8277  2789, 2788, 2788, 0, 0, 2789, 2789, 0, 2788, 0,
8278  2788, 0, 2789, 2790, 2789, 0, 2790, 2787, 0, 0,
8279  0, 2786, 0, 0, 2790, 0, 0, 0, 0, 2790,
8280  2790, 0, 0, 0, 2791, 2791, 2790, 2791, 2790, 0,
8281  0, 0, 0, 0, 0, 2791, 0, 0, 2788, 0,
8282 
8283  2791, 2791, 2789, 2792, 2792, 0, 2792, 2791, 0, 2791,
8284  0, 0, 0, 0, 2792, 0, 0, 0, 0, 2792,
8285  2792, 2793, 2793, 0, 2793, 0, 2792, 0, 2792, 0,
8286  0, 0, 2793, 0, 2790, 0, 0, 2793, 2793, 2794,
8287  2794, 0, 2794, 0, 2793, 0, 2793, 0, 2791, 0,
8288  2794, 0, 0, 0, 0, 2794, 2794, 2795, 2795, 0,
8289  2795, 0, 2794, 0, 2794, 0, 0, 0, 2795, 0,
8290  0, 0, 2792, 2795, 2795, 2793, 2796, 2796, 0, 2796,
8291  2795, 0, 2795, 0, 0, 0, 0, 2796, 0, 0,
8292  0, 0, 2796, 2796, 2797, 2797, 0, 2797, 0, 2796,
8293 
8294  0, 2796, 0, 0, 0, 2797, 0, 0, 0, 2794,
8295  2797, 2797, 2798, 2798, 2795, 2798, 0, 2797, 0, 2797,
8296  0, 0, 0, 2798, 0, 0, 0, 0, 2798, 2798,
8297  0, 2799, 2799, 0, 2799, 2798, 0, 2798, 0, 0,
8298  0, 2796, 2799, 0, 0, 0, 0, 2799, 2799, 0,
8299  0, 0, 2800, 2800, 2799, 2800, 2799, 0, 0, 0,
8300  0, 0, 0, 2800, 0, 0, 2797, 0, 2800, 2800,
8301  2801, 2801, 0, 2801, 0, 2800, 0, 2800, 0, 0,
8302  0, 2801, 0, 2798, 0, 0, 2801, 2801, 0, 2802,
8303  2802, 2799, 2802, 2801, 0, 2801, 0, 0, 0, 0,
8304 
8305  2802, 0, 0, 0, 0, 2802, 2802, 2803, 2803, 0,
8306  2803, 0, 2802, 0, 2802, 0, 0, 0, 2803, 0,
8307  0, 0, 0, 2803, 2803, 0, 0, 0, 2800, 2801,
8308  2803, 0, 2803, 2804, 2804, 0, 2804, 2805, 2805, 0,
8309  2805, 0, 0, 0, 2804, 0, 0, 0, 2805, 2804,
8310  2804, 0, 0, 2805, 2805, 2802, 2804, 0, 2804, 0,
8311  2805, 2803, 2805, 2806, 2806, 0, 2806, 2807, 2807, 0,
8312  2807, 0, 0, 0, 2806, 0, 0, 0, 2807, 2806,
8313  2806, 0, 0, 2807, 2807, 2804, 2806, 0, 2806, 0,
8314  2807, 0, 2807, 2805, 2808, 2808, 0, 2808, 0, 0,
8315 
8316  2848, 2848, 2848, 2848, 0, 2808, 3097, 3097, 3097, 3097,
8317  2808, 2808, 0, 3097, 0, 2806, 0, 2808, 0, 2808,
8318  0, 2809, 2809, 2848, 2809, 2848, 0, 0, 0, 3097,
8319  0, 0, 2809, 0, 0, 0, 2807, 2809, 2809, 2810,
8320  2810, 0, 2810, 0, 2809, 0, 2809, 0, 2848, 0,
8321  2810, 0, 0, 0, 3097, 2810, 2810, 0, 2811, 2811,
8322  2808, 2811, 2810, 0, 2810, 2848, 0, 0, 0, 2811,
8323  0, 0, 3097, 0, 2811, 2811, 2809, 2812, 2812, 0,
8324  2812, 2811, 0, 2811, 0, 0, 0, 3097, 2812, 0,
8325  0, 0, 0, 2812, 2812, 2813, 2813, 0, 2813, 0,
8326 
8327  2812, 0, 2812, 0, 0, 0, 2813, 0, 2810, 0,
8328  0, 2813, 2813, 0, 2811, 0, 2814, 2814, 2813, 2814,
8329  2813, 0, 0, 0, 0, 0, 0, 2814, 0, 0,
8330  0, 0, 2814, 2814, 0, 0, 0, 0, 0, 2814,
8331  0, 2814, 2815, 2815, 0, 2815, 2816, 2816, 2812, 2816,
8332  0, 2813, 0, 2815, 0, 0, 0, 2816, 2815, 2815,
8333  0, 0, 2816, 2816, 0, 2815, 0, 2815, 0, 2816,
8334  0, 2816, 2817, 2817, 0, 2817, 2818, 2818, 0, 2818,
8335  0, 0, 2814, 2817, 0, 0, 0, 2818, 2817, 2817,
8336  0, 0, 2818, 2818, 0, 2817, 0, 2817, 0, 2818,
8337 
8338  0, 2818, 2816, 2819, 2819, 0, 2819, 2820, 2820, 0,
8339  2820, 0, 0, 2815, 2819, 0, 0, 0, 2820, 2819,
8340  2819, 0, 0, 2820, 2820, 0, 2819, 0, 2819, 2817,
8341  2820, 0, 2820, 2821, 2821, 0, 2821, 0, 0, 0,
8342  2818, 0, 0, 0, 2821, 0, 0, 0, 0, 2821,
8343  2821, 2822, 2822, 0, 2822, 0, 2821, 0, 2821, 2819,
8344  0, 0, 2822, 2850, 2850, 2850, 2850, 2822, 2822, 0,
8345  2820, 0, 0, 0, 2822, 0, 2822, 2852, 2852, 2852,
8346  2852, 2853, 2853, 2853, 2853, 0, 2850, 0, 2850, 2858,
8347  2858, 2858, 2858, 0, 0, 0, 2821, 0, 0, 0,
8348 
8349  2852, 0, 2852, 0, 2853, 0, 2853, 0, 0, 0,
8350  0, 2850, 0, 2858, 0, 2858, 2911, 2911, 2911, 2911,
8351  0, 0, 2822, 0, 0, 2852, 0, 2911, 0, 2853,
8352  0, 0, 2850, 2912, 2912, 2912, 2912, 0, 0, 2911,
8353  2852, 2911, 0, 2858, 2912, 0, 2913, 2913, 2913, 2913,
8354  0, 0, 2853, 0, 0, 2858, 2912, 2913, 2912, 2858,
8355  2858, 0, 2858, 0, 2911, 0, 0, 2858, 0, 2913,
8356  0, 2913, 2918, 2918, 2918, 2918, 2921, 2921, 2921, 2921,
8357  0, 2912, 0, 2918, 0, 0, 0, 2921, 2921, 2912,
8358  0, 2921, 0, 0, 2913, 2918, 0, 2918, 0, 2921,
8359 
8360  2921, 2921, 0, 0, 0, 0, 3399, 3399, 3399, 3399,
8361  0, 2951, 2951, 2951, 2951, 2913, 2914, 2914, 2914, 2914,
8362  2918, 0, 2951, 2951, 2921, 2921, 2951, 2914, 2914, 3399,
8363  0, 2914, 0, 0, 2951, 2951, 0, 0, 0, 2914,
8364  2914, 2914, 0, 0, 0, 2967, 0, 0, 2967, 0,
8365  0, 0, 0, 0, 3399, 2968, 2967, 0, 2968, 2951,
8366  2951, 2967, 2967, 0, 2914, 2914, 2968, 0, 2967, 0,
8367  2967, 2968, 2968, 0, 0, 0, 2951, 0, 2968, 0,
8368  2968, 2969, 0, 0, 2969, 0, 0, 2914, 2915, 2915,
8369  2915, 2915, 2969, 0, 0, 0, 0, 2969, 2969, 2915,
8370 
8371  2915, 2967, 0, 2915, 2969, 2970, 2969, 0, 2970, 0,
8372  0, 2915, 2915, 2915, 0, 0, 2970, 0, 0, 0,
8373  0, 2970, 2970, 0, 0, 0, 2968, 0, 2970, 0,
8374  2970, 0, 0, 2969, 0, 0, 2915, 2915, 0, 2915,
8375  2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928,
8376  2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928, 2928,
8377  2971, 2970, 0, 2971, 2928, 2928, 2928, 2928, 2928, 2928,
8378  0, 2971, 0, 0, 0, 0, 2971, 2971, 0, 0,
8379  0, 0, 0, 2971, 2972, 2971, 0, 2972, 2928, 2928,
8380  2928, 2928, 2928, 0, 0, 2972, 0, 0, 0, 0,
8381 
8382  2972, 2972, 0, 0, 0, 0, 0, 2972, 0, 2972,
8383  0, 2971, 0, 0, 0, 0, 0, 0, 0, 2928,
8384  2928, 2928, 2928, 2928, 2932, 2932, 2932, 2932, 2932, 2932,
8385  2932, 2932, 2932, 2932, 2932, 2932, 2932, 2932, 2932, 2932,
8386  2932, 2932, 2932, 2932, 3027, 3027, 3027, 3027, 2932, 2932,
8387  2932, 2932, 2932, 2932, 0, 2972, 0, 0, 0, 0,
8388  2974, 0, 0, 2974, 0, 0, 0, 3027, 0, 3027,
8389  0, 2974, 2932, 2932, 2932, 2932, 2974, 2974, 3069, 3069,
8390  3069, 3069, 0, 2974, 0, 2974, 0, 0, 0, 0,
8391  3069, 0, 3027, 3069, 0, 0, 0, 0, 0, 3027,
8392 
8393  0, 3069, 3069, 2932, 2932, 2932, 2932, 2932, 2939, 2939,
8394  2939, 2939, 0, 2975, 0, 0, 2975, 0, 0, 2939,
8395  2939, 0, 0, 2939, 2975, 2974, 3069, 3069, 0, 2975,
8396  2975, 2939, 2939, 2939, 0, 0, 2975, 2976, 2975, 0,
8397  2976, 0, 0, 0, 3028, 3028, 3028, 3028, 2976, 0,
8398  0, 0, 0, 2976, 2976, 2978, 2939, 2939, 2978, 0,
8399  2976, 0, 2976, 0, 2939, 0, 2978, 3028, 2939, 3028,
8400  0, 2978, 2978, 0, 0, 0, 2975, 2939, 2978, 0,
8401  2978, 2939, 2950, 2950, 2950, 2950, 0, 2979, 0, 0,
8402  2979, 2976, 3028, 2950, 2950, 0, 0, 2950, 2979, 0,
8403 
8404  3028, 0, 0, 2979, 2979, 2950, 2950, 2950, 0, 0,
8405  2979, 2981, 2979, 0, 2981, 0, 0, 0, 0, 0,
8406  0, 0, 2981, 0, 2978, 0, 0, 2981, 2981, 0,
8407  2950, 2950, 0, 0, 2981, 0, 2981, 0, 0, 0,
8408  0, 0, 0, 2979, 0, 0, 0, 2950, 2977, 2977,
8409  2977, 2977, 2977, 2977, 2977, 2977, 2977, 2977, 2977, 2977,
8410  2977, 2977, 2977, 2977, 2977, 2977, 2977, 2977, 2980, 0,
8411  0, 2980, 2977, 2977, 2977, 2977, 2977, 2977, 2982, 2980,
8412  2981, 2982, 0, 0, 2980, 2980, 0, 0, 0, 2982,
8413  0, 2980, 0, 2980, 2982, 2982, 2977, 2977, 2977, 2977,
8414 
8415  0, 2982, 0, 2982, 0, 0, 0, 0, 0, 2983,
8416  0, 0, 2983, 0, 0, 0, 0, 0, 0, 0,
8417  2983, 0, 0, 0, 2980, 2983, 2983, 2977, 2977, 2977,
8418  2977, 2977, 2983, 2984, 2983, 0, 2984, 2985, 0, 0,
8419  2985, 0, 0, 0, 2984, 2982, 0, 0, 2985, 2984,
8420  2984, 0, 0, 2985, 2985, 0, 2984, 0, 2984, 0,
8421  2985, 2986, 2985, 2983, 2986, 2987, 0, 0, 2987, 0,
8422  0, 0, 2986, 0, 0, 0, 2987, 2986, 2986, 0,
8423  2988, 2987, 2987, 2988, 2986, 0, 2986, 0, 2987, 0,
8424  2987, 2988, 0, 2985, 0, 0, 2988, 2988, 2984, 2989,
8425 
8426  0, 0, 2989, 2988, 0, 2988, 3312, 3312, 3312, 3312,
8427  2989, 0, 0, 3312, 0, 2989, 2989, 2990, 2990, 0,
8428  2990, 2987, 2989, 0, 2989, 0, 2986, 0, 2990, 3312,
8429  0, 0, 0, 2990, 2990, 2988, 2991, 2991, 0, 2991,
8430  2990, 0, 2990, 0, 0, 0, 0, 2991, 0, 0,
8431  0, 0, 2991, 2991, 3312, 2989, 0, 0, 0, 2991,
8432  0, 2991, 0, 2992, 2992, 0, 2992, 2993, 2993, 0,
8433  2993, 0, 3312, 2990, 2992, 0, 0, 0, 2993, 2992,
8434  2992, 0, 0, 2993, 2993, 0, 2992, 3312, 2992, 0,
8435  2993, 0, 2993, 2994, 2994, 0, 2994, 2995, 2995, 0,
8436 
8437  2995, 0, 0, 0, 2994, 0, 0, 2991, 2995, 2994,
8438  2994, 0, 0, 2995, 2995, 0, 2994, 0, 2994, 2992,
8439  2995, 0, 2995, 2996, 2996, 0, 2996, 0, 0, 0,
8440  0, 0, 0, 0, 2996, 0, 0, 0, 2993, 2996,
8441  2996, 0, 0, 0, 0, 0, 2996, 0, 2996, 0,
8442  2998, 2998, 0, 2998, 0, 0, 0, 0, 2994, 0,
8443  2995, 2998, 0, 0, 0, 0, 2998, 2998, 0, 0,
8444  0, 0, 0, 2998, 0, 2998, 0, 2996, 2997, 2997,
8445  2997, 2997, 2997, 2997, 2997, 2997, 2997, 2997, 2997, 2997,
8446  2997, 2997, 2997, 2997, 2997, 2997, 2997, 2997, 2999, 2999,
8447 
8448  0, 2999, 2997, 2997, 2997, 2997, 2997, 2997, 0, 2999,
8449  0, 0, 0, 0, 2999, 2999, 0, 0, 0, 2998,
8450  0, 2999, 0, 2999, 0, 0, 2997, 2997, 2997, 2997,
8451  3000, 3000, 0, 3000, 0, 0, 0, 0, 0, 0,
8452  0, 3000, 0, 0, 0, 0, 3000, 3000, 0, 0,
8453  0, 0, 0, 3000, 2999, 3000, 0, 2997, 2997, 2997,
8454  2997, 2997, 3001, 3001, 0, 3001, 0, 0, 0, 0,
8455  0, 0, 0, 3001, 0, 0, 0, 0, 3001, 3001,
8456  3002, 3002, 0, 3002, 0, 3001, 3000, 3001, 0, 0,
8457  0, 3002, 0, 0, 0, 0, 3002, 3002, 3003, 3003,
8458 
8459  0, 3003, 0, 3002, 0, 3002, 0, 0, 0, 3003,
8460  0, 0, 0, 0, 3003, 3003, 3004, 3004, 0, 3004,
8461  0, 3003, 0, 3003, 0, 0, 0, 3004, 0, 0,
8462  0, 3001, 3004, 3004, 0, 3005, 3005, 0, 3005, 3004,
8463  0, 3004, 0, 0, 0, 3002, 3005, 0, 0, 0,
8464  0, 3005, 3005, 0, 3003, 0, 0, 0, 3005, 0,
8465  3005, 3006, 3006, 0, 3006, 3438, 3438, 3438, 3438, 0,
8466  0, 0, 3006, 0, 0, 0, 3438, 3006, 3006, 3007,
8467  3007, 3004, 3007, 0, 3006, 0, 3006, 0, 3438, 0,
8468  3007, 3005, 0, 0, 0, 3007, 3007, 3081, 3081, 3081,
8469 
8470  3081, 0, 3007, 0, 3007, 0, 0, 0, 3081, 0,
8471  0, 0, 0, 3438, 0, 0, 3006, 0, 0, 0,
8472  3081, 0, 3081, 3082, 3082, 3082, 3082, 0, 0, 0,
8473  0, 0, 0, 0, 3082, 3007, 3087, 3087, 3087, 3087,
8474  0, 3092, 3092, 3092, 3092, 3081, 3082, 3087, 3082, 0,
8475  0, 0, 3092, 3092, 0, 0, 3092, 3132, 0, 3087,
8476  3132, 3087, 0, 0, 3092, 3092, 3081, 0, 3132, 0,
8477  0, 3082, 0, 3132, 3132, 3082, 3083, 3083, 3083, 3083,
8478  3132, 0, 3132, 0, 3087, 0, 0, 3083, 3083, 3092,
8479  3092, 3083, 3091, 3091, 3091, 3091, 0, 0, 0, 3083,
8480 
8481  3083, 3083, 0, 3091, 3091, 0, 0, 3091, 3102, 3102,
8482  3102, 3102, 0, 0, 0, 3091, 3091, 3091, 0, 3102,
8483  3102, 0, 0, 3102, 3083, 3083, 0, 3132, 0, 0,
8484  0, 3102, 3102, 3102, 0, 0, 3104, 3104, 3104, 3104,
8485  3091, 3091, 3083, 3084, 3084, 3084, 3084, 3104, 3104, 0,
8486  0, 3104, 0, 0, 3084, 3084, 3102, 3102, 3084, 3104,
8487  3104, 3104, 0, 0, 0, 0, 3084, 3084, 3084, 0,
8488  0, 0, 0, 0, 3084, 0, 0, 0, 0, 0,
8489  0, 0, 0, 0, 3104, 3104, 0, 0, 0, 0,
8490  0, 3084, 3084, 3103, 3103, 3103, 3103, 3103, 3103, 3103,
8491 
8492  3103, 3103, 3103, 3103, 3103, 3103, 3103, 3103, 3103, 3103,
8493  3103, 3103, 3103, 3105, 3105, 3105, 3105, 3103, 3103, 3103,
8494  3103, 3103, 3103, 0, 3105, 3105, 0, 0, 3105, 3133,
8495  0, 0, 3133, 0, 0, 0, 3105, 3105, 0, 0,
8496  3133, 3103, 3103, 3103, 3103, 3133, 3133, 0, 3386, 3386,
8497  3386, 3386, 3133, 0, 3133, 3386, 0, 0, 0, 0,
8498  0, 3105, 3105, 0, 0, 0, 0, 0, 0, 0,
8499  0, 3386, 3103, 3103, 3103, 3103, 3103, 3106, 3106, 3106,
8500  3106, 0, 3134, 3133, 0, 3134, 0, 0, 3106, 3106,
8501  0, 0, 3106, 3134, 0, 0, 3386, 0, 3134, 3134,
8502 
8503  3106, 3106, 3106, 0, 0, 3134, 0, 3134, 0, 0,
8504  0, 0, 0, 0, 0, 0, 3207, 3207, 3207, 3207,
8505  0, 0, 0, 0, 0, 3106, 3106, 3207, 0, 3386,
8506  0, 3106, 3108, 3108, 3108, 3108, 0, 0, 3134, 3207,
8507  0, 3207, 3143, 3108, 3108, 3143, 0, 3108, 0, 0,
8508  0, 0, 0, 3143, 0, 3108, 3108, 3108, 3143, 3143,
8509  3144, 0, 0, 3144, 3207, 3143, 0, 3143, 3207, 0,
8510  0, 3144, 0, 0, 0, 0, 3144, 3144, 0, 3146,
8511  3108, 3108, 3146, 3144, 0, 3144, 0, 0, 3108, 0,
8512  3146, 0, 3108, 0, 0, 3146, 3146, 3143, 0, 0,
8513 
8514  0, 3108, 3146, 0, 3146, 3108, 3118, 3118, 3118, 3118,
8515  3118, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3118, 3118,
8516  3118, 3118, 3118, 3118, 3118, 3118, 0, 0, 0, 3144,
8517  3118, 3118, 3118, 3118, 3118, 3118, 0, 0, 0, 3146,
8518  0, 0, 0, 0, 0, 0, 0, 0, 3145, 0,
8519  0, 3145, 0, 0, 3118, 3118, 3118, 3118, 3118, 3145,
8520  0, 0, 0, 0, 3145, 3145, 0, 3147, 0, 0,
8521  3147, 3145, 0, 3145, 0, 0, 0, 0, 3147, 0,
8522  0, 0, 0, 3147, 3147, 3118, 3118, 3118, 3118, 3118,
8523  3147, 0, 3147, 3148, 3148, 0, 3148, 0, 0, 0,
8524 
8525  3145, 0, 0, 0, 3148, 0, 0, 0, 0, 3148,
8526  3148, 3149, 3149, 0, 3149, 0, 3148, 0, 3148, 0,
8527  0, 0, 3149, 0, 0, 0, 0, 3149, 3149, 3154,
8528  3154, 0, 3154, 0, 3149, 0, 3149, 0, 3147, 0,
8529  3154, 0, 0, 0, 0, 3154, 3154, 3155, 3155, 3148,
8530  3155, 0, 3154, 0, 3154, 0, 0, 0, 3155, 0,
8531  0, 0, 0, 3155, 3155, 3156, 3156, 0, 3156, 0,
8532  3155, 0, 3155, 0, 0, 0, 3156, 0, 0, 0,
8533  0, 3156, 3156, 3157, 3157, 0, 3157, 0, 3156, 0,
8534  3156, 0, 0, 0, 3157, 3193, 3193, 3193, 3193, 3157,
8535 
8536  3157, 0, 3155, 0, 0, 0, 3157, 3193, 3157, 0,
8537  3193, 3195, 3195, 3195, 3195, 0, 0, 0, 3193, 3193,
8538  0, 0, 0, 3195, 0, 3156, 3195, 3208, 3208, 3208,
8539  3208, 0, 0, 0, 3195, 3195, 0, 0, 3208, 0,
8540  0, 0, 0, 3193, 3193, 0, 3214, 3214, 3214, 3214,
8541  3208, 0, 3208, 0, 3157, 0, 0, 3214, 3214, 3195,
8542  3195, 3214, 3247, 0, 0, 3247, 0, 0, 0, 3214,
8543  3214, 3214, 0, 3247, 0, 3208, 0, 0, 3247, 3247,
8544  0, 3220, 3220, 3220, 3220, 3247, 0, 3247, 0, 0,
8545  0, 0, 3220, 3220, 3214, 3214, 3220, 0, 3208, 3209,
8546 
8547  3209, 3209, 3209, 0, 3220, 3220, 3220, 0, 0, 0,
8548  3209, 3209, 0, 0, 3209, 0, 3222, 3222, 3222, 3222,
8549  0, 0, 3209, 3209, 3209, 0, 0, 3222, 3222, 3220,
8550  3220, 3222, 0, 3247, 3240, 3240, 3240, 3240, 0, 3222,
8551  3222, 3222, 0, 0, 0, 3240, 3240, 3209, 3209, 3240,
8552  3248, 0, 0, 3248, 0, 0, 0, 3240, 3240, 3240,
8553  0, 3248, 0, 0, 3222, 3222, 3248, 3248, 3209, 3210,
8554  3210, 3210, 3210, 3248, 3338, 3248, 0, 3338, 0, 0,
8555  3210, 3210, 3240, 3240, 3210, 3338, 0, 0, 0, 0,
8556  3338, 3338, 3210, 3210, 3210, 0, 0, 3338, 0, 3338,
8557 
8558  0, 0, 3248, 0, 0, 0, 0, 0, 3210, 0,
8559  0, 0, 0, 0, 0, 0, 0, 3210, 3210, 3227,
8560  3227, 0, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227,
8561  3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227,
8562  3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227,
8563  3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227,
8564  3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227,
8565  3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227,
8566  3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227,
8567  3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227, 3227,
8568 
8569  3227, 3227, 3227, 3228, 3228, 3228, 3228, 3228, 3228, 3228,
8570  3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228,
8571  3228, 3228, 3228, 0, 0, 0, 0, 3228, 3228, 3228,
8572  3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228,
8573  3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228,
8574  3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228,
8575  3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228,
8576  3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228, 3228,
8577  3228, 3228, 3228, 3228, 3228, 3228, 3228, 3229, 3229, 0,
8578  3229, 3229, 3229, 3229, 3229, 3229, 3229, 3229, 3229, 3229,
8579 
8580  3229, 3229, 3229, 3229, 3229, 3229, 3229, 3249, 0, 0,
8581  3249, 3229, 3229, 3229, 3229, 3229, 3229, 3250, 3249, 0,
8582  3250, 0, 0, 3249, 3249, 0, 0, 3229, 3250, 0,
8583  3249, 0, 3249, 3250, 3250, 3229, 3229, 3229, 3229, 0,
8584  3250, 0, 3250, 0, 0, 0, 0, 0, 3251, 0,
8585  0, 3251, 0, 0, 0, 0, 0, 0, 0, 3251,
8586  0, 0, 0, 3249, 3251, 3251, 3229, 3229, 3229, 3229,
8587  3229, 3251, 0, 3251, 3252, 3252, 0, 3252, 3285, 3285,
8588  3285, 3285, 0, 0, 0, 3252, 0, 3250, 0, 3285,
8589  3252, 3252, 0, 3286, 3286, 3286, 3286, 3252, 0, 3252,
8590 
8591  0, 3285, 0, 3285, 3286, 0, 0, 0, 3297, 3297,
8592  3297, 3297, 0, 0, 0, 0, 3286, 0, 3286, 3297,
8593  3297, 0, 0, 3297, 0, 3251, 3285, 0, 0, 0,
8594  0, 3297, 3297, 3297, 0, 0, 0, 0, 0, 0,
8595  0, 3286, 0, 3330, 3330, 3330, 3330, 0, 0, 3285,
8596  0, 3252, 0, 0, 3330, 3330, 3297, 3297, 3330, 3286,
8597  3294, 3294, 3294, 3294, 0, 0, 3330, 3330, 3330, 0,
8598  3342, 3294, 3294, 3342, 0, 3294, 0, 3462, 3462, 3462,
8599  3462, 3342, 0, 3294, 3294, 3294, 3342, 3342, 3462, 0,
8600  0, 3330, 3330, 3342, 0, 3342, 0, 0, 0, 0,
8601 
8602  3462, 0, 0, 0, 0, 0, 0, 0, 3294, 3294,
8603  0, 0, 0, 0, 3294, 0, 0, 0, 0, 0,
8604  0, 0, 0, 0, 0, 3462, 3342, 0, 0, 0,
8605  3294, 3302, 3302, 0, 3302, 3302, 3302, 3302, 3302, 3302,
8606  3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302,
8607  3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302,
8608  3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302,
8609  3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302,
8610  3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302,
8611  3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302,
8612 
8613  3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302, 3302,
8614  3302, 3302, 3302, 3302, 3302, 3303, 3303, 3303, 3303, 3303,
8615  3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
8616  3303, 3303, 3303, 3303, 3303, 0, 0, 0, 0, 3303,
8617  3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
8618  3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
8619  3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
8620  3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
8621  3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
8622  3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3306,
8623 
8624  3306, 0, 3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306,
8625  3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306,
8626  3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306,
8627  3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306,
8628  3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306,
8629  3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306,
8630  3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306,
8631  3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306, 3306,
8632  3306, 3306, 3306, 3307, 3307, 0, 3307, 3307, 3307, 3307,
8633  3307, 3307, 3307, 3307, 3307, 3307, 3307, 3307, 3307, 3307,
8634 
8635  3307, 3307, 3307, 3343, 3343, 0, 3343, 3307, 3307, 3307,
8636  3307, 3307, 3307, 0, 3343, 0, 0, 0, 0, 3343,
8637  3343, 0, 0, 0, 0, 0, 3343, 0, 3343, 0,
8638  0, 3307, 3307, 3307, 3307, 0, 0, 0, 0, 0,
8639  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8640  0, 0, 0, 0, 0, 0, 0, 0, 0, 3343,
8641  0, 0, 3307, 3307, 3307, 3307, 3307, 3309, 3309, 0,
8642  3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309,
8643  3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309,
8644  3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309,
8645 
8646  3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309,
8647  3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309,
8648  3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309,
8649  3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309,
8650  3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309,
8651  3309, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314,
8652  3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314,
8653  3314, 0, 0, 0, 0, 3314, 3314, 3314, 3314, 3314,
8654  3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314,
8655  3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314,
8656 
8657  3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314,
8658  3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314,
8659  3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314, 3314,
8660  3314, 3314, 3314, 3314, 3314, 3315, 3315, 3315, 3315, 3315,
8661  3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315,
8662  3315, 3315, 3315, 3315, 3315, 0, 0, 0, 0, 3315,
8663  3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315,
8664  3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315,
8665  3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315,
8666  3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315,
8667 
8668  3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315,
8669  3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315, 3315, 3339,
8670  0, 0, 3339, 3340, 0, 0, 3340, 0, 0, 0,
8671  3339, 0, 0, 0, 3340, 3339, 3339, 0, 3341, 3340,
8672  3340, 3341, 3339, 0, 3339, 0, 3340, 0, 3340, 3341,
8673  0, 0, 0, 0, 3341, 3341, 3368, 3368, 3368, 3368,
8674  0, 3341, 0, 3341, 0, 0, 0, 3368, 0, 0,
8675  0, 0, 3369, 3369, 3369, 3369, 0, 0, 0, 3368,
8676  0, 3368, 0, 3369, 0, 0, 0, 0, 0, 3339,
8677  3377, 3377, 3377, 3377, 3340, 3369, 0, 3369, 0, 0,
8678 
8679  0, 3377, 3377, 0, 3368, 3377, 0, 3403, 0, 3341,
8680  3403, 0, 0, 3377, 3377, 3377, 0, 0, 3403, 0,
8681  3369, 0, 3368, 3403, 3403, 0, 0, 0, 0, 0,
8682  3403, 0, 3403, 0, 0, 0, 0, 0, 3377, 3377,
8683  0, 3369, 3374, 3374, 0, 3374, 3374, 3374, 3374, 3374,
8684  3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374, 3374,
8685  3374, 3374, 0, 0, 0, 0, 3374, 3374, 3374, 3374,
8686  3374, 3374, 0, 0, 0, 0, 0, 0, 3403, 0,
8687  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8688  3374, 3374, 3374, 3374, 0, 3404, 0, 0, 3404, 0,
8689 
8690  0, 0, 0, 0, 0, 0, 3404, 0, 0, 0,
8691  0, 3404, 3404, 0, 0, 0, 0, 0, 3404, 0,
8692  3404, 3374, 3374, 3374, 3374, 3374, 3384, 3384, 3384, 3384,
8693  3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384,
8694  3384, 3384, 3384, 3384, 3384, 3384, 3404, 0, 0, 0,
8695  3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384,
8696  3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384,
8697  3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384,
8698  3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384,
8699  3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384,
8700 
8701  3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384, 3384,
8702  3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385,
8703  3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385,
8704  0, 0, 0, 0, 3385, 3385, 3385, 3385, 3385, 3385,
8705  3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385,
8706  3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385,
8707  3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385,
8708  3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385,
8709  3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385,
8710  3385, 3385, 3385, 3385, 3387, 3387, 3387, 3387, 3387, 3387,
8711 
8712  3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387,
8713  3387, 3387, 3387, 3387, 0, 0, 0, 0, 3387, 3387,
8714  3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387,
8715  3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387,
8716  3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387,
8717  3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387,
8718  3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387,
8719  3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3388, 3388,
8720  3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388,
8721  3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388,
8722 
8723  3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388,
8724  3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388,
8725  3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388,
8726  3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388,
8727  3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388,
8728  3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388,
8729  3388, 3388, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389,
8730  3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389,
8731  3389, 3389, 0, 0, 0, 0, 3389, 3389, 3389, 3389,
8732  3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389,
8733 
8734  3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389,
8735  3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389,
8736  3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389,
8737  3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3389,
8738  3389, 3389, 3389, 3389, 3389, 3389, 3391, 3391, 3391, 3391,
8739  3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391,
8740  3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391,
8741  3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391,
8742  3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391,
8743  3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391,
8744 
8745  3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391,
8746  3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391,
8747  3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391, 3391,
8748  3405, 0, 0, 3405, 3406, 3406, 0, 3406, 0, 0,
8749  0, 3405, 0, 0, 0, 3406, 3405, 3405, 0, 0,
8750  3406, 3406, 0, 3405, 0, 3405, 0, 3406, 0, 3406,
8751  0, 3423, 3423, 3423, 3423, 0, 0, 3441, 3441, 3441,
8752  3441, 0, 3423, 0, 0, 0, 0, 3480, 3441, 3441,
8753  3480, 0, 3441, 0, 3423, 3405, 3423, 0, 3480, 3406,
8754  3441, 3441, 3441, 3480, 3480, 0, 3504, 0, 0, 3504,
8755 
8756  3480, 0, 3480, 3433, 3433, 3433, 3433, 3504, 0, 3423,
8757  3433, 0, 3504, 3504, 0, 0, 3441, 0, 0, 3504,
8758  0, 3504, 0, 0, 0, 0, 3433, 0, 0, 3480,
8759  3423, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424,
8760  3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424, 3424,
8761  3424, 3433, 0, 0, 0, 3424, 3424, 3424, 3424, 3424,
8762  3424, 0, 0, 0, 0, 0, 3504, 0, 0, 3433,
8763  0, 0, 0, 0, 0, 0, 0, 0, 0, 3424,
8764  3424, 3424, 3424, 3450, 3433, 0, 3450, 0, 0, 0,
8765  0, 0, 0, 0, 3450, 0, 0, 0, 0, 3450,
8766 
8767  3450, 0, 0, 0, 0, 0, 3450, 0, 3450, 0,
8768  3424, 3424, 3424, 3424, 3424, 3431, 3431, 3431, 3431, 3431,
8769  3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431,
8770  3431, 3431, 3431, 3431, 3431, 0, 0, 3450, 0, 3431,
8771  3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431,
8772  3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431,
8773  3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431,
8774  3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431,
8775  3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431,
8776  3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431, 3431, 3437,
8777 
8778  3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437,
8779  3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437,
8780  3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437,
8781  3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437,
8782  3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437,
8783  3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437,
8784  3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437,
8785  3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437, 3437,
8786  3437, 3437, 3437, 3439, 3439, 0, 3439, 3439, 3439, 3439,
8787  3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439,
8788 
8789  3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439,
8790  3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439,
8791  3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439,
8792  3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439,
8793  3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439,
8794  3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439, 3439,
8795  3439, 3439, 3439, 3439, 3439, 3439, 3439, 3461, 3461, 3461,
8796  3461, 3461, 3461, 3461, 3461, 3461, 3461, 3461, 3461, 3461,
8797  3461, 3461, 3461, 3461, 3461, 3461, 3461, 3535, 3535, 3535,
8798  3535, 3461, 3461, 3461, 3461, 3461, 3461, 0, 3535, 3535,
8799 
8800  0, 0, 3535, 0, 0, 0, 0, 0, 0, 0,
8801  3535, 3535, 3535, 0, 0, 3461, 3461, 3461, 3461, 0,
8802  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8803  0, 0, 0, 0, 0, 3535, 3535, 0, 0, 0,
8804  0, 0, 0, 0, 0, 0, 3461, 3461, 3461, 3461,
8805  3461, 3464, 3464, 0, 3464, 3464, 3464, 3464, 3464, 3464,
8806  3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464,
8807  3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464,
8808  3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464,
8809  3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464,
8810 
8811  3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464,
8812  3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464,
8813  3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464, 3464,
8814  3464, 3464, 3464, 3464, 3464, 3468, 3468, 0, 3468, 3468,
8815  3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468,
8816  3468, 3468, 3468, 3468, 3468, 0, 0, 0, 0, 3468,
8817  3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468,
8818  3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468,
8819  3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468,
8820  3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468,
8821 
8822  3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468,
8823  3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468, 3468, 3469,
8824  3469, 0, 3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469,
8825  3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469, 0,
8826  0, 0, 0, 3469, 3469, 3469, 3469, 3469, 3469, 3469,
8827  3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469,
8828  3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469,
8829  3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469,
8830  3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469,
8831  3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469, 3469,
8832 
8833  3469, 3469, 3469, 3496, 3496, 0, 3496, 3496, 3496, 3496,
8834  3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496,
8835  3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496,
8836  3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496,
8837  3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496,
8838  3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496,
8839  3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496,
8840  3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496, 3496,
8841  3496, 3496, 3496, 3496, 3496, 3496, 3496, 3515, 0, 0,
8842  3515, 0, 0, 0, 0, 0, 0, 0, 3515, 0,
8843 
8844  0, 0, 0, 3515, 3515, 0, 0, 0, 0, 0,
8845  3515, 0, 3515, 0, 0, 0, 0, 0, 0, 0,
8846  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8847  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8848  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8849  0, 0, 0, 0, 0, 0, 0, 0, 3515, 3537,
8850  3537, 3537, 3537, 3537, 3537, 3537, 3537, 3537, 3537, 3537,
8851  3537, 3537, 3537, 3537, 3537, 3537, 3537, 3537, 3537, 3537,
8852  3537, 3537, 3537, 3537, 3537, 3537, 3537, 3537, 3537, 3538,
8853  3538, 3538, 3538, 3538, 3538, 3538, 3538, 3538, 3538, 3538,
8854 
8855  3538, 3538, 3538, 3538, 3538, 3538, 3538, 3538, 3538, 3538,
8856  3538, 3538, 3538, 3538, 3538, 3538, 3538, 3538, 3538, 3539,
8857  3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539,
8858  3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539,
8859  3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3539, 3540,
8860  3540, 3540, 3540, 3540, 3540, 3540, 3540, 3540, 3540, 3540,
8861  3540, 3540, 3540, 3540, 3540, 3540, 3540, 3540, 3540, 3540,
8862  3540, 3540, 3540, 3540, 3540, 3540, 3540, 3540, 3540, 3541,
8863  3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541,
8864  3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541,
8865 
8866  3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3541, 3542,
8867  3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542,
8868  3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542,
8869  3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3543,
8870  3543, 3543, 3543, 3543, 3543, 3543, 3543, 3543, 3543, 3543,
8871  3543, 3543, 3543, 3543, 3543, 3543, 3543, 3543, 3543, 3543,
8872  3543, 3543, 3543, 3543, 3543, 3543, 3543, 3543, 3543, 3544,
8873  3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544,
8874  3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544,
8875  3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3544, 3545,
8876 
8877  3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545,
8878  3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545,
8879  3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3545, 3546,
8880  3546, 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3546,
8881  3546, 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3546,
8882  3546, 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3547,
8883  3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547,
8884  3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547,
8885  3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3547, 3548,
8886  3548, 3548, 3548, 3548, 3548, 3548, 3548, 3548, 3548, 3548,
8887 
8888  3548, 3548, 3548, 3548, 3548, 3548, 3548, 3548, 3548, 3548,
8889  3548, 3548, 3548, 3548, 3548, 3548, 3548, 3548, 3548, 3549,
8890  3549, 3549, 3549, 3549, 3549, 3549, 3549, 3549, 3549, 3549,
8891  3549, 3549, 3549, 3549, 3549, 3549, 3549, 3549, 3549, 3549,
8892  3549, 3549, 3549, 3549, 3549, 3549, 3549, 3549, 3549, 3550,
8893  3550, 0, 0, 3550, 0, 3550, 3550, 3550, 3550, 3550,
8894  3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
8895  3550, 3550, 0, 3550, 3550, 3550, 3550, 3550, 3550, 3551,
8896  3551, 0, 3551, 3551, 3551, 3551, 3551, 3551, 3551, 3551,
8897  3551, 3551, 3551, 3551, 3551, 3551, 3551, 3551, 3551, 3551,
8898 
8899  3551, 3551, 3551, 3551, 3551, 3551, 3551, 3551, 3551, 3552,
8900  3552, 0, 0, 3552, 3552, 3552, 0, 3552, 3552, 3552,
8901  3552, 3552, 3552, 3552, 3552, 3552, 3552, 3552, 3552, 3552,
8902  3552, 3552, 0, 3552, 3552, 3552, 3552, 3552, 3552, 3553,
8903  3553, 0, 3553, 3553, 0, 3553, 3553, 3553, 3553, 3553,
8904  3553, 3553, 3553, 3553, 3553, 3553, 3553, 3553, 3553, 3553,
8905  3553, 3553, 3553, 3553, 3553, 3553, 3553, 3553, 3553, 3554,
8906  3554, 0, 3554, 3554, 3554, 3554, 3554, 3554, 3554, 3554,
8907  3554, 3554, 3554, 0, 3554, 3554, 3554, 3554, 3554, 3554,
8908  3554, 3554, 0, 3554, 3554, 3554, 3554, 3554, 3554, 3555,
8909 
8910  3555, 3555, 3555, 3555, 3555, 3555, 3555, 3555, 3555, 3555,
8911  3555, 3555, 3555, 3555, 3555, 3555, 3555, 3555, 3555, 3555,
8912  3555, 3555, 3555, 3555, 3555, 3555, 3555, 3555, 3555, 3556,
8913  3556, 0, 3556, 3556, 3556, 3556, 3556, 3556, 3556, 0,
8914  3556, 3556, 3556, 0, 3556, 3556, 3556, 3556, 3556, 3556,
8915  3556, 3556, 3556, 3556, 3556, 3556, 3556, 3556, 3556, 3557,
8916  3557, 0, 0, 3557, 3557, 3557, 3557, 3557, 3557, 3557,
8917  3557, 3557, 3557, 3557, 3557, 3557, 3557, 3557, 3557, 3557,
8918  3557, 3557, 3557, 3557, 3557, 3557, 3557, 3557, 3557, 3558,
8919  3558, 0, 3558, 3558, 3558, 3558, 3558, 3558, 3558, 0,
8920 
8921  3558, 3558, 3558, 3558, 3558, 3558, 3558, 3558, 3558, 3558,
8922  3558, 3558, 3558, 3558, 3558, 3558, 3558, 3558, 3558, 3560,
8923  3560, 0, 3560, 3560, 3560, 3560, 3560, 3560, 3560, 3560,
8924  3560, 3560, 3560, 3560, 3560, 3560, 3560, 3560, 3560, 3560,
8925  3560, 3560, 3560, 3560, 3560, 3560, 3560, 3560, 3560, 3561,
8926  3561, 3561, 3561, 0, 0, 0, 3561, 3561, 0, 3561,
8927  0, 0, 0, 3561, 3561, 3561, 3561, 0, 3561, 3561,
8928  0, 3561, 3561, 3561, 0, 0, 0, 3561, 3562, 3562,
8929  3562, 3562, 0, 3562, 0, 0, 0, 0, 0, 0,
8930  0, 0, 0, 3562, 0, 0, 0, 3562, 3562, 0,
8931 
8932  3562, 0, 3562, 0, 0, 3562, 3562, 3563, 3563, 3563,
8933  3563, 0, 3563, 0, 0, 0, 0, 0, 0, 0,
8934  0, 0, 0, 0, 0, 0, 3563, 3563, 0, 0,
8935  0, 3563, 0, 0, 0, 3563, 3565, 0, 0, 3565,
8936  0, 0, 0, 3565, 0, 0, 0, 3565, 3565, 0,
8937  3565, 3565, 0, 3565, 0, 3565, 3565, 0, 0, 0,
8938  3565, 0, 0, 0, 3565, 3567, 3567, 3567, 3567, 0,
8939  0, 0, 3567, 0, 0, 0, 0, 0, 0, 3567,
8940  3567, 0, 3567, 0, 3567, 3567, 0, 3567, 0, 3567,
8941  0, 0, 0, 3567, 3568, 3568, 3568, 3568, 0, 3568,
8942 
8943  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8944  0, 0, 0, 3568, 3568, 0, 0, 0, 3568, 0,
8945  0, 0, 3568, 3570, 3570, 0, 3570, 0, 0, 0,
8946  3570, 0, 0, 0, 3570, 3570, 0, 3570, 3570, 0,
8947  3570, 0, 3570, 3570, 0, 0, 0, 3570, 0, 0,
8948  0, 3570, 3572, 0, 0, 0, 0, 3572, 3572, 0,
8949  0, 0, 3572, 0, 0, 0, 3572, 3574, 0, 0,
8950  3574, 0, 0, 0, 3574, 0, 0, 0, 0, 0,
8951  0, 3574, 3574, 0, 0, 0, 3574, 3574, 0, 3574,
8952  0, 3574, 0, 0, 0, 3574, 3576, 0, 3576, 0,
8953 
8954  0, 0, 0, 3576, 3576, 0, 0, 0, 3576, 0,
8955  0, 0, 3576, 3578, 0, 0, 0, 0, 3578, 3578,
8956  0, 0, 0, 3578, 0, 0, 0, 3578, 3580, 3580,
8957  0, 0, 0, 3580, 3580, 0, 3580, 0, 3580, 0,
8958  0, 0, 3580, 3581, 3581, 0, 0, 0, 0, 0,
8959  0, 0, 0, 0, 0, 0, 0, 0, 3581, 3581,
8960  0, 0, 0, 3581, 0, 0, 0, 3581, 3582, 3582,
8961  0, 3582, 3582, 3582, 3582, 3582, 3582, 3582, 3582, 3582,
8962  3582, 3582, 3582, 3582, 3582, 3582, 3582, 3582, 3582, 3582,
8963  3582, 3582, 3582, 3582, 3582, 3582, 3582, 3582, 3584, 3584,
8964 
8965  3584, 3584, 0, 0, 0, 0, 0, 0, 0, 0,
8966  0, 0, 3584, 3584, 0, 3584, 0, 3584, 3584, 0,
8967  3584, 0, 3584, 0, 0, 0, 3584, 3585, 3585, 3585,
8968  3585, 0, 3585, 0, 0, 0, 0, 0, 0, 0,
8969  0, 0, 0, 0, 0, 0, 3585, 3585, 0, 0,
8970  0, 3585, 0, 0, 3585, 3585, 3586, 3586, 3586, 3586,
8971  0, 3586, 0, 0, 0, 0, 0, 0, 0, 0,
8972  0, 0, 0, 0, 0, 3586, 3586, 0, 0, 0,
8973  3586, 0, 0, 0, 3586, 3588, 0, 0, 0, 0,
8974  3588, 3588, 0, 0, 0, 3588, 0, 0, 0, 3588,
8975 
8976  3590, 0, 0, 0, 0, 3590, 3590, 0, 0, 0,
8977  3590, 0, 0, 0, 3590, 3592, 0, 0, 3592, 0,
8978  0, 0, 0, 0, 0, 0, 0, 0, 0, 3592,
8979  3592, 0, 0, 0, 3592, 3592, 0, 0, 0, 3592,
8980  0, 0, 0, 3592, 3594, 0, 0, 0, 0, 3594,
8981  3594, 0, 0, 0, 3594, 0, 0, 0, 3594, 3596,
8982  3596, 0, 3596, 0, 3596, 3596, 0, 3596, 3596, 3596,
8983  3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596,
8984  3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3596, 3597,
8985  0, 0, 0, 0, 3597, 3597, 0, 0, 0, 3597,
8986 
8987  0, 0, 0, 3597, 3599, 3599, 3599, 3599, 0, 0,
8988  0, 0, 0, 0, 0, 0, 0, 0, 3599, 3599,
8989  0, 0, 0, 3599, 3599, 0, 0, 3599, 3599, 0,
8990  0, 0, 3599, 3600, 3600, 0, 3600, 3600, 0, 0,
8991  3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600, 3600,
8992  3600, 3600, 3600, 3600, 3600, 3600, 0, 3600, 3600, 3600,
8993  3600, 3600, 3600, 3602, 3602, 0, 3602, 3602, 0, 0,
8994  3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602, 3602,
8995  3602, 3602, 3602, 3602, 3602, 3602, 0, 3602, 3602, 3602,
8996  3602, 3602, 3602, 3603, 3603, 0, 3603, 3603, 3603, 3603,
8997 
8998  3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603,
8999  3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603, 3603,
9000  3603, 3603, 3603, 3605, 0, 0, 0, 0, 3605, 3605,
9001  0, 0, 0, 3605, 0, 0, 0, 3605, 3607, 3607,
9002  0, 0, 0, 3607, 3607, 0, 0, 0, 3607, 0,
9003  0, 0, 3607, 3608, 3608, 0, 3608, 3608, 3608, 3608,
9004  3608, 3608, 0, 3608, 3608, 3608, 3608, 3608, 3608, 3608,
9005  3608, 3608, 3608, 3608, 3608, 3608, 3608, 3608, 3608, 3608,
9006  3608, 3608, 3608, 3609, 0, 3609, 3609, 0, 3609, 3609,
9007  3609, 0, 0, 3609, 3609, 3609, 3609, 3609, 3609, 3609,
9008 
9009  3609, 3609, 3609, 3609, 3609, 3609, 0, 3609, 3609, 3609,
9010  3609, 3609, 3609, 3610, 3610, 0, 0, 3610, 0, 3610,
9011  3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610, 3610,
9012  3610, 3610, 3610, 3610, 3610, 3610, 0, 3610, 3610, 3610,
9013  3610, 3610, 3610, 3611, 3611, 0, 0, 3611, 3611, 3611,
9014  0, 3611, 3611, 3611, 3611, 3611, 3611, 3611, 3611, 3611,
9015  3611, 3611, 3611, 3611, 3611, 3611, 0, 3611, 3611, 3611,
9016  3611, 3611, 3611, 3612, 3612, 0, 3612, 3612, 0, 3612,
9017  3612, 3612, 3612, 3612, 3612, 3612, 3612, 3612, 3612, 3612,
9018  3612, 3612, 3612, 3612, 3612, 3612, 3612, 3612, 3612, 3612,
9019 
9020  3612, 3612, 3612, 3613, 3613, 0, 3613, 3613, 3613, 3613,
9021  3613, 3613, 3613, 3613, 3613, 3613, 3613, 0, 3613, 3613,
9022  3613, 3613, 3613, 3613, 3613, 3613, 0, 3613, 3613, 3613,
9023  3613, 3613, 3613, 3614, 3614, 3614, 3614, 3614, 3614, 3614,
9024  3614, 3614, 3614, 3614, 3614, 3614, 3614, 3614, 3614, 3614,
9025  3614, 3614, 3614, 3614, 3614, 3614, 3614, 3614, 3614, 3614,
9026  3614, 3614, 3614, 3615, 3615, 0, 3615, 3615, 3615, 3615,
9027  3615, 3615, 3615, 0, 3615, 3615, 3615, 0, 3615, 3615,
9028  3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
9029  3615, 3615, 3615, 3616, 3616, 0, 0, 3616, 3616, 3616,
9030 
9031  3616, 3616, 3616, 3616, 3616, 3616, 3616, 3616, 3616, 3616,
9032  3616, 3616, 3616, 3616, 3616, 3616, 3616, 3616, 3616, 3616,
9033  3616, 3616, 3616, 3617, 3617, 0, 3617, 3617, 3617, 3617,
9034  3617, 3617, 3617, 0, 3617, 3617, 3617, 3617, 3617, 3617,
9035  3617, 3617, 3617, 3617, 3617, 3617, 3617, 3617, 3617, 3617,
9036  3617, 3617, 3617, 3618, 3618, 3618, 3618, 0, 0, 0,
9037  3618, 3618, 0, 3618, 0, 0, 0, 3618, 3618, 3618,
9038  3618, 0, 3618, 3618, 0, 3618, 3618, 3618, 0, 0,
9039  0, 3618, 3619, 3619, 0, 3619, 3619, 3619, 3619, 3619,
9040  3619, 3619, 3619, 3619, 3619, 3619, 3619, 3619, 3619, 3619,
9041 
9042  3619, 3619, 3619, 3619, 3619, 3619, 3619, 3619, 3619, 3619,
9043  3619, 3619, 3620, 0, 0, 3620, 0, 3620, 0, 0,
9044  3620, 3620, 0, 0, 0, 0, 0, 3620, 0, 0,
9045  0, 3620, 3620, 0, 3620, 0, 3620, 0, 0, 3620,
9046  3620, 3622, 3622, 3622, 3622, 0, 3622, 0, 0, 0,
9047  0, 0, 0, 0, 0, 0, 3622, 0, 0, 0,
9048  3622, 3622, 0, 3622, 0, 3622, 0, 0, 3622, 3622,
9049  3623, 3623, 0, 3623, 3623, 0, 3623, 3623, 3623, 3623,
9050  3623, 3623, 3623, 3623, 0, 3623, 3623, 3623, 3623, 3623,
9051  3623, 3623, 3623, 3623, 3623, 3623, 0, 3623, 3623, 3623,
9052 
9053  3624, 3624, 3624, 3624, 0, 3624, 0, 0, 0, 0,
9054  0, 0, 0, 0, 0, 3624, 0, 0, 0, 3624,
9055  3624, 0, 3624, 0, 3624, 0, 0, 3624, 3624, 3625,
9056  0, 3625, 3625, 0, 3625, 3625, 3625, 3625, 0, 3625,
9057  3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625, 3625,
9058  3625, 3625, 0, 3625, 3625, 3625, 3625, 3625, 3625, 3626,
9059  3626, 3626, 3626, 0, 0, 0, 3626, 3626, 0, 3626,
9060  0, 0, 0, 3626, 3626, 3626, 3626, 0, 3626, 3626,
9061  0, 3626, 3626, 3626, 0, 0, 0, 3626, 3627, 3627,
9062  3627, 3627, 0, 3627, 0, 0, 0, 0, 0, 0,
9063 
9064  0, 0, 0, 3627, 0, 0, 0, 3627, 3627, 0,
9065  3627, 0, 3627, 0, 0, 3627, 3627, 3628, 3628, 3628,
9066  3628, 0, 3628, 0, 0, 0, 0, 0, 0, 0,
9067  0, 0, 0, 0, 0, 0, 3628, 3628, 0, 0,
9068  0, 3628, 0, 0, 0, 3628, 3629, 3629, 3629, 3629,
9069  0, 0, 0, 3629, 3629, 0, 3629, 0, 0, 0,
9070  3629, 0, 3629, 3629, 0, 3629, 3629, 0, 0, 3629,
9071  3629, 0, 0, 0, 3629, 3630, 0, 0, 3630, 0,
9072  0, 0, 3630, 0, 0, 0, 3630, 3630, 0, 3630,
9073  3630, 0, 3630, 0, 3630, 3630, 0, 0, 0, 3630,
9074 
9075  0, 0, 0, 3630, 3631, 0, 0, 3631, 0, 3631,
9076  0, 0, 3631, 3631, 0, 0, 0, 0, 0, 0,
9077  0, 0, 0, 3631, 3631, 0, 0, 0, 3631, 0,
9078  0, 0, 3631, 3632, 3632, 0, 3632, 3632, 3632, 3632,
9079  3632, 0, 0, 3632, 3632, 3632, 3632, 3632, 3632, 3632,
9080  3632, 0, 3632, 3632, 3632, 0, 3632, 0, 3632, 0,
9081  0, 3632, 3632, 3633, 3633, 3633, 3633, 0, 0, 0,
9082  3633, 0, 0, 0, 0, 0, 0, 3633, 3633, 0,
9083  3633, 0, 3633, 3633, 0, 3633, 0, 3633, 0, 0,
9084  0, 3633, 3634, 3634, 3634, 3634, 0, 3634, 0, 0,
9085 
9086  0, 0, 0, 0, 0, 0, 0, 3634, 0, 0,
9087  0, 3634, 3634, 0, 3634, 0, 3634, 0, 0, 3634,
9088  3634, 3635, 3635, 0, 3635, 3635, 0, 3635, 3635, 0,
9089  0, 3635, 3635, 3635, 3635, 0, 3635, 3635, 3635, 3635,
9090  3635, 3635, 3635, 3635, 3635, 3635, 3635, 0, 0, 3635,
9091  3635, 3636, 3636, 3636, 3636, 0, 3636, 0, 0, 0,
9092  0, 0, 0, 0, 0, 0, 3636, 0, 0, 0,
9093  3636, 3636, 0, 3636, 0, 3636, 0, 0, 3636, 3636,
9094  3637, 3637, 3637, 3637, 0, 3637, 0, 0, 0, 0,
9095  0, 0, 0, 0, 0, 0, 0, 0, 0, 3637,
9096 
9097  3637, 0, 0, 0, 3637, 0, 0, 0, 3637, 3638,
9098  3638, 3638, 3638, 0, 0, 0, 3638, 0, 0, 0,
9099  0, 0, 0, 3638, 0, 0, 0, 0, 3638, 3638,
9100  0, 0, 0, 3638, 0, 0, 0, 3638, 3639, 3639,
9101  0, 3639, 0, 0, 0, 3639, 0, 0, 0, 3639,
9102  3639, 0, 3639, 3639, 0, 3639, 0, 3639, 3639, 0,
9103  0, 0, 3639, 0, 0, 0, 3639, 3640, 0, 0,
9104  0, 0, 3640, 3640, 0, 0, 0, 3640, 0, 0,
9105  0, 3640, 3641, 0, 0, 3641, 0, 0, 0, 3641,
9106  0, 0, 0, 0, 0, 0, 3641, 3641, 0, 0,
9107 
9108  0, 3641, 3641, 0, 3641, 0, 3641, 0, 0, 0,
9109  3641, 3642, 0, 0, 0, 0, 0, 0, 0, 0,
9110  0, 0, 0, 0, 0, 3642, 3642, 0, 0, 0,
9111  3642, 0, 0, 0, 3642, 3643, 0, 0, 0, 0,
9112  0, 0, 0, 0, 0, 0, 0, 0, 0, 3643,
9113  3643, 0, 0, 0, 3643, 0, 0, 0, 3643, 3644,
9114  0, 3644, 0, 0, 0, 0, 3644, 3644, 0, 0,
9115  0, 3644, 0, 0, 0, 3644, 3645, 0, 0, 0,
9116  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9117  3645, 3645, 0, 0, 0, 3645, 0, 0, 0, 3645,
9118 
9119  3646, 0, 0, 0, 0, 3646, 3646, 0, 0, 0,
9120  3646, 0, 0, 0, 3646, 3647, 3647, 0, 0, 0,
9121  3647, 3647, 0, 3647, 0, 3647, 0, 0, 0, 3647,
9122  3648, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9123  0, 0, 0, 0, 3648, 3648, 0, 0, 0, 3648,
9124  0, 0, 0, 3648, 3649, 0, 0, 0, 0, 0,
9125  0, 0, 0, 0, 0, 0, 0, 0, 3649, 3649,
9126  0, 0, 0, 3649, 0, 0, 0, 3649, 3650, 0,
9127  0, 0, 0, 3650, 3650, 0, 0, 0, 3650, 0,
9128  0, 0, 3650, 3651, 3651, 0, 3651, 3651, 3651, 3651,
9129 
9130  3651, 3651, 3651, 3651, 3651, 3651, 3651, 3651, 3651, 3651,
9131  3651, 3651, 3651, 3651, 3651, 3651, 3651, 3651, 3651, 3651,
9132  3651, 3651, 3651, 3652, 3652, 3652, 3652, 0, 0, 0,
9133  0, 0, 0, 0, 0, 0, 0, 3652, 3652, 0,
9134  3652, 0, 3652, 3652, 0, 3652, 0, 3652, 0, 0,
9135  0, 3652, 3653, 3653, 3653, 3653, 0, 3653, 0, 0,
9136  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9137  0, 3653, 3653, 0, 0, 0, 3653, 0, 0, 3653,
9138  3653, 3654, 3654, 0, 3654, 3654, 0, 3654, 3654, 3654,
9139  3654, 3654, 3654, 0, 0, 0, 3654, 3654, 3654, 3654,
9140 
9141  3654, 3654, 3654, 3654, 3654, 3654, 3654, 0, 3654, 3654,
9142  3654, 3655, 3655, 3655, 3655, 0, 0, 0, 0, 0,
9143  0, 0, 0, 0, 0, 3655, 3655, 0, 3655, 0,
9144  3655, 3655, 0, 3655, 0, 3655, 0, 0, 0, 3655,
9145  3656, 3656, 3656, 3656, 0, 3656, 0, 0, 0, 0,
9146  0, 0, 0, 0, 0, 0, 0, 0, 0, 3656,
9147  3656, 0, 0, 0, 3656, 0, 0, 0, 3656, 3657,
9148  0, 0, 3657, 0, 0, 0, 0, 0, 0, 0,
9149  0, 0, 0, 3657, 0, 0, 3657, 0, 3657, 3657,
9150  0, 0, 0, 3657, 0, 0, 0, 3657, 3658, 0,
9151 
9152  0, 0, 0, 3658, 3658, 0, 0, 0, 3658, 0,
9153  0, 0, 3658, 3659, 0, 0, 0, 0, 3659, 3659,
9154  0, 0, 0, 3659, 0, 0, 0, 3659, 3660, 0,
9155  0, 3660, 0, 0, 0, 0, 0, 0, 0, 0,
9156  0, 0, 3660, 3660, 0, 0, 0, 3660, 3660, 0,
9157  0, 0, 3660, 0, 0, 0, 3660, 3661, 0, 0,
9158  0, 0, 3661, 3661, 0, 0, 0, 3661, 0, 0,
9159  0, 3661, 3662, 0, 0, 0, 0, 3662, 3662, 0,
9160  0, 0, 3662, 0, 0, 0, 3662, 3663, 3663, 0,
9161  3663, 0, 3663, 3663, 3663, 3663, 3663, 3663, 3663, 3663,
9162 
9163  3663, 3663, 3663, 3663, 3663, 3663, 3663, 3663, 3663, 3663,
9164  0, 3663, 3663, 3663, 3663, 3663, 3663, 3664, 3664, 0,
9165  3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664,
9166  3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664, 3664,
9167  3664, 3664, 3664, 3664, 3664, 3664, 3664, 3665, 3665, 3665,
9168  3665, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9169  0, 3665, 3665, 0, 0, 0, 3665, 3665, 0, 0,
9170  3665, 3665, 0, 0, 0, 3665, 3666, 3666, 0, 3666,
9171  3666, 0, 0, 3666, 3666, 3666, 3666, 3666, 3666, 3666,
9172  3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 3666, 0,
9173 
9174  3666, 3666, 3666, 3666, 3666, 3666, 3667, 0, 0, 0,
9175  0, 3667, 3667, 0, 0, 0, 3667, 0, 0, 0,
9176  3667, 3668, 3668, 0, 3668, 3668, 0, 0, 3668, 3668,
9177  3668, 3668, 3668, 3668, 3668, 3668, 3668, 3668, 3668, 3668,
9178  3668, 3668, 3668, 3668, 0, 3668, 3668, 3668, 3668, 3668,
9179  3668, 3669, 0, 0, 0, 0, 3669, 3669, 0, 0,
9180  0, 3669, 0, 0, 0, 3669, 3670, 3670, 0, 0,
9181  0, 3670, 3670, 0, 0, 0, 3670, 0, 0, 0,
9182  3670, 3671, 3671, 0, 3671, 3671, 3671, 3671, 3671, 3671,
9183  0, 3671, 3671, 3671, 3671, 3671, 3671, 3671, 3671, 3671,
9184 
9185  3671, 3671, 3671, 3671, 3671, 3671, 3671, 3671, 3671, 3671,
9186  3671, 3672, 0, 3672, 3672, 0, 3672, 3672, 3672, 0,
9187  0, 3672, 3672, 3672, 3672, 3672, 3672, 3672, 3672, 3672,
9188  3672, 3672, 3672, 3672, 0, 3672, 3672, 3672, 3672, 3672,
9189  3672, 3673, 3673, 3673, 3673, 3673, 3673, 3673, 3673, 3673,
9190  3673, 3673, 3673, 3673, 3673, 0, 3673, 3673, 3673, 3673,
9191  3673, 3673, 3673, 3673, 3673, 3673, 3673, 3673, 3673, 3673,
9192  3673, 3674, 3674, 3674, 3674, 3674, 3674, 3674, 3674, 3674,
9193  3674, 3674, 3674, 3674, 3674, 3674, 3674, 3674, 3674, 3674,
9194  3674, 3674, 3674, 3674, 3674, 3674, 3674, 3674, 3674, 3674,
9195 
9196  3674, 3675, 3675, 3675, 3675, 3675, 3675, 3675, 3675, 3675,
9197  3675, 3675, 3675, 3675, 3675, 0, 3675, 3675, 3675, 3675,
9198  3675, 3675, 3675, 3675, 3675, 3675, 3675, 3675, 3675, 3675,
9199  3675, 3676, 3676, 3676, 3676, 3676, 3676, 3676, 3676, 3676,
9200  3676, 3676, 3676, 3676, 3676, 3676, 3676, 3676, 3676, 3676,
9201  3676, 3676, 3676, 3676, 3676, 3676, 3676, 3676, 3676, 3676,
9202  3676, 3677, 3677, 3677, 3677, 3677, 3677, 3677, 3677, 3677,
9203  3677, 3677, 3677, 3677, 3677, 3677, 3677, 3677, 3677, 3677,
9204  3677, 3677, 3677, 3677, 3677, 3677, 3677, 3677, 3677, 3677,
9205  3677, 3678, 3678, 0, 0, 3678, 0, 3678, 3678, 3678,
9206 
9207  3678, 3678, 3678, 3678, 3678, 3678, 3678, 3678, 3678, 3678,
9208  3678, 3678, 3678, 3678, 0, 3678, 3678, 3678, 3678, 3678,
9209  3678, 3679, 3679, 3679, 3679, 3679, 3679, 3679, 3679, 3679,
9210  3679, 3679, 3679, 3679, 3679, 3679, 3679, 3679, 3679, 3679,
9211  3679, 3679, 3679, 3679, 3679, 3679, 3679, 3679, 3679, 3679,
9212  3679, 3680, 3680, 3680, 3680, 3680, 3680, 3680, 3680, 3680,
9213  3680, 3680, 3680, 3680, 3680, 3680, 3680, 3680, 3680, 3680,
9214  3680, 3680, 3680, 3680, 3680, 3680, 3680, 3680, 3680, 3680,
9215  3680, 3681, 3681, 3681, 3681, 3681, 3681, 3681, 3681, 3681,
9216  3681, 3681, 3681, 3681, 3681, 3681, 3681, 3681, 3681, 3681,
9217 
9218  3681, 3681, 3681, 3681, 3681, 3681, 3681, 3681, 3681, 3681,
9219  3681, 3682, 3682, 3682, 3682, 3682, 3682, 3682, 3682, 3682,
9220  3682, 3682, 3682, 3682, 3682, 3682, 3682, 3682, 3682, 3682,
9221  3682, 3682, 3682, 3682, 3682, 3682, 3682, 3682, 3682, 3682,
9222  3682, 3683, 3683, 0, 0, 3683, 3683, 3683, 0, 3683,
9223  3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683, 3683,
9224  3683, 3683, 3683, 3683, 0, 3683, 3683, 3683, 3683, 3683,
9225  3683, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684,
9226  3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684,
9227  3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684, 3684,
9228 
9229  3684, 3685, 3685, 3685, 3685, 3685, 3685, 3685, 3685, 3685,
9230  3685, 3685, 3685, 3685, 3685, 3685, 3685, 3685, 3685, 3685,
9231  3685, 3685, 3685, 3685, 3685, 3685, 3685, 3685, 3685, 3685,
9232  3685, 3686, 3686, 3686, 3686, 3686, 3686, 3686, 3686, 3686,
9233  3686, 3686, 3686, 3686, 3686, 3686, 3686, 3686, 3686, 3686,
9234  3686, 3686, 3686, 3686, 3686, 3686, 3686, 3686, 3686, 3686,
9235  3686, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687,
9236  3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687,
9237  3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687, 3687,
9238  3687, 3688, 3688, 0, 3688, 3688, 0, 3688, 3688, 3688,
9239 
9240  3688, 3688, 3688, 3688, 3688, 3688, 3688, 3688, 3688, 3688,
9241  3688, 3688, 3688, 3688, 3688, 3688, 3688, 3688, 3688, 3688,
9242  3688, 3689, 3689, 3689, 3689, 3689, 3689, 3689, 3689, 3689,
9243  3689, 3689, 3689, 3689, 3689, 3689, 3689, 3689, 3689, 3689,
9244  3689, 3689, 3689, 3689, 3689, 3689, 3689, 3689, 3689, 3689,
9245  3689, 3690, 3690, 3690, 3690, 3690, 3690, 3690, 3690, 3690,
9246  3690, 3690, 3690, 3690, 3690, 3690, 3690, 3690, 3690, 3690,
9247  3690, 3690, 3690, 3690, 3690, 3690, 3690, 3690, 3690, 3690,
9248  3690, 3691, 3691, 3691, 3691, 3691, 3691, 3691, 3691, 3691,
9249  3691, 3691, 3691, 3691, 3691, 3691, 3691, 3691, 3691, 3691,
9250 
9251  3691, 3691, 3691, 3691, 3691, 3691, 3691, 3691, 3691, 3691,
9252  3691, 3692, 3692, 3692, 3692, 3692, 3692, 3692, 3692, 3692,
9253  3692, 3692, 3692, 3692, 3692, 3692, 3692, 3692, 3692, 3692,
9254  3692, 3692, 3692, 3692, 3692, 3692, 3692, 3692, 3692, 3692,
9255  3692, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693,
9256  3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693,
9257  3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693, 3693,
9258  3693, 3694, 3694, 0, 0, 3694, 3694, 3694, 3694, 3694,
9259  3694, 3694, 3694, 3694, 3694, 3694, 3694, 3694, 3694, 3694,
9260  3694, 3694, 3694, 3694, 3694, 3694, 3694, 3694, 3694, 3694,
9261 
9262  3694, 3695, 3695, 3695, 3695, 3695, 3695, 3695, 3695, 3695,
9263  3695, 3695, 3695, 3695, 3695, 3695, 3695, 3695, 3695, 3695,
9264  3695, 3695, 3695, 3695, 3695, 3695, 3695, 3695, 3695, 3695,
9265  3695, 3696, 3696, 3696, 3696, 3696, 3696, 3696, 3696, 3696,
9266  3696, 3696, 3696, 3696, 3696, 3696, 3696, 3696, 3696, 3696,
9267  3696, 3696, 3696, 3696, 3696, 3696, 3696, 3696, 3696, 3696,
9268  3696, 3697, 3697, 3697, 3697, 3697, 3697, 3697, 3697, 3697,
9269  3697, 3697, 3697, 3697, 3697, 3697, 3697, 3697, 3697, 3697,
9270  3697, 3697, 3697, 3697, 3697, 3697, 3697, 3697, 3697, 3697,
9271  3697, 3698, 3698, 3698, 3698, 3698, 3698, 3698, 3698, 3698,
9272 
9273  3698, 3698, 3698, 3698, 3698, 3698, 3698, 3698, 3698, 3698,
9274  3698, 3698, 3698, 3698, 3698, 3698, 3698, 3698, 3698, 3698,
9275  3698, 3699, 3699, 0, 3699, 3699, 3699, 3699, 3699, 3699,
9276  3699, 0, 3699, 3699, 3699, 3699, 3699, 3699, 3699, 3699,
9277  3699, 3699, 3699, 3699, 3699, 3699, 3699, 3699, 3699, 3699,
9278  3699, 3700, 3700, 3700, 3700, 3700, 3700, 3700, 3700, 3700,
9279  3700, 3700, 3700, 3700, 3700, 3700, 3700, 3700, 3700, 3700,
9280  3700, 3700, 3700, 3700, 3700, 3700, 3700, 3700, 3700, 3700,
9281  3700, 3701, 3701, 3701, 3701, 0, 0, 0, 3701, 3701,
9282  0, 3701, 0, 0, 0, 3701, 3701, 3701, 3701, 0,
9283 
9284  3701, 3701, 0, 3701, 3701, 3701, 0, 0, 0, 3701,
9285  3702, 0, 0, 3702, 0, 3702, 0, 0, 3702, 3702,
9286  0, 0, 0, 0, 0, 3702, 0, 0, 0, 3702,
9287  3702, 0, 3702, 0, 3702, 0, 0, 3702, 3702, 3703,
9288  3703, 3703, 3703, 0, 3703, 0, 0, 3703, 0, 0,
9289  0, 0, 0, 3703, 3703, 0, 0, 0, 3703, 3703,
9290  0, 3703, 0, 3703, 0, 0, 3703, 3703, 3704, 3704,
9291  3704, 3704, 0, 3704, 0, 0, 0, 0, 0, 0,
9292  0, 0, 0, 0, 0, 0, 0, 3704, 3704, 0,
9293  0, 0, 3704, 0, 0, 0, 3704, 3706, 3706, 0,
9294 
9295  3706, 3706, 0, 3706, 3706, 3706, 3706, 3706, 3706, 3706,
9296  3706, 0, 3706, 3706, 3706, 3706, 3706, 3706, 3706, 3706,
9297  3706, 3706, 3706, 0, 3706, 3706, 3706, 3707, 3707, 0,
9298  3707, 3707, 0, 3707, 3707, 3707, 3707, 3707, 3707, 0,
9299  0, 0, 3707, 3707, 3707, 3707, 3707, 3707, 3707, 3707,
9300  3707, 3707, 3707, 0, 3707, 3707, 3707, 3708, 3708, 0,
9301  3708, 3708, 0, 3708, 3708, 0, 0, 3708, 3708, 3708,
9302  3708, 0, 3708, 3708, 3708, 3708, 3708, 3708, 3708, 3708,
9303  3708, 3708, 3708, 0, 0, 3708, 3708, 3709, 3709, 3709,
9304  3709, 0, 3709, 0, 0, 0, 0, 0, 0, 0,
9305 
9306  0, 0, 3709, 0, 0, 0, 3709, 3709, 0, 3709,
9307  0, 3709, 0, 0, 3709, 3709, 3710, 0, 3710, 3710,
9308  0, 3710, 3710, 3710, 3710, 0, 3710, 3710, 3710, 3710,
9309  3710, 3710, 3710, 3710, 3710, 3710, 3710, 3710, 3710, 0,
9310  3710, 3710, 3710, 3710, 3710, 3710, 3711, 3711, 3711, 3711,
9311  0, 0, 0, 3711, 3711, 0, 3711, 0, 0, 0,
9312  3711, 3711, 3711, 3711, 0, 3711, 3711, 0, 3711, 3711,
9313  3711, 0, 0, 0, 3711, 3712, 3712, 0, 3712, 3712,
9314  0, 3712, 3712, 3712, 3712, 3712, 3712, 3712, 3712, 0,
9315  3712, 3712, 3712, 3712, 3712, 3712, 3712, 3712, 3712, 3712,
9316 
9317  3712, 0, 3712, 3712, 3712, 3713, 3713, 3713, 3713, 0,
9318  3713, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9319  3713, 0, 0, 0, 3713, 3713, 0, 3713, 0, 3713,
9320  0, 0, 3713, 3713, 3714, 3714, 3714, 3714, 0, 3714,
9321  0, 0, 0, 0, 0, 0, 0, 0, 0, 3714,
9322  0, 0, 0, 3714, 3714, 0, 3714, 0, 3714, 0,
9323  0, 3714, 3714, 3715, 3715, 3715, 3715, 0, 0, 0,
9324  3715, 0, 0, 0, 0, 0, 0, 3715, 3715, 0,
9325  3715, 0, 3715, 3715, 0, 3715, 0, 3715, 0, 0,
9326  0, 3715, 3716, 3716, 3716, 3716, 0, 3716, 0, 0,
9327 
9328  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9329  0, 3716, 3716, 0, 0, 0, 3716, 0, 0, 0,
9330  3716, 3717, 3717, 3717, 3717, 0, 0, 0, 3717, 3717,
9331  0, 3717, 0, 0, 0, 3717, 0, 3717, 3717, 0,
9332  3717, 3717, 0, 0, 3717, 3717, 0, 0, 0, 3717,
9333  3718, 0, 0, 3718, 0, 0, 0, 3718, 0, 0,
9334  0, 3718, 3718, 0, 3718, 3718, 0, 3718, 0, 3718,
9335  3718, 0, 0, 0, 3718, 0, 0, 0, 3718, 3719,
9336  0, 0, 3719, 0, 3719, 0, 0, 3719, 3719, 0,
9337  0, 0, 0, 0, 0, 0, 0, 0, 3719, 3719,
9338 
9339  0, 0, 0, 3719, 0, 0, 0, 3719, 3720, 0,
9340  0, 3720, 0, 3720, 0, 0, 3720, 0, 0, 0,
9341  0, 0, 3720, 0, 0, 0, 0, 3720, 3720, 0,
9342  0, 0, 3720, 0, 0, 0, 3720, 3721, 0, 0,
9343  3721, 0, 3721, 0, 0, 0, 0, 0, 0, 0,
9344  0, 0, 0, 0, 0, 0, 3721, 3721, 0, 0,
9345  0, 3721, 0, 0, 0, 3721, 3722, 3722, 0, 3722,
9346  3722, 3722, 3722, 3722, 0, 0, 3722, 3722, 3722, 3722,
9347  3722, 3722, 3722, 3722, 0, 3722, 3722, 3722, 0, 3722,
9348  0, 3722, 0, 0, 3722, 3722, 3723, 3723, 0, 3723,
9349 
9350  3723, 0, 3723, 3723, 0, 0, 3723, 3723, 3723, 3723,
9351  0, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723, 3723,
9352  3723, 3723, 0, 0, 3723, 3723, 3724, 3724, 3724, 3724,
9353  0, 3724, 0, 0, 0, 0, 0, 0, 0, 0,
9354  0, 3724, 0, 0, 0, 3724, 3724, 0, 3724, 0,
9355  3724, 0, 0, 3724, 3724, 3725, 3725, 3725, 3725, 0,
9356  3725, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9357  3725, 0, 0, 0, 3725, 3725, 0, 3725, 0, 3725,
9358  0, 0, 3725, 3725, 3726, 3726, 3726, 3726, 0, 0,
9359  0, 3726, 0, 0, 0, 0, 0, 0, 3726, 3726,
9360 
9361  0, 3726, 0, 3726, 3726, 0, 3726, 0, 3726, 0,
9362  0, 0, 3726, 3727, 3727, 3727, 3727, 0, 3727, 0,
9363  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9364  0, 0, 3727, 3727, 0, 0, 0, 3727, 0, 0,
9365  0, 3727, 3728, 3728, 3728, 3728, 0, 0, 0, 3728,
9366  0, 0, 0, 0, 0, 0, 3728, 0, 0, 0,
9367  0, 3728, 3728, 0, 0, 0, 3728, 0, 0, 0,
9368  3728, 3729, 3729, 0, 3729, 0, 0, 0, 3729, 0,
9369  0, 0, 3729, 3729, 0, 3729, 3729, 0, 3729, 0,
9370  3729, 3729, 0, 0, 0, 3729, 0, 0, 0, 3729,
9371 
9372  3731, 0, 0, 0, 0, 0, 3731, 0, 0, 0,
9373  0, 3731, 3731, 0, 0, 0, 3731, 0, 0, 0,
9374  3731, 3732, 0, 0, 0, 0, 0, 0, 0, 0,
9375  0, 0, 0, 0, 0, 3732, 3732, 0, 0, 0,
9376  3732, 0, 0, 0, 3732, 3734, 0, 0, 0, 0,
9377  3734, 3734, 0, 3734, 0, 3734, 0, 0, 0, 3734,
9378  3735, 0, 0, 3735, 0, 0, 0, 3735, 0, 0,
9379  0, 0, 0, 0, 3735, 3735, 0, 0, 0, 3735,
9380  3735, 0, 3735, 0, 3735, 0, 0, 0, 3735, 3737,
9381  0, 3737, 0, 0, 0, 0, 3737, 3737, 0, 0,
9382 
9383  0, 3737, 0, 0, 0, 3737, 3738, 0, 0, 0,
9384  0, 3738, 3738, 0, 0, 0, 3738, 0, 0, 0,
9385  3738, 3739, 3739, 0, 0, 0, 3739, 3739, 0, 3739,
9386  0, 3739, 0, 0, 0, 3739, 3740, 0, 0, 0,
9387  0, 3740, 3740, 0, 0, 0, 3740, 0, 0, 0,
9388  3740, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741,
9389  3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741,
9390  3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741, 3741,
9391  3741, 3742, 3742, 0, 3742, 3742, 3742, 3742, 3742, 3742,
9392  3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742,
9393 
9394  3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742, 3742,
9395  3742, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743,
9396  3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743,
9397  3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743, 3743,
9398  3743, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744,
9399  3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744,
9400  3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744, 3744,
9401  3744, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745,
9402  3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745,
9403  3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745, 3745,
9404 
9405  3745, 3746, 3746, 3746, 3746, 0, 3746, 0, 0, 0,
9406  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9407  3746, 3746, 0, 0, 0, 3746, 0, 0, 3746, 3746,
9408  3747, 3747, 3747, 3747, 0, 3747, 0, 0, 0, 0,
9409  0, 0, 0, 0, 0, 0, 0, 0, 0, 3747,
9410  3747, 0, 0, 0, 3747, 0, 0, 3747, 3747, 3748,
9411  3748, 3748, 3748, 0, 0, 0, 0, 0, 0, 0,
9412  0, 0, 0, 3748, 3748, 0, 3748, 0, 3748, 3748,
9413  0, 3748, 0, 3748, 0, 0, 0, 3748, 3749, 3749,
9414  3749, 3749, 0, 0, 0, 0, 0, 0, 0, 0,
9415 
9416  0, 0, 3749, 3749, 0, 3749, 0, 3749, 3749, 0,
9417  3749, 0, 3749, 0, 0, 0, 3749, 3750, 3750, 0,
9418  3750, 3750, 0, 3750, 3750, 3750, 3750, 3750, 3750, 0,
9419  0, 0, 3750, 3750, 3750, 3750, 3750, 3750, 3750, 3750,
9420  3750, 3750, 3750, 0, 3750, 3750, 3750, 3751, 0, 0,
9421  3751, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9422  0, 3751, 0, 0, 3751, 0, 3751, 3751, 0, 0,
9423  0, 3751, 0, 0, 0, 3751, 3752, 0, 0, 0,
9424  0, 3752, 3752, 0, 0, 0, 3752, 0, 0, 0,
9425  3752, 3753, 0, 0, 0, 0, 3753, 3753, 0, 0,
9426 
9427  0, 3753, 0, 0, 0, 3753, 3754, 0, 0, 0,
9428  0, 3754, 3754, 0, 0, 0, 3754, 0, 0, 0,
9429  3754, 3755, 3755, 0, 3755, 0, 3755, 3755, 3755, 3755,
9430  3755, 3755, 3755, 3755, 3755, 3755, 3755, 3755, 3755, 3755,
9431  3755, 3755, 3755, 3755, 0, 3755, 3755, 3755, 3755, 3755,
9432  3755, 3756, 0, 0, 0, 0, 3756, 3756, 0, 0,
9433  0, 3756, 0, 0, 0, 3756, 3757, 3757, 3757, 3757,
9434  3757, 3757, 3757, 3757, 3757, 3757, 3757, 3757, 3757, 3757,
9435  3757, 3757, 3757, 3757, 3757, 3757, 3757, 3757, 3757, 3757,
9436  3757, 3757, 3757, 3757, 3757, 3757, 3758, 3758, 0, 3758,
9437 
9438  3758, 0, 0, 3758, 3758, 3758, 3758, 3758, 3758, 3758,
9439  3758, 3758, 3758, 3758, 3758, 3758, 3758, 3758, 3758, 0,
9440  3758, 3758, 3758, 3758, 3758, 3758, 3759, 3759, 3759, 3759,
9441  3759, 3759, 3759, 3759, 3759, 3759, 3759, 3759, 3759, 3759,
9442  3759, 3759, 3759, 3759, 3759, 3759, 3759, 3759, 3759, 3759,
9443  3759, 3759, 3759, 3759, 3759, 3759, 3760, 3760, 3760, 3760,
9444  3760, 3760, 3760, 3760, 3760, 3760, 3760, 3760, 3760, 3760,
9445  3760, 3760, 3760, 3760, 3760, 3760, 3760, 3760, 3760, 3760,
9446  3760, 3760, 3760, 3760, 3760, 3760, 3761, 3761, 3761, 3761,
9447  3761, 3761, 3761, 3761, 3761, 3761, 3761, 3761, 3761, 3761,
9448 
9449  3761, 3761, 3761, 3761, 3761, 3761, 3761, 3761, 3761, 3761,
9450  3761, 3761, 3761, 3761, 3761, 3761, 3762, 0, 0, 0,
9451  0, 3762, 3762, 0, 0, 0, 3762, 0, 0, 0,
9452  3762, 3763, 0, 0, 0, 0, 0, 0, 0, 0,
9453  0, 0, 0, 0, 0, 3763, 3763, 0, 0, 0,
9454  3763, 0, 0, 0, 3763, 3764, 0, 3764, 3764, 0,
9455  3764, 3764, 3764, 0, 0, 3764, 3764, 3764, 3764, 3764,
9456  3764, 3764, 3764, 3764, 3764, 3764, 3764, 3764, 0, 3764,
9457  3764, 3764, 3764, 3764, 3764, 3765, 3765, 3765, 3765, 3765,
9458  3765, 3765, 3765, 3765, 3765, 3765, 3765, 3765, 3765, 3765,
9459 
9460  3765, 3765, 3765, 3765, 3765, 3765, 3765, 3765, 3765, 3765,
9461  3765, 3765, 3765, 3765, 3765, 3766, 3766, 0, 3766, 3766,
9462  3766, 3766, 3766, 3766, 0, 3766, 3766, 3766, 3766, 3766,
9463  3766, 3766, 3766, 3766, 3766, 3766, 3766, 3766, 3766, 3766,
9464  3766, 3766, 3766, 3766, 3766, 3767, 3767, 3767, 3767, 3767,
9465  3767, 3767, 3767, 3767, 3767, 3767, 3767, 3767, 3767, 3767,
9466  3767, 3767, 3767, 3767, 3767, 3767, 3767, 3767, 3767, 3767,
9467  3767, 3767, 3767, 3767, 3767, 3768, 3768, 3768, 3768, 3768,
9468  3768, 3768, 3768, 3768, 3768, 3768, 3768, 3768, 3768, 3768,
9469  3768, 3768, 3768, 3768, 3768, 3768, 3768, 3768, 3768, 3768,
9470 
9471  3768, 3768, 3768, 3768, 3768, 3769, 3769, 3769, 3769, 3769,
9472  3769, 3769, 3769, 3769, 3769, 3769, 3769, 3769, 3769, 3769,
9473  3769, 3769, 3769, 3769, 3769, 3769, 3769, 3769, 3769, 3769,
9474  3769, 3769, 3769, 3769, 3769, 3770, 3770, 3770, 3770, 3770,
9475  3770, 3770, 3770, 3770, 3770, 0, 3770, 3770, 3770, 0,
9476  3770, 3770, 3770, 3770, 3770, 3770, 3770, 3770, 3770, 3770,
9477  3770, 3770, 3770, 3770, 3770, 3771, 3771, 3771, 3771, 3771,
9478  3771, 3771, 3771, 3771, 3771, 3771, 3771, 3771, 3771, 3771,
9479  3771, 3771, 3771, 3771, 3771, 3771, 3771, 3771, 3771, 3771,
9480  3771, 3771, 3771, 3771, 3771, 3772, 3772, 3772, 3772, 3772,
9481 
9482  3772, 3772, 3772, 3772, 3772, 3772, 3772, 3772, 3772, 3772,
9483  3772, 3772, 3772, 3772, 3772, 3772, 3772, 3772, 3772, 3772,
9484  3772, 3772, 3772, 3772, 3772, 3773, 3773, 3773, 3773, 3773,
9485  3773, 3773, 3773, 3773, 3773, 0, 3773, 3773, 3773, 0,
9486  3773, 3773, 3773, 3773, 3773, 3773, 3773, 3773, 3773, 3773,
9487  3773, 3773, 3773, 3773, 3773, 3774, 3774, 3774, 3774, 3774,
9488  3774, 3774, 3774, 3774, 3774, 3774, 3774, 3774, 3774, 3774,
9489  3774, 3774, 3774, 3774, 3774, 3774, 3774, 3774, 3774, 3774,
9490  3774, 3774, 3774, 3774, 3774, 3775, 3775, 3775, 3775, 3775,
9491  3775, 3775, 3775, 3775, 3775, 3775, 3775, 3775, 3775, 3775,
9492 
9493  3775, 3775, 3775, 3775, 3775, 3775, 3775, 3775, 3775, 3775,
9494  3775, 3775, 3775, 3775, 3775, 3776, 3776, 3776, 3776, 3776,
9495  3776, 3776, 3776, 3776, 3776, 3776, 3776, 3776, 3776, 3776,
9496  3776, 3776, 3776, 3776, 3776, 3776, 3776, 3776, 3776, 3776,
9497  3776, 3776, 3776, 3776, 3776, 3777, 3777, 0, 0, 3777,
9498  0, 3777, 3777, 3777, 3777, 3777, 3777, 3777, 3777, 3777,
9499  3777, 3777, 3777, 3777, 3777, 3777, 3777, 3777, 0, 3777,
9500  3777, 3777, 3777, 3777, 3777, 3778, 3778, 3778, 3778, 3778,
9501  3778, 3778, 3778, 3778, 3778, 3778, 3778, 3778, 3778, 3778,
9502  3778, 3778, 3778, 3778, 3778, 3778, 3778, 3778, 3778, 3778,
9503 
9504  3778, 3778, 3778, 3778, 3778, 3779, 3779, 3779, 3779, 3779,
9505  3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779,
9506  3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779, 3779,
9507  3779, 3779, 3779, 3779, 3779, 3780, 3780, 3780, 3780, 3780,
9508  3780, 3780, 3780, 3780, 3780, 3780, 3780, 3780, 3780, 3780,
9509  3780, 3780, 3780, 3780, 3780, 3780, 3780, 3780, 3780, 3780,
9510  3780, 3780, 3780, 3780, 3780, 3781, 3781, 3781, 3781, 3781,
9511  3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781,
9512  3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781, 3781,
9513  3781, 3781, 3781, 3781, 3781, 3782, 3782, 3782, 3782, 3782,
9514 
9515  3782, 3782, 3782, 3782, 3782, 3782, 3782, 3782, 3782, 3782,
9516  3782, 3782, 3782, 3782, 3782, 3782, 3782, 3782, 3782, 3782,
9517  3782, 3782, 3782, 3782, 3782, 3783, 3783, 0, 0, 3783,
9518  3783, 3783, 0, 3783, 3783, 3783, 3783, 3783, 3783, 3783,
9519  3783, 3783, 3783, 3783, 3783, 3783, 3783, 3783, 0, 3783,
9520  3783, 3783, 3783, 3783, 3783, 3784, 3784, 3784, 3784, 3784,
9521  3784, 3784, 3784, 3784, 3784, 3784, 3784, 3784, 3784, 3784,
9522  3784, 3784, 3784, 3784, 3784, 3784, 3784, 3784, 3784, 3784,
9523  3784, 3784, 3784, 3784, 3784, 3785, 3785, 3785, 3785, 3785,
9524  3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785,
9525 
9526  3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785, 3785,
9527  3785, 3785, 3785, 3785, 3785, 3786, 3786, 3786, 3786, 3786,
9528  3786, 3786, 3786, 3786, 3786, 3786, 3786, 3786, 3786, 3786,
9529  3786, 3786, 3786, 3786, 3786, 3786, 3786, 3786, 3786, 3786,
9530  3786, 3786, 3786, 3786, 3786, 3787, 3787, 3787, 3787, 3787,
9531  3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787,
9532  3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787, 3787,
9533  3787, 3787, 3787, 3787, 3787, 3788, 3788, 3788, 3788, 3788,
9534  3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
9535  3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
9536 
9537  3788, 3788, 3788, 3788, 3788, 3789, 3789, 0, 3789, 3789,
9538  0, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789,
9539  3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789, 3789,
9540  3789, 3789, 3789, 3789, 3789, 3790, 3790, 3790, 3790, 3790,
9541  3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790,
9542  3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790, 3790,
9543  3790, 3790, 3790, 3790, 3790, 3791, 3791, 3791, 3791, 3791,
9544  3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791,
9545  3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791, 3791,
9546  3791, 3791, 3791, 3791, 3791, 3792, 3792, 3792, 3792, 3792,
9547 
9548  3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792,
9549  3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792, 3792,
9550  3792, 3792, 3792, 3792, 3792, 3793, 3793, 3793, 3793, 3793,
9551  3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793,
9552  3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793, 3793,
9553  3793, 3793, 3793, 3793, 3793, 3794, 3794, 3794, 3794, 3794,
9554  3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794,
9555  3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794, 3794,
9556  3794, 3794, 3794, 3794, 3794, 3795, 3795, 3795, 3795, 3795,
9557  3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795,
9558 
9559  3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795, 3795,
9560  3795, 3795, 3795, 3795, 3795, 3796, 3796, 3796, 3796, 3796,
9561  3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
9562  3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
9563  3796, 3796, 3796, 3796, 3796, 3797, 3797, 3797, 3797, 3797,
9564  3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797,
9565  3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797,
9566  3797, 3797, 3797, 3797, 3797, 3798, 3798, 0, 0, 3798,
9567  3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798,
9568  3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 3798,
9569 
9570  3798, 3798, 3798, 3798, 3798, 3799, 3799, 3799, 3799, 3799,
9571  3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799,
9572  3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799, 3799,
9573  3799, 3799, 3799, 3799, 3799, 3800, 3800, 3800, 3800, 3800,
9574  3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800,
9575  3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800,
9576  3800, 3800, 3800, 3800, 3800, 3801, 3801, 3801, 3801, 3801,
9577  3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801,
9578  3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801, 3801,
9579  3801, 3801, 3801, 3801, 3801, 3802, 3802, 3802, 3802, 3802,
9580 
9581  3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802,
9582  3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802, 3802,
9583  3802, 3802, 3802, 3802, 3802, 3803, 3803, 3803, 3803, 3803,
9584  3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803,
9585  3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803, 3803,
9586  3803, 3803, 3803, 3803, 3803, 3804, 3804, 3804, 3804, 3804,
9587  3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804,
9588  3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804, 3804,
9589  3804, 3804, 3804, 3804, 3804, 3805, 3805, 3805, 3805, 3805,
9590  3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805,
9591 
9592  3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805, 3805,
9593  3805, 3805, 3805, 3805, 3805, 3806, 3806, 3806, 3806, 3806,
9594  3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
9595  3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
9596  3806, 3806, 3806, 3806, 3806, 3807, 3807, 3807, 3807, 3807,
9597  3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807,
9598  3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807, 3807,
9599  3807, 3807, 3807, 3807, 3807, 3808, 3808, 3808, 3808, 0,
9600  0, 0, 3808, 3808, 0, 3808, 0, 0, 0, 3808,
9601  3808, 3808, 3808, 0, 3808, 3808, 0, 3808, 3808, 3808,
9602 
9603  0, 0, 0, 3808, 3809, 3809, 3809, 3809, 0, 3809,
9604  0, 0, 3809, 0, 0, 0, 0, 0, 3809, 3809,
9605  0, 0, 0, 3809, 3809, 0, 3809, 0, 3809, 0,
9606  0, 3809, 3809, 3810, 3810, 3810, 3810, 0, 3810, 0,
9607  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9608  0, 0, 3810, 3810, 0, 0, 0, 3810, 0, 0,
9609  3810, 3810, 3811, 3811, 3811, 3811, 0, 3811, 0, 0,
9610  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9611  0, 3811, 3811, 0, 0, 0, 3811, 0, 0, 0,
9612  3811, 3812, 0, 0, 3812, 0, 3812, 0, 0, 3812,
9613 
9614  0, 0, 0, 0, 0, 3812, 3812, 0, 0, 0,
9615  3812, 3812, 0, 3812, 0, 3812, 0, 0, 3812, 3812,
9616  3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813, 3813,
9617  3813, 3813, 3813, 3813, 3813, 0, 3813, 3813, 3813, 3813,
9618  0, 0, 3813, 3813, 3813, 0, 3813, 3813, 3813, 3813,
9619  3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
9620  3814, 3814, 3814, 3814, 3814, 0, 3814, 3814, 3814, 3814,
9621  0, 0, 3814, 3814, 3814, 0, 3814, 3814, 3814, 3814,
9622  3815, 3815, 3815, 3815, 0, 3815, 0, 0, 0, 0,
9623  0, 0, 0, 0, 0, 3815, 0, 0, 0, 3815,
9624 
9625  3815, 0, 3815, 0, 3815, 0, 0, 3815, 3815, 3816,
9626  0, 3816, 3816, 0, 3816, 3816, 3816, 3816, 0, 3816,
9627  3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816, 3816,
9628  3816, 3816, 0, 3816, 3816, 3816, 3816, 3816, 3816, 3817,
9629  3817, 0, 3817, 3817, 0, 3817, 3817, 3817, 3817, 3817,
9630  3817, 3817, 3817, 0, 3817, 3817, 3817, 3817, 3817, 3817,
9631  3817, 3817, 3817, 3817, 3817, 0, 3817, 3817, 3817, 3818,
9632  3818, 0, 3818, 3818, 0, 3818, 3818, 0, 0, 3818,
9633  3818, 3818, 3818, 0, 3818, 3818, 3818, 3818, 3818, 3818,
9634  3818, 3818, 3818, 3818, 3818, 0, 0, 3818, 3818, 3819,
9635 
9636  3819, 3819, 3819, 0, 3819, 0, 0, 0, 0, 0,
9637  0, 0, 0, 0, 3819, 0, 0, 0, 3819, 3819,
9638  0, 3819, 0, 3819, 0, 0, 3819, 3819, 3820, 3820,
9639  3820, 3820, 0, 0, 0, 3820, 0, 0, 0, 0,
9640  0, 0, 3820, 3820, 0, 3820, 0, 3820, 3820, 0,
9641  3820, 0, 3820, 0, 0, 0, 3820, 3821, 3821, 3821,
9642  3821, 0, 3821, 0, 0, 0, 0, 0, 0, 0,
9643  0, 0, 0, 0, 0, 0, 3821, 3821, 0, 0,
9644  0, 3821, 0, 0, 0, 3821, 3822, 3822, 3822, 3822,
9645  0, 0, 0, 3822, 0, 0, 0, 0, 0, 0,
9646 
9647  3822, 0, 0, 0, 0, 3822, 3822, 0, 0, 0,
9648  3822, 0, 0, 0, 3822, 3823, 3823, 0, 3823, 3823,
9649  0, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 0,
9650  3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823, 3823,
9651  3823, 0, 3823, 3823, 3823, 3824, 3824, 3824, 3824, 0,
9652  3824, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9653  3824, 0, 0, 0, 3824, 3824, 0, 3824, 0, 3824,
9654  0, 0, 3824, 3824, 3825, 0, 0, 3825, 0, 0,
9655  0, 3825, 0, 0, 0, 3825, 3825, 0, 3825, 3825,
9656  0, 3825, 0, 3825, 3825, 0, 0, 0, 3825, 0,
9657 
9658  0, 0, 3825, 3826, 0, 0, 3826, 0, 3826, 0,
9659  0, 3826, 0, 0, 0, 0, 0, 3826, 0, 0,
9660  0, 0, 3826, 3826, 0, 0, 0, 3826, 0, 0,
9661  0, 3826, 3827, 3827, 3827, 3827, 3827, 3827, 3827, 3827,
9662  3827, 3827, 3827, 3827, 3827, 3827, 3827, 0, 3827, 3827,
9663  3827, 3827, 0, 0, 3827, 3827, 3827, 0, 3827, 3827,
9664  3827, 3827, 3828, 3828, 3828, 3828, 3828, 3828, 3828, 3828,
9665  3828, 3828, 3828, 3828, 3828, 3828, 3828, 0, 3828, 3828,
9666  3828, 3828, 0, 0, 3828, 3828, 3828, 0, 3828, 3828,
9667  3828, 3828, 3829, 0, 0, 3829, 0, 3829, 0, 0,
9668 
9669  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9670  0, 3829, 3829, 0, 0, 0, 3829, 0, 0, 0,
9671  3829, 3830, 0, 0, 3830, 0, 0, 0, 0, 0,
9672  0, 0, 0, 0, 0, 3830, 3830, 0, 3830, 0,
9673  3830, 3830, 0, 0, 0, 3830, 0, 0, 0, 3830,
9674  3831, 3831, 0, 3831, 3831, 3831, 3831, 3831, 0, 0,
9675  3831, 3831, 3831, 3831, 3831, 3831, 3831, 3831, 0, 3831,
9676  3831, 3831, 0, 3831, 0, 3831, 0, 0, 3831, 3831,
9677  3832, 3832, 3832, 3832, 0, 0, 0, 3832, 0, 0,
9678  0, 0, 0, 0, 3832, 3832, 0, 3832, 0, 3832,
9679 
9680  3832, 0, 3832, 0, 3832, 0, 0, 0, 3832, 3833,
9681  3833, 3833, 3833, 0, 3833, 0, 0, 0, 0, 0,
9682  0, 0, 0, 0, 0, 0, 0, 0, 3833, 3833,
9683  0, 0, 0, 3833, 0, 0, 0, 3833, 3834, 3834,
9684  3834, 3834, 0, 0, 0, 3834, 0, 0, 0, 0,
9685  0, 0, 3834, 0, 0, 0, 0, 3834, 3834, 0,
9686  0, 0, 3834, 0, 0, 0, 3834, 3835, 3835, 0,
9687  3835, 0, 0, 0, 3835, 0, 0, 0, 3835, 3835,
9688  0, 3835, 3835, 0, 3835, 0, 3835, 3835, 0, 0,
9689  0, 3835, 0, 0, 0, 3835, 3836, 0, 0, 0,
9690 
9691  0, 0, 3836, 0, 0, 0, 0, 3836, 3836, 0,
9692  0, 0, 3836, 0, 0, 0, 3836, 3838, 3838, 0,
9693  0, 0, 3838, 3838, 0, 0, 0, 3838, 0, 0,
9694  0, 3838, 3839, 0, 0, 0, 0, 3839, 3839, 0,
9695  3839, 0, 3839, 0, 0, 0, 3839, 3840, 0, 0,
9696  3840, 0, 0, 0, 3840, 0, 0, 0, 0, 0,
9697  0, 3840, 3840, 0, 0, 0, 3840, 3840, 0, 3840,
9698  0, 3840, 0, 0, 0, 3840, 3841, 0, 3841, 0,
9699  0, 0, 0, 3841, 3841, 0, 0, 0, 3841, 0,
9700  0, 0, 3841, 3842, 0, 0, 0, 0, 3842, 3842,
9701 
9702  0, 0, 0, 3842, 0, 0, 0, 3842, 3843, 3843,
9703  0, 0, 0, 3843, 3843, 0, 3843, 0, 3843, 0,
9704  0, 0, 3843, 3844, 0, 0, 0, 0, 3844, 3844,
9705  0, 0, 0, 3844, 0, 0, 0, 3844, 3845, 3845,
9706  0, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845,
9707  3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845,
9708  3845, 3845, 3845, 3845, 3845, 3845, 3845, 3845, 3846, 3846,
9709  3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846,
9710  3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846,
9711  3846, 3846, 3846, 3846, 3846, 3846, 3846, 3846, 3847, 3847,
9712 
9713  3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847,
9714  3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847,
9715  3847, 3847, 3847, 3847, 3847, 3847, 3847, 3847, 3848, 3848,
9716  3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848,
9717  3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848,
9718  3848, 3848, 3848, 3848, 3848, 3848, 3848, 3848, 3849, 3849,
9719  3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849,
9720  3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849,
9721  3849, 3849, 3849, 3849, 3849, 3849, 3849, 3849, 3850, 3850,
9722  3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850,
9723 
9724  3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850,
9725  3850, 3850, 3850, 3850, 3850, 3850, 3850, 3850, 3851, 3851,
9726  3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851,
9727  3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851,
9728  3851, 3851, 3851, 3851, 3851, 3851, 3851, 3851, 3852, 3852,
9729  3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852,
9730  3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852,
9731  3852, 3852, 3852, 3852, 3852, 3852, 3852, 3852, 3854, 3854,
9732  3854, 3854, 0, 0, 0, 0, 0, 0, 0, 0,
9733  0, 0, 3854, 3854, 0, 3854, 0, 3854, 3854, 0,
9734 
9735  3854, 0, 3854, 0, 0, 0, 3854, 3855, 3855, 3855,
9736  3855, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9737  0, 3855, 3855, 0, 3855, 0, 3855, 3855, 0, 3855,
9738  0, 3855, 0, 0, 0, 3855, 3856, 0, 0, 0,
9739  0, 3856, 3856, 0, 0, 0, 3856, 0, 0, 0,
9740  3856, 3857, 0, 0, 3857, 0, 0, 0, 0, 0,
9741  0, 0, 0, 0, 0, 3857, 0, 0, 0, 0,
9742  3857, 3857, 0, 0, 0, 3857, 0, 0, 0, 3857,
9743  3858, 0, 0, 0, 0, 3858, 3858, 0, 0, 0,
9744  3858, 0, 0, 0, 3858, 3859, 3859, 0, 3859, 0,
9745 
9746  3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859,
9747  3859, 3859, 3859, 3859, 3859, 3859, 3859, 3859, 0, 3859,
9748  3859, 3859, 3859, 3859, 3859, 3860, 3860, 0, 3860, 3860,
9749  0, 0, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860,
9750  3860, 3860, 3860, 3860, 3860, 3860, 3860, 3860, 0, 3860,
9751  3860, 3860, 3860, 3860, 3860, 3861, 3861, 3861, 3861, 3861,
9752  3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861,
9753  3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861, 3861,
9754  3861, 3861, 3861, 3861, 3861, 3862, 3862, 3862, 3862, 3862,
9755  3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862,
9756 
9757  3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862, 3862,
9758  3862, 3862, 3862, 3862, 3862, 3863, 3863, 3863, 3863, 3863,
9759  3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863,
9760  3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863, 3863,
9761  3863, 3863, 3863, 3863, 3863, 3864, 3864, 3864, 3864, 3864,
9762  3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864,
9763  3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864, 3864,
9764  3864, 3864, 3864, 3864, 3864, 3865, 3865, 3865, 3865, 3865,
9765  3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865,
9766  3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865, 3865,
9767 
9768  3865, 3865, 3865, 3865, 3865, 3866, 0, 0, 0, 0,
9769  3866, 3866, 0, 0, 0, 3866, 0, 0, 0, 3866,
9770  3868, 3868, 0, 0, 0, 3868, 3868, 0, 0, 0,
9771  3868, 0, 0, 0, 3868, 3869, 0, 3869, 3869, 0,
9772  3869, 3869, 3869, 0, 0, 3869, 3869, 3869, 3869, 3869,
9773  3869, 3869, 3869, 3869, 3869, 3869, 3869, 3869, 0, 3869,
9774  3869, 3869, 3869, 3869, 3869, 3870, 3870, 0, 3870, 3870,
9775  3870, 3870, 3870, 3870, 0, 3870, 3870, 3870, 3870, 3870,
9776  3870, 3870, 3870, 3870, 3870, 3870, 3870, 3870, 3870, 3870,
9777  3870, 3870, 3870, 3870, 3870, 3871, 3871, 3871, 3871, 3871,
9778 
9779  3871, 3871, 3871, 3871, 3871, 3871, 3871, 3871, 3871, 3871,
9780  3871, 3871, 3871, 3871, 3871, 3871, 3871, 3871, 3871, 3871,
9781  3871, 3871, 3871, 3871, 3871, 3872, 3872, 3872, 3872, 3872,
9782  3872, 3872, 3872, 3872, 3872, 3872, 3872, 3872, 3872, 3872,
9783  3872, 3872, 3872, 3872, 3872, 3872, 3872, 3872, 3872, 3872,
9784  3872, 3872, 3872, 3872, 3872, 3873, 3873, 3873, 3873, 3873,
9785  3873, 3873, 3873, 3873, 3873, 3873, 3873, 3873, 3873, 3873,
9786  3873, 3873, 3873, 3873, 3873, 3873, 3873, 3873, 3873, 3873,
9787  3873, 3873, 3873, 3873, 3873, 3874, 3874, 3874, 3874, 3874,
9788  3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874,
9789 
9790  3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874, 3874,
9791  3874, 3874, 3874, 3874, 3874, 3875, 3875, 3875, 3875, 3875,
9792  3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875,
9793  3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875, 3875,
9794  3875, 3875, 3875, 3875, 3875, 3876, 3876, 3876, 3876, 3876,
9795  3876, 3876, 3876, 3876, 3876, 3876, 3876, 3876, 3876, 3876,
9796  3876, 3876, 3876, 3876, 3876, 3876, 3876, 3876, 3876, 3876,
9797  3876, 3876, 3876, 3876, 3876, 3877, 3877, 3877, 3877, 3877,
9798  3877, 3877, 3877, 3877, 3877, 3877, 3877, 3877, 3877, 3877,
9799  3877, 3877, 3877, 3877, 3877, 3877, 3877, 3877, 3877, 3877,
9800 
9801  3877, 3877, 3877, 3877, 3877, 3878, 3878, 3878, 3878, 3878,
9802  3878, 3878, 3878, 3878, 3878, 3878, 3878, 3878, 3878, 3878,
9803  3878, 3878, 3878, 3878, 3878, 3878, 3878, 3878, 3878, 3878,
9804  3878, 3878, 3878, 3878, 3878, 3879, 3879, 3879, 3879, 3879,
9805  3879, 3879, 3879, 3879, 3879, 3879, 3879, 3879, 3879, 3879,
9806  3879, 3879, 3879, 3879, 3879, 3879, 3879, 3879, 3879, 3879,
9807  3879, 3879, 3879, 3879, 3879, 3880, 3880, 0, 0, 3880,
9808  0, 3880, 3880, 3880, 3880, 3880, 3880, 3880, 3880, 3880,
9809  3880, 3880, 3880, 3880, 3880, 3880, 3880, 3880, 0, 3880,
9810  3880, 3880, 3880, 3880, 3880, 3881, 3881, 3881, 3881, 3881,
9811 
9812  3881, 3881, 3881, 3881, 3881, 3881, 3881, 3881, 3881, 3881,
9813  3881, 3881, 3881, 3881, 3881, 3881, 3881, 3881, 3881, 3881,
9814  3881, 3881, 3881, 3881, 3881, 3882, 3882, 3882, 3882, 3882,
9815  3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882,
9816  3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882, 3882,
9817  3882, 3882, 3882, 3882, 3882, 3883, 3883, 0, 0, 3883,
9818  3883, 3883, 0, 3883, 3883, 3883, 3883, 3883, 3883, 3883,
9819  3883, 3883, 3883, 3883, 3883, 3883, 3883, 3883, 0, 3883,
9820  3883, 3883, 3883, 3883, 3883, 3884, 3884, 3884, 3884, 3884,
9821  3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884,
9822 
9823  3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884, 3884,
9824  3884, 3884, 3884, 3884, 3884, 3885, 3885, 3885, 3885, 3885,
9825  3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885,
9826  3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885, 3885,
9827  3885, 3885, 3885, 3885, 3885, 3886, 3886, 0, 3886, 3886,
9828  0, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886,
9829  3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886, 3886,
9830  3886, 3886, 3886, 3886, 3886, 3887, 3887, 3887, 3887, 3887,
9831  3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887,
9832  3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887, 3887,
9833 
9834  3887, 3887, 3887, 3887, 3887, 3888, 3888, 3888, 3888, 3888,
9835  3888, 3888, 3888, 3888, 3888, 3888, 3888, 3888, 3888, 3888,
9836  3888, 3888, 3888, 3888, 3888, 3888, 3888, 3888, 3888, 3888,
9837  3888, 3888, 3888, 3888, 3888, 3889, 3889, 3889, 3889, 3889,
9838  3889, 3889, 3889, 3889, 3889, 3889, 3889, 3889, 3889, 3889,
9839  3889, 3889, 3889, 3889, 3889, 3889, 3889, 3889, 3889, 3889,
9840  3889, 3889, 3889, 3889, 3889, 3890, 3890, 3890, 3890, 3890,
9841  3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890,
9842  3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890, 3890,
9843  3890, 3890, 3890, 3890, 3890, 3891, 3891, 3891, 3891, 3891,
9844 
9845  3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891,
9846  3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891, 3891,
9847  3891, 3891, 3891, 3891, 3891, 3892, 3892, 0, 0, 3892,
9848  3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892,
9849  3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892, 3892,
9850  3892, 3892, 3892, 3892, 3892, 3893, 3893, 3893, 3893, 3893,
9851  3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893,
9852  3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893, 3893,
9853  3893, 3893, 3893, 3893, 3893, 3894, 3894, 3894, 3894, 3894,
9854  3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894,
9855 
9856  3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894, 3894,
9857  3894, 3894, 3894, 3894, 3894, 3895, 3895, 3895, 3895, 3895,
9858  3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895,
9859  3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895, 3895,
9860  3895, 3895, 3895, 3895, 3895, 3896, 3896, 3896, 3896, 3896,
9861  3896, 3896, 3896, 3896, 3896, 3896, 3896, 3896, 3896, 3896,
9862  3896, 3896, 3896, 3896, 3896, 3896, 3896, 3896, 3896, 3896,
9863  3896, 3896, 3896, 3896, 3896, 3897, 3897, 3897, 3897, 3897,
9864  3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897,
9865  3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897, 3897,
9866 
9867  3897, 3897, 3897, 3897, 3897, 3898, 3898, 3898, 3898, 3898,
9868  3898, 3898, 3898, 3898, 3898, 3898, 3898, 3898, 3898, 3898,
9869  3898, 3898, 3898, 3898, 3898, 3898, 3898, 3898, 3898, 3898,
9870  3898, 3898, 3898, 3898, 3898, 3899, 3899, 3899, 3899, 0,
9871  0, 0, 3899, 3899, 0, 3899, 3899, 3899, 0, 3899,
9872  3899, 3899, 3899, 0, 3899, 3899, 0, 3899, 3899, 3899,
9873  0, 0, 0, 3899, 3900, 3900, 3900, 3900, 0, 3900,
9874  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9875  0, 0, 0, 3900, 3900, 0, 0, 0, 3900, 0,
9876  0, 3900, 3900, 3901, 0, 0, 3901, 0, 3901, 0,
9877 
9878  0, 3901, 0, 0, 0, 0, 0, 3901, 3901, 0,
9879  0, 0, 3901, 3901, 0, 3901, 0, 3901, 0, 0,
9880  3901, 3901, 3902, 3902, 3902, 3902, 0, 3902, 0, 0,
9881  3902, 0, 0, 0, 0, 0, 3902, 3902, 0, 0,
9882  0, 3902, 3902, 0, 3902, 0, 3902, 0, 0, 3902,
9883  3902, 3903, 3903, 3903, 3903, 0, 3903, 0, 0, 0,
9884  0, 0, 0, 0, 0, 0, 3903, 0, 0, 0,
9885  3903, 3903, 0, 3903, 0, 3903, 0, 0, 3903, 3903,
9886  3904, 3904, 3904, 3904, 0, 3904, 0, 0, 0, 0,
9887  0, 0, 0, 0, 0, 3904, 0, 0, 0, 3904,
9888 
9889  3904, 0, 3904, 0, 3904, 0, 0, 3904, 3904, 3905,
9890  3905, 3905, 3905, 0, 0, 0, 3905, 0, 0, 0,
9891  0, 0, 0, 3905, 3905, 0, 3905, 0, 3905, 3905,
9892  0, 3905, 0, 3905, 0, 0, 0, 3905, 3906, 0,
9893  3906, 3906, 0, 3906, 3906, 3906, 3906, 0, 3906, 3906,
9894  3906, 3906, 3906, 3906, 3906, 3906, 3906, 3906, 3906, 3906,
9895  3906, 0, 3906, 3906, 3906, 3906, 3906, 3906, 3907, 3907,
9896  3907, 3907, 0, 0, 0, 3907, 0, 0, 0, 0,
9897  0, 0, 3907, 0, 0, 0, 0, 3907, 3907, 0,
9898  0, 0, 3907, 0, 0, 0, 3907, 3908, 0, 0,
9899 
9900  3908, 0, 0, 0, 3908, 0, 0, 0, 3908, 3908,
9901  0, 3908, 3908, 0, 3908, 0, 3908, 3908, 0, 0,
9902  0, 3908, 0, 0, 0, 3908, 3909, 0, 0, 3909,
9903  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9904  3909, 3909, 0, 3909, 0, 3909, 3909, 0, 0, 0,
9905  3909, 0, 0, 0, 3909, 3910, 3910, 3910, 3910, 0,
9906  0, 0, 3910, 0, 0, 0, 0, 0, 0, 3910,
9907  0, 0, 0, 0, 3910, 3910, 0, 0, 0, 3910,
9908  0, 0, 0, 3910, 3911, 3911, 0, 3911, 0, 0,
9909  0, 3911, 0, 0, 0, 3911, 3911, 0, 3911, 3911,
9910 
9911  0, 3911, 0, 3911, 3911, 0, 0, 0, 3911, 0,
9912  0, 0, 3911, 3912, 3912, 0, 0, 0, 3912, 3912,
9913  0, 0, 0, 3912, 0, 0, 0, 3912, 3913, 0,
9914  0, 3913, 0, 0, 0, 3913, 0, 0, 0, 0,
9915  0, 0, 3913, 3913, 0, 0, 0, 3913, 3913, 0,
9916  3913, 0, 3913, 0, 0, 0, 3913, 3914, 0, 0,
9917  0, 0, 3914, 3914, 0, 0, 0, 3914, 0, 0,
9918  0, 3914, 3915, 3915, 0, 0, 0, 3915, 3915, 0,
9919  3915, 0, 3915, 0, 0, 0, 3915, 3916, 0, 0,
9920  0, 0, 3916, 3916, 0, 0, 0, 3916, 0, 0,
9921 
9922  0, 3916, 3917, 3917, 0, 3917, 3917, 3917, 3917, 3917,
9923  3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917,
9924  3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917,
9925  3917, 3917, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918,
9926  3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918,
9927  3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918, 3918,
9928  3918, 3918, 3919, 3919, 3919, 3919, 3919, 3919, 3919, 3919,
9929  3919, 3919, 3919, 3919, 3919, 3919, 3919, 3919, 3919, 3919,
9930  3919, 3919, 3919, 3919, 3919, 3919, 3919, 3919, 3919, 3919,
9931  3919, 3919, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920,
9932 
9933  3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920,
9934  3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920, 3920,
9935  3920, 3920, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921,
9936  3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921,
9937  3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921, 3921,
9938  3921, 3921, 3922, 3922, 3922, 3922, 0, 0, 0, 0,
9939  0, 0, 0, 0, 0, 0, 3922, 3922, 0, 3922,
9940  0, 3922, 3922, 0, 3922, 0, 3922, 0, 0, 0,
9941  3922, 3923, 0, 0, 0, 0, 0, 0, 0, 0,
9942  0, 0, 0, 0, 0, 3923, 3923, 0, 0, 0,
9943 
9944  3923, 0, 0, 0, 3923, 3924, 3924, 3924, 3924, 0,
9945  0, 0, 0, 0, 0, 0, 0, 0, 0, 3924,
9946  3924, 0, 3924, 0, 3924, 3924, 0, 3924, 0, 3924,
9947  0, 0, 0, 3924, 3925, 3925, 3925, 3925, 0, 0,
9948  0, 0, 0, 0, 0, 0, 0, 0, 3925, 0,
9949  3925, 0, 3925, 3925, 3925, 0, 0, 0, 3925, 3925,
9950  0, 0, 3925, 3926, 0, 0, 0, 0, 3926, 3926,
9951  0, 0, 0, 3926, 0, 0, 0, 3926, 3927, 0,
9952  0, 0, 0, 3927, 3927, 0, 0, 0, 3927, 0,
9953  0, 0, 3927, 3928, 3928, 0, 3928, 3928, 0, 0,
9954 
9955  3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928, 3928,
9956  3928, 3928, 3928, 3928, 3928, 3928, 0, 3928, 3928, 3928,
9957  3928, 3928, 3928, 3929, 3929, 3929, 3929, 3929, 3929, 3929,
9958  3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929,
9959  3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929, 3929,
9960  3929, 3929, 3929, 3930, 3930, 3930, 3930, 3930, 3930, 3930,
9961  3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930,
9962  3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930, 3930,
9963  3930, 3930, 3930, 3931, 0, 0, 0, 0, 3931, 3931,
9964  0, 0, 0, 3931, 0, 0, 0, 3931, 3932, 3932,
9965 
9966  0, 0, 0, 3932, 3932, 0, 0, 0, 3932, 0,
9967  0, 0, 3932, 3933, 0, 3933, 3933, 0, 3933, 3933,
9968  3933, 0, 0, 3933, 3933, 3933, 3933, 3933, 3933, 3933,
9969  3933, 3933, 3933, 3933, 3933, 3933, 0, 3933, 3933, 3933,
9970  3933, 3933, 3933, 3934, 3934, 0, 3934, 3934, 3934, 3934,
9971  3934, 3934, 0, 3934, 3934, 3934, 3934, 3934, 3934, 3934,
9972  3934, 3934, 3934, 3934, 3934, 3934, 3934, 3934, 3934, 3934,
9973  3934, 3934, 3934, 3935, 3935, 3935, 3935, 3935, 3935, 3935,
9974  3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935,
9975  3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935,
9976 
9977  3935, 3935, 3935, 3936, 3936, 3936, 3936, 3936, 3936, 3936,
9978  3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936,
9979  3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936,
9980  3936, 3936, 3936, 3937, 3937, 3937, 3937, 3937, 3937, 3937,
9981  3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937,
9982  3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937,
9983  3937, 3937, 3937, 3938, 3938, 0, 0, 3938, 0, 3938,
9984  3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938, 3938,
9985  3938, 3938, 3938, 3938, 3938, 3938, 0, 3938, 3938, 3938,
9986  3938, 3938, 3938, 3939, 3939, 0, 0, 3939, 3939, 3939,
9987 
9988  0, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939, 3939,
9989  3939, 3939, 3939, 3939, 3939, 3939, 0, 3939, 3939, 3939,
9990  3939, 3939, 3939, 3940, 3940, 0, 3940, 3940, 0, 3940,
9991  3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940,
9992  3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940, 3940,
9993  3940, 3940, 3940, 3941, 3941, 3941, 3941, 3941, 3941, 3941,
9994  3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941,
9995  3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941, 3941,
9996  3941, 3941, 3941, 3942, 3942, 0, 0, 3942, 3942, 3942,
9997  3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942,
9998 
9999  3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942, 3942,
10000  3942, 3942, 3942, 3943, 3943, 3943, 3943, 3943, 3943, 3943,
10001  3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943,
10002  3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943, 3943,
10003  3943, 3943, 3943, 3944, 3944, 3944, 3944, 3944, 3944, 3944,
10004  3944, 3944, 3944, 0, 3944, 3944, 3944, 0, 3944, 3944,
10005  3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944,
10006  3944, 3944, 3944, 3945, 3945, 3945, 3945, 0, 3945, 0,
10007  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10008  0, 0, 3945, 3945, 0, 0, 0, 3945, 0, 0,
10009 
10010  3945, 3945, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946,
10011  3946, 3946, 3946, 3946, 3946, 3946, 3946, 0, 3946, 3946,
10012  3946, 3946, 0, 0, 3946, 3946, 3946, 0, 3946, 3946,
10013  3946, 3946, 3948, 3948, 3948, 3948, 0, 0, 0, 3948,
10014  0, 0, 0, 0, 0, 0, 3948, 3948, 0, 3948,
10015  0, 3948, 3948, 0, 3948, 0, 3948, 0, 0, 0,
10016  3948, 3949, 3949, 3949, 3949, 0, 0, 0, 3949, 0,
10017  0, 0, 0, 0, 0, 3949, 3949, 0, 3949, 0,
10018  3949, 3949, 0, 3949, 0, 3949, 0, 0, 0, 3949,
10019  3950, 3950, 0, 3950, 3950, 0, 3950, 3950, 0, 0,
10020 
10021  3950, 3950, 3950, 3950, 0, 3950, 3950, 3950, 3950, 3950,
10022  3950, 3950, 3950, 3950, 3950, 3950, 0, 0, 3950, 3950,
10023  3951, 3951, 3951, 3951, 0, 0, 0, 3951, 3951, 0,
10024  3951, 0, 0, 0, 3951, 3951, 3951, 3951, 0, 3951,
10025  3951, 0, 3951, 3951, 3951, 0, 0, 0, 3951, 3952,
10026  0, 3952, 3952, 0, 3952, 3952, 3952, 3952, 0, 3952,
10027  3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952, 3952,
10028  3952, 3952, 0, 3952, 3952, 3952, 3952, 3952, 3952, 3953,
10029  3953, 3953, 3953, 0, 3953, 0, 0, 0, 0, 0,
10030  0, 0, 0, 0, 3953, 0, 0, 0, 3953, 3953,
10031 
10032  0, 3953, 0, 3953, 0, 0, 3953, 3953, 3954, 0,
10033  0, 3954, 0, 0, 0, 3954, 0, 0, 0, 3954,
10034  3954, 0, 3954, 3954, 0, 3954, 0, 3954, 3954, 0,
10035  0, 0, 3954, 0, 0, 0, 3954, 3955, 3955, 0,
10036  3955, 0, 0, 0, 3955, 0, 0, 0, 3955, 3955,
10037  0, 3955, 3955, 0, 3955, 0, 3955, 3955, 0, 0,
10038  0, 3955, 0, 0, 0, 3955, 3956, 0, 0, 3956,
10039  0, 0, 0, 3956, 0, 0, 0, 0, 0, 0,
10040  3956, 3956, 0, 0, 0, 3956, 3956, 0, 3956, 0,
10041  3956, 0, 0, 0, 3956, 3957, 0, 0, 0, 0,
10042 
10043  3957, 3957, 0, 0, 0, 3957, 0, 0, 0, 3957,
10044  3958, 3958, 0, 0, 0, 3958, 3958, 0, 3958, 0,
10045  3958, 0, 0, 0, 3958, 3959, 0, 0, 0, 0,
10046  3959, 3959, 0, 0, 0, 3959, 0, 0, 0, 3959,
10047  3960, 3960, 0, 3960, 3960, 3960, 3960, 3960, 3960, 3960,
10048  3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960,
10049  3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960, 3960,
10050  3962, 0, 0, 3962, 0, 0, 0, 0, 0, 0,
10051  0, 0, 0, 0, 3962, 3962, 0, 0, 0, 3962,
10052  3962, 0, 0, 0, 3962, 0, 0, 0, 3962, 3963,
10053 
10054  3963, 3963, 3963, 0, 0, 0, 0, 0, 0, 0,
10055  0, 0, 0, 3963, 3963, 0, 3963, 0, 3963, 3963,
10056  0, 3963, 0, 3963, 0, 0, 0, 3963, 3964, 0,
10057  0, 0, 0, 3964, 3964, 0, 0, 0, 3964, 0,
10058  0, 0, 3964, 3965, 0, 0, 0, 0, 3965, 3965,
10059  0, 0, 0, 3965, 0, 0, 0, 3965, 3966, 0,
10060  0, 0, 0, 3966, 3966, 0, 0, 0, 3966, 0,
10061  0, 0, 3966, 3967, 3967, 0, 3967, 3967, 0, 0,
10062  3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967,
10063  3967, 3967, 3967, 3967, 3967, 3967, 0, 3967, 3967, 3967,
10064 
10065  3967, 3967, 3967, 3968, 0, 0, 0, 0, 3968, 3968,
10066  0, 0, 0, 3968, 0, 0, 0, 3968, 3969, 0,
10067  3969, 3969, 0, 3969, 3969, 3969, 0, 0, 3969, 3969,
10068  3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969, 3969,
10069  3969, 0, 3969, 3969, 3969, 3969, 3969, 3969, 3970, 3970,
10070  0, 3970, 3970, 3970, 3970, 3970, 3970, 0, 3970, 3970,
10071  3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970,
10072  3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3971, 3971,
10073  0, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971,
10074  3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971,
10075 
10076  3971, 3971, 3971, 3971, 3971, 3971, 3971, 3971, 3972, 3972,
10077  0, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972,
10078  3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972,
10079  3972, 3972, 3972, 3972, 3972, 3972, 3972, 3972, 3973, 3973,
10080  0, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973,
10081  3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973,
10082  3973, 3973, 3973, 3973, 3973, 3973, 3973, 3973, 3974, 3974,
10083  0, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974,
10084  3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974,
10085  3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3975, 3975,
10086 
10087  0, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975,
10088  3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975,
10089  3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3976, 0,
10090  0, 0, 0, 0, 0, 0, 0, 0, 3976, 0,
10091  0, 0, 3976, 3976, 0, 3976, 0, 3976, 0, 0,
10092  3976, 3976, 3977, 3977, 3977, 3977, 0, 0, 0, 3977,
10093  0, 0, 0, 0, 0, 0, 3977, 3977, 0, 3977,
10094  0, 3977, 3977, 0, 3977, 0, 3977, 0, 0, 0,
10095  3977, 3978, 3978, 3978, 3978, 0, 0, 0, 3978, 0,
10096  0, 0, 0, 0, 0, 3978, 3978, 0, 3978, 0,
10097 
10098  3978, 3978, 0, 3978, 0, 3978, 0, 0, 0, 3978,
10099  3979, 3979, 3979, 3979, 0, 0, 0, 3979, 3979, 0,
10100  3979, 0, 0, 0, 3979, 3979, 3979, 3979, 0, 3979,
10101  3979, 0, 3979, 3979, 3979, 0, 0, 0, 3979, 3980,
10102  0, 3980, 3980, 0, 3980, 3980, 3980, 3980, 0, 3980,
10103  3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980, 3980,
10104  3980, 3980, 0, 3980, 3980, 3980, 3980, 3980, 3980, 3982,
10105  3982, 3982, 3982, 0, 0, 0, 3982, 0, 0, 0,
10106  0, 0, 0, 3982, 3982, 0, 3982, 0, 3982, 3982,
10107  0, 3982, 0, 3982, 0, 0, 0, 3982, 3983, 0,
10108 
10109  0, 3983, 0, 0, 0, 3983, 0, 0, 0, 3983,
10110  3983, 0, 3983, 3983, 0, 3983, 0, 3983, 3983, 0,
10111  0, 0, 3983, 0, 0, 0, 3983, 3984, 3984, 0,
10112  3984, 0, 0, 0, 3984, 0, 0, 0, 3984, 3984,
10113  0, 3984, 3984, 0, 3984, 0, 3984, 3984, 0, 0,
10114  0, 3984, 0, 0, 0, 3984, 3985, 0, 0, 3985,
10115  0, 0, 0, 3985, 0, 0, 0, 0, 0, 0,
10116  3985, 3985, 0, 0, 0, 3985, 3985, 0, 3985, 0,
10117  3985, 0, 0, 0, 3985, 3986, 0, 0, 0, 0,
10118  3986, 3986, 0, 0, 0, 3986, 0, 0, 0, 3986,
10119 
10120  3987, 3987, 0, 0, 0, 3987, 3987, 0, 3987, 0,
10121  3987, 0, 0, 0, 3987, 3988, 0, 0, 0, 0,
10122  3988, 3988, 0, 0, 0, 3988, 0, 0, 0, 3988,
10123  3989, 3989, 0, 3989, 3989, 3989, 3989, 3989, 3989, 3989,
10124  3989, 3989, 3989, 3989, 3989, 3989, 3989, 3989, 3989, 3989,
10125  3989, 3989, 3989, 3989, 3989, 3989, 3989, 3989, 3989, 3989,
10126  3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990,
10127  3990, 3990, 3990, 3990, 3990, 0, 3990, 3990, 3990, 3990,
10128  0, 0, 3990, 3990, 3990, 3990, 3990, 3990, 3990, 3990,
10129  3991, 0, 0, 3991, 0, 0, 0, 0, 0, 0,
10130 
10131  0, 0, 0, 0, 3991, 3991, 0, 0, 0, 3991,
10132  3991, 0, 0, 0, 3991, 0, 0, 0, 3991, 3992,
10133  3992, 3992, 3992, 0, 0, 0, 0, 0, 0, 0,
10134  0, 0, 0, 3992, 3992, 0, 3992, 0, 3992, 3992,
10135  0, 3992, 0, 3992, 0, 0, 0, 3992, 3993, 0,
10136  0, 0, 0, 3993, 3993, 0, 0, 0, 3993, 0,
10137  0, 0, 3993, 3994, 0, 0, 0, 0, 3994, 3994,
10138  0, 0, 0, 3994, 0, 0, 0, 3994, 3995, 0,
10139  0, 0, 0, 3995, 3995, 0, 0, 0, 3995, 0,
10140  0, 0, 3995, 3996, 3996, 0, 3996, 3996, 3996, 3996,
10141 
10142  3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996,
10143  3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996, 3996,
10144  3996, 3996, 3996, 3997, 0, 0, 0, 0, 3997, 3997,
10145  0, 0, 0, 3997, 0, 0, 0, 3997, 3998, 0,
10146  3998, 3998, 0, 3998, 3998, 3998, 0, 0, 3998, 3998,
10147  3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998, 3998,
10148  3998, 0, 3998, 3998, 3998, 3998, 3998, 3998, 3999, 3999,
10149  0, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999,
10150  3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999,
10151  3999, 3999, 3999, 3999, 3999, 3999, 3999, 3999, 4000, 4000,
10152 
10153  0, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000,
10154  4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000,
10155  4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4001, 4001,
10156  0, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001,
10157  4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001,
10158  4001, 4001, 4001, 4001, 4001, 4001, 4001, 4001, 4002, 4002,
10159  0, 0, 4002, 0, 4002, 4002, 4002, 4002, 4002, 4002,
10160  4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002, 4002,
10161  4002, 0, 4002, 4002, 4002, 4002, 4002, 4002, 4003, 4003,
10162  0, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003,
10163 
10164  4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003,
10165  4003, 4003, 4003, 4003, 4003, 4003, 4003, 4003, 4004, 4004,
10166  0, 0, 4004, 4004, 4004, 0, 4004, 4004, 4004, 4004,
10167  4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004, 4004,
10168  4004, 0, 4004, 4004, 4004, 4004, 4004, 4004, 4005, 4005,
10169  0, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005,
10170  4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005,
10171  4005, 4005, 4005, 4005, 4005, 4005, 4005, 4005, 4006, 4006,
10172  0, 4006, 4006, 0, 4006, 4006, 4006, 4006, 4006, 4006,
10173  4006, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 4006,
10174 
10175  4006, 4006, 4006, 4006, 4006, 4006, 4006, 4006, 4007, 4007,
10176  0, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007,
10177  4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007,
10178  4007, 4007, 4007, 4007, 4007, 4007, 4007, 4007, 4008, 4008,
10179  0, 0, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008,
10180  4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008,
10181  4008, 4008, 4008, 4008, 4008, 4008, 4008, 4008, 4010, 4010,
10182  4010, 4010, 0, 0, 0, 0, 4010, 0, 4010, 0,
10183  0, 0, 4010, 4010, 4010, 0, 0, 4010, 4010, 0,
10184  4010, 4010, 4010, 0, 0, 0, 4010, 4011, 4011, 4011,
10185 
10186  4011, 0, 4011, 0, 0, 0, 0, 0, 0, 0,
10187  0, 0, 0, 0, 0, 0, 4011, 4011, 0, 0,
10188  0, 4011, 0, 0, 0, 4011, 4012, 4012, 4012, 4012,
10189  0, 0, 0, 4012, 0, 0, 0, 0, 0, 0,
10190  4012, 4012, 0, 4012, 0, 4012, 4012, 0, 4012, 0,
10191  4012, 0, 0, 0, 4012, 4013, 4013, 4013, 4013, 0,
10192  0, 0, 4013, 0, 0, 0, 0, 0, 0, 4013,
10193  4013, 0, 4013, 0, 4013, 4013, 0, 4013, 0, 4013,
10194  0, 0, 0, 4013, 4014, 4014, 4014, 4014, 0, 0,
10195  0, 4014, 4014, 0, 4014, 0, 0, 0, 4014, 4014,
10196 
10197  4014, 4014, 0, 4014, 4014, 0, 4014, 4014, 4014, 0,
10198  0, 0, 4014, 4015, 0, 4015, 4015, 0, 4015, 4015,
10199  4015, 4015, 0, 4015, 4015, 4015, 4015, 4015, 4015, 4015,
10200  4015, 4015, 4015, 4015, 4015, 4015, 0, 4015, 4015, 4015,
10201  4015, 4015, 4015, 4016, 4016, 4016, 4016, 0, 0, 0,
10202  4016, 0, 0, 0, 0, 0, 0, 4016, 4016, 0,
10203  4016, 0, 4016, 4016, 0, 4016, 0, 4016, 0, 0,
10204  0, 4016, 4017, 4017, 0, 4017, 4017, 0, 4017, 4017,
10205  4017, 4017, 4017, 4017, 4017, 4017, 0, 4017, 4017, 4017,
10206  4017, 4017, 4017, 4017, 4017, 4017, 4017, 4017, 0, 4017,
10207 
10208  4017, 4017, 4018, 4018, 4018, 4018, 0, 4018, 0, 0,
10209  0, 0, 0, 0, 0, 0, 0, 4018, 0, 0,
10210  0, 4018, 4018, 0, 4018, 0, 4018, 0, 0, 4018,
10211  4018, 4019, 0, 0, 4019, 0, 0, 0, 4019, 0,
10212  0, 0, 4019, 4019, 0, 4019, 4019, 0, 4019, 0,
10213  4019, 4019, 0, 0, 0, 4019, 0, 0, 0, 4019,
10214  4020, 4020, 0, 4020, 4020, 4020, 4020, 4020, 0, 0,
10215  4020, 4020, 4020, 4020, 4020, 4020, 4020, 4020, 0, 4020,
10216  4020, 4020, 0, 4020, 0, 4020, 0, 0, 4020, 4020,
10217  4021, 4021, 0, 4021, 0, 0, 0, 4021, 0, 0,
10218 
10219  0, 4021, 4021, 0, 4021, 4021, 0, 4021, 0, 4021,
10220  4021, 0, 0, 0, 4021, 0, 0, 0, 4021, 4022,
10221  0, 0, 4022, 0, 0, 0, 4022, 0, 0, 0,
10222  0, 0, 0, 4022, 4022, 0, 0, 0, 4022, 4022,
10223  0, 4022, 0, 4022, 0, 0, 0, 4022, 4023, 0,
10224  0, 0, 0, 4023, 4023, 0, 0, 0, 4023, 0,
10225  0, 0, 4023, 4024, 4024, 0, 0, 0, 4024, 4024,
10226  0, 4024, 0, 4024, 0, 0, 0, 4024, 4025, 0,
10227  0, 0, 0, 4025, 4025, 0, 0, 0, 4025, 0,
10228  0, 0, 4025, 4026, 4026, 0, 4026, 4026, 4026, 4026,
10229 
10230  4026, 4026, 4026, 4026, 4026, 4026, 4026, 4026, 4026, 4026,
10231  4026, 4026, 4026, 4026, 4026, 4026, 4026, 4026, 4026, 4026,
10232  4026, 4026, 4026, 4027, 4027, 0, 4027, 4027, 4027, 4027,
10233  4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027,
10234  4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027, 4027,
10235  4027, 4027, 4027, 4028, 4028, 0, 4028, 4028, 4028, 4028,
10236  4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028,
10237  4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028, 4028,
10238  4028, 4028, 4028, 4029, 0, 0, 0, 0, 4029, 4029,
10239  0, 0, 0, 4029, 0, 0, 0, 4029, 4030, 4030,
10240 
10241  0, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030,
10242  4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030,
10243  4030, 4030, 4030, 4030, 4030, 4030, 4030, 4030, 4031, 4031,
10244  0, 4031, 4031, 0, 0, 4031, 4031, 4031, 4031, 4031,
10245  4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031, 4031,
10246  4031, 0, 4031, 4031, 4031, 4031, 4031, 4031, 4032, 0,
10247  4032, 4032, 0, 4032, 4032, 4032, 0, 0, 4032, 4032,
10248  4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032, 4032,
10249  4032, 0, 4032, 4032, 4032, 4032, 4032, 4032, 4033, 4033,
10250  0, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033,
10251 
10252  4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033,
10253  4033, 4033, 4033, 4033, 4033, 4033, 4033, 4033, 4034, 4034,
10254  0, 4034, 4034, 4034, 4034, 4034, 4034, 0, 4034, 4034,
10255  4034, 4034, 4034, 4034, 4034, 4034, 4034, 4034, 4034, 4034,
10256  4034, 4034, 4034, 4034, 4034, 4034, 4034, 4034, 4035, 4035,
10257  0, 0, 4035, 0, 4035, 4035, 4035, 4035, 4035, 4035,
10258  4035, 4035, 4035, 4035, 4035, 4035, 4035, 4035, 4035, 4035,
10259  4035, 0, 4035, 4035, 4035, 4035, 4035, 4035, 4036, 4036,
10260  0, 0, 4036, 4036, 4036, 0, 4036, 4036, 4036, 4036,
10261  4036, 4036, 4036, 4036, 4036, 4036, 4036, 4036, 4036, 4036,
10262 
10263  4036, 0, 4036, 4036, 4036, 4036, 4036, 4036, 4037, 4037,
10264  0, 4037, 4037, 0, 4037, 4037, 4037, 4037, 4037, 4037,
10265  4037, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4037,
10266  4037, 4037, 4037, 4037, 4037, 4037, 4037, 4037, 4038, 4038,
10267  0, 0, 4038, 4038, 4038, 4038, 4038, 4038, 4038, 4038,
10268  4038, 4038, 4038, 4038, 4038, 4038, 4038, 4038, 4038, 4038,
10269  4038, 4038, 4038, 4038, 4038, 4038, 4038, 4038, 4039, 4039,
10270  4039, 4039, 0, 0, 0, 0, 4039, 0, 4039, 0,
10271  0, 0, 4039, 4039, 4039, 0, 0, 4039, 4039, 0,
10272  4039, 4039, 4039, 0, 0, 0, 4039, 4040, 4040, 4040,
10273 
10274  4040, 0, 4040, 0, 0, 0, 0, 0, 0, 0,
10275  0, 0, 0, 0, 0, 0, 4040, 4040, 0, 0,
10276  0, 4040, 0, 0, 4040, 4040, 4041, 4041, 4041, 4041,
10277  0, 4041, 0, 0, 0, 0, 0, 0, 0, 0,
10278  0, 0, 0, 0, 0, 4041, 4041, 0, 0, 0,
10279  4041, 0, 0, 0, 4041, 4042, 4042, 4042, 4042, 0,
10280  0, 0, 0, 4042, 0, 4042, 0, 0, 0, 4042,
10281  0, 4042, 0, 0, 4042, 4042, 0, 0, 4042, 4042,
10282  0, 0, 0, 4042, 4043, 4043, 4043, 4043, 4043, 4043,
10283  4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 4043, 0,
10284 
10285  4043, 4043, 4043, 4043, 0, 0, 4043, 4043, 4043, 0,
10286  4043, 4043, 4043, 4043, 4044, 4044, 4044, 4044, 0, 0,
10287  0, 4044, 0, 0, 0, 0, 0, 0, 4044, 4044,
10288  0, 4044, 0, 4044, 4044, 0, 4044, 0, 4044, 0,
10289  0, 0, 4044, 4045, 4045, 4045, 4045, 0, 0, 0,
10290  4045, 0, 0, 0, 0, 0, 0, 4045, 4045, 0,
10291  4045, 0, 4045, 4045, 0, 4045, 0, 4045, 0, 0,
10292  0, 4045, 4046, 4046, 4046, 4046, 0, 0, 0, 4046,
10293  4046, 0, 4046, 0, 0, 0, 4046, 4046, 4046, 4046,
10294  0, 4046, 4046, 0, 4046, 4046, 4046, 0, 0, 0,
10295 
10296  4046, 4047, 0, 4047, 4047, 0, 4047, 4047, 4047, 4047,
10297  0, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047, 4047,
10298  4047, 4047, 4047, 4047, 0, 4047, 4047, 4047, 4047, 4047,
10299  4047, 4048, 4048, 0, 4048, 4048, 0, 4048, 4048, 4048,
10300  4048, 4048, 4048, 0, 0, 0, 4048, 4048, 4048, 4048,
10301  4048, 4048, 4048, 4048, 4048, 4048, 4048, 0, 4048, 4048,
10302  4048, 4049, 4049, 0, 4049, 4049, 0, 4049, 4049, 4049,
10303  4049, 4049, 4049, 4049, 4049, 0, 4049, 4049, 4049, 4049,
10304  4049, 4049, 4049, 4049, 4049, 4049, 4049, 0, 4049, 4049,
10305  4049, 4050, 4050, 0, 4050, 4050, 4050, 4050, 4050, 4050,
10306 
10307  4050, 4050, 4050, 4050, 4050, 4050, 0, 4050, 4050, 4050,
10308  4050, 0, 0, 4050, 4050, 4050, 0, 4050, 4050, 4050,
10309  4050, 4051, 4051, 0, 4051, 4051, 0, 4051, 4051, 4051,
10310  4051, 4051, 4051, 4051, 4051, 0, 4051, 4051, 4051, 4051,
10311  4051, 4051, 4051, 4051, 4051, 4051, 4051, 0, 4051, 4051,
10312  4051, 4052, 0, 0, 4052, 0, 0, 0, 4052, 0,
10313  0, 0, 4052, 4052, 0, 4052, 4052, 0, 4052, 0,
10314  4052, 4052, 0, 0, 0, 4052, 0, 0, 0, 4052,
10315  4053, 4053, 0, 4053, 0, 0, 0, 4053, 0, 0,
10316  0, 4053, 4053, 0, 4053, 4053, 0, 4053, 0, 4053,
10317 
10318  4053, 0, 0, 0, 4053, 0, 0, 0, 4053, 4054,
10319  0, 0, 4054, 0, 0, 0, 4054, 0, 0, 0,
10320  0, 0, 0, 4054, 4054, 0, 0, 0, 4054, 4054,
10321  0, 4054, 0, 4054, 0, 0, 0, 4054, 4055, 0,
10322  0, 0, 0, 4055, 4055, 0, 0, 0, 4055, 0,
10323  0, 0, 4055, 4056, 0, 0, 0, 0, 4056, 4056,
10324  0, 0, 0, 4056, 0, 0, 0, 4056, 4057, 4057,
10325  0, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057,
10326  4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057,
10327  4057, 4057, 4057, 4057, 4057, 4057, 4057, 4057, 4058, 0,
10328 
10329  0, 0, 0, 4058, 4058, 0, 0, 0, 4058, 0,
10330  0, 0, 4058, 4059, 4059, 0, 4059, 4059, 0, 0,
10331  4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059, 4059,
10332  4059, 4059, 4059, 4059, 4059, 4059, 0, 4059, 4059, 4059,
10333  4059, 4059, 4059, 4060, 0, 4060, 4060, 0, 4060, 4060,
10334  4060, 0, 0, 4060, 4060, 4060, 4060, 4060, 4060, 4060,
10335  4060, 4060, 4060, 4060, 4060, 4060, 0, 4060, 4060, 4060,
10336  4060, 4060, 4060, 4061, 4061, 0, 4061, 4061, 4061, 4061,
10337  4061, 4061, 0, 4061, 4061, 4061, 4061, 4061, 4061, 4061,
10338  4061, 4061, 4061, 4061, 4061, 4061, 4061, 4061, 4061, 4061,
10339 
10340  4061, 4061, 4061, 4062, 4062, 0, 0, 4062, 0, 4062,
10341  4062, 4062, 4062, 4062, 4062, 4062, 4062, 4062, 4062, 4062,
10342  4062, 4062, 4062, 4062, 4062, 4062, 0, 4062, 4062, 4062,
10343  4062, 4062, 4062, 4063, 4063, 0, 0, 4063, 4063, 4063,
10344  0, 4063, 4063, 4063, 4063, 4063, 4063, 4063, 4063, 4063,
10345  4063, 4063, 4063, 4063, 4063, 4063, 0, 4063, 4063, 4063,
10346  4063, 4063, 4063, 4064, 4064, 0, 4064, 4064, 0, 4064,
10347  4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064,
10348  4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064, 4064,
10349  4064, 4064, 4064, 4065, 4065, 0, 0, 4065, 4065, 4065,
10350 
10351  4065, 4065, 4065, 4065, 4065, 4065, 4065, 4065, 4065, 4065,
10352  4065, 4065, 4065, 4065, 4065, 4065, 4065, 4065, 4065, 4065,
10353  4065, 4065, 4065, 4066, 4066, 4066, 4066, 0, 4066, 0,
10354  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10355  0, 0, 4066, 4066, 0, 0, 0, 4066, 0, 0,
10356  4066, 4066, 4067, 4067, 4067, 4067, 0, 0, 0, 0,
10357  4067, 0, 4067, 0, 0, 0, 4067, 0, 4067, 0,
10358  0, 4067, 4067, 0, 0, 4067, 4067, 0, 0, 0,
10359  4067, 4068, 4068, 4068, 4068, 0, 0, 0, 4068, 0,
10360  0, 0, 0, 0, 0, 4068, 4068, 0, 4068, 0,
10361 
10362  4068, 4068, 0, 4068, 0, 4068, 0, 0, 0, 4068,
10363  4069, 4069, 4069, 4069, 0, 0, 0, 4069, 0, 0,
10364  0, 0, 0, 0, 4069, 4069, 0, 4069, 0, 4069,
10365  4069, 0, 4069, 0, 4069, 0, 0, 0, 4069, 4070,
10366  0, 4070, 4070, 0, 4070, 4070, 4070, 4070, 0, 4070,
10367  4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070, 4070,
10368  4070, 4070, 0, 4070, 4070, 4070, 4070, 4070, 4070, 4071,
10369  4071, 0, 4071, 4071, 4071, 4071, 4071, 4071, 4071, 4071,
10370  4071, 4071, 4071, 4071, 0, 4071, 4071, 4071, 4071, 0,
10371  0, 4071, 4071, 4071, 0, 4071, 4071, 4071, 4071, 4072,
10372 
10373  4072, 0, 4072, 4072, 0, 4072, 4072, 4072, 4072, 4072,
10374  4072, 0, 0, 0, 4072, 4072, 4072, 4072, 4072, 4072,
10375  4072, 4072, 4072, 4072, 4072, 0, 4072, 4072, 4072, 4073,
10376  4073, 0, 4073, 4073, 0, 4073, 4073, 4073, 4073, 4073,
10377  4073, 4073, 4073, 0, 4073, 4073, 4073, 4073, 4073, 4073,
10378  4073, 4073, 4073, 4073, 4073, 0, 4073, 4073, 4073, 4074,
10379  0, 0, 4074, 0, 0, 0, 4074, 0, 0, 0,
10380  4074, 4074, 0, 4074, 4074, 0, 4074, 0, 4074, 4074,
10381  0, 0, 0, 4074, 0, 0, 0, 4074, 4075, 4075,
10382  0, 4075, 0, 0, 0, 4075, 0, 0, 0, 4075,
10383 
10384  4075, 0, 4075, 4075, 0, 4075, 0, 4075, 4075, 0,
10385  0, 0, 4075, 0, 0, 0, 4075, 4076, 0, 0,
10386  4076, 0, 0, 0, 4076, 0, 0, 0, 0, 0,
10387  0, 4076, 4076, 0, 0, 0, 4076, 4076, 0, 4076,
10388  0, 4076, 0, 0, 0, 4076, 4077, 4077, 0, 4077,
10389  4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077,
10390  4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077, 4077,
10391  4077, 4077, 4077, 4077, 4077, 4077, 4078, 4078, 4078, 4078,
10392  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10393  4078, 0, 0, 0, 0, 4078, 4078, 0, 0, 0,
10394 
10395  4078, 4078, 0, 0, 4078, 4079, 4079, 0, 4079, 4079,
10396  0, 0, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079,
10397  4079, 4079, 4079, 4079, 4079, 4079, 4079, 4079, 0, 4079,
10398  4079, 4079, 4079, 4079, 4079, 4080, 0, 4080, 4080, 0,
10399  4080, 4080, 4080, 0, 0, 4080, 4080, 4080, 4080, 4080,
10400  4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 0, 4080,
10401  4080, 4080, 4080, 4080, 4080, 4081, 4081, 0, 4081, 4081,
10402  4081, 4081, 4081, 4081, 0, 4081, 4081, 4081, 4081, 4081,
10403  4081, 4081, 4081, 4081, 4081, 4081, 4081, 4081, 4081, 4081,
10404  4081, 4081, 4081, 4081, 4081, 4082, 4082, 0, 0, 4082,
10405 
10406  0, 4082, 4082, 4082, 4082, 4082, 4082, 4082, 4082, 4082,
10407  4082, 4082, 4082, 4082, 4082, 4082, 4082, 4082, 0, 4082,
10408  4082, 4082, 4082, 4082, 4082, 4083, 4083, 0, 0, 4083,
10409  4083, 4083, 0, 4083, 4083, 4083, 4083, 4083, 4083, 4083,
10410  4083, 4083, 4083, 4083, 4083, 4083, 4083, 4083, 0, 4083,
10411  4083, 4083, 4083, 4083, 4083, 4084, 4084, 0, 4084, 4084,
10412  0, 4084, 4084, 4084, 4084, 4084, 4084, 4084, 4084, 4084,
10413  4084, 4084, 4084, 4084, 4084, 4084, 4084, 4084, 4084, 4084,
10414  4084, 4084, 4084, 4084, 4084, 4085, 4085, 0, 0, 4085,
10415  4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085,
10416 
10417  4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085,
10418  4085, 4085, 4085, 4085, 4085, 4086, 4086, 4086, 4086, 0,
10419  0, 0, 4086, 0, 0, 0, 0, 0, 0, 4086,
10420  4086, 0, 4086, 0, 4086, 4086, 0, 4086, 0, 4086,
10421  0, 0, 0, 4086, 4087, 4087, 4087, 4087, 0, 0,
10422  0, 4087, 0, 0, 0, 0, 0, 0, 4087, 4087,
10423  0, 4087, 0, 4087, 4087, 0, 4087, 0, 4087, 0,
10424  0, 0, 4087, 4088, 0, 4088, 4088, 0, 4088, 4088,
10425  4088, 4088, 0, 4088, 4088, 4088, 4088, 4088, 4088, 4088,
10426  4088, 4088, 4088, 4088, 4088, 4088, 0, 4088, 4088, 4088,
10427 
10428  4088, 4088, 4088, 4089, 4089, 0, 4089, 4089, 4089, 4089,
10429  4089, 0, 0, 4089, 4089, 4089, 4089, 4089, 4089, 4089,
10430  4089, 0, 4089, 4089, 4089, 0, 4089, 0, 4089, 0,
10431  0, 4089, 4089, 4090, 0, 0, 4090, 0, 0, 0,
10432  4090, 0, 0, 0, 4090, 4090, 0, 4090, 4090, 0,
10433  4090, 0, 4090, 4090, 0, 0, 0, 4090, 0, 0,
10434  0, 4090, 4091, 4091, 0, 4091, 0, 0, 0, 4091,
10435  0, 0, 0, 4091, 4091, 0, 4091, 4091, 0, 4091,
10436  0, 4091, 4091, 0, 0, 0, 4091, 0, 0, 0,
10437  4091, 4092, 0, 0, 4092, 0, 4092, 0, 0, 0,
10438 
10439  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10440  4092, 4092, 0, 0, 0, 4092, 0, 0, 0, 4092,
10441  4093, 4093, 0, 4093, 4093, 4093, 4093, 4093, 4093, 4093,
10442  4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093,
10443  4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093, 4093,
10444  4094, 0, 0, 0, 0, 4094, 4094, 0, 0, 0,
10445  4094, 0, 0, 0, 4094, 4095, 4095, 0, 4095, 4095,
10446  0, 0, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095,
10447  4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 0, 4095,
10448  4095, 4095, 4095, 4095, 4095, 4096, 0, 4096, 4096, 0,
10449 
10450  4096, 4096, 4096, 0, 0, 4096, 4096, 4096, 4096, 4096,
10451  4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 0, 4096,
10452  4096, 4096, 4096, 4096, 4096, 4097, 4097, 0, 4097, 4097,
10453  4097, 4097, 4097, 4097, 0, 4097, 4097, 4097, 4097, 4097,
10454  4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097, 4097,
10455  4097, 4097, 4097, 4097, 4097, 4098, 0, 4098, 4098, 0,
10456  4098, 4098, 4098, 4098, 0, 4098, 4098, 4098, 4098, 4098,
10457  4098, 4098, 4098, 4098, 4098, 4098, 4098, 4098, 0, 4098,
10458  4098, 4098, 4098, 4098, 4098, 4099, 0, 0, 4099, 0,
10459  4099, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10460 
10461  0, 0, 0, 0, 4099, 4099, 0, 0, 0, 4099,
10462  0, 0, 0, 4099, 4100, 0, 0, 4100, 0, 0,
10463  0, 0, 4100, 0, 0, 0, 0, 0, 4100, 0,
10464  0, 0, 0, 4100, 4100, 0, 0, 0, 4100, 0,
10465  0, 0, 4100, 4101, 0, 4101, 4101, 0, 4101, 4101,
10466  4101, 0, 0, 4101, 4101, 4101, 4101, 4101, 4101, 4101,
10467  4101, 4101, 4101, 4101, 4101, 4101, 0, 4101, 4101, 4101,
10468  4101, 4101, 4101, 4102, 0, 4102, 4102, 0, 4102, 4102,
10469  4102, 4102, 0, 4102, 4102, 4102, 4102, 4102, 4102, 4102,
10470  4102, 4102, 4102, 4102, 4102, 4102, 0, 4102, 4102, 4102,
10471 
10472  4102, 4102, 4102, 4103, 0, 0, 4103, 0, 0, 0,
10473  0, 4103, 0, 0, 0, 0, 0, 4103, 0, 0,
10474  0, 0, 4103, 4103, 0, 0, 0, 4103, 0, 0,
10475  0, 4103, 4104, 0, 4104, 4104, 0, 4104, 4104, 4104,
10476  0, 0, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104,
10477  4104, 4104, 4104, 4104, 4104, 0, 4104, 4104, 4104, 4104,
10478  4104, 4104, 4105, 0, 4105, 4105, 0, 4105, 4105, 4105,
10479  4105, 0, 4105, 4105, 4105, 4105, 4105, 4105, 4105, 4105,
10480  4105, 4105, 4105, 4105, 4105, 0, 4105, 4105, 4105, 4105,
10481  4105, 4105, 4106, 0, 4106, 4106, 0, 4106, 4106, 4106,
10482 
10483  0, 0, 4106, 4106, 4106, 4106, 4106, 4106, 4106, 4106,
10484  4106, 4106, 4106, 4106, 4106, 0, 4106, 4106, 4106, 4106,
10485  4106, 4106, 4107, 0, 4107, 4107, 0, 4107, 4107, 4107,
10486  4107, 0, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107,
10487  4107, 4107, 4107, 4107, 4107, 0, 4107, 4107, 4107, 4107,
10488  4107, 4107, 4108, 0, 4108, 4108, 0, 4108, 4108, 4108,
10489  0, 0, 4108, 4108, 4108, 4108, 4108, 4108, 4108, 4108,
10490  4108, 4108, 4108, 4108, 4108, 0, 4108, 4108, 4108, 4108,
10491  4108, 4108, 4109, 0, 4109, 4109, 0, 4109, 4109, 4109,
10492  4109, 0, 4109, 4109, 4109, 4109, 4109, 4109, 4109, 4109,
10493 
10494  4109, 4109, 4109, 4109, 4109, 0, 4109, 4109, 4109, 4109,
10495  4109, 4109, 4110, 0, 4110, 4110, 0, 4110, 4110, 4110,
10496  0, 0, 4110, 4110, 4110, 4110, 4110, 4110, 4110, 4110,
10497  4110, 4110, 4110, 4110, 4110, 0, 4110, 4110, 4110, 4110,
10498  4110, 4110, 4111, 0, 4111, 4111, 0, 4111, 4111, 4111,
10499  4111, 0, 4111, 4111, 4111, 4111, 4111, 4111, 4111, 4111,
10500  4111, 4111, 4111, 4111, 4111, 0, 4111, 4111, 4111, 4111,
10501  4111, 4111, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
10502  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
10503  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
10504 
10505  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
10506  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
10507  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
10508  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
10509  3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536, 3536,
10510  3536, 3536, 3536, 3536, 3536, 3536, 3536
10511  } ;
10512 
10513 extern int codeYY_flex_debug;
10514 int codeYY_flex_debug = 0;
10515 
10516 static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
10517 static char *yy_full_match;
10518 static int yy_lp;
10520 static int yy_full_lp;
10521 static int *yy_full_state;
10522 #define YY_TRAILING_MASK 0x2000
10523 #define YY_TRAILING_HEAD_MASK 0x4000
10524 #define REJECT \
10525 { \
10526 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */ \
10527 yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
10528 (yy_lp) = (yy_full_lp); /* restore orig. accepting pos. */ \
10529 (yy_state_ptr) = (yy_full_state); /* restore orig. state */ \
10530 yy_current_state = *(yy_state_ptr); /* restore curr. state */ \
10531 ++(yy_lp); \
10532 goto find_rule; \
10533 }
10534 
10535 #define yymore() yymore_used_but_not_detected
10536 #define YY_MORE_ADJ 0
10537 #define YY_RESTORE_YY_MORE_OFFSET
10539 #line 1 "code.l"
10540 /******************************************************************************
10541  *
10542  *
10543  *
10544  * Copyright (C) 1997-2015 by Dimitri van Heesch.
10545  *
10546  * Permission to use, copy, modify, and distribute this software and its
10547  * documentation under the terms of the GNU General Public License is hereby
10548  * granted. No representations are made about the suitability of this software
10549  * for any purpose. It is provided "as is" without express or implied warranty.
10550  * See the GNU General Public License for more details.
10551  *
10552  * Documents produced by Doxygen are derivative works derived from the
10553  * input used in their production; they are not affected by this license.
10554  *
10555  */
10556 #line 19 "code.l"
10557 
10558 /*
10559  * includes
10560  */
10561 #include <stdio.h>
10562 #include <assert.h>
10563 #include <ctype.h>
10564 #include <qregexp.h>
10565 #include <qdir.h>
10566 
10567 #include "entry.h"
10568 #include "doxygen.h"
10569 #include "message.h"
10570 #include "outputlist.h"
10571 #include "util.h"
10572 #include "membername.h"
10573 #include "searchindex.h"
10574 #include "arguments.h"
10575 #include "config.h"
10576 #include "groupdef.h"
10577 #include "classlist.h"
10578 #include "filedef.h"
10579 #include "filename.h"
10580 #include "namespacedef.h"
10581 #include "tooltip.h"
10582 
10583 // Toggle for some debugging info
10584 //#define DBG_CTX(x) fprintf x
10585 #define DBG_CTX(x) do { } while(0)
10586 
10587 #define YY_NO_UNISTD_H 1
10588 
10589 #define CLASSBLOCK (int *)4
10590 #define SCOPEBLOCK (int *)8
10591 #define INNERBLOCK (int *)12
10592 
10593 /* -----------------------------------------------------------------
10594  * statics
10595  */
10596 
10598 
10602 
10605 
10606 static const char * g_inputString; //!< the code fragment as text
10607 static int g_inputPosition; //!< read offset during parsing
10608 static int g_inputLines; //!< number of line in the code fragment
10609 static int g_yyLineNr; //!< current line number
10610 static int g_yyColNr; //!< current column number
10612 
10613 static bool g_exampleBlock;
10616 
10617 static bool g_insideTemplate = FALSE;
10623 static QStack<int> g_scopeStack; //!< 1 if bracket starts a scope,
10624  // 2 for internal blocks
10625 static int g_anchorCount;
10627 static bool g_lineNumbers;
10631 static const char * g_currentFontClass;
10633 static bool g_insideBody;
10634 static int g_bodyCurlyCount;
10638 
10639 static int g_bracketCount = 0;
10640 static int g_curlyCount = 0;
10641 static int g_sharpCount = 0;
10644 
10650 static int g_memCallContext;
10651 static int g_lastCContext;
10653 
10654 static bool g_insideObjC;
10655 static bool g_insideJava;
10656 static bool g_insideCS;
10657 static bool g_insidePHP;
10659 
10660 static bool g_lexInit = FALSE;
10661 
10663 
10665 static bool g_collectXRefs;
10666 
10667 // context for an Objective-C method call
10669 {
10670  int id;
10679 };
10680 
10681 // globals for objective-C method calls
10683 static int g_currentCtxId=0;
10684 static int g_currentNameId=0;
10685 static int g_currentObjId=0;
10686 static int g_currentWordId=0;
10692 static int g_braceCount=0;
10693 
10694 static void saveObjCContext();
10695 static void restoreObjCContext();
10696 
10698 
10699 
10700 //-------------------------------------------------------------------
10701 
10702 /*! Represents a stack of variable to class mappings as found in the
10703  * code. Each scope is enclosed in pushScope() and popScope() calls.
10704  * Variables are added by calling addVariables() and one can search
10705  * for variable using findVariable().
10706  */
10708 {
10709  public:
10710  static const ClassDef *dummyContext;
10711 
10712  class Scope : public SDict<ClassDef>
10713  {
10714  public:
10715  Scope() : SDict<ClassDef>(17) {}
10716  };
10717 
10719  {
10720  m_scopes.setAutoDelete(TRUE);
10721  }
10723  {
10724  }
10725 
10726  void pushScope()
10727  {
10728  m_scopes.append(new Scope);
10729  DBG_CTX((stderr,"** Push var context %d\n",m_scopes.count()));
10730  }
10731 
10732  void popScope()
10733  {
10734  if (m_scopes.count()>0)
10735  {
10736  DBG_CTX((stderr,"** Pop var context %d\n",m_scopes.count()));
10737  m_scopes.remove(m_scopes.count()-1);
10738  }
10739  else
10740  {
10741  DBG_CTX((stderr,"** ILLEGAL: Pop var context\n"));
10742  }
10743  }
10744 
10745  void clear()
10746  {
10747  m_scopes.clear();
10748  m_globalScope.clear();
10749  }
10750 
10752  {
10753  DBG_CTX((stderr,"** Clear var context\n"));
10754  m_scopes.clear();
10755  }
10756 
10757  void addVariable(const QCString &type,const QCString &name);
10758  ClassDef *findVariable(const QCString &name);
10759 
10760  int count() const { return m_scopes.count(); }
10761 
10762  private:
10765 };
10766 
10768 {
10769  //printf("VariableContext::addVariable(%s,%s)\n",type.data(),name.data());
10770  QCString ltype = type.simplifyWhiteSpace();
10771  QCString lname = name.simplifyWhiteSpace();
10772  if (ltype.left(7)=="struct ")
10773  {
10774  ltype = ltype.right(ltype.length()-7);
10775  }
10776  else if (ltype.left(6)=="union ")
10777  {
10778  ltype = ltype.right(ltype.length()-6);
10779  }
10780  if (ltype.isEmpty() || lname.isEmpty()) return;
10781  DBG_CTX((stderr,"** addVariable trying: type='%s' name='%s' g_currentDefinition=%s\n",
10782  ltype.data(),lname.data(),g_currentDefinition?g_currentDefinition->name().data():"<none>"));
10783  Scope *scope = m_scopes.count()==0 ? &m_globalScope : m_scopes.getLast();
10784  ClassDef *varType;
10785  int i=0;
10786  if (
10787  (varType=g_codeClassSDict->find(ltype)) || // look for class definitions inside the code block
10788  (varType=getResolvedClass(g_currentDefinition,g_sourceFileDef,ltype)) // look for global class definitions
10789  )
10790  {
10791  DBG_CTX((stderr,"** addVariable type='%s' name='%s'\n",ltype.data(),lname.data()));
10792  scope->append(lname,varType); // add it to a list
10793  }
10794  else if ((i=ltype.find('<'))!=-1)
10795  {
10796  // probably a template class
10797  QCString typeName(ltype.left(i));
10798  ClassDef* newDef = 0;
10799  QCString templateArgs(ltype.right(ltype.length() - i));
10800  if (
10801  ( // look for class definitions inside the code block
10802  (varType=g_codeClassSDict->find(typeName)) ||
10803  // otherwise look for global class definitions
10804  (varType=getResolvedClass(g_currentDefinition,g_sourceFileDef,typeName,0,0,TRUE,TRUE))
10805  ) && // and it must be a template
10806  varType->templateArguments())
10807  {
10808  newDef = varType->getVariableInstance( templateArgs );
10809  }
10810  if (newDef)
10811  {
10812  DBG_CTX((stderr,"** addVariable type='%s' templ='%s' name='%s'\n",typeName.data(),templateArgs.data(),lname.data()));
10813  scope->append(lname, newDef);
10814  }
10815  else
10816  {
10817  // Doesn't seem to be a template. Try just the base name.
10818  addVariable(typeName,name);
10819  }
10820  }
10821  else
10822  {
10823  if (m_scopes.count()>0) // for local variables add a dummy entry so the name
10824  // is hidden to avoid false links to global variables with the same name
10825  // TODO: make this work for namespaces as well!
10826  {
10827  DBG_CTX((stderr,"** addVariable: dummy context for '%s'\n",lname.data()));
10828  scope->append(lname,dummyContext);
10829  }
10830  else
10831  {
10832  DBG_CTX((stderr,"** addVariable: not adding variable!\n"));
10833  }
10834  }
10835 }
10836 
10838 {
10839  if (name.isEmpty()) return 0;
10840  ClassDef *result = 0;
10841  QListIterator<Scope> sli(m_scopes);
10842  Scope *scope;
10843  QCString key = name;
10844  // search from inner to outer scope
10845  for (sli.toLast();(scope=sli.current());--sli)
10846  {
10847  result = scope->find(key);
10848  if (result)
10849  {
10850  DBG_CTX((stderr,"** findVariable(%s)=%p\n",name.data(),result));
10851  return result;
10852  }
10853  }
10854  // nothing found -> also try the global scope
10855  result=m_globalScope.find(name);
10856  DBG_CTX((stderr,"** findVariable(%s)=%p\n",name.data(),result));
10857  return result;
10858 }
10859 
10862 
10863 //-------------------------------------------------------------------
10864 
10866 {
10867  public:
10868  struct Ctx
10869  {
10870  Ctx() : name(g_name), type(g_type), d(0) {}
10874  };
10875 
10877  {
10878  m_defList.append(new Ctx);
10879  m_defList.setAutoDelete(TRUE);
10880  }
10881  virtual ~CallContext() {}
10883  {
10884  Ctx *ctx = m_defList.getLast();
10885  if (ctx)
10886  {
10887  DBG_CTX((stderr,"** Set call context %s (%p)\n",d==0 ? "<null>" : d->name().data(),d));
10888  ctx->d=d;
10889  }
10890  }
10891  void pushScope()
10892  {
10893  m_defList.append(new Ctx);
10894  DBG_CTX((stderr,"** Push call context %d\n",m_defList.count()));
10895  }
10896  void popScope()
10897  {
10898  if (m_defList.count()>1)
10899  {
10900  DBG_CTX((stderr,"** Pop call context %d\n",m_defList.count()));
10901  Ctx *ctx = m_defList.getLast();
10902  if (ctx)
10903  {
10904  g_name = ctx->name;
10905  g_type = ctx->type;
10906  }
10907  m_defList.removeLast();
10908  }
10909  else
10910  {
10911  DBG_CTX((stderr,"** ILLEGAL: Pop call context\n"));
10912  }
10913  }
10914  void clear()
10915  {
10916  DBG_CTX((stderr,"** Clear call context\n"));
10917  m_defList.clear();
10918  m_defList.append(new Ctx);
10919  }
10921  {
10922  Ctx *ctx = m_defList.getLast();
10923  if (ctx) return ctx->d; else return 0;
10924  }
10925 
10926  private:
10928 };
10929 
10931 
10932 //-------------------------------------------------------------------
10933 
10934 /*! add class/namespace name s to the scope */
10935 static void pushScope(const char *s)
10936 {
10937  g_classScopeLengthStack.push(new int(g_classScope.length()));
10938  if (g_classScope.isEmpty() || leftScopeMatch(s,g_classScope))
10939  {
10940  g_classScope = s;
10941  }
10942  else
10943  {
10944  g_classScope += "::";
10945  g_classScope += s;
10946  }
10947  //printf("pushScope(%s) result: `%s'\n",s,g_classScope.data());
10948 }
10949 
10950 /*! remove the top class/namespace name from the scope */
10951 static void popScope()
10952 {
10953  if (!g_classScopeLengthStack.isEmpty())
10954  {
10955  int *pLength = g_classScopeLengthStack.pop();
10956  g_classScope.truncate(*pLength);
10957  delete pLength;
10958  }
10959  else
10960  {
10961  //err("Too many end of scopes found!\n");
10962  }
10963  //printf("popScope() result: `%s'\n",g_classScope.data());
10964 }
10965 
10966 static void setCurrentDoc(const QCString &anchor)
10967 {
10969  {
10970  if (g_searchCtx)
10971  {
10972  g_code->setCurrentDoc(g_searchCtx,g_searchCtx->anchor(),FALSE);
10973  }
10974  else
10975  {
10976  g_code->setCurrentDoc(g_sourceFileDef,anchor,TRUE);
10977  }
10978  }
10979 }
10980 
10981 static void addToSearchIndex(const char *text)
10982 {
10984  {
10985  g_code->addWord(text,FALSE);
10986  }
10987 }
10988 
10989 static void setClassScope(const QCString &name)
10990 {
10991  //printf("setClassScope(%s)\n",name.data());
10992  QCString n=name;
10993  n=n.simplifyWhiteSpace();
10994  int ts=n.find('<'); // start of template
10995  int te=n.findRev('>'); // end of template
10996  //printf("ts=%d te=%d\n",ts,te);
10997  if (ts!=-1 && te!=-1 && te>ts)
10998  {
10999  // remove template from scope
11000  n=n.left(ts)+n.right(n.length()-te-1);
11001  }
11002  while (!g_classScopeLengthStack.isEmpty())
11003  {
11004  popScope();
11005  }
11006  g_classScope.resize(0);
11007  int i;
11008  while ((i=n.find("::"))!=-1)
11009  {
11010  pushScope(n.left(i));
11011  n = n.mid(i+2);
11012  }
11013  pushScope(n);
11014  //printf("--->New class scope `%s'\n",g_classScope.data());
11015 }
11016 
11017 /*! start a new line of code, inserting a line number if g_sourceFileDef
11018  * is TRUE. If a definition starts at the current line, then the line
11019  * number is linked to the documentation of that definition.
11020  */
11021 static void startCodeLine()
11022 {
11023  //if (g_currentFontClass) { g_code->endFontClass(); }
11024  if (g_sourceFileDef && g_lineNumbers)
11025  {
11026  //QCString lineNumber,lineAnchor;
11027  //lineNumber.sprintf("%05d",g_yyLineNr);
11028  //lineAnchor.sprintf("l%05d",g_yyLineNr);
11029 
11030  Definition *d = g_sourceFileDef->getSourceDefinition(g_yyLineNr);
11031  //printf("%s:startCodeLine(%d)=%p\n",g_sourceFileDef->name().data(),g_yyLineNr,d);
11032  if (!g_includeCodeFragment && d)
11033  {
11034  g_currentDefinition = d;
11035  g_currentMemberDef = g_sourceFileDef->getSourceMember(g_yyLineNr);
11036  g_insideBody = FALSE;
11037  g_searchingForBody = TRUE;
11038  g_realScope = d->name();
11039  //g_classScope = "";
11040  g_type.resize(0);
11041  g_name.resize(0);
11042  g_args.resize(0);
11043  g_parmType.resize(0);
11044  g_parmName.resize(0);
11045  //printf("Real scope: `%s'\n",g_realScope.data());
11046  g_bodyCurlyCount = 0;
11047  QCString lineAnchor;
11048  lineAnchor.sprintf("l%05d",g_yyLineNr);
11049  if (g_currentMemberDef)
11050  {
11051  g_code->writeLineNumber(g_currentMemberDef->getReference(),
11052  g_currentMemberDef->getOutputFileBase(),
11053  g_currentMemberDef->anchor(),g_yyLineNr);
11054  setCurrentDoc(lineAnchor);
11055  }
11056  else if (d->isLinkableInProject())
11057  {
11058  g_code->writeLineNumber(d->getReference(),
11059  d->getOutputFileBase(),
11060  0,g_yyLineNr);
11061  setCurrentDoc(lineAnchor);
11062  }
11063  }
11064  else
11065  {
11066  g_code->writeLineNumber(0,0,0,g_yyLineNr);
11067  }
11068  }
11069  DBG_CTX((stderr,"startCodeLine(%d)\n",g_yyLineNr));
11070  g_code->startCodeLine(g_sourceFileDef && g_lineNumbers);
11071  if (g_currentFontClass)
11072  {
11073  g_code->startFontClass(g_currentFontClass);
11074  }
11075 }
11076 
11077 
11078 static void endFontClass();
11079 static void startFontClass(const char *s);
11080 
11081 static void endCodeLine()
11082 {
11083  DBG_CTX((stderr,"endCodeLine(%d)\n",g_yyLineNr));
11084  endFontClass();
11085  g_code->endCodeLine();
11086 }
11087 
11088 static void nextCodeLine()
11089 {
11090  const char * fc = g_currentFontClass;
11091  endCodeLine();
11092  if (g_yyLineNr<g_inputLines)
11093  {
11094  g_currentFontClass = fc;
11095  startCodeLine();
11096  }
11097 }
11098 
11099 /*! write a code fragment `text' that may span multiple lines, inserting
11100  * line numbers for each line.
11101  */
11102 static void codifyLines(const char *text)
11103 {
11104  //printf("codifyLines(%d,\"%s\")\n",g_yyLineNr,text);
11105  const char *p=text,*sp=p;
11106  char c;
11107  bool done=FALSE;
11108  while (!done)
11109  {
11110  sp=p;
11111  while ((c=*p++) && c!='\n') { g_yyColNr++; }
11112  if (c=='\n')
11113  {
11114  g_yyLineNr++;
11115  g_yyColNr=1;
11116  //*(p-1)='\0';
11117  int l = (int)(p-sp-1);
11118  char *tmp = (char*)malloc(l+1);
11119  memcpy(tmp,sp,l);
11120  tmp[l]='\0';
11121  g_code->codify(tmp);
11122  free(tmp);
11123  nextCodeLine();
11124  }
11125  else
11126  {
11127  g_code->codify(sp);
11128  done=TRUE;
11129  }
11130  }
11131 }
11132 
11133 /*! writes a link to a fragment \a text that may span multiple lines, inserting
11134  * line numbers for each line. If \a text contains newlines, the link will be
11135  * split into multiple links with the same destination, one for each line.
11136  */
11138  Definition *d,
11139  const char *text)
11140 {
11141  static bool sourceTooltips = Config_getBool("SOURCE_TOOLTIPS");
11143  QCString ref = d->getReference();
11145  QCString anchor = d->anchor();
11146  QCString tooltip;
11147  if (!sourceTooltips) // fall back to simple "title" tooltips
11148  {
11149  tooltip = d->briefDescriptionAsTooltip();
11150  }
11151  bool done=FALSE;
11152  char *p=(char *)text;
11153  while (!done)
11154  {
11155  char *sp=p;
11156  char c;
11157  while ((c=*p++) && c!='\n') { }
11158  if (c=='\n')
11159  {
11160  g_yyLineNr++;
11161  *(p-1)='\0';
11162  //printf("writeCodeLink(%s,%s,%s,%s)\n",ref,file,anchor,sp);
11163  ol.writeCodeLink(ref,file,anchor,sp,tooltip);
11164  nextCodeLine();
11165  }
11166  else
11167  {
11168  //printf("writeCodeLink(%s,%s,%s,%s)\n",ref,file,anchor,sp);
11169  ol.writeCodeLink(ref,file,anchor,sp,tooltip);
11170  done=TRUE;
11171  }
11172  }
11173 }
11174 
11175 static void addType()
11176 {
11177  if (g_name=="const") { g_name.resize(0); return; }
11178  if (!g_type.isEmpty()) g_type += ' ' ;
11179  g_type += g_name ;
11180  g_name.resize(0) ;
11181  if (!g_type.isEmpty()) g_type += ' ' ;
11182  g_type += g_args ;
11183  g_args.resize(0) ;
11184 }
11185 
11186 static void addParmType()
11187 {
11188  if (g_parmName=="const") { g_parmName.resize(0); return; }
11189  if (!g_parmType.isEmpty()) g_parmType += ' ' ;
11190  g_parmType += g_parmName ;
11191  g_parmName.resize(0) ;
11192 }
11193 
11194 static void addUsingDirective(const char *name)
11195 {
11196  if (g_sourceFileDef && name)
11197  {
11199  if (nd)
11200  {
11201  g_sourceFileDef->addUsingDirective(nd);
11202  }
11203  }
11204 }
11205 
11207 {
11208  g_classScope = md->getClassDef() ? md->getClassDef()->name().data() : "";
11209  ArgumentList *al = md->argumentList();
11210  if (al==0) return;
11211  ArgumentListIterator it(*al);
11212  Argument *a;
11213  for (;(a=it.current());++it)
11214  {
11215  g_parmName = a->name.copy();
11216  g_parmType = a->type.copy();
11217  int i = g_parmType.find('*');
11218  if (i!=-1) g_parmType = g_parmType.left(i);
11219  i = g_parmType.find('&');
11220  if (i!=-1) g_parmType = g_parmType.left(i);
11221  g_parmType.stripPrefix("const ");
11222  g_parmType=g_parmType.stripWhiteSpace();
11223  g_theVarContext.addVariable(g_parmType,g_parmName);
11224  }
11225 }
11226 
11227 static ClassDef *stripClassName(const char *s,Definition *d=g_currentDefinition)
11228 {
11229  int pos=0;
11230  QCString type = s;
11232  QCString templSpec;
11233  while (extractClassNameFromType(type,pos,className,templSpec)!=-1)
11234  {
11235  QCString clName=className+templSpec;
11236  ClassDef *cd=0;
11237  if (!g_classScope.isEmpty())
11238  {
11239  cd=getResolvedClass(d,g_sourceFileDef,g_classScope+"::"+clName);
11240  }
11241  if (cd==0)
11242  {
11243  cd=getResolvedClass(d,g_sourceFileDef,clName);
11244  }
11245  //printf("stripClass trying `%s' = %p\n",clName.data(),cd);
11246  if (cd)
11247  {
11248  return cd;
11249  }
11250  }
11251 
11252  return 0;
11253 }
11254 
11256 {
11257  if (name.isEmpty()) return 0;
11258  DBG_CTX((stderr,"setCallContextForVar(%s) g_classScope=%s\n",name.data(),g_classScope.data()));
11259 
11260  int scopeEnd = name.findRev("::");
11261  if (scopeEnd!=-1) // name with explicit scope
11262  {
11263  QCString scope = name.left(scopeEnd);
11264  QCString locName = name.right(name.length()-scopeEnd-2);
11265  //printf("explicit scope: name=%s scope=%s\n",locName.data(),scope.data());
11266  ClassDef *mcd = getClass(scope);
11267  if (mcd && !locName.isEmpty())
11268  {
11269  MemberDef *md=mcd->getMemberByName(locName);
11270  if (md)
11271  {
11272  //printf("name=%s scope=%s\n",locName.data(),scope.data());
11273  g_theCallContext.setScope(stripClassName(md->typeString(),md->getOuterScope()));
11274  return md;
11275  }
11276  }
11277  else // check namespace as well
11278  {
11279  NamespaceDef *mnd = getResolvedNamespace(scope);
11280  if (mnd && !locName.isEmpty())
11281  {
11282  MemberDef *md=mnd->getMemberByName(locName);
11283  if (md)
11284  {
11285  //printf("name=%s scope=%s\n",locName.data(),scope.data());
11286  g_theCallContext.setScope(stripClassName(md->typeString(),md->getOuterScope()));
11287  return md;
11288  }
11289  }
11290  }
11291  }
11292 
11293  MemberName *mn;
11294  ClassDef *mcd = g_theVarContext.findVariable(name);
11295  if (mcd) // local variable
11296  {
11297  DBG_CTX((stderr,"local variable?\n"));
11298  if (mcd!=VariableContext::dummyContext)
11299  {
11300  DBG_CTX((stderr,"local var `%s' mcd=%s\n",name.data(),mcd->name().data()));
11301  g_theCallContext.setScope(mcd);
11302  }
11303  }
11304  else
11305  {
11306  DBG_CTX((stderr,"class member? scope=%s\n",g_classScope.data()));
11307  // look for a class member
11308  mcd = getClass(g_classScope);
11309  if (mcd)
11310  {
11311  DBG_CTX((stderr,"Inside class %s\n",mcd->name().data()));
11312  MemberDef *md=mcd->getMemberByName(name);
11313  if (md)
11314  {
11315  DBG_CTX((stderr,"Found member %s\n",md->name().data()));
11316  if (g_scopeStack.top()!=CLASSBLOCK)
11317  {
11318  DBG_CTX((stderr,"class member `%s' mcd=%s\n",name.data(),mcd->name().data()));
11319  g_theCallContext.setScope(stripClassName(md->typeString(),md->getOuterScope()));
11320  }
11321  return md;
11322  }
11323  }
11324  }
11325 
11326  // look for a global member
11327  if ((mn=Doxygen::functionNameSDict->find(name)))
11328  {
11329  //printf("global var `%s'\n",name.data());
11330  if (mn->count()==1) // global defined only once
11331  {
11332  MemberDef *md=mn->getFirst();
11333  if (!md->isStatic() || md->getBodyDef()==g_sourceFileDef)
11334  {
11335  g_theCallContext.setScope(stripClassName(md->typeString(),md->getOuterScope()));
11336  return md;
11337  }
11338  return 0;
11339  }
11340  else if (mn->count()>1) // global defined more than once
11341  {
11342  MemberNameIterator it(*mn);
11343  MemberDef *md;
11344  for (;(md=it.current());++it)
11345  {
11346  //printf("mn=%p md=%p md->getBodyDef()=%p g_sourceFileDef=%p\n",
11347  // mn,md,
11348  // md->getBodyDef(),g_sourceFileDef);
11349 
11350  // in case there are multiple members we could link to, we
11351  // only link to members if defined in the same file or
11352  // defined as external.
11353  if ((!md->isStatic() || md->getBodyDef()==g_sourceFileDef) &&
11354  (g_forceTagReference.isEmpty() || g_forceTagReference==md->getReference())
11355  )
11356  {
11357  g_theCallContext.setScope(stripClassName(md->typeString(),md->getOuterScope()));
11358  //printf("returning member %s in source file %s\n",md->name().data(),g_sourceFileDef->name().data());
11359  return md;
11360  }
11361  }
11362  return 0;
11363  }
11364  }
11365  return 0;
11366 }
11367 
11369 {
11370  Definition *d = g_theCallContext.getScope();
11371  //printf("updateCallContextForSmartPointer() cd=%s\n",cd ? d->name().data() : "<none>");
11372  MemberDef *md;
11373  if (d && d->definitionType()==Definition::TypeClass && (md=((ClassDef*)d)->isSmartPointer()))
11374  {
11375  ClassDef *ncd = stripClassName(md->typeString(),md->getOuterScope());
11376  if (ncd)
11377  {
11378  g_theCallContext.setScope(ncd);
11379  //printf("Found smart pointer call %s->%s!\n",cd->name().data(),ncd->name().data());
11380  }
11381  }
11382 }
11383 
11384 static bool getLinkInScope(const QCString &c, // scope
11385  const QCString &m, // member
11386  const char *memberText, // exact text
11387  CodeOutputInterface &ol,
11388  const char *text,
11389  bool varOnly=FALSE
11390  )
11391 {
11392  MemberDef *md;
11393  ClassDef *cd;
11394  FileDef *fd;
11395  NamespaceDef *nd;
11396  GroupDef *gd;
11397  DBG_CTX((stderr,"getLinkInScope: trying `%s'::`%s' varOnly=%d\n",c.data(),m.data(),varOnly));
11398  if (getDefs(c,m,"()",md,cd,fd,nd,gd,FALSE,g_sourceFileDef,FALSE,g_forceTagReference) &&
11399  md->isLinkable() && (!varOnly || md->isVariable()))
11400  {
11401  //printf("found it %s!\n",md->qualifiedName().data());
11402  if (g_exampleBlock)
11403  {
11404  QCString anchor;
11405  anchor.sprintf("a%d",g_anchorCount);
11406  //printf("addExampleFile(%s,%s,%s)\n",anchor.data(),g_exampleName.data(),
11407  // g_exampleFile.data());
11408  if (md->addExample(anchor,g_exampleName,g_exampleFile))
11409  {
11410  ol.writeCodeAnchor(anchor);
11411  g_anchorCount++;
11412  }
11413  }
11414 
11416  md->getFileDef() : md->getOuterScope();
11417  if (md->getGroupDef()) d = md->getGroupDef();
11418  if (d && d->isLinkable())
11419  {
11420  g_theCallContext.setScope(stripClassName(md->typeString(),md->getOuterScope()));
11421  //printf("g_currentDefinition=%p g_currentMemberDef=%p g_insideBody=%d\n",
11422  // g_currentDefinition,g_currentMemberDef,g_insideBody);
11423 
11424  if (g_currentDefinition && g_currentMemberDef &&
11425  md!=g_currentMemberDef && g_insideBody && g_collectXRefs)
11426  {
11427  addDocCrossReference(g_currentMemberDef,md);
11428  }
11429  //printf("d->getReference()=`%s' d->getOutputBase()=`%s' name=`%s' member name=`%s'\n",d->getReference().data(),d->getOutputFileBase().data(),d->name().data(),md->name().data());
11430 
11431  writeMultiLineCodeLink(ol,md, text ? text : memberText);
11432  addToSearchIndex(text ? text : memberText);
11433  return TRUE;
11434  }
11435  }
11436  return FALSE;
11437 }
11438 
11439 static bool getLink(const char *className,
11440  const char *memberName,
11441  CodeOutputInterface &ol,
11442  const char *text=0,
11443  bool varOnly=FALSE)
11444 {
11445  //printf("getLink(%s,%s) g_curClassName=%s\n",className,memberName,g_curClassName.data());
11446  QCString m=removeRedundantWhiteSpace(memberName);
11448  if (!getLinkInScope(c,m,memberName,ol,text,varOnly))
11449  {
11450  if (!g_curClassName.isEmpty())
11451  {
11452  if (!c.isEmpty()) c.prepend("::");
11453  c.prepend(g_curClassName);
11454  return getLinkInScope(c,m,memberName,ol,text,varOnly);
11455  }
11456  return FALSE;
11457  }
11458  return TRUE;
11459 }
11460 
11461 static void generateClassOrGlobalLink(CodeOutputInterface &ol,const char *clName,
11462  bool typeOnly=FALSE,bool varOnly=FALSE)
11463 {
11464  int i=0;
11465  if (*clName=='~') // correct for matching negated values i.s.o. destructors.
11466  {
11467  g_code->codify("~");
11468  clName++;
11469  }
11470  QCString className=clName;
11471  if (className.isEmpty()) return;
11472  if (g_insideProtocolList) // for Obj-C
11473  {
11474  className+="-p";
11475  }
11476  if (g_insidePHP)
11477  {
11478  className = substitute(className,"\\","::"); // for PHP namespaces
11479  }
11480  else if (g_insideCS || g_insideJava)
11481  {
11482  className = substitute(className,".","::"); // for PHP namespaces
11483  }
11484  ClassDef *cd=0,*lcd=0;
11485  MemberDef *md=0;
11486  bool isLocal=FALSE;
11487 
11488  //printf("generateClassOrGlobalLink(className=%s)\n",className.data());
11489  if ((lcd=g_theVarContext.findVariable(className))==0) // not a local variable
11490  {
11492  //printf("d=%s g_sourceFileDef=%s\n",d?d->name().data():"<none>",g_sourceFileDef?g_sourceFileDef->name().data():"<none>");
11493  cd = getResolvedClass(d,g_sourceFileDef,className,&md);
11494  DBG_CTX((stderr,"non-local variable name=%s context=%d cd=%s md=%s!\n",
11495  className.data(),g_theVarContext.count(),cd?cd->name().data():"<none>",
11496  md?md->name().data():"<none>"));
11497  if (cd==0 && md==0 && (i=className.find('<'))!=-1)
11498  {
11499  QCString bareName = className.left(i); //stripTemplateSpecifiersFromScope(className);
11500  DBG_CTX((stderr,"bareName=%s\n",bareName.data()));
11501  if (bareName!=className)
11502  {
11503  cd=getResolvedClass(d,g_sourceFileDef,bareName,&md); // try unspecialized version
11504  }
11505  }
11506  NamespaceDef *nd = getResolvedNamespace(className);
11507  if (nd)
11508  {
11509  g_theCallContext.setScope(nd);
11510  addToSearchIndex(className);
11511  writeMultiLineCodeLink(*g_code,nd,clName);
11512  return;
11513  }
11514  //printf("md=%s\n",md?md->name().data():"<none>");
11515  DBG_CTX((stderr,"is found as a type cd=%s nd=%s\n",
11516  cd?cd->name().data():"<null>",
11517  nd?nd->name().data():"<null>"));
11518  if (cd==0 && md==0) // also see if it is variable or enum or enum value
11519  {
11520  if (getLink(g_classScope,clName,ol,clName,varOnly))
11521  {
11522  return;
11523  }
11524  }
11525  }
11526  else
11527  {
11528  //printf("local variable!\n");
11529  if (lcd!=VariableContext::dummyContext)
11530  {
11531  //printf("non-dummy context lcd=%s!\n",lcd->name().data());
11532  g_theCallContext.setScope(lcd);
11533 
11534  // to following is needed for links to a global variable, but is
11535  // no good for a link to a local variable that is also a global symbol.
11536 
11537  //if (getLink(g_classScope,clName,ol,clName))
11538  //{
11539  //return;
11540  //}
11541  }
11542  isLocal=TRUE;
11543  DBG_CTX((stderr,"is a local variable cd=%p!\n",cd));
11544  }
11545  if (cd && cd->isLinkable()) // is it a linkable class
11546  {
11547  DBG_CTX((stderr,"is linkable class %s\n",clName));
11548  if (g_exampleBlock)
11549  {
11550  QCString anchor;
11551  anchor.sprintf("_a%d",g_anchorCount);
11552  //printf("addExampleClass(%s,%s,%s)\n",anchor.data(),g_exampleName.data(),
11553  // g_exampleFile.data());
11554  if (cd->addExample(anchor,g_exampleName,g_exampleFile))
11555  {
11556  ol.writeCodeAnchor(anchor);
11557  g_anchorCount++;
11558  }
11559  }
11560  writeMultiLineCodeLink(ol,cd,clName);
11561  addToSearchIndex(className);
11562  g_theCallContext.setScope(cd);
11563  if (md)
11564  {
11566  md->getFileDef() : md->getOuterScope();
11567  if (md->getGroupDef()) d = md->getGroupDef();
11568  if (d && d->isLinkable() && md->isLinkable() &&
11569  g_currentMemberDef && g_collectXRefs)
11570  {
11571  addDocCrossReference(g_currentMemberDef,md);
11572  }
11573  }
11574  }
11575  else // not a class, maybe a global member
11576  {
11577  DBG_CTX((stderr,"class %s not linkable! cd=%p md=%p typeOnly=%d\n",clName,cd,md,typeOnly));
11578  if (!isLocal && (md!=0 || (cd==0 && !typeOnly))) // not a class, see if it is a global enum/variable/typedef.
11579  {
11580  if (md==0) // not found as a typedef
11581  {
11582  md = setCallContextForVar(clName);
11583  //printf("setCallContextForVar(%s) md=%p g_currentDefinition=%p\n",clName,md,g_currentDefinition);
11584  if (md && g_currentDefinition)
11585  {
11586  DBG_CTX((stderr,"%s accessible from %s? %d md->getOuterScope=%s\n",
11587  md->name().data(),g_currentDefinition->name().data(),
11588  isAccessibleFrom(g_currentDefinition,g_sourceFileDef,md),
11589  md->getOuterScope()->name().data()));
11590  }
11591 
11592  if (md && g_currentDefinition &&
11593  isAccessibleFrom(g_currentDefinition,g_sourceFileDef,md)==-1)
11594  {
11595  md=0; // variable not accessible
11596  }
11597  }
11598  if (md && (!varOnly || md->isVariable()))
11599  {
11600  DBG_CTX((stderr,"is a global md=%p g_currentDefinition=%s linkable=%d\n",md,g_currentDefinition?g_currentDefinition->name().data():"<none>",md->isLinkable()));
11601  if (md->isLinkable())
11602  {
11603  QCString text;
11604  if (!g_forceTagReference.isEmpty()) // explicit reference to symbol in tag file
11605  {
11606  text=g_forceTagReference;
11607  if (text.right(4)==".tag") // strip .tag if present
11608  {
11609  text=text.left(text.length()-4);
11610  }
11612  text+=clName;
11613  md->setName(text);
11614  md->setLocalName(text);
11615  }
11616  else // normal reference
11617  {
11618  text=clName;
11619  }
11620  writeMultiLineCodeLink(ol,md,text);
11621  addToSearchIndex(clName);
11622  if (g_currentMemberDef && g_collectXRefs)
11623  {
11624  addDocCrossReference(g_currentMemberDef,md);
11625  }
11626  return;
11627  }
11628  }
11629  }
11630 
11631  // nothing found, just write out the word
11632  DBG_CTX((stderr,"not found!\n"));
11633  codifyLines(clName);
11634  addToSearchIndex(clName);
11635  }
11636 }
11637 
11638 static bool generateClassMemberLink(CodeOutputInterface &ol,MemberDef *xmd,const char *memName)
11639 {
11640  // extract class definition of the return type in order to resolve
11641  // a->b()->c() like call chains
11642 
11643  //printf("type=`%s' args=`%s' class=%s\n",
11644  // xmd->typeString(),xmd->argsString(),
11645  // xmd->getClassDef()->name().data());
11646 
11647  if (g_exampleBlock)
11648  {
11649  QCString anchor;
11650  anchor.sprintf("a%d",g_anchorCount);
11651  //printf("addExampleFile(%s,%s,%s)\n",anchor.data(),g_exampleName.data(),
11652  // g_exampleFile.data());
11653  if (xmd->addExample(anchor,g_exampleName,g_exampleFile))
11654  {
11655  ol.writeCodeAnchor(anchor);
11656  g_anchorCount++;
11657  }
11658  }
11659 
11661  DBG_CTX((stderr,"%s -> typeName=%p\n",xmd->typeString(),typeClass));
11662  g_theCallContext.setScope(typeClass);
11663 
11665  xmd->getFileDef() : xmd->getOuterScope();
11666  if (xmd->getGroupDef()) xd = xmd->getGroupDef();
11667  if (xd && xd->isLinkable())
11668  {
11669 
11670  //printf("g_currentDefiniton=%p g_currentMemberDef=%p xmd=%p g_insideBody=%d\n",g_currentDefinition,g_currentMemberDef,xmd,g_insideBody);
11671 
11672  if (xmd->templateMaster()) xmd = xmd->templateMaster();
11673 
11674  if (xmd->isLinkable())
11675  {
11676  // add usage reference
11677  if (g_currentDefinition && g_currentMemberDef &&
11678  /*xmd!=g_currentMemberDef &&*/ g_insideBody && g_collectXRefs)
11679  {
11680  addDocCrossReference(g_currentMemberDef,xmd);
11681  }
11682 
11683  // write the actual link
11684  writeMultiLineCodeLink(ol,xmd,memName);
11685  addToSearchIndex(memName);
11686  return TRUE;
11687  }
11688  }
11689 
11690  return FALSE;
11691 }
11692 
11693 static bool generateClassMemberLink(CodeOutputInterface &ol,Definition *def,const char *memName)
11694 {
11695  if (def && def->definitionType()==Definition::TypeClass)
11696  {
11697  ClassDef *cd = (ClassDef*)def;
11698  MemberDef *xmd = cd->getMemberByName(memName);
11699  //printf("generateClassMemberLink(class=%s,member=%s)=%p\n",def->name().data(),memName,xmd);
11700  if (xmd)
11701  {
11702  return generateClassMemberLink(ol,xmd,memName);
11703  }
11704  else
11705  {
11706  Definition *innerDef = cd->findInnerCompound(memName);
11707  if (innerDef)
11708  {
11709  g_theCallContext.setScope(innerDef);
11710  addToSearchIndex(memName);
11711  writeMultiLineCodeLink(*g_code,innerDef,memName);
11712  return TRUE;
11713  }
11714  }
11715  }
11716  else if (def && def->definitionType()==Definition::TypeNamespace)
11717  {
11718  NamespaceDef *nd = (NamespaceDef*)def;
11719  //printf("Looking for %s inside namespace %s\n",memName,nd->name().data());
11720  Definition *innerDef = nd->findInnerCompound(memName);
11721  if (innerDef)
11722  {
11723  g_theCallContext.setScope(innerDef);
11724  addToSearchIndex(memName);
11725  writeMultiLineCodeLink(*g_code,innerDef,memName);
11726  return TRUE;
11727  }
11728  }
11729  return FALSE;
11730 }
11731 
11733  char *memName)
11734 {
11735  //printf("generateMemberLink(object=%s,mem=%s) classScope=%s\n",
11736  // varName.data(),memName,g_classScope.data());
11737 
11738  if (varName.isEmpty()) return;
11739 
11740  // look for the variable in the current context
11741  ClassDef *vcd = g_theVarContext.findVariable(varName);
11742  if (vcd)
11743  {
11744  if (vcd!=VariableContext::dummyContext)
11745  {
11746  //printf("Class found!\n");
11747  if (getLink(vcd->name(),memName,ol))
11748  {
11749  //printf("Found result!\n");
11750  return;
11751  }
11752  if (vcd->baseClasses())
11753  {
11754  BaseClassListIterator bcli(*vcd->baseClasses());
11755  for ( ; bcli.current() ; ++bcli)
11756  {
11757  if (getLink(bcli.current()->classDef->name(),memName,ol))
11758  {
11759  //printf("Found result!\n");
11760  return;
11761  }
11762  }
11763  }
11764  }
11765  }
11766  else // variable not in current context, maybe it is in a parent context
11767  {
11768  vcd = getResolvedClass(g_currentDefinition,g_sourceFileDef,g_classScope);
11769  if (vcd && vcd->isLinkable())
11770  {
11771  //printf("Found class %s for variable `%s'\n",g_classScope.data(),varName.data());
11772  MemberName *vmn=Doxygen::memberNameSDict->find(varName);
11773  if (vmn==0)
11774  {
11775  int vi;
11776  QCString vn=varName;
11777  if ((vi=vn.findRev("::"))!=-1 || (vi=vn.findRev('.'))!=-1) // explicit scope A::b(), probably static member
11778  {
11779  ClassDef *jcd = getClass(vn.left(vi));
11780  vn=vn.right(vn.length()-vi-2);
11781  vmn=Doxygen::memberNameSDict->find(vn);
11782  //printf("Trying name `%s' scope=%s\n",vn.data(),scope.data());
11783  if (vmn)
11784  {
11785  MemberNameIterator vmni(*vmn);
11786  MemberDef *vmd;
11787  for (;(vmd=vmni.current());++vmni)
11788  {
11789  if (/*(vmd->isVariable() || vmd->isFunction()) && */
11790  vmd->getClassDef()==jcd)
11791  {
11792  //printf("Found variable type=%s\n",vmd->typeString());
11793  ClassDef *mcd=stripClassName(vmd->typeString(),vmd->getOuterScope());
11794  if (mcd && mcd->isLinkable())
11795  {
11796  if (generateClassMemberLink(ol,mcd,memName)) return;
11797  }
11798  }
11799  }
11800  }
11801  }
11802  }
11803  if (vmn)
11804  {
11805  //printf("There is a variable with name `%s'\n",varName);
11806  MemberNameIterator vmni(*vmn);
11807  MemberDef *vmd;
11808  for (;(vmd=vmni.current());++vmni)
11809  {
11810  if (/*(vmd->isVariable() || vmd->isFunction()) && */
11811  vmd->getClassDef()==vcd)
11812  {
11813  //printf("Found variable type=%s\n",vmd->typeString());
11814  ClassDef *mcd=stripClassName(vmd->typeString(),vmd->getOuterScope());
11815  if (mcd && mcd->isLinkable())
11816  {
11817  if (generateClassMemberLink(ol,mcd,memName)) return;
11818  }
11819  }
11820  }
11821  }
11822  }
11823  }
11824  // nothing found -> write result as is
11825  codifyLines(memName);
11826  addToSearchIndex(memName);
11827  return;
11828 }
11829 
11831 {
11832  QCString name = varName+7; // strip $this->
11833  name.prepend("$");
11834  //printf("generatePHPVariableLink(%s) name=%s scope=%s\n",varName,name.data(),g_classScope.data());
11835  if (!getLink(g_classScope,name,ol,varName))
11836  {
11837  codifyLines(varName);
11838  }
11839 }
11840 
11841 static void generateFunctionLink(CodeOutputInterface &ol,const char *funcName)
11842 {
11843  //CodeClassDef *ccd=0;
11844  ClassDef *ccd=0;
11845  QCString locScope=g_classScope;
11846  QCString locFunc=removeRedundantWhiteSpace(funcName);
11847  QCString funcScope;
11848  QCString funcWithScope=locFunc;
11849  QCString funcWithFullScope=locFunc;
11850  QCString fullScope=locScope;
11851  DBG_CTX((stdout,"*** locScope=%s locFunc=%s\n",locScope.data(),locFunc.data()));
11852  int len=2;
11853  int i=locFunc.findRev("::");
11854  if (g_currentMemberDef && g_currentMemberDef->getClassDef() &&
11855  funcName==g_currentMemberDef->localName() &&
11856  g_currentMemberDef->getDefLine()==g_yyLineNr &&
11857  generateClassMemberLink(ol,g_currentMemberDef,funcName)
11858  )
11859  {
11860  // special case where funcName is the name of a method that is also
11861  // defined on this line. In this case we can directly link to
11862  // g_currentMemberDef, which is not only faster, but
11863  // in case of overloaded methods, this will make sure that we link to
11864  // the correct method, and thereby get the correct reimplemented relations.
11865  // See also bug 549022.
11866  goto exit;
11867  }
11868  if (i==-1) i=locFunc.findRev("."),len=1;
11869  if (i==-1) i=locFunc.findRev("\\"),len=1; // for PHP
11870  if (i>0)
11871  {
11872  funcScope=locFunc.left(i);
11873  locFunc=locFunc.right(locFunc.length()-i-len).stripWhiteSpace();
11874  int ts=locScope.find('<'); // start of template
11875  int te=locScope.findRev('>'); // end of template
11876  //printf("ts=%d te=%d\n",ts,te);
11877  if (ts!=-1 && te!=-1 && te>ts)
11878  {
11879  // remove template from scope
11880  locScope=locScope.left(ts)+locScope.right(locScope.length()-te-1);
11881  }
11882  ts=funcScope.find('<'); // start of template
11883  te=funcScope.findRev('>'); // end of template
11884  //printf("ts=%d te=%d\n",ts,te);
11885  if (ts!=-1 && te!=-1 && te>ts)
11886  {
11887  // remove template from scope
11888  funcScope=funcScope.left(ts)+funcScope.right(funcScope.length()-te-1);
11889  }
11890  if (!funcScope.isEmpty())
11891  {
11892  funcWithScope = funcScope+"::"+locFunc;
11893  if (!locScope.isEmpty())
11894  {
11895  fullScope=locScope+"::"+funcScope;
11896  }
11897  }
11898  if (!locScope.isEmpty())
11899  {
11900  funcWithFullScope = locScope+"::"+funcWithScope;
11901  }
11902  }
11903  if (!fullScope.isEmpty() && (ccd=g_codeClassSDict->find(fullScope)))
11904  {
11905  //printf("using classScope %s\n",g_classScope.data());
11906  if (ccd->baseClasses())
11907  {
11908  BaseClassListIterator bcli(*ccd->baseClasses());
11909  for ( ; bcli.current() ; ++bcli)
11910  {
11911  if (getLink(bcli.current()->classDef->name(),locFunc,ol,funcName))
11912  {
11913  goto exit;
11914  }
11915  }
11916  }
11917  }
11918  if (!locScope.isEmpty() && fullScope!=locScope && (ccd=g_codeClassSDict->find(locScope)))
11919  {
11920  //printf("using classScope %s\n",g_classScope.data());
11921  if (ccd->baseClasses())
11922  {
11923  BaseClassListIterator bcli(*ccd->baseClasses());
11924  for ( ; bcli.current() ; ++bcli)
11925  {
11926  if (getLink(bcli.current()->classDef->name(),funcWithScope,ol,funcName))
11927  {
11928  goto exit;
11929  }
11930  }
11931  }
11932  }
11933  if (!getLink(locScope,funcWithScope,ol,funcName))
11934  {
11935  generateClassOrGlobalLink(ol,funcName);
11936  }
11937 exit:
11938  g_forceTagReference.resize(0);
11939  return;
11940 }
11941 
11942 /*! counts the number of lines in the input */
11943 static int countLines()
11944 {
11945  const char *p=g_inputString;
11946  char c;
11947  int count=1;
11948  while ((c=*p))
11949  {
11950  p++ ;
11951  if (c=='\n') count++;
11952  }
11953  if (p>g_inputString && *(p-1)!='\n')
11954  { // last line does not end with a \n, so we add an extra
11955  // line and explicitly terminate the line after parsing.
11956  count++,
11957  g_needsTermination=TRUE;
11958  }
11959  return count;
11960 }
11961 
11962 static void endFontClass()
11963 {
11964  if (g_currentFontClass)
11965  {
11966  g_code->endFontClass();
11967  g_currentFontClass=0;
11968  }
11969 }
11970 
11971 static void startFontClass(const char *s)
11972 {
11973  endFontClass();
11974  g_code->startFontClass(s);
11975  g_currentFontClass=s;
11976 }
11977 
11978 //----------------------------------------------------------------------------
11979 
11980 // recursively writes a linkified Objective-C method call
11982 {
11983  if (ctx==0) return;
11984  char c;
11985  const char *p = ctx->format.data();
11986  if (!ctx->methodName.isEmpty())
11987  {
11988  //printf("writeObjCMethodCall(%s) obj=%s method=%s\n",
11989  // ctx->format.data(),ctx->objectTypeOrName.data(),ctx->methodName.data());
11990  if (!ctx->objectTypeOrName.isEmpty() && ctx->objectTypeOrName.at(0)!='$')
11991  {
11992  //printf("Looking for object=%s method=%s\n",ctx->objectTypeOrName.data(),
11993  // ctx->methodName.data());
11994  ClassDef *cd = g_theVarContext.findVariable(ctx->objectTypeOrName);
11995  if (cd==0) // not a local variable
11996  {
11997  if (ctx->objectTypeOrName=="self")
11998  {
11999  if (g_currentDefinition &&
12000  g_currentDefinition->definitionType()==Definition::TypeClass)
12001  {
12002  ctx->objectType = (ClassDef *)g_currentDefinition;
12003  }
12004  }
12005  else
12006  {
12008  g_currentDefinition,
12009  g_sourceFileDef,
12010  ctx->objectTypeOrName,
12011  &ctx->method);
12012  }
12013  //printf(" object is class? %p\n",ctx->objectType);
12014  if (ctx->objectType) // found class
12015  {
12016  ctx->method = ctx->objectType->getMemberByName(ctx->methodName);
12017  //printf(" yes->method=%s\n",ctx->method?ctx->method->name().data():"<none>");
12018  }
12019  else if (ctx->method==0) // search for class variable with the same name
12020  {
12021  //printf(" no\n");
12022  //printf("g_currentDefinition=%p\n",g_currentDefinition);
12023  if (g_currentDefinition &&
12024  g_currentDefinition->definitionType()==Definition::TypeClass)
12025  {
12026  ctx->objectVar = ((ClassDef *)g_currentDefinition)->getMemberByName(ctx->objectTypeOrName);
12027  //printf(" ctx->objectVar=%p\n",ctx->objectVar);
12028  if (ctx->objectVar)
12029  {
12031  //printf(" ctx->objectType=%p\n",ctx->objectType);
12032  if (ctx->objectType)
12033  {
12034  ctx->method = ctx->objectType->getMemberByName(ctx->methodName);
12035  //printf(" ctx->method=%p\n",ctx->method);
12036  }
12037  }
12038  }
12039  }
12040  }
12041  else // local variable
12042  {
12043  //printf(" object is local variable\n");
12044  if (cd!=VariableContext::dummyContext)
12045  {
12046  ctx->method = cd->getMemberByName(ctx->methodName);
12047  //printf(" class=%p method=%p\n",cd,ctx->method);
12048  }
12049  }
12050  }
12051  }
12052 
12053  //printf("[");
12054  while ((c=*p++)) // for each character in ctx->format
12055  {
12056  if (c=='$')
12057  {
12058  char nc=*p++;
12059  if (nc=='$') // escaped $
12060  {
12061  g_code->codify("$");
12062  }
12063  else // name fragment or reference to a nested call
12064  {
12065  if (nc=='n') // name fragment
12066  {
12067  nc=*p++;
12068  QCString refIdStr;
12069  while (nc!=0 && isdigit(nc)) { refIdStr+=nc; nc=*p++; }
12070  p--;
12071  int refId=refIdStr.toInt();
12072  QCString *pName = g_nameDict.find(refId);
12073  if (pName)
12074  {
12075  if (ctx->method && ctx->method->isLinkable())
12076  {
12077  writeMultiLineCodeLink(*g_code,ctx->method,pName->data());
12078  if (g_currentMemberDef && g_collectXRefs)
12079  {
12080  addDocCrossReference(g_currentMemberDef,ctx->method);
12081  }
12082  }
12083  else
12084  {
12085  codifyLines(pName->data());
12086  }
12087  }
12088  else
12089  {
12090  //printf("Invalid name: id=%d\n",refId);
12091  }
12092  }
12093  else if (nc=='o') // reference to potential object name
12094  {
12095  nc=*p++;
12096  QCString refIdStr;
12097  while (nc!=0 && isdigit(nc)) { refIdStr+=nc; nc=*p++; }
12098  p--;
12099  int refId=refIdStr.toInt();
12100  QCString *pObject = g_objectDict.find(refId);
12101  if (pObject)
12102  {
12103  if (*pObject=="self")
12104  {
12105  if (g_currentDefinition &&
12106  g_currentDefinition->definitionType()==Definition::TypeClass)
12107  {
12108  ctx->objectType = (ClassDef *)g_currentDefinition;
12109  if (ctx->objectType->categoryOf())
12110  {
12111  ctx->objectType = ctx->objectType->categoryOf();
12112  }
12113  if (ctx->objectType)
12114  {
12115  ctx->method = ctx->objectType->getMemberByName(ctx->methodName);
12116  }
12117  }
12118  startFontClass("keyword");
12119  codifyLines(pObject->data());
12120  endFontClass();
12121  }
12122  else if (*pObject=="super")
12123  {
12124  if (g_currentDefinition &&
12125  g_currentDefinition->definitionType()==Definition::TypeClass)
12126  {
12127  ClassDef *cd = (ClassDef *)g_currentDefinition;
12128  if (cd->categoryOf())
12129  {
12130  cd = cd->categoryOf();
12131  }
12132  BaseClassList *bcd = cd->baseClasses();
12133  if (bcd) // get direct base class (there should be only one)
12134  {
12135  BaseClassListIterator bli(*bcd);
12136  BaseClassDef *bclass;
12137  for (bli.toFirst();(bclass=bli.current());++bli)
12138  {
12139  if (bclass->classDef->compoundType()!=ClassDef::Protocol)
12140  {
12141  ctx->objectType = bclass->classDef;
12142  if (ctx->objectType)
12143  {
12144  ctx->method = ctx->objectType->getMemberByName(ctx->methodName);
12145  }
12146  }
12147  }
12148  }
12149  }
12150  startFontClass("keyword");
12151  codifyLines(pObject->data());
12152  endFontClass();
12153  }
12154  else if (ctx->objectVar && ctx->objectVar->isLinkable()) // object is class variable
12155  {
12156  writeMultiLineCodeLink(*g_code,ctx->objectVar,pObject->data());
12157  if (g_currentMemberDef && g_collectXRefs)
12158  {
12159  addDocCrossReference(g_currentMemberDef,ctx->objectVar);
12160  }
12161  }
12162  else if (ctx->objectType &&
12163  ctx->objectType!=VariableContext::dummyContext &&
12164  ctx->objectType->isLinkable()
12165  ) // object is class name
12166  {
12167  ClassDef *cd = ctx->objectType;
12168  writeMultiLineCodeLink(*g_code,cd,pObject->data());
12169  }
12170  else // object still needs to be resolved
12171  {
12172  ClassDef *cd = getResolvedClass(g_currentDefinition,
12173  g_sourceFileDef, *pObject);
12174  if (cd && cd->isLinkable())
12175  {
12176  if (ctx->objectType==0) ctx->objectType=cd;
12177  writeMultiLineCodeLink(*g_code,cd,pObject->data());
12178  }
12179  else
12180  {
12181  codifyLines(pObject->data());
12182  }
12183  }
12184  }
12185  else
12186  {
12187  //printf("Invalid object: id=%d\n",refId);
12188  }
12189  }
12190  else if (nc=='c') // reference to nested call
12191  {
12192  nc=*p++;
12193  QCString refIdStr;
12194  while (nc!=0 && isdigit(nc)) { refIdStr+=nc; nc=*p++; }
12195  p--;
12196  int refId=refIdStr.toInt();
12197  ObjCCallCtx *ictx = g_contextDict.find(refId);
12198  if (ictx) // recurse into nested call
12199  {
12200  writeObjCMethodCall(ictx);
12201  if (ictx->method) // link to nested call successfully
12202  {
12203  // get the ClassDef representing the method's return type
12204  if (QCString(ictx->method->typeString())=="id")
12205  {
12206  // see if the method name is unique, if so we link to it
12208  //printf("mn->count=%d ictx->method=%s ctx->methodName=%s\n",
12209  // mn==0?-1:(int)mn->count(),
12210  // ictx->method->name().data(),
12211  // ctx->methodName.data());
12212  if (mn && mn->count()==1) // member name unique
12213  {
12214  ctx->method = mn->getFirst();
12215  }
12216  }
12217  else
12218  {
12219  ctx->objectType = stripClassName(ictx->method->typeString());
12220  if (ctx->objectType)
12221  {
12222  ctx->method = ctx->objectType->getMemberByName(ctx->methodName);
12223  }
12224  }
12225  //printf(" ***** method=%s -> object=%p\n",ictx->method->name().data(),ctx->objectType);
12226  }
12227  }
12228  else
12229  {
12230  //printf("Invalid context: id=%d\n",refId);
12231  }
12232  }
12233  else if (nc=='w') // some word
12234  {
12235  nc=*p++;
12236  QCString refIdStr;
12237  while (nc!=0 && isdigit(nc)) { refIdStr+=nc; nc=*p++; }
12238  p--;
12239  int refId=refIdStr.toInt();
12240  QCString *pWord = g_wordDict.find(refId);
12241  if (pWord)
12242  {
12243  codifyLines(pWord->data());
12244  }
12245  }
12246  else // illegal marker
12247  {
12248  ASSERT(!"invalid escape sequence");
12249  }
12250  }
12251  }
12252  else // normal non-marker character
12253  {
12254  char s[2];
12255  s[0]=c;s[1]=0;
12256  codifyLines(s);
12257  }
12258  }
12259  //printf("%s %s]\n",ctx->objectTypeOrName.data(),ctx->methodName.data());
12260  //printf("}=(type='%s',name='%s')",
12261  // ctx->objectTypeOrName.data(),
12262  // ctx->methodName.data());
12263 }
12264 
12265 // Replaces an Objective-C method name fragment s by a marker of the form
12266 // $n12, the number (12) can later be used as a key for obtaining the name
12267 // fragment, from g_nameDict
12268 static QCString escapeName(const char *s)
12269 {
12270  QCString result;
12271  result.sprintf("$n%d",g_currentNameId);
12272  g_nameDict.insert(g_currentNameId,new QCString(s));
12273  g_currentNameId++;
12274  return result;
12275 }
12276 
12277 static QCString escapeObject(const char *s)
12278 {
12279  QCString result;
12280  result.sprintf("$o%d",g_currentObjId);
12281  g_objectDict.insert(g_currentObjId,new QCString(s));
12282  g_currentObjId++;
12283  return result;
12284 }
12285 
12286 static QCString escapeWord(const char *s)
12287 {
12288  QCString result;
12289  result.sprintf("$w%d",g_currentWordId);
12290  g_wordDict.insert(g_currentWordId,new QCString(s));
12291  g_currentWordId++;
12292  return result;
12293 }
12294 
12295 /* -----------------------------------------------------------------
12296  */
12297 #undef YY_INPUT
12298 #define YY_INPUT(buf,result,max_size) result=yyread(buf,max_size);
12299 
12300 static int yyread(char *buf,int max_size)
12301 {
12302  int c=0;
12303  while( c < max_size && g_inputString[g_inputPosition] )
12304  {
12305  *buf = g_inputString[g_inputPosition++] ;
12306  c++; buf++;
12307  }
12308  return c;
12309 }
12310 
12311 
12312 
12313 
12314 
12315 
12316 
12317 
12318 
12319 
12320 
12321 
12322 
12323 
12324 
12325 
12326 
12327 
12328 
12329 
12330 
12331 
12332 
12333 
12334 
12335 
12336 
12337 
12338 
12339 
12340 
12341 
12342 
12343 
12344 
12345 
12346 #line 12347 "/nova/app/home/novasoft/doxygen/doxygen-1.8.11/build/generated_src/code.cpp"
12347 
12348 #define INITIAL 0
12349 #define SkipString 1
12350 #define SkipStringS 2
12351 #define SkipVerbString 3
12352 #define SkipCPP 4
12353 #define SkipComment 5
12354 #define SkipCxxComment 6
12355 #define RemoveSpecialCComment 7
12356 #define StripSpecialCComment 8
12357 #define Body 9
12358 #define FuncCall 10
12359 #define MemberCall 11
12360 #define MemberCall2 12
12361 #define SkipInits 13
12362 #define ClassName 14
12363 #define AlignAs 15
12364 #define AlignAsEnd 16
12365 #define PackageName 17
12366 #define ClassVar 18
12367 #define CppCliTypeModifierFollowup 19
12368 #define Bases 20
12369 #define SkipSharp 21
12370 #define ReadInclude 22
12371 #define TemplDecl 23
12372 #define TemplCast 24
12373 #define CallEnd 25
12374 #define ObjCMethod 26
12375 #define ObjCParams 27
12376 #define ObjCParamType 28
12377 #define ObjCCall 29
12378 #define ObjCMName 30
12379 #define ObjCSkipStr 31
12380 #define OldStyleArgs 32
12381 #define UsingName 33
12382 #define RawString 34
12383 #define InlineInit 35
12384 
12385 #ifndef YY_NO_UNISTD_H
12386 /* Special case for "unistd.h", since it is non-ANSI. We include it way
12387  * down here because we want the user's section 1 to have been scanned first.
12388  * The user has a chance to override it with an option.
12389  */
12390 #include <unistd.h>
12391 #endif
12392 
12393 #ifndef YY_EXTRA_TYPE
12394 #define YY_EXTRA_TYPE void *
12395 #endif
12396 
12397 static int yy_init_globals (void );
12398 
12399 /* Accessor methods to globals.
12400  These are made visible to non-reentrant scanners for convenience. */
12401 
12402 int codeYYlex_destroy (void );
12403 
12404 int codeYYget_debug (void );
12405 
12406 void codeYYset_debug (int debug_flag );
12407 
12409 
12410 void codeYYset_extra (YY_EXTRA_TYPE user_defined );
12411 
12412 FILE *codeYYget_in (void );
12413 
12414 void codeYYset_in (FILE * in_str );
12415 
12416 FILE *codeYYget_out (void );
12417 
12418 void codeYYset_out (FILE * out_str );
12419 
12420 int codeYYget_leng (void );
12421 
12422 char *codeYYget_text (void );
12423 
12424 int codeYYget_lineno (void );
12425 
12426 void codeYYset_lineno (int line_number );
12427 
12428 /* Macros after this point can all be overridden by user definitions in
12429  * section 1.
12430  */
12431 
12432 #ifndef YY_SKIP_YYWRAP
12433 #ifdef __cplusplus
12434 extern "C" int codeYYwrap (void );
12435 #else
12436 extern int codeYYwrap (void );
12437 #endif
12438 #endif
12439 
12440  static void yyunput (int c,char *buf_ptr );
12441 
12442 #ifndef yytext_ptr
12443 static void yy_flex_strncpy (char *,yyconst char *,int );
12444 #endif
12445 
12446 #ifdef YY_NEED_STRLEN
12447 static int yy_flex_strlen (yyconst char * );
12448 #endif
12449 
12450 #ifndef YY_NO_INPUT
12451 
12452 #ifdef __cplusplus
12453 static int yyinput (void );
12454 #else
12455 static int input (void );
12456 #endif
12457 
12458 #endif
12459 
12460 /* Amount of stuff to slurp up with each read. */
12461 #ifndef YY_READ_BUF_SIZE
12462 #define YY_READ_BUF_SIZE 8192
12463 #endif
12464 
12465 /* Copy whatever the last rule matched to the standard output. */
12466 #ifndef ECHO
12467 /* This used to be an fputs(), but since the string might contain NUL's,
12468  * we now use fwrite().
12469  */
12470 #define ECHO do { if (fwrite( codeYYtext, codeYYleng, 1, codeYYout )) {} } while (0)
12471 #endif
12472 
12473 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
12474  * is returned in "result".
12475  */
12476 #ifndef YY_INPUT
12477 #define YY_INPUT(buf,result,max_size) \
12478  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
12479  { \
12480  int c = '*'; \
12481  unsigned n; \
12482  for ( n = 0; n < max_size && \
12483  (c = getc( codeYYin )) != EOF && c != '\n'; ++n ) \
12484  buf[n] = (char) c; \
12485  if ( c == '\n' ) \
12486  buf[n++] = (char) c; \
12487  if ( c == EOF && ferror( codeYYin ) ) \
12488  YY_FATAL_ERROR( "input in flex scanner failed" ); \
12489  result = n; \
12490  } \
12491  else \
12492  { \
12493  errno=0; \
12494  while ( (result = fread(buf, 1, max_size, codeYYin))==0 && ferror(codeYYin)) \
12495  { \
12496  if( errno != EINTR) \
12497  { \
12498  YY_FATAL_ERROR( "input in flex scanner failed" ); \
12499  break; \
12500  } \
12501  errno=0; \
12502  clearerr(codeYYin); \
12503  } \
12504  }\
12505 \
12506 
12507 #endif
12508 
12509 /* No semi-colon after return; correct usage is to write "yyterminate();" -
12510  * we don't want an extra ';' after the "return" because that will cause
12511  * some compilers to complain about unreachable statements.
12512  */
12513 #ifndef yyterminate
12514 #define yyterminate() return YY_NULL
12515 #endif
12516 
12517 /* Number of entries by which start-condition stack grows. */
12518 #ifndef YY_START_STACK_INCR
12519 #define YY_START_STACK_INCR 25
12520 #endif
12521 
12522 /* Report a fatal error. */
12523 #ifndef YY_FATAL_ERROR
12524 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
12525 #endif
12526 
12527 /* end tables serialization structures and prototypes */
12528 
12529 /* Default declaration of generated scanner - a define so the user can
12530  * easily add parameters.
12531  */
12532 #ifndef YY_DECL
12533 #define YY_DECL_IS_OURS 1
12534 
12535 extern int codeYYlex (void);
12536 
12537 #define YY_DECL int codeYYlex (void)
12538 #endif /* !YY_DECL */
12539 
12540 /* Code executed at the beginning of each rule, after codeYYtext and codeYYleng
12541  * have been set up.
12542  */
12543 #ifndef YY_USER_ACTION
12544 #define YY_USER_ACTION
12545 #endif
12546 
12547 /* Code executed at the end of each rule. */
12548 #ifndef YY_BREAK
12549 #define YY_BREAK break;
12550 #endif
12551 
12552 #define YY_RULE_SETUP \
12553  if ( codeYYleng > 0 ) \
12554  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
12555  (codeYYtext[codeYYleng - 1] == '\n'); \
12556  YY_USER_ACTION
12557 
12558 /** The main scanner function which does all the work.
12559  */
12560 YY_DECL
12562  register yy_state_type yy_current_state;
12563  register char *yy_cp, *yy_bp;
12564  register int yy_act;
12565 
12566 #line 1835 "code.l"
12567 
12568 
12569 #line 12570 "/nova/app/home/novasoft/doxygen/doxygen-1.8.11/build/generated_src/code.cpp"
12570 
12571  if ( !(yy_init) )
12572  {
12573  (yy_init) = 1;
12574 
12575 #ifdef YY_USER_INIT
12576  YY_USER_INIT;
12577 #endif
12578 
12579  /* Create the reject buffer large enough to save one state per allowed character. */
12580  if ( ! (yy_state_buf) )
12581  (yy_state_buf) = (yy_state_type *)codeYYalloc(YY_STATE_BUF_SIZE );
12582  if ( ! (yy_state_buf) )
12583  YY_FATAL_ERROR( "out of dynamic memory in codeYYlex()" );
12584 
12585  if ( ! (yy_start) )
12586  (yy_start) = 1; /* first start state */
12587 
12588  if ( ! codeYYin )
12589  codeYYin = stdin;
12590 
12591  if ( ! codeYYout )
12592  codeYYout = stdout;
12593 
12594  if ( ! YY_CURRENT_BUFFER ) {
12598  }
12599 
12601  }
12602 
12603  while ( 1 ) /* loops until end-of-file is reached */
12604  {
12605  yy_cp = (yy_c_buf_p);
12606 
12607  /* Support of codeYYtext. */
12608  *yy_cp = (yy_hold_char);
12609 
12610  /* yy_bp points to the position in yy_ch_buf of the start of
12611  * the current run.
12612  */
12613  yy_bp = yy_cp;
12614 
12615  yy_current_state = (yy_start);
12616  yy_current_state += YY_AT_BOL();
12617 
12618  (yy_state_ptr) = (yy_state_buf);
12619  *(yy_state_ptr)++ = yy_current_state;
12620 
12621 yy_match:
12622  do
12623  {
12624  register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
12625  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
12626  {
12627  yy_current_state = (int) yy_def[yy_current_state];
12628  if ( yy_current_state >= 3537 )
12629  yy_c = yy_meta[(unsigned int) yy_c];
12630  }
12631  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
12632  *(yy_state_ptr)++ = yy_current_state;
12633  ++yy_cp;
12634  }
12635  while ( yy_current_state != 3536 );
12636 
12637 yy_find_action:
12638  yy_current_state = *--(yy_state_ptr);
12639  (yy_lp) = yy_accept[yy_current_state];
12640 find_rule: /* we branch to this label when backing up */
12641  for ( ; ; ) /* until we find what rule we matched */
12642  {
12643  if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
12644  {
12645  yy_act = yy_acclist[(yy_lp)];
12646  if ( yy_act & YY_TRAILING_HEAD_MASK ||
12647  (yy_looking_for_trail_begin) )
12648  {
12649  if ( yy_act == (yy_looking_for_trail_begin) )
12650  {
12652  yy_act &= ~YY_TRAILING_HEAD_MASK;
12653  break;
12654  }
12655  }
12656  else if ( yy_act & YY_TRAILING_MASK )
12657  {
12658  (yy_looking_for_trail_begin) = yy_act & ~YY_TRAILING_MASK;
12660  (yy_full_match) = yy_cp;
12662  (yy_full_lp) = (yy_lp);
12663  }
12664  else
12665  {
12666  (yy_full_match) = yy_cp;
12668  (yy_full_lp) = (yy_lp);
12669  break;
12670  }
12671  ++(yy_lp);
12672  goto find_rule;
12673  }
12674  --yy_cp;
12675  yy_current_state = *--(yy_state_ptr);
12676  (yy_lp) = yy_accept[yy_current_state];
12677  }
12678 
12680 
12681 do_action: /* This label is used only to access EOF actions. */
12682 
12683  switch ( yy_act )
12684  { /* beginning of action switch */
12685 case 1:
12687 #line 1837 "code.l"
12688 
12689  YY_BREAK
12690 case 2:
12692 #line 1838 "code.l"
12693 {
12694  startFontClass("preprocessor");
12695  g_code->codify(codeYYtext);
12696  BEGIN( ReadInclude );
12697  }
12698  YY_BREAK
12699 case 3:
12700 /* rule 3 can match eol */
12702 #line 1843 "code.l"
12703 {
12704  g_insideObjC=TRUE;
12705  startFontClass("keyword");
12706  codifyLines(codeYYtext);
12707  endFontClass();
12708  if (!g_insideTemplate)
12709  BEGIN( ClassName );
12710  }
12711  YY_BREAK
12712 case 4:
12714 #line 1851 "code.l"
12715 {
12716  if (g_insideTemplate) REJECT;
12717  startFontClass("keyword");
12718  codifyLines(codeYYtext);
12719  endFontClass();
12720  BEGIN( ClassName );
12721  }
12722  YY_BREAK
12723 case 5:
12724 /* rule 5 can match eol */
12726 #line 1858 "code.l"
12727 {
12728  if (g_insideTemplate) REJECT;
12729  startFontClass("keyword");
12730  codifyLines(codeYYtext);
12731  endFontClass();
12732  }
12733  YY_BREAK
12734 case 6:
12736 #line 1864 "code.l"
12737 {
12738  startFontClass("keyword");
12739  codifyLines(codeYYtext);
12740  endFontClass();
12741  if (!g_insideTemplate)
12742  BEGIN( ClassName );
12743  }
12744  YY_BREAK
12745 case 7:
12746 /* rule 7 can match eol */
12748 #line 1871 "code.l"
12749 {
12750  startFontClass("keyword");
12751  codifyLines(codeYYtext);
12752  endFontClass();
12753  BEGIN( PackageName );
12754  }
12755  YY_BREAK
12756 case 8:
12757 /* rule 8 can match eol */
12759 #line 1877 "code.l"
12760 {
12761  if (!g_insideObjC) REJECT;
12762  codifyLines(codeYYtext);
12763  BEGIN(Body);
12764  }
12765  YY_BREAK
12766 case 9:
12768 #line 1882 "code.l"
12769 {
12770  if (!g_insideObjC || g_insideBody)
12771  {
12772  g_code->codify(codeYYtext);
12773  }
12774  else // Start of Objective-C method
12775  {
12776  //printf("Method!\n");
12777  g_code->codify(codeYYtext);
12778  BEGIN(ObjCMethod);
12779  }
12780  }
12781  YY_BREAK
12782 case 10:
12784 #line 1894 "code.l"
12785 {
12786  g_code->codify(codeYYtext);
12787  BEGIN(ObjCParams);
12788  }
12789  YY_BREAK
12790 case 11:
12792 #line 1898 "code.l"
12793 {
12794  g_code->codify(codeYYtext);
12796  }
12797  YY_BREAK
12798 case 12:
12800 #line 1902 "code.l"
12801 {
12802  g_code->codify(codeYYtext);
12803  if (*codeYYtext=='{')
12804  {
12805  g_curlyCount++;
12806  if (g_searchingForBody)
12807  {
12808  g_searchingForBody=FALSE;
12809  g_insideBody=TRUE;
12810  }
12811  if (g_insideBody) g_bodyCurlyCount++;
12812  if (!g_curClassName.isEmpty()) // valid class name
12813  {
12814  pushScope(g_curClassName);
12815  DBG_CTX((stderr,"** scope stack push SCOPEBLOCK\n"));
12816  g_scopeStack.push(SCOPEBLOCK);
12817  }
12818  }
12819  g_type.resize(0);
12820  g_name.resize(0);
12821  BEGIN(Body);
12822  }
12823  YY_BREAK
12824 case 13:
12826 #line 1924 "code.l"
12827 {
12828  g_code->codify(codeYYtext);
12829  }
12830  YY_BREAK
12831 case 14:
12833 #line 1927 "code.l"
12834 {
12835  startFontClass("keywordtype");
12836  g_code->codify(codeYYtext);
12837  endFontClass();
12838  g_parmType=codeYYtext;
12839  }
12840  YY_BREAK
12841 case 15:
12843 #line 1933 "code.l"
12844 {
12845  generateClassOrGlobalLink(*g_code,codeYYtext);
12846  g_parmType=codeYYtext;
12847  }
12848  YY_BREAK
12849 case 16:
12851 #line 1937 "code.l"
12852 {
12853  g_code->codify(codeYYtext);
12854  BEGIN(ObjCParams);
12855  }
12856  YY_BREAK
12857 case 17:
12859 #line 1941 "code.l"
12860 {
12861  g_code->codify(codeYYtext);
12862  g_parmName=codeYYtext;
12863  g_theVarContext.addVariable(g_parmType,g_parmName);
12864  g_parmType.resize(0);g_parmName.resize(0);
12865  }
12866  YY_BREAK
12867 case 18:
12869 #line 1947 "code.l"
12870 {
12871  generateClassOrGlobalLink(*g_code,codeYYtext);
12872  }
12873  YY_BREAK
12874 case 19:
12876 #line 1950 "code.l"
12877 {
12878  g_code->codify(codeYYtext);
12879  }
12880  YY_BREAK
12881 case 20:
12882 /* rule 20 can match eol */
12884 #line 1953 "code.l"
12885 {
12886  codifyLines(codeYYtext);
12887  }
12888  YY_BREAK
12889 case 21:
12891 #line 1956 "code.l"
12892 {
12893  //FileInfo *f;
12894  bool ambig;
12895  bool found=FALSE;
12896  //QCString absPath = codeYYtext;
12897  //if (g_sourceFileDef && QDir::isRelativePath(absPath))
12898  //{
12899  // absPath = QDir::cleanDirPath(g_sourceFileDef->getPath()+"/"+absPath);
12900  //}
12901 
12902  FileDef *fd=findFileDef(Doxygen::inputNameDict,codeYYtext,ambig);
12903  //printf("looking for include %s -> %s fd=%p\n",codeYYtext,absPath.data(),fd);
12904  if (fd && fd->isLinkable())
12905  {
12906  if (ambig) // multiple input files match the name
12907  {
12908  //printf("===== yes %s is ambiguous\n",codeYYtext);
12909  QCString name = QDir::cleanDirPath(codeYYtext).utf8();
12910  if (!name.isEmpty() && g_sourceFileDef)
12911  {
12912  FileName *fn = Doxygen::inputNameDict->find(name);
12913  if (fn)
12914  {
12915  FileNameIterator fni(*fn);
12916  // for each include name
12917  for (fni.toFirst();!found && (fd=fni.current());++fni)
12918  {
12919  // see if this source file actually includes the file
12920  found = g_sourceFileDef->isIncluded(fd->absFilePath());
12921  //printf(" include file %s found=%d\n",fd->absFilePath().data(),found);
12922  }
12923  }
12924  }
12925  }
12926  else // not ambiguous
12927  {
12928  found = TRUE;
12929  }
12930  }
12931  //printf(" include file %s found=%d\n",fd ? fd->absFilePath().data() : "<none>",found);
12932  if (found)
12933  {
12934  writeMultiLineCodeLink(*g_code,fd,codeYYtext);
12935  }
12936  else
12937  {
12938  g_code->codify(codeYYtext);
12939  }
12940  char c=yyinput();
12941  QCString text;
12942  text+=c;
12943  g_code->codify(text);
12944  endFontClass();
12945  BEGIN( Body );
12946  }
12947  YY_BREAK
12948 case 22:
12950 #line 2011 "code.l"
12951 {
12952  startFontClass("preprocessor");
12953  g_lastSkipCppContext = YY_START;
12954  g_code->codify(codeYYtext);
12955  BEGIN( SkipCPP ) ;
12956  }
12957  YY_BREAK
12958 case 23:
12960 #line 2017 "code.l"
12961 {
12962  g_code->codify(codeYYtext);
12963  }
12964  YY_BREAK
12965 case 24:
12967 #line 2020 "code.l"
12968 {
12969  g_code->codify(codeYYtext);
12970  }
12971  YY_BREAK
12972 case 25:
12973 /* rule 25 can match eol */
12975 #line 2023 "code.l"
12976 {
12977  codifyLines(codeYYtext);
12978  }
12979  YY_BREAK
12980 case 26:
12982 #line 2026 "code.l"
12983 {
12984  g_code->codify(codeYYtext);
12985  }
12986  YY_BREAK
12987 case 27:
12989 #line 2029 "code.l"
12990 {
12991  g_theVarContext.popScope();
12992  g_yyColNr++;
12993  g_code->codify(codeYYtext);
12994  }
12995  YY_BREAK
12996 case 28:
12998 #line 2034 "code.l"
12999 {
13000  g_theVarContext.pushScope();
13001 
13002  DBG_CTX((stderr,"** scope stack push INNERBLOCK\n"));
13003  g_scopeStack.push(INNERBLOCK);
13004 
13005  if (g_searchingForBody)
13006  {
13007  g_searchingForBody=FALSE;
13008  g_insideBody=TRUE;
13009  }
13010  g_code->codify(codeYYtext);
13011  g_curlyCount++;
13012  if (g_insideBody)
13013  {
13014  g_bodyCurlyCount++;
13015  }
13016  g_type.resize(0);
13017  g_name.resize(0);
13018  BEGIN( Body );
13019  }
13020  YY_BREAK
13021 case 29:
13023 #line 2055 "code.l"
13024 {
13025  g_theVarContext.popScope();
13026  g_type.resize(0);
13027  g_name.resize(0);
13028 
13029  int *scope = g_scopeStack.pop();
13030  DBG_CTX((stderr,"** scope stack pop SCOPEBLOCK=%d\n",scope==SCOPEBLOCK));
13031  if (scope==SCOPEBLOCK || scope==CLASSBLOCK)
13032  {
13033  popScope();
13034  }
13035 
13036  g_code->codify(codeYYtext);
13037 
13038  DBG_CTX((stderr,"g_bodyCurlyCount=%d\n",g_bodyCurlyCount));
13039  if (--g_bodyCurlyCount<=0)
13040  {
13041  g_insideBody=FALSE;
13042  g_currentMemberDef=0;
13043  if (g_currentDefinition)
13044  g_currentDefinition=g_currentDefinition->getOuterScope();
13045  }
13046  BEGIN(Body);
13047  }
13048  YY_BREAK
13049 case 30:
13051 #line 2079 "code.l"
13052 {
13053  //printf("End of objc scope fd=%s\n",g_sourceFileDef->name().data());
13054  if (g_sourceFileDef)
13055  {
13057  g_insideObjC = fd->name().lower().right(2)==".m" ||
13058  fd->name().lower().right(3)==".mm";
13059  //printf("insideObjC=%d\n",g_insideObjC);
13060  }
13061  else
13062  {
13063  g_insideObjC = FALSE;
13064  }
13065  if (g_insideBody)
13066  {
13067  g_theVarContext.popScope();
13068 
13069  int *scope = g_scopeStack.pop();
13070  DBG_CTX((stderr,"** scope stack pop SCOPEBLOCK=%d\n",scope==SCOPEBLOCK));
13071  if (scope==SCOPEBLOCK || scope==CLASSBLOCK)
13072  {
13073  popScope();
13074  }
13075  g_insideBody=FALSE;
13076  }
13077 
13078  startFontClass("keyword");
13079  g_code->codify(codeYYtext);
13080  endFontClass();
13081 
13082  g_currentMemberDef=0;
13083  if (g_currentDefinition)
13084  g_currentDefinition=g_currentDefinition->getOuterScope();
13085  BEGIN(Body);
13086  }
13087  YY_BREAK
13088 case 31:
13090 #line 2114 "code.l"
13091 {
13092  g_code->codify(codeYYtext);
13093  g_searchingForBody=FALSE;
13094  BEGIN( Body );
13095  }
13096  YY_BREAK
13097 case 32:
13099 #line 2119 "code.l"
13100 {
13101  g_type=g_curClassName.copy();
13102  g_name.resize(0);
13103  g_code->codify(codeYYtext);
13104  BEGIN( Body ); // variable of type struct *
13105  }
13106  YY_BREAK
13107 case 33:
13109 #line 2125 "code.l"
13110 {
13111  startFontClass("keyword");
13112  g_code->codify(codeYYtext);
13113  endFontClass();
13114  }
13115  YY_BREAK
13116 case 34:
13118 #line 2130 "code.l"
13119 {
13120  g_curClassName=codeYYtext;
13121  addType();
13122  if (g_curClassName=="alignas")
13123  {
13124  startFontClass("keyword");
13125  g_code->codify(codeYYtext);
13126  endFontClass();
13127  BEGIN( AlignAs );
13128  }
13129  else
13130  {
13131  generateClassOrGlobalLink(*g_code,codeYYtext);
13132  BEGIN( ClassVar );
13133  }
13134  }
13135  YY_BREAK
13136 case 35:
13138 #line 2146 "code.l"
13139 {
13140  g_bracketCount=1;
13141  g_code->codify(codeYYtext);
13142  BEGIN( AlignAsEnd );
13143  }
13144  YY_BREAK
13145 case 36:
13146 /* rule 36 can match eol */
13148 #line 2151 "code.l"
13149 { g_yyLineNr++;
13150  codifyLines(codeYYtext);
13151  }
13152  YY_BREAK
13153 case 37:
13155 #line 2154 "code.l"
13156 { g_code->codify(codeYYtext); }
13157  YY_BREAK
13158 case 38:
13160 #line 2155 "code.l"
13161 { g_code->codify(codeYYtext);
13162  g_bracketCount++;
13163  }
13164  YY_BREAK
13165 case 39:
13167 #line 2158 "code.l"
13168 {
13169  g_code->codify(codeYYtext);
13170  if (--g_bracketCount<=0)
13171  {
13172  BEGIN(ClassName);
13173  }
13174  }
13175  YY_BREAK
13176 case 40:
13177 /* rule 40 can match eol */
13179 #line 2165 "code.l"
13180 { g_yyLineNr++;
13181  codifyLines(codeYYtext);
13182  }
13183  YY_BREAK
13184 case 41:
13186 #line 2168 "code.l"
13187 { g_code->codify(codeYYtext); }
13188  YY_BREAK
13189 case 42:
13191 #line 2169 "code.l"
13192 { // PHP namespace
13193  g_curClassName=substitute(codeYYtext,"\\","::");
13194  g_scopeStack.push(CLASSBLOCK);
13195  pushScope(g_curClassName);
13196  addType();
13197  generateClassOrGlobalLink(*g_code,codeYYtext);
13198  BEGIN( ClassVar );
13199  }
13200  YY_BREAK
13201 case 43:
13203 #line 2177 "code.l"
13204 { // Obj-C category
13205  g_curClassName=removeRedundantWhiteSpace(codeYYtext);
13206  g_scopeStack.push(CLASSBLOCK);
13207  pushScope(g_curClassName);
13208  addType();
13209  generateClassOrGlobalLink(*g_code,codeYYtext);
13210  BEGIN( ClassVar );
13211  }
13212  YY_BREAK
13213 case 44:
13215 #line 2185 "code.l"
13216 {
13217  g_curClassName=substitute(codeYYtext,".","::");
13218  //printf("found package: %s\n",g_curClassName.data());
13219  addType();
13220  codifyLines(codeYYtext);
13221  }
13222  YY_BREAK
13223 case 45:
13225 #line 2191 "code.l"
13226 {
13227  unput(*codeYYtext);
13228  BEGIN( Body );
13229  }
13230  YY_BREAK
13231 case 46:
13233 #line 2195 "code.l"
13234 { // Java
13235  startFontClass("keyword");
13236  codifyLines(codeYYtext);
13237  endFontClass();
13238  g_curClassBases.clear();
13239  BEGIN( Bases );
13240  }
13241  YY_BREAK
13242 case 47:
13243 /* rule 47 can match eol */
13245 #line 2202 "code.l"
13246 {
13247  DBG_CTX((stderr,"***** C++/CLI modifier %s on g_curClassName=%s\n",codeYYtext,g_curClassName.data()));
13248  startFontClass("keyword");
13249  codifyLines(codeYYtext);
13250  endFontClass();
13252  }
13253  YY_BREAK
13254 case 48:
13256 #line 2209 "code.l"
13257 {
13258  g_type = g_curClassName.copy();
13259  g_name = codeYYtext;
13260  if (g_insideBody)
13261  {
13262  g_theVarContext.addVariable(g_type,g_name);
13263  }
13264  generateClassOrGlobalLink(*g_code,codeYYtext);
13265  }
13266  YY_BREAK
13267 case 49:
13269 #line 2218 "code.l"
13270 {
13271  codifyLines(codeYYtext);
13272  g_curClassBases.clear();
13273  BEGIN( Bases );
13274  }
13275  YY_BREAK
13276 case 50:
13277 #line 2224 "code.l"
13278 case 51:
13279 #line 2225 "code.l"
13280 case 52:
13282 #line 2225 "code.l"
13283 {
13284  g_theVarContext.pushScope();
13285  g_code->codify(codeYYtext);
13286  g_curlyCount++;
13287  if (YY_START==ClassVar && g_curClassName.isEmpty())
13288  {
13289  g_curClassName = g_name.copy();
13290  }
13291  if (g_searchingForBody)
13292  {
13293  g_searchingForBody=FALSE;
13294  g_insideBody=TRUE;
13295  }
13296  if (g_insideBody) g_bodyCurlyCount++;
13297  if (!g_curClassName.isEmpty()) // valid class name
13298  {
13299  DBG_CTX((stderr,"** scope stack push CLASSBLOCK\n"));
13300  g_scopeStack.push(CLASSBLOCK);
13301  pushScope(g_curClassName);
13302  DBG_CTX((stderr,"***** g_curClassName=%s\n",g_curClassName.data()));
13303  if (getResolvedClass(g_currentDefinition,g_sourceFileDef,g_curClassName)==0)
13304  {
13305  DBG_CTX((stderr,"Adding new class %s\n",g_curClassName.data()));
13306  ClassDef *ncd=new ClassDef("<code>",1,1,
13307  g_curClassName,ClassDef::Class,0,0,FALSE);
13308  g_codeClassSDict->append(g_curClassName,ncd);
13309  // insert base classes.
13310  char *s=g_curClassBases.first();
13311  while (s)
13312  {
13313  ClassDef *bcd;
13314  bcd=g_codeClassSDict->find(s);
13315  if (bcd==0) bcd=getResolvedClass(g_currentDefinition,g_sourceFileDef,s);
13316  if (bcd && bcd!=ncd)
13317  {
13318  ncd->insertBaseClass(bcd,s,Public,Normal);
13319  }
13320  s=g_curClassBases.next();
13321  }
13322  }
13323  //printf("g_codeClassList.count()=%d\n",g_codeClassList.count());
13324  }
13325  else // not a class name -> assume inner block
13326  {
13327  DBG_CTX((stderr,"** scope stack push INNERBLOCK\n"));
13328  g_scopeStack.push(INNERBLOCK);
13329  }
13330  g_curClassName.resize(0);
13331  g_curClassBases.clear();
13332  BEGIN( Body );
13333  }
13334  YY_BREAK
13335 case 53:
13337 #line 2276 "code.l"
13338 {
13339  startFontClass("keyword");
13340  g_code->codify(codeYYtext);
13341  endFontClass();
13342  }
13343  YY_BREAK
13344 case 54:
13346 #line 2281 "code.l"
13347 {
13348  DBG_CTX((stderr,"%s:addBase(%s)\n",g_curClassName.data(),codeYYtext));
13349  g_curClassBases.inSort(codeYYtext);
13350  generateClassOrGlobalLink(*g_code,codeYYtext);
13351  }
13352  YY_BREAK
13353 case 55:
13355 #line 2286 "code.l"
13356 {
13357  g_code->codify(codeYYtext);
13358  if (!g_insideObjC)
13359  {
13360  g_sharpCount=1;
13361  BEGIN ( SkipSharp );
13362  }
13363  else
13364  {
13365  g_insideProtocolList=TRUE;
13366  }
13367  }
13368  YY_BREAK
13369 case 56:
13371 #line 2298 "code.l"
13372 {
13373  g_code->codify(codeYYtext);
13374  g_insideProtocolList=FALSE;
13375  }
13376  YY_BREAK
13377 case 57:
13379 #line 2302 "code.l"
13380 {
13381  g_code->codify(codeYYtext);
13382  ++g_sharpCount;
13383  }
13384  YY_BREAK
13385 case 58:
13387 #line 2306 "code.l"
13388 {
13389  g_code->codify(codeYYtext);
13390  if (--g_sharpCount<=0)
13391  BEGIN ( Bases );
13392  }
13393  YY_BREAK
13394 case 59:
13396 #line 2311 "code.l"
13397 {
13398  g_code->codify(codeYYtext);
13399  g_sharpCount=1;
13400  BEGIN ( SkipSharp );
13401  }
13402  YY_BREAK
13403 case 60:
13405 #line 2316 "code.l"
13406 {
13407  g_code->codify(codeYYtext);
13408  ++g_sharpCount;
13409  }
13410  YY_BREAK
13411 case 61:
13413 #line 2320 "code.l"
13414 {
13415  g_code->codify(codeYYtext);
13416  if (--g_sharpCount<=0)
13417  BEGIN ( Bases );
13418  }
13419  YY_BREAK
13420 case 62:
13422 #line 2327 "code.l"
13423 {
13424  g_code->codify(codeYYtext);
13425  }
13426  YY_BREAK
13427 case 63:
13428 /* rule 63 can match eol */
13429 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
13430 (yy_c_buf_p) = yy_cp -= 1;
13431 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
13433 #line 2332 "code.l"
13434 {
13435  addType();
13436  generateFunctionLink(*g_code,codeYYtext);
13437  g_bracketCount=0;
13438  g_args.resize(0);
13439  g_name+=codeYYtext;
13440  BEGIN( FuncCall );
13441  }
13442  YY_BREAK
13443 case 64:
13444 /* rule 64 can match eol */
13445 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
13446 (yy_c_buf_p) = yy_cp -= 1;
13447 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
13449 #line 2340 "code.l"
13450 {
13451  addType();
13452  generateFunctionLink(*g_code,codeYYtext);
13453  g_bracketCount=0;
13454  g_args.resize(0);
13455  g_name+=codeYYtext;
13456  BEGIN( FuncCall );
13457  }
13458  YY_BREAK
13459 case 65:
13460 /* rule 65 can match eol */
13461 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
13462 (yy_c_buf_p) = yy_cp -= 1;
13463 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
13465 #line 2348 "code.l"
13466 {
13467  addType();
13468  generateFunctionLink(*g_code,codeYYtext);
13469  g_bracketCount=0;
13470  g_args.resize(0);
13471  g_name+=codeYYtext;
13472  BEGIN( FuncCall );
13473  }
13474  YY_BREAK
13475 case 66:
13476 /* rule 66 can match eol */
13477 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
13478 (yy_c_buf_p) = yy_cp -= 1;
13479 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
13481 #line 2356 "code.l"
13482 {
13483  startFontClass("keyword");
13484  codifyLines(codeYYtext);
13485  endFontClass();
13486  g_insideTemplate=TRUE;
13487  g_sharpCount=0;
13488  }
13489  YY_BREAK
13490 case 67:
13491 /* rule 67 can match eol */
13493 #line 2363 "code.l"
13494 {
13495  startFontClass("keyword");
13496  codifyLines(codeYYtext);
13497  endFontClass();
13498  BEGIN(UsingName);
13499  }
13500  YY_BREAK
13501 case 68:
13503 #line 2369 "code.l"
13504 { addUsingDirective(codeYYtext);
13505  generateClassOrGlobalLink(*g_code,codeYYtext);
13506  DBG_CTX((stderr,"** scope stack push CLASSBLOCK\n"));
13507  g_scopeStack.push(CLASSBLOCK);
13508  pushScope(codeYYtext);
13509  BEGIN(Body);
13510  }
13511  YY_BREAK
13512 case 69:
13513 /* rule 69 can match eol */
13515 #line 2376 "code.l"
13516 { codifyLines(codeYYtext); BEGIN(Body); }
13517  YY_BREAK
13518 case 70:
13520 #line 2377 "code.l"
13521 { codifyLines(codeYYtext); BEGIN(Body); }
13522  YY_BREAK
13523 case 71:
13525 #line 2378 "code.l"
13526 { g_code->codify(codeYYtext); // this-> for C++, this. for C#
13527  }
13528  YY_BREAK
13529 case 72:
13530 /* rule 72 can match eol */
13531 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
13532 (yy_c_buf_p) = yy_cp -= 1;
13533 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
13535 #line 2380 "code.l"
13536 {
13537  startFontClass("keyword");
13538  codifyLines(codeYYtext);
13539  if (QCString(codeYYtext)=="typedef")
13540  {
13541  addType();
13542  g_name+=codeYYtext;
13543  }
13544  endFontClass();
13545  }
13546  YY_BREAK
13547 case 73:
13549 #line 2390 "code.l"
13550 {
13551  startFontClass("keyword");
13552  codifyLines(codeYYtext);
13553  endFontClass();
13554  }
13555  YY_BREAK
13556 case 74:
13557 /* rule 74 can match eol */
13559 #line 2395 "code.l"
13560 {
13561  startFontClass("keyword");
13562  codifyLines(codeYYtext);
13563  endFontClass();
13564  g_name.resize(0);g_type.resize(0);
13565  }
13566  YY_BREAK
13567 case 75:
13568 /* rule 75 can match eol */
13569 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
13570 (yy_c_buf_p) = yy_cp = yy_bp + 2;
13571 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
13573 #line 2401 "code.l"
13574 {
13575  if (!g_inForEachExpression) REJECT;
13576  startFontClass("keywordflow");
13577  codifyLines(codeYYtext);
13578  endFontClass();
13579  // insert the variable in the parent scope, see bug 546158
13580  g_theVarContext.popScope();
13581  g_theVarContext.addVariable(g_parmType,g_parmName);
13582  g_theVarContext.pushScope();
13583  g_name.resize(0);g_type.resize(0);
13584  }
13585  YY_BREAK
13586 case 76:
13587 /* rule 76 can match eol */
13589 #line 2412 "code.l"
13590 {
13591  startFontClass("keywordflow");
13592  codifyLines(codeYYtext);
13593  endFontClass();
13594  g_name.resize(0);g_type.resize(0);
13595  g_inForEachExpression = (qstrcmp(codeYYtext,"for each")==0 || qstrcmp(codeYYtext, "foreach")==0);
13596  BEGIN(FuncCall);
13597  }
13598  YY_BREAK
13599 case 77:
13600 /* rule 77 can match eol */
13601 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
13602 (yy_c_buf_p) = yy_cp -= 1;
13603 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
13605 #line 2420 "code.l"
13606 {
13607  startFontClass("keywordflow");
13608  codifyLines(codeYYtext);
13609  endFontClass();
13610  if (g_inFunctionTryBlock && (qstrcmp(codeYYtext,"catch")==0 || qstrcmp(codeYYtext,"finally")==0))
13611  {
13612  g_inFunctionTryBlock=FALSE;
13613  }
13614  }
13615  YY_BREAK
13616 case 78:
13618 #line 2429 "code.l"
13619 {
13620  startFontClass("keywordflow");
13621  codifyLines(codeYYtext);
13622  endFontClass();
13623  }
13624  YY_BREAK
13625 case 79:
13627 #line 2434 "code.l"
13628 { // end of cast?
13629  g_code->codify(codeYYtext);
13630  g_theCallContext.popScope();
13631  g_bracketCount--;
13632  g_parmType = g_name;
13633  BEGIN(FuncCall);
13634  }
13635  YY_BREAK
13636 case 80:
13638 #line 2441 "code.l"
13639 {
13640  g_code->codify(codeYYtext);
13641  g_name.resize(0);g_type.resize(0);
13642  if (*codeYYtext==')')
13643  {
13644  g_theCallContext.popScope();
13645  g_bracketCount--;
13646  BEGIN(FuncCall);
13647  }
13648  }
13649  YY_BREAK
13650 case 81:
13652 #line 2451 "code.l"
13653 {
13654  startFontClass("keywordtype");
13655  g_code->codify(codeYYtext);
13656  endFontClass();
13657  addType();
13658  g_name+=codeYYtext;
13659  }
13660  YY_BREAK
13661 case 82:
13662 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
13663 (yy_c_buf_p) = yy_cp = yy_bp + 7;
13664 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
13666 #line 2458 "code.l"
13667 {
13668  startFontClass("keyword");
13669  g_code->codify(codeYYtext);
13670  endFontClass();
13671  g_sharpCount=0;
13672  BEGIN(TemplDecl);
13673  }
13674  YY_BREAK
13675 case 83:
13676 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
13677 (yy_c_buf_p) = yy_cp = yy_bp + 8;
13678 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
13680 #line 2465 "code.l"
13681 { // template<...>
13682  startFontClass("keyword");
13683  g_code->codify(codeYYtext);
13684  endFontClass();
13685  g_sharpCount=0;
13686  BEGIN(TemplDecl);
13687  }
13688  YY_BREAK
13689 case 84:
13691 #line 2472 "code.l"
13692 {
13693  startFontClass("keyword");
13694  codifyLines(codeYYtext);
13695  endFontClass();
13696  }
13697  YY_BREAK
13698 case 85:
13700 #line 2477 "code.l"
13701 {
13702  g_code->codify(codeYYtext);
13703  g_sharpCount++;
13704  }
13705  YY_BREAK
13706 case 86:
13708 #line 2481 "code.l"
13709 {
13710  g_code->codify(codeYYtext);
13711  g_sharpCount--;
13712  if (g_sharpCount<=0)
13713  {
13714  BEGIN(Body);
13715  }
13716  }
13717  YY_BREAK
13718 case 87:
13720 #line 2489 "code.l"
13721 {
13722  startFontClass("keyword");
13723  codifyLines(codeYYtext);
13724  endFontClass();
13725  BEGIN( g_lastTemplCastContext );
13726  }
13727  YY_BREAK
13728 case 88:
13730 #line 2495 "code.l"
13731 {
13732  generateClassOrGlobalLink(*g_code,codeYYtext);
13733  }
13734  YY_BREAK
13735 case 89:
13737 #line 2498 "code.l"
13738 {
13739  startFontClass("keyword");
13740  codifyLines(codeYYtext);
13741  endFontClass();
13742  }
13743  YY_BREAK
13744 case 90:
13746 #line 2503 "code.l"
13747 {
13748  codifyLines(codeYYtext);
13749  }
13750  YY_BREAK
13751 case 91:
13753 #line 2506 "code.l"
13754 { // static_cast<T>(
13755  startFontClass("keyword");
13756  codifyLines(codeYYtext);
13757  endFontClass();
13758  g_lastTemplCastContext = YY_START;
13759  BEGIN(TemplCast);
13760  }
13761  YY_BREAK
13762 case 92:
13763 /* rule 92 can match eol */
13765 #line 2513 "code.l"
13766 { // PHP member variable
13767  addType();
13768  generatePHPVariableLink(*g_code,codeYYtext);
13769  g_name+=codeYYtext+7;
13770  }
13771  YY_BREAK
13772 case 93:
13773 /* rule 93 can match eol */
13775 #line 2518 "code.l"
13776 { // A<T> *pt;
13777  int i=QCString(codeYYtext).find('<');
13778  QCString kw = QCString(codeYYtext).left(i).stripWhiteSpace();
13779  if (kw.right(5)=="_cast" && YY_START==Body)
13780  {
13781  REJECT;
13782  }
13783  addType();
13784  generateClassOrGlobalLink(*g_code,codeYYtext);
13785  g_name+=codeYYtext;
13786  }
13787  YY_BREAK
13788 case 94:
13789 /* rule 94 can match eol */
13791 #line 2529 "code.l"
13792 { // "int var;" or "var, var2" or "debug(f) macro"
13793  addType();
13794  // changed this to generateFunctionLink, see bug 624514
13795  //generateClassOrGlobalLink(*g_code,codeYYtext,FALSE,TRUE);
13796  generateFunctionLink(*g_code,codeYYtext);
13797  g_name+=codeYYtext;
13798  }
13799  YY_BREAK
13800 case 95:
13801 /* rule 95 can match eol */
13803 #line 2536 "code.l"
13804 { // p->func()
13805  addType();
13806  generateClassOrGlobalLink(*g_code,codeYYtext);
13807  g_name+=codeYYtext;
13808  }
13809  YY_BREAK
13810 case 96:
13811 /* rule 96 can match eol */
13813 #line 2541 "code.l"
13814 { // (*p)->func() but not "if (p) ..."
13815  g_code->codify(codeYYtext);
13816  int s=0;while (s<(int)codeYYleng && !isId(codeYYtext[s])) s++;
13817  int e=(int)codeYYleng-1;while (e>=0 && !isId(codeYYtext[e])) e--;
13818  QCString varname = ((QCString)codeYYtext).mid(s,e-s+1);
13819  addType();
13820  g_name=varname;
13821  }
13822  YY_BREAK
13823 case 97:
13824 /* rule 97 can match eol */
13826 #line 2549 "code.l"
13827 { // a() or c::a() or t<A,B>::a() or A\B\foo()
13828  addType();
13829  generateFunctionLink(*g_code,codeYYtext);
13830  g_bracketCount=0;
13831  g_args.resize(0);
13832  g_name+=codeYYtext;
13833  BEGIN( FuncCall );
13834  }
13835  YY_BREAK
13836 case 98:
13837 /* rule 98 can match eol */
13839 #line 2557 "code.l"
13840 {
13841  QCString text=codeYYtext;
13842  int i=text.find('R');
13843  g_code->codify(text.left(i+1));
13844  startFontClass("stringliteral");
13845  g_code->codify(codeYYtext+i+1);
13846  g_lastStringContext=YY_START;
13847  g_inForEachExpression = FALSE;
13848  g_delimiter = codeYYtext+i+2;
13849  g_delimiter=g_delimiter.left(g_delimiter.length()-1);
13850  BEGIN( RawString );
13851  }
13852  YY_BREAK
13853 case 99:
13855 #line 2569 "code.l"
13856 {
13857  startFontClass("stringliteral");
13858  g_code->codify(codeYYtext);
13859  g_lastStringContext=YY_START;
13860  g_inForEachExpression = FALSE;
13861  BEGIN( SkipString );
13862  }
13863  YY_BREAK
13864 case 100:
13866 #line 2576 "code.l"
13867 {
13868  startFontClass("stringliteral");
13869  g_code->codify(codeYYtext);
13870  g_lastStringContext=YY_START;
13871  g_inForEachExpression = FALSE;
13872  BEGIN( SkipStringS );
13873  }
13874  YY_BREAK
13875 case 101:
13877 #line 2583 "code.l"
13878 {
13879  g_code->codify(codeYYtext);
13880  }
13881  YY_BREAK
13882 case 102:
13884 #line 2586 "code.l"
13885 {
13886  g_code->codify(codeYYtext);
13887  }
13888  YY_BREAK
13889 case 103:
13891 #line 2589 "code.l"
13892 {
13893  g_code->codify(codeYYtext);
13894  }
13895  YY_BREAK
13896 case 104:
13898 #line 2592 "code.l"
13899 {
13900  g_code->codify(codeYYtext);
13901  endFontClass();
13902  BEGIN( g_lastStringContext );
13903  }
13904  YY_BREAK
13905 case 105:
13907 #line 2597 "code.l"
13908 {
13909  g_code->codify(codeYYtext);
13910  endFontClass();
13911  BEGIN( g_lastStringContext );
13912  }
13913  YY_BREAK
13914 case 106:
13916 #line 2602 "code.l"
13917 {
13918  g_code->codify(codeYYtext);
13919  }
13920  YY_BREAK
13921 case 107:
13922 /* rule 107 can match eol */
13924 #line 2605 "code.l"
13925 {
13926  g_code->codify(codeYYtext);
13927  QCString delimiter = codeYYtext+1;
13928  delimiter=delimiter.left(delimiter.length()-1);
13929  if (delimiter==g_delimiter)
13930  {
13931  BEGIN( g_lastStringContext );
13932  }
13933  }
13934  YY_BREAK
13935 case 108:
13937 #line 2614 "code.l"
13938 { g_code->codify(codeYYtext); }
13939  YY_BREAK
13940 case 109:
13942 #line 2615 "code.l"
13943 { g_code->codify(codeYYtext); }
13944  YY_BREAK
13945 case 110:
13946 /* rule 110 can match eol */
13948 #line 2616 "code.l"
13949 { codifyLines(codeYYtext); }
13950  YY_BREAK
13951 case 111:
13953 #line 2617 "code.l"
13954 {
13955  g_code->codify(codeYYtext);
13956  }
13957  YY_BREAK
13958 case 112:
13960 #line 2620 "code.l"
13961 { // escaped quote
13962  g_code->codify(codeYYtext);
13963  }
13964  YY_BREAK
13965 case 113:
13967 #line 2623 "code.l"
13968 { // end of string
13969  g_code->codify(codeYYtext);
13970  endFontClass();
13971  BEGIN( g_lastVerbStringContext );
13972  }
13973  YY_BREAK
13974 case 114:
13976 #line 2628 "code.l"
13977 {
13978  g_code->codify(codeYYtext);
13979  }
13980  YY_BREAK
13981 case 115:
13982 /* rule 115 can match eol */
13984 #line 2631 "code.l"
13985 {
13986  codifyLines(codeYYtext);
13987  }
13988  YY_BREAK
13989 case 116:
13991 #line 2634 "code.l"
13992 {
13993  g_code->codify(codeYYtext);
13994  g_name.resize(0);g_type.resize(0);
13995  }
13996  YY_BREAK
13997 case 117:
13999 #line 2638 "code.l"
14000 {
14001  if (g_insideTemplate)
14002  {
14003  g_sharpCount++;
14004  }
14005  g_code->codify(codeYYtext);
14006  }
14007  YY_BREAK
14008 case 118:
14010 #line 2645 "code.l"
14011 {
14012  if (g_insideTemplate)
14013  {
14014  if (--g_sharpCount<=0)
14015  {
14016  g_insideTemplate=FALSE;
14017  }
14018  }
14019  g_code->codify(codeYYtext);
14020  }
14021  YY_BREAK
14022 case 119:
14024 #line 2655 "code.l"
14025 {
14026  startFontClass("charliteral");
14027  g_code->codify(codeYYtext);
14028  endFontClass();
14029  }
14030  YY_BREAK
14031 case 120:
14033 #line 2660 "code.l"
14034 {
14035  if (codeYYtext[0]=='-') // -> could be overloaded
14036  {
14038  }
14039  g_code->codify(codeYYtext);
14040  g_memCallContext = YY_START;
14041  BEGIN( MemberCall );
14042  }
14043  YY_BREAK
14044 case 121:
14045 /* rule 121 can match eol */
14047 #line 2669 "code.l"
14048 {
14049  if (g_theCallContext.getScope())
14050  {
14051  if (!generateClassMemberLink(*g_code,g_theCallContext.getScope(),codeYYtext))
14052  {
14053  g_code->codify(codeYYtext);
14054  addToSearchIndex(codeYYtext);
14055  }
14056  g_name.resize(0);
14057  }
14058  else
14059  {
14060  g_code->codify(codeYYtext);
14061  addToSearchIndex(codeYYtext);
14062  g_name.resize(0);
14063  }
14064  g_type.resize(0);
14065  g_bracketCount=0;
14066  if (g_memCallContext==Body)
14067  {
14068  BEGIN(FuncCall);
14069  }
14070  else
14071  {
14072  BEGIN(g_memCallContext);
14073  }
14074  }
14075  YY_BREAK
14076 case 122:
14077 /* rule 122 can match eol */
14079 #line 2696 "code.l"
14080 {
14081  if (g_theCallContext.getScope())
14082  {
14083  DBG_CTX((stderr,"g_theCallContext.getClass()=%p\n",g_theCallContext.getScope()));
14084  if (!generateClassMemberLink(*g_code,g_theCallContext.getScope(),codeYYtext))
14085  {
14086  g_code->codify(codeYYtext);
14087  addToSearchIndex(codeYYtext);
14088  }
14089  g_name.resize(0);
14090  }
14091  else
14092  {
14093  DBG_CTX((stderr,"no class context!\n"));
14094  g_code->codify(codeYYtext);
14095  addToSearchIndex(codeYYtext);
14096  g_name.resize(0);
14097  }
14098  g_type.resize(0);
14099  BEGIN(g_memCallContext);
14100  }
14101  YY_BREAK
14102 case 123:
14104 #line 2717 "code.l"
14105 {
14106  if (g_insideObjC && *codeYYtext=='[')
14107  {
14108  //printf("Found start of ObjC call!\n");
14109  // start of a method call
14110  g_contextDict.setAutoDelete(TRUE);
14111  g_nameDict.setAutoDelete(TRUE);
14112  g_objectDict.setAutoDelete(TRUE);
14113  g_wordDict.setAutoDelete(TRUE);
14114  g_contextDict.clear();
14115  g_nameDict.clear();
14116  g_objectDict.clear();
14117  g_wordDict.clear();
14118  g_currentCtxId = 0;
14119  g_currentNameId = 0;
14120  g_currentObjId = 0;
14121  g_currentCtx = 0;
14122  g_braceCount = 0;
14123  unput('[');
14124  BEGIN(ObjCCall);
14125  }
14126  else
14127  {
14128  g_code->codify(codeYYtext);
14129  g_saveName = g_name.copy();
14130  g_saveType = g_type.copy();
14131  if (*codeYYtext!='[' && !g_type.isEmpty())
14132  {
14133  //printf("g_scopeStack.bottom()=%p\n",g_scopeStack.bottom());
14134  //if (g_scopeStack.top()!=CLASSBLOCK) // commented out for bug731363
14135  {
14136  //printf("AddVariable: '%s' '%s' context=%d\n",
14137  // g_type.data(),g_name.data(),g_theVarContext.count());
14138  g_theVarContext.addVariable(g_type,g_name);
14139  }
14140  g_name.resize(0);
14141  }
14142  if (*codeYYtext==';' || *codeYYtext=='=')
14143  {
14144  g_type.resize(0);
14145  g_name.resize(0);
14146  }
14147  else if (*codeYYtext=='[')
14148  {
14149  g_theCallContext.pushScope();
14150  }
14151  g_args.resize(0);
14152  g_parmType.resize(0);
14153  g_parmName.resize(0);
14154  }
14155  }
14156  YY_BREAK
14157 /*
14158 <ObjCMemberCall>{ID} {
14159  if (qstrcmp(codeYYtext,"self")==0 || qstrcmp(codeYYtext,"super")==0)
14160  {
14161  // TODO: get proper base class for "super"
14162  g_theCallContext.setClass(getClass(g_curClassName));
14163  startFontClass("keyword");
14164  g_code->codify(codeYYtext);
14165  endFontClass();
14166  }
14167  else
14168  {
14169  generateClassOrGlobalLink(*g_code,codeYYtext);
14170  }
14171  g_name.resize(0);
14172  BEGIN(ObjCMemberCall2);
14173  }
14174 <ObjCMemberCall>"[" {
14175  g_code->codify(codeYYtext);
14176  g_theCallContext.pushScope();
14177  }
14178 <ObjCMemberCall2>{ID}":"? {
14179  g_name+=codeYYtext;
14180  if (g_theCallContext.getClass())
14181  {
14182  //printf("Calling method %s\n",g_name.data());
14183  if (!generateClassMemberLink(*g_code,g_theCallContext.getClass(),g_name))
14184  {
14185  g_code->codify(codeYYtext);
14186  addToSearchIndex(g_name);
14187  }
14188  }
14189  else
14190  {
14191  g_code->codify(codeYYtext);
14192  addToSearchIndex(g_name);
14193  }
14194  g_name.resize(0);
14195  BEGIN(ObjCMemberCall3);
14196  }
14197 <ObjCMemberCall2,ObjCMemberCall3>"]" {
14198  g_theCallContext.popScope();
14199  g_code->codify(codeYYtext);
14200  BEGIN(Body);
14201  }
14202  */
14203 case 124:
14205 #line 2814 "code.l"
14206 {
14207  saveObjCContext();
14208  g_currentCtx->format+=*codeYYtext;
14209  BEGIN(ObjCCall);
14210  //printf("open\n");
14211  }
14212  YY_BREAK
14213 case 125:
14215 #line 2820 "code.l"
14216 {
14217  g_currentCtx->format+=*codeYYtext;
14219  BEGIN(ObjCMName);
14220  if (g_currentCtx==0)
14221  {
14222  // end of call
14223  writeObjCMethodCall(g_contextDict.find(0));
14224  BEGIN(Body);
14225  }
14226  //printf("close\n");
14227  }
14228  YY_BREAK
14229 case 126:
14231 #line 2832 "code.l"
14232 {
14233  g_currentCtx->format+=escapeObject(codeYYtext);
14234  if (g_braceCount==0)
14235  {
14236  g_currentCtx->objectTypeOrName=codeYYtext;
14237  //printf("new type=%s\n",g_currentCtx->objectTypeOrName.data());
14238  BEGIN(ObjCMName);
14239  }
14240  }
14241  YY_BREAK
14242 case 127:
14243 /* rule 127 can match eol */
14245 #line 2841 "code.l"
14246 {
14247  if (g_braceCount==0 &&
14248  g_currentCtx->methodName.isEmpty())
14249  {
14250  g_currentCtx->methodName=codeYYtext;
14251  g_currentCtx->format+=escapeName(codeYYtext);
14252  }
14253  else
14254  {
14255  g_currentCtx->format+=escapeWord(codeYYtext);
14256  }
14257  }
14258  YY_BREAK
14259 case 128:
14260 /* rule 128 can match eol */
14262 #line 2853 "code.l"
14263 {
14264  if (g_braceCount==0)
14265  {
14266  g_currentCtx->methodName+=codeYYtext;
14267  g_currentCtx->methodName+=":";
14268  }
14269  g_currentCtx->format+=escapeName(codeYYtext);
14270  }
14271  YY_BREAK
14272 case 129:
14274 #line 2861 "code.l"
14275 { g_currentCtx->format+=codeYYtext; }
14276  YY_BREAK
14277 case 130:
14279 #line 2862 "code.l"
14280 { g_currentCtx->format+=codeYYtext; }
14281  YY_BREAK
14282 case 131:
14284 #line 2863 "code.l"
14285 { g_currentCtx->format+=codeYYtext;
14286  BEGIN(g_lastStringContext);
14287  }
14288  YY_BREAK
14289 case 132:
14291 #line 2866 "code.l"
14292 { g_currentCtx->format+=codeYYtext; }
14293  YY_BREAK
14294 case 133:
14296 #line 2867 "code.l"
14297 { g_currentCtx->format+=codeYYtext;
14298  g_lastStringContext=YY_START;
14299  BEGIN(ObjCSkipStr);
14300  }
14301  YY_BREAK
14302 case 134:
14304 #line 2871 "code.l"
14305 { g_currentCtx->format+="$$"; }
14306  YY_BREAK
14307 case 135:
14309 #line 2872 "code.l"
14310 { g_currentCtx->format+=*codeYYtext; g_braceCount++; }
14311  YY_BREAK
14312 case 136:
14314 #line 2873 "code.l"
14315 { g_currentCtx->format+=*codeYYtext; g_braceCount--; }
14316  YY_BREAK
14317 case 137:
14318 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
14319 (yy_c_buf_p) = yy_cp = yy_bp + 1;
14320 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
14322 #line 2874 "code.l"
14323 { // needed to prevent matching the global rule (for C#)
14324  g_currentCtx->format+=codeYYtext;
14325  }
14326  YY_BREAK
14327 case 138:
14329 #line 2877 "code.l"
14330 { g_currentCtx->format+=escapeWord(codeYYtext); }
14331  YY_BREAK
14332 case 139:
14334 #line 2878 "code.l"
14335 { g_currentCtx->format+=*codeYYtext; }
14336  YY_BREAK
14337 case 140:
14338 /* rule 140 can match eol */
14340 #line 2879 "code.l"
14341 { g_currentCtx->format+=*codeYYtext; }
14342  YY_BREAK
14343 case 141:
14345 #line 2881 "code.l"
14346 {
14347  g_theCallContext.popScope();
14348  g_code->codify(codeYYtext);
14349  // TODO: nested arrays like: a[b[0]->func()]->func()
14350  g_name = g_saveName.copy();
14351  g_type = g_saveType.copy();
14352  }
14353  YY_BREAK
14354 case 142:
14356 #line 2888 "code.l"
14357 {
14358  g_code->codify(codeYYtext);
14359  }
14360  YY_BREAK
14361 case 143:
14363 #line 2891 "code.l"
14364 {
14365  g_code->codify(codeYYtext);
14366  }
14367  YY_BREAK
14368 case 144:
14369 /* rule 144 can match eol */
14370 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
14371 (yy_c_buf_p) = yy_cp -= 1;
14372 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
14374 #line 2894 "code.l"
14375 {
14376  //addParmType();
14377  //g_parmName=codeYYtext;
14378  startFontClass("keyword");
14379  g_code->codify(codeYYtext);
14380  endFontClass();
14381  }
14382  YY_BREAK
14383 case 145:
14384 /* rule 145 can match eol */
14385 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
14386 (yy_c_buf_p) = yy_cp -= 1;
14387 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
14389 #line 2901 "code.l"
14390 {
14391  addParmType();
14392  g_parmName=codeYYtext;
14393  startFontClass("keywordtype");
14394  g_code->codify(codeYYtext);
14395  endFontClass();
14396  }
14397  YY_BREAK
14398 case 146:
14399 /* rule 146 can match eol */
14400 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
14401 (yy_c_buf_p) = yy_cp -= 1;
14402 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
14404 #line 2908 "code.l"
14405 {
14406  addParmType();
14407  g_parmName=codeYYtext;
14408  startFontClass("keywordflow");
14409  g_code->codify(codeYYtext);
14410  endFontClass();
14411  }
14412  YY_BREAK
14413 case 147:
14415 #line 2915 "code.l"
14416 {
14417  addParmType();
14418  g_parmName=codeYYtext;
14419  generateClassOrGlobalLink(*g_code,codeYYtext,!g_insideBody);
14420  }
14421  YY_BREAK
14422 case 148:
14424 #line 2920 "code.l"
14425 { // probably a cast, not a function call
14426  g_code->codify(codeYYtext);
14427  g_inForEachExpression = FALSE;
14428  BEGIN( Body );
14429  }
14430  YY_BREAK
14431 case 149:
14433 #line 2925 "code.l"
14434 {
14435  g_code->codify(codeYYtext);
14436  g_theVarContext.addVariable(g_parmType,g_parmName);
14437  g_parmType.resize(0);g_parmName.resize(0);
14438  }
14439  YY_BREAK
14440 case 150:
14442 #line 2930 "code.l"
14443 {
14444  if (g_bracketCount>0)
14445  {
14446  g_code->codify(codeYYtext);
14447  g_skipInlineInitContext=YY_START;
14448  g_curlyCount=0;
14449  BEGIN(InlineInit);
14450  }
14451  else
14452  {
14453  REJECT;
14454  }
14455  }
14456  YY_BREAK
14457 case 151:
14459 #line 2943 "code.l"
14460 { g_curlyCount++;
14461  g_code->codify(codeYYtext);
14462  }
14463  YY_BREAK
14464 case 152:
14466 #line 2946 "code.l"
14467 {
14468  g_code->codify(codeYYtext);
14469  if (--g_curlyCount<=0)
14470  {
14471  BEGIN(g_skipInlineInitContext);
14472  }
14473  }
14474  YY_BREAK
14475 case 153:
14476 /* rule 153 can match eol */
14478 #line 2953 "code.l"
14479 {
14480  codifyLines(codeYYtext);
14481  }
14482  YY_BREAK
14483 case 154:
14485 #line 2956 "code.l"
14486 {
14487  g_code->codify(codeYYtext);
14488  }
14489  YY_BREAK
14490 case 155:
14492 #line 2959 "code.l"
14493 {
14494  g_parmType.resize(0);g_parmName.resize(0);
14495  g_code->codify(codeYYtext);
14496  g_bracketCount++;
14497  g_theCallContext.pushScope();
14498  if (YY_START==FuncCall && !g_insideBody)
14499  {
14500  g_theVarContext.pushScope();
14501  }
14502  }
14503  YY_BREAK
14504 case 156:
14506 #line 2969 "code.l"
14507 { // operator
14508  if (qstrcmp(codeYYtext,"*") &&
14509  qstrcmp(codeYYtext,"&") &&
14510  qstrcmp(codeYYtext,"^") &&
14511  qstrcmp(codeYYtext,"%")) // typically a pointer or reference
14512  {
14513  // not a * or &, or C++/CLI's ^ or %
14514  g_parmType.resize(0);g_parmName.resize(0);
14515  }
14516  g_code->codify(codeYYtext);
14517  }
14518  YY_BREAK
14519 case 157:
14521 #line 2980 "code.l"
14522 {
14523  if (codeYYtext[0]==')') // no a pointer cast
14524  {
14525  //printf("addVariable(%s,%s)\n",g_parmType.data(),g_parmName.data());
14526  g_theVarContext.addVariable(g_parmType,g_parmName);
14527  }
14528  else
14529  {
14530  g_parmType.resize(0);
14531  g_parmName.resize(0);
14532  }
14533  g_theCallContext.popScope();
14534  g_inForEachExpression = FALSE;
14535  //g_theCallContext.setClass(0); // commented out, otherwise a()->b() does not work for b().
14536  g_code->codify(codeYYtext);
14537  if (--g_bracketCount<=0)
14538  {
14539  if (g_name.isEmpty())
14540  {
14541  BEGIN( Body );
14542  }
14543  else
14544  {
14545  BEGIN( CallEnd );
14546  }
14547  }
14548  }
14549  YY_BREAK
14550 case 158:
14551 /* rule 158 can match eol */
14553 #line 3007 "code.l"
14554 { codifyLines(codeYYtext); }
14555  YY_BREAK
14556 /*
14557 <MemberCall2,FuncCall>")"[ \t\n]*[;:] {
14558  */
14559 case 159:
14561 #line 3011 "code.l"
14562 {
14563  codifyLines(codeYYtext);
14564  g_bracketCount=0;
14565  if (*codeYYtext==';') g_searchingForBody=FALSE;
14566  if (!g_type.isEmpty())
14567  {
14568  DBG_CTX((stderr,"add variable g_type=%s g_name=%s)\n",g_type.data(),g_name.data()));
14569  g_theVarContext.addVariable(g_type,g_name);
14570  }
14571  g_parmType.resize(0);g_parmName.resize(0);
14572  g_theCallContext.setScope(0);
14573  if (*codeYYtext==';' || g_insideBody)
14574  {
14575  if (!g_insideBody)
14576  {
14577  g_theVarContext.popScope();
14578  }
14579  g_name.resize(0);g_type.resize(0);
14580  BEGIN( Body );
14581  }
14582  else
14583  {
14584  g_bracketCount=0;
14585  BEGIN( SkipInits );
14586  }
14587  }
14588  YY_BREAK
14589 case 160:
14590 /* rule 160 can match eol */
14592 #line 3037 "code.l"
14593 {
14594  startFontClass("keyword");
14595  codifyLines(codeYYtext);
14596  endFontClass();
14597  }
14598  YY_BREAK
14599 case 161:
14600 /* rule 161 can match eol */
14602 #line 3042 "code.l"
14603 {
14604  if (g_insideBody)
14605  {
14606  g_theVarContext.pushScope();
14607  }
14608  g_theVarContext.addVariable(g_parmType,g_parmName);
14609  //g_theCallContext.popScope();
14610  g_parmType.resize(0);g_parmName.resize(0);
14611  int index = g_name.findRev("::");
14612  DBG_CTX((stderr,"g_name=%s\n",g_name.data()));
14613  if (index!=-1)
14614  {
14615  QCString scope = g_name.left(index);
14616  if (!g_classScope.isEmpty()) scope.prepend(g_classScope+"::");
14617  ClassDef *cd=getResolvedClass(Doxygen::globalScope,g_sourceFileDef,scope);
14618  if (cd)
14619  {
14620  setClassScope(cd->name());
14621  g_scopeStack.push(SCOPEBLOCK);
14622  DBG_CTX((stderr,"** scope stack push SCOPEBLOCK\n"));
14623  }
14624  else
14625  {
14626  //setClassScope(g_realScope);
14627  g_scopeStack.push(INNERBLOCK);
14628  DBG_CTX((stderr,"** scope stack push INNERBLOCK\n"));
14629  }
14630  }
14631  else
14632  {
14633  DBG_CTX((stderr,"** scope stack push INNERBLOCK\n"));
14634  g_scopeStack.push(INNERBLOCK);
14635  }
14636  codeYYtext[codeYYleng-1]='\0';
14637  QCString cv(codeYYtext);
14638  if (!cv.stripWhiteSpace().isEmpty())
14639  {
14640  startFontClass("keyword");
14641  codifyLines(codeYYtext);
14642  endFontClass();
14643  }
14644  else // just whitespace
14645  {
14646  codifyLines(codeYYtext);
14647  }
14648  g_code->codify("{");
14649  if (g_searchingForBody)
14650  {
14651  g_searchingForBody=FALSE;
14652  g_insideBody=TRUE;
14653  }
14654  if (g_insideBody) g_bodyCurlyCount++;
14655  g_curlyCount++;
14656  g_type.resize(0); g_name.resize(0);
14657  BEGIN( Body );
14658  }
14659  YY_BREAK
14660 case 162:
14662 #line 3098 "code.l"
14663 { // function-try-block
14664  startFontClass("keyword");
14665  g_code->codify(codeYYtext);
14666  endFontClass();
14667  g_inFunctionTryBlock=TRUE;
14668  }
14669  YY_BREAK
14670 case 163:
14672 #line 3104 "code.l"
14673 {
14674  if (g_insideBody || !g_parmType.isEmpty())
14675  {
14676  REJECT;
14677  }
14678  // could be K&R style definition
14679  addParmType();
14680  g_parmName=codeYYtext;
14681  generateClassOrGlobalLink(*g_code,codeYYtext,!g_insideBody);
14683  }
14684  YY_BREAK
14685 case 164:
14687 #line 3115 "code.l"
14688 {
14689  addParmType();
14690  g_parmName=codeYYtext;
14691  generateClassOrGlobalLink(*g_code,codeYYtext,!g_insideBody);
14692  }
14693  YY_BREAK
14694 case 165:
14696 #line 3120 "code.l"
14697 {
14698  g_code->codify(codeYYtext);
14699  g_theVarContext.addVariable(g_parmType,g_parmName);
14700  if (*codeYYtext==';') g_parmType.resize(0);
14701  g_parmName.resize(0);
14702  }
14703  YY_BREAK
14704 case 166:
14706 #line 3126 "code.l"
14707 {
14708  startFontClass("preprocessor");
14709  g_lastSkipCppContext = Body;
14710  g_code->codify(codeYYtext);
14711  BEGIN( SkipCPP );
14712  }
14713  YY_BREAK
14714 case 167:
14716 #line 3132 "code.l"
14717 {
14718  unput(*codeYYtext);
14719  if (!g_insideBody)
14720  {
14721  g_theVarContext.popScope();
14722  }
14723  g_name.resize(0);g_args.resize(0);
14724  g_parmType.resize(0);g_parmName.resize(0);
14725  BEGIN( Body );
14726  }
14727  YY_BREAK
14728 case 168:
14730 #line 3142 "code.l"
14731 {
14732  g_code->codify(codeYYtext);
14733  g_type.resize(0); g_name.resize(0);
14734  BEGIN( Body );
14735  }
14736  YY_BREAK
14737 case 169:
14739 #line 3147 "code.l"
14740 {
14741  g_code->codify(codeYYtext);
14742  g_curlyCount++;
14743  if (g_searchingForBody)
14744  {
14745  g_searchingForBody=FALSE;
14746  g_insideBody=TRUE;
14747  }
14748  if (g_insideBody) g_bodyCurlyCount++;
14749  if (g_name.find("::")!=-1)
14750  {
14751  DBG_CTX((stderr,"** scope stack push SCOPEBLOCK\n"));
14752  g_scopeStack.push(SCOPEBLOCK);
14753  setClassScope(g_realScope);
14754  }
14755  else
14756  {
14757  DBG_CTX((stderr,"** scope stack push INNERBLOCK\n"));
14758  g_scopeStack.push(INNERBLOCK);
14759  }
14760  g_type.resize(0); g_name.resize(0);
14761  BEGIN( Body );
14762  }
14763  YY_BREAK
14764 case 170:
14766 #line 3170 "code.l"
14767 {
14768  generateClassOrGlobalLink(*g_code,codeYYtext);
14769  }
14770  YY_BREAK
14771 case 171:
14772 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
14773 (yy_c_buf_p) = yy_cp -= 1;
14774 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
14776 #line 3173 "code.l"
14777 {
14778  generateFunctionLink(*g_code,codeYYtext);
14779  }
14780  YY_BREAK
14781 case 172:
14783 #line 3176 "code.l"
14784 {
14785  g_name=codeYYtext;
14786  generateClassOrGlobalLink(*g_code,codeYYtext);
14787  BEGIN( MemberCall2 );
14788  }
14789  YY_BREAK
14790 case 173:
14792 #line 3181 "code.l"
14793 {
14794  g_code->codify(codeYYtext);
14795  int s=0;while (!isId(codeYYtext[s])) s++;
14796  int e=(int)codeYYleng-1;while (!isId(codeYYtext[e])) e--;
14797  g_name=((QCString)codeYYtext).mid(s,e-s+1);
14798  BEGIN( MemberCall2 );
14799  }
14800  YY_BREAK
14801 case 174:
14802 /* rule 174 can match eol */
14804 #line 3188 "code.l"
14805 {
14806  if (!g_args.isEmpty())
14807  generateMemberLink(*g_code,g_args,codeYYtext);
14808  else
14809  generateClassOrGlobalLink(*g_code,codeYYtext);
14810  g_args.resize(0);
14811  BEGIN( FuncCall );
14812  }
14813  YY_BREAK
14814 case 175:
14815 /* rule 175 can match eol */
14817 #line 3196 "code.l"
14818 {
14819  //g_code->codify(codeYYtext);
14820  g_name=codeYYtext;
14821  generateClassOrGlobalLink(*g_code,codeYYtext);
14822  BEGIN( MemberCall2 );
14823  }
14824  YY_BREAK
14825 case 176:
14827 #line 3202 "code.l"
14828 {
14829  if (codeYYtext[0]=='-') // -> could be overloaded
14830  {
14832  }
14833  g_code->codify(codeYYtext);
14834  g_memCallContext = YY_START;
14835  BEGIN( MemberCall );
14836  }
14837  YY_BREAK
14838 case 177:
14840 #line 3211 "code.l"
14841 {
14842  g_code->codify(codeYYtext);
14843  endFontClass();
14844  BEGIN( g_lastCContext ) ;
14845  }
14846  YY_BREAK
14847 case 178:
14849 #line 3216 "code.l"
14850 {
14851  g_code->codify(codeYYtext);
14852  }
14853  YY_BREAK
14854 case 179:
14856 #line 3219 "code.l"
14857 {
14858  g_code->codify(codeYYtext);
14859  }
14860  YY_BREAK
14861 case 180:
14863 #line 3222 "code.l"
14864 {
14865  g_code->codify(codeYYtext);
14866  endFontClass();
14867  if (g_lastCContext==SkipCPP)
14868  {
14869  startFontClass("preprocessor");
14870  }
14871  BEGIN( g_lastCContext ) ;
14872  }
14873  YY_BREAK
14874 case 181:
14875 /* rule 181 can match eol */
14877 #line 3231 "code.l"
14878 { // line continuation
14879  codifyLines(codeYYtext);
14880  }
14881  YY_BREAK
14882 case 182:
14884 #line 3234 "code.l"
14885 {
14886  g_code->codify(codeYYtext);
14887  }
14888  YY_BREAK
14889 case 183:
14891 #line 3237 "code.l"
14892 
14893  YY_BREAK
14894 case 184:
14895 /* rule 184 can match eol */
14897 #line 3238 "code.l"
14898 {
14899  unput('\n');
14900  endFontClass();
14901  BEGIN( g_lastCContext ) ;
14902  }
14903  YY_BREAK
14904 case 185:
14906 #line 3243 "code.l"
14907 {
14908  g_code->codify(codeYYtext);
14909  }
14910  YY_BREAK
14911 case 186:
14912 /* rule 186 can match eol */
14913 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
14914 (yy_c_buf_p) = yy_cp -= 1;
14915 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
14917 #line 3246 "code.l"
14918 {
14919  g_yyLineNr+=QCString(codeYYtext).contains('\n');
14920  }
14921  YY_BREAK
14922 case 187:
14923 /* rule 187 can match eol */
14925 #line 3249 "code.l"
14926 {
14927  g_yyLineNr+=QCString(codeYYtext).contains('\n');
14928  nextCodeLine();
14929  if (g_lastSpecialCContext==SkipCxxComment)
14930  { // force end of C++ comment here
14931  endFontClass();
14932  BEGIN( g_lastCContext ) ;
14933  }
14934  else
14935  {
14936  BEGIN(g_lastSpecialCContext);
14937  }
14938  }
14939  YY_BREAK
14940 case 188:
14942 #line 3262 "code.l"
14943 {
14944  BEGIN(g_lastSpecialCContext);
14945  }
14946  YY_BREAK
14947 case 189:
14949 #line 3265 "code.l"
14950 
14951  YY_BREAK
14952 case 190:
14954 #line 3266 "code.l"
14955 
14956  YY_BREAK
14957 case 191:
14958 /* rule 191 can match eol */
14960 #line 3267 "code.l"
14961 { g_yyLineNr++; }
14962  YY_BREAK
14963 case 192:
14965 #line 3268 "code.l"
14966 
14967  YY_BREAK
14968 case 193:
14970 #line 3269 "code.l"
14971 {
14972  g_code->codify(codeYYtext);
14973  g_type.resize(0);
14974  g_name.resize(0);
14975  BEGIN(g_memCallContext);
14976  }
14977  YY_BREAK
14978 case 194:
14979 /* rule 194 can match eol */
14981 #line 3275 "code.l"
14982 { // remove special one-line comment
14983  if (YY_START==SkipCPP) REJECT;
14984  if (Config_getBool("STRIP_CODE_COMMENTS"))
14985  {
14986  g_yyLineNr+=((QCString)codeYYtext).contains('\n');
14987  nextCodeLine();
14988  }
14989  else
14990  {
14991  startFontClass("comment");
14992  codifyLines(codeYYtext);
14993  endFontClass();
14994  }
14995  if (YY_START==SkipCxxComment)
14996  {
14997  endFontClass();
14998  BEGIN( g_lastCContext ) ;
14999  }
15000  }
15001  YY_BREAK
15002 case 195:
15003 /* rule 195 can match eol */
15004 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
15005 (yy_c_buf_p) = yy_cp = yy_bp + 1;
15006 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
15008 #line 3294 "code.l"
15009 {
15010  endFontClass();
15011  codifyLines(codeYYtext);
15012  BEGIN( g_lastSkipCppContext ) ;
15013  }
15014  YY_BREAK
15015 case 196:
15016 /* rule 196 can match eol */
15018 #line 3299 "code.l"
15019 { // remove one-line group marker
15020  if (Config_getBool("STRIP_CODE_COMMENTS"))
15021  {
15022  g_yyLineNr+=2;
15023  nextCodeLine();
15024  }
15025  else
15026  {
15027  startFontClass("comment");
15028  codifyLines(codeYYtext);
15029  endFontClass();
15030  }
15031  if (YY_START==SkipCxxComment)
15032  {
15033  endFontClass();
15034  BEGIN( g_lastCContext ) ;
15035  }
15036  }
15037  YY_BREAK
15038 case 197:
15039 /* rule 197 can match eol */
15041 #line 3317 "code.l"
15042 { // remove one-line group marker
15043  if (Config_getBool("STRIP_CODE_COMMENTS"))
15044  {
15045  g_lastSpecialCContext = YY_START;
15046  g_yyLineNr++;
15048  }
15049  else
15050  {
15051  // check is to prevent getting stuck in skipping C++ comments
15052  if (YY_START != SkipCxxComment)
15053  {
15054  g_lastCContext = YY_START ;
15055  }
15056  startFontClass("comment");
15057  codifyLines(codeYYtext);
15058  BEGIN(SkipComment);
15059  }
15060  }
15061  YY_BREAK
15062 case 198:
15063 /* rule 198 can match eol */
15065 #line 3336 "code.l"
15066 { // remove one-line group marker
15067  if (Config_getBool("STRIP_CODE_COMMENTS"))
15068  {
15069  g_yyLineNr++;
15070  nextCodeLine();
15071  }
15072  else
15073  {
15074  startFontClass("comment");
15075  codifyLines(codeYYtext);
15076  endFontClass();
15077  }
15078  }
15079  YY_BREAK
15080 case 199:
15082 #line 3349 "code.l"
15083 { // remove multi-line group marker
15084  if (Config_getBool("STRIP_CODE_COMMENTS"))
15085  {
15086  g_lastSpecialCContext = YY_START;
15088  }
15089  else
15090  {
15091  // check is to prevent getting stuck in skipping C++ comments
15092  if (YY_START != SkipCxxComment)
15093  {
15094  g_lastCContext = YY_START ;
15095  }
15096  startFontClass("comment");
15097  g_code->codify(codeYYtext);
15098  BEGIN(SkipComment);
15099  }
15100  }
15101  YY_BREAK
15102 case 200:
15103 /* rule 200 can match eol */
15105 #line 3367 "code.l"
15106 { // remove special one-line comment
15107  if (Config_getBool("STRIP_CODE_COMMENTS"))
15108  {
15109  g_yyLineNr++;
15110  //nextCodeLine();
15111  }
15112  else
15113  {
15114  startFontClass("comment");
15115  codifyLines(codeYYtext);
15116  endFontClass();
15117  }
15118  }
15119  YY_BREAK
15120 case 201:
15121 /* rule 201 can match eol */
15123 #line 3380 "code.l"
15124 { // strip special one-line comment
15126  if (Config_getBool("STRIP_CODE_COMMENTS"))
15127  {
15128  char c[2]; c[0]='\n'; c[1]=0;
15129  codifyLines(c);
15130  }
15131  else
15132  {
15133  startFontClass("comment");
15134  codifyLines(codeYYtext);
15135  endFontClass();
15136  }
15137  }
15138  YY_BREAK
15139 case 202:
15141 #line 3394 "code.l"
15142 { // special pattern /*[tag:filename]*/ to force linking to a tag file
15143  g_forceTagReference=codeYYtext;
15144  int s=g_forceTagReference.find(':');
15145  int e=g_forceTagReference.findRev(']');
15146  g_forceTagReference = g_forceTagReference.mid(s+1,e-s-1);
15147  }
15148  YY_BREAK
15149 case 203:
15150 /* rule 203 can match eol */
15151 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
15152 (yy_c_buf_p) = yy_cp -= 1;
15153 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
15155 #line 3400 "code.l"
15156 {
15157  if (Config_getBool("STRIP_CODE_COMMENTS"))
15158  {
15159  g_lastSpecialCContext = YY_START;
15160  g_yyLineNr++;
15162  }
15163  else
15164  {
15165  // check is to prevent getting stuck in skipping C++ comments
15166  if (YY_START != SkipCxxComment)
15167  {
15168  g_lastCContext = YY_START ;
15169  }
15170  startFontClass("comment");
15171  codifyLines(codeYYtext);
15172  BEGIN(SkipComment);
15173  }
15174  }
15175  YY_BREAK
15176 case 204:
15177 /* rule 204 can match eol */
15178 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
15179 (yy_c_buf_p) = yy_cp -= 1;
15180 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
15182 #line 3419 "code.l"
15183 { // special C comment block at a new line
15184  if (Config_getBool("STRIP_CODE_COMMENTS"))
15185  {
15186  g_lastSpecialCContext = YY_START;
15188  }
15189  else
15190  {
15191  // check is to prevent getting stuck in skipping C++ comments
15192  if (YY_START != SkipCxxComment)
15193  {
15194  g_lastCContext = YY_START ;
15195  }
15196  startFontClass("comment");
15197  g_code->codify(codeYYtext);
15198  BEGIN(SkipComment);
15199  }
15200  }
15201  YY_BREAK
15202 case 205:
15203 /* rule 205 can match eol */
15204 *yy_cp = (yy_hold_char); /* undo effects of setting up codeYYtext */
15205 (yy_c_buf_p) = yy_cp = yy_bp + 3;
15206 YY_DO_BEFORE_ACTION; /* set up codeYYtext again */
15208 #line 3437 "code.l"
15209 { // special C comment block half way a line
15210  if (YY_START==SkipString) REJECT;
15211  if (Config_getBool("STRIP_CODE_COMMENTS"))
15212  {
15213  g_lastSpecialCContext = YY_START;
15215  }
15216  else
15217  {
15218  // check is to prevent getting stuck in skipping C++ comments
15219  if (YY_START != SkipCxxComment)
15220  {
15221  g_lastCContext = YY_START ;
15222  }
15223  startFontClass("comment");
15224  g_code->codify(codeYYtext);
15225  BEGIN(SkipComment);
15226  }
15227  }
15228  YY_BREAK
15229 case 206:
15231 #line 3456 "code.l"
15232 {
15233  if (YY_START==SkipString) REJECT;
15234  if (!Config_getBool("STRIP_CODE_COMMENTS"))
15235  {
15236  startFontClass("comment");
15237  g_code->codify(codeYYtext);
15238  endFontClass();
15239  }
15240  }
15241  YY_BREAK
15242 case 207:
15244 #line 3465 "code.l"
15245 {
15246  startFontClass("comment");
15247  g_code->codify(codeYYtext);
15248  // check is to prevent getting stuck in skipping C++ comments
15249  if (YY_START != SkipCxxComment)
15250  {
15251  g_lastCContext = YY_START ;
15252  }
15253  BEGIN( SkipComment ) ;
15254  }
15255  YY_BREAK
15256 case 208:
15258 #line 3475 "code.l"
15259 { // C# verbatim string
15260  startFontClass("stringliteral");
15261  g_code->codify(codeYYtext);
15262  g_lastVerbStringContext=YY_START;
15264  }
15265  YY_BREAK
15266 case 209:
15268 #line 3481 "code.l"
15269 {
15270  startFontClass("comment");
15271  g_code->codify(codeYYtext);
15272  g_lastCContext = YY_START ;
15273  BEGIN( SkipCxxComment ) ;
15274  }
15275  YY_BREAK
15276 case 210:
15278 #line 3487 "code.l"
15279 {
15280  g_code->codify(codeYYtext);
15281  g_theCallContext.pushScope();
15282  }
15283  YY_BREAK
15284 case 211:
15286 #line 3491 "code.l"
15287 {
15288  g_code->codify(codeYYtext);
15289  g_theCallContext.popScope();
15290  }
15291  YY_BREAK
15292 case 212:
15293 /* rule 212 can match eol */
15295 #line 3495 "code.l"
15296 {
15297  g_yyColNr++;
15298  codifyLines(codeYYtext);
15299  }
15300  YY_BREAK
15301 case 213:
15303 #line 3499 "code.l"
15304 {
15305  g_yyColNr++;
15306  g_code->codify(codeYYtext);
15307  }
15308  YY_BREAK
15309 /*
15310 <*>([ \t\n]*"\n"){2,} { // combine multiple blank lines
15311  //QCString sepLine=codeYYtext;
15312  //g_code->codify("\n\n");
15313  //g_yyLineNr+=sepLine.contains('\n');
15314  //char sepLine[3]="\n\n";
15315  codifyLines(codeYYtext);
15316  }
15317  */
15318 case 214:
15320 #line 3513 "code.l"
15321 ECHO;
15322  YY_BREAK
15323 #line 15324 "/nova/app/home/novasoft/doxygen/doxygen-1.8.11/build/generated_src/code.cpp"
15324  case YY_STATE_EOF(INITIAL):
15325  case YY_STATE_EOF(SkipString):
15326  case YY_STATE_EOF(SkipStringS):
15328  case YY_STATE_EOF(SkipCPP):
15329  case YY_STATE_EOF(SkipComment):
15333  case YY_STATE_EOF(Body):
15334  case YY_STATE_EOF(FuncCall):
15335  case YY_STATE_EOF(MemberCall):
15336  case YY_STATE_EOF(MemberCall2):
15337  case YY_STATE_EOF(SkipInits):
15338  case YY_STATE_EOF(ClassName):
15339  case YY_STATE_EOF(AlignAs):
15340  case YY_STATE_EOF(AlignAsEnd):
15341  case YY_STATE_EOF(PackageName):
15342  case YY_STATE_EOF(ClassVar):
15344  case YY_STATE_EOF(Bases):
15345  case YY_STATE_EOF(SkipSharp):
15346  case YY_STATE_EOF(ReadInclude):
15347  case YY_STATE_EOF(TemplDecl):
15348  case YY_STATE_EOF(TemplCast):
15349  case YY_STATE_EOF(CallEnd):
15350  case YY_STATE_EOF(ObjCMethod):
15351  case YY_STATE_EOF(ObjCParams):
15353  case YY_STATE_EOF(ObjCCall):
15354  case YY_STATE_EOF(ObjCMName):
15355  case YY_STATE_EOF(ObjCSkipStr):
15356  case YY_STATE_EOF(OldStyleArgs):
15357  case YY_STATE_EOF(UsingName):
15358  case YY_STATE_EOF(RawString):
15359  case YY_STATE_EOF(InlineInit):
15360  yyterminate();
15361 
15362  case YY_END_OF_BUFFER:
15363  {
15364  /* Amount of text matched not including the EOB char. */
15365  int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
15366 
15367  /* Undo the effects of YY_DO_BEFORE_ACTION. */
15368  *yy_cp = (yy_hold_char);
15370 
15371  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
15372  {
15373  /* We're scanning a new file or input source. It's
15374  * possible that this happened because the user
15375  * just pointed codeYYin at a new source and called
15376  * codeYYlex(). If so, then we have to assure
15377  * consistency between YY_CURRENT_BUFFER and our
15378  * globals. Here is the right place to do so, because
15379  * this is the first action (other than possibly a
15380  * back-up) that will match for the new input source.
15381  */
15382  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
15383  YY_CURRENT_BUFFER_LVALUE->yy_input_file = codeYYin;
15384  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
15385  }
15386 
15387  /* Note that here we test for yy_c_buf_p "<=" to the position
15388  * of the first EOB in the buffer, since yy_c_buf_p will
15389  * already have been incremented past the NUL character
15390  * (since all states make transitions on EOB to the
15391  * end-of-buffer state). Contrast this with the test
15392  * in input().
15393  */
15394  if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
15395  { /* This was really a NUL. */
15396  yy_state_type yy_next_state;
15397 
15398  (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
15399 
15400  yy_current_state = yy_get_previous_state( );
15401 
15402  /* Okay, we're now positioned to make the NUL
15403  * transition. We couldn't have
15404  * yy_get_previous_state() go ahead and do it
15405  * for us because it doesn't know how to deal
15406  * with the possibility of jamming (and we don't
15407  * want to build jamming into it because then it
15408  * will run more slowly).
15409  */
15410 
15411  yy_next_state = yy_try_NUL_trans( yy_current_state );
15412 
15413  yy_bp = (yytext_ptr) + YY_MORE_ADJ;
15414 
15415  if ( yy_next_state )
15416  {
15417  /* Consume the NUL. */
15418  yy_cp = ++(yy_c_buf_p);
15419  yy_current_state = yy_next_state;
15420  goto yy_match;
15421  }
15422 
15423  else
15424  {
15425  yy_cp = (yy_c_buf_p);
15426  goto yy_find_action;
15427  }
15428  }
15429 
15430  else switch ( yy_get_next_buffer( ) )
15431  {
15432  case EOB_ACT_END_OF_FILE:
15433  {
15435 
15436  if ( codeYYwrap( ) )
15437  {
15438  /* Note: because we've taken care in
15439  * yy_get_next_buffer() to have set up
15440  * codeYYtext, we can now set up
15441  * yy_c_buf_p so that if some total
15442  * hoser (like flex itself) wants to
15443  * call the scanner after we return the
15444  * YY_NULL, it'll still work - another
15445  * YY_NULL will get returned.
15446  */
15448 
15449  yy_act = YY_STATE_EOF(YY_START);
15450  goto do_action;
15451  }
15452 
15453  else
15454  {
15455  if ( ! (yy_did_buffer_switch_on_eof) )
15456  YY_NEW_FILE;
15457  }
15458  break;
15459  }
15460 
15461  case EOB_ACT_CONTINUE_SCAN:
15462  (yy_c_buf_p) =
15463  (yytext_ptr) + yy_amount_of_matched_text;
15464 
15465  yy_current_state = yy_get_previous_state( );
15466 
15467  yy_cp = (yy_c_buf_p);
15468  yy_bp = (yytext_ptr) + YY_MORE_ADJ;
15469  goto yy_match;
15470 
15471  case EOB_ACT_LAST_MATCH:
15472  (yy_c_buf_p) =
15473  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
15474 
15475  yy_current_state = yy_get_previous_state( );
15476 
15477  yy_cp = (yy_c_buf_p);
15478  yy_bp = (yytext_ptr) + YY_MORE_ADJ;
15479  goto yy_find_action;
15480  }
15481  break;
15482  }
15483 
15484  default:
15486  "fatal flex scanner internal error--no action found" );
15487  } /* end of action switch */
15488  } /* end of scanning one token */
15489 } /* end of codeYYlex */
15490 
15491 /* yy_get_next_buffer - try to read in a new buffer
15492  *
15493  * Returns a code representing an action:
15494  * EOB_ACT_LAST_MATCH -
15495  * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
15496  * EOB_ACT_END_OF_FILE - end of file
15497  */
15498 static int yy_get_next_buffer (void)
15499 {
15500  register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
15501  register char *source = (yytext_ptr);
15502  register int number_to_move, i;
15503  int ret_val;
15504 
15505  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
15507  "fatal flex scanner internal error--end of buffer missed" );
15508 
15509  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
15510  { /* Don't try to fill the buffer, so this is an EOF. */
15511  if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
15512  {
15513  /* We matched a single character, the EOB, so
15514  * treat this as a final EOF.
15515  */
15516  return EOB_ACT_END_OF_FILE;
15517  }
15518 
15519  else
15520  {
15521  /* We matched some text prior to the EOB, first
15522  * process it.
15523  */
15524  return EOB_ACT_LAST_MATCH;
15525  }
15526  }
15527 
15528  /* Try to read more data. */
15529 
15530  /* First move last chars to start of buffer. */
15531  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
15532 
15533  for ( i = 0; i < number_to_move; ++i )
15534  *(dest++) = *(source++);
15535 
15536  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
15537  /* don't do the read, it's not guaranteed to return an EOF,
15538  * just force an EOF
15539  */
15540  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
15541 
15542  else
15543  {
15544  int num_to_read =
15545  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
15546 
15547  while ( num_to_read <= 0 )
15548  { /* Not enough room in the buffer - grow it. */
15549 
15551 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
15552 
15553  }
15554 
15555  if ( num_to_read > YY_READ_BUF_SIZE )
15556  num_to_read = YY_READ_BUF_SIZE;
15557 
15558  /* Read in more data. */
15559  YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
15560  (yy_n_chars), (size_t) num_to_read );
15561 
15562  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
15563  }
15564 
15565  if ( (yy_n_chars) == 0 )
15566  {
15567  if ( number_to_move == YY_MORE_ADJ )
15568  {
15569  ret_val = EOB_ACT_END_OF_FILE;
15571  }
15572 
15573  else
15574  {
15575  ret_val = EOB_ACT_LAST_MATCH;
15576  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
15578  }
15579  }
15580 
15581  else
15582  ret_val = EOB_ACT_CONTINUE_SCAN;
15583 
15584  if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
15585  /* Extend the array by 50%, plus the number we really need. */
15586  yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
15587  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) codeYYrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
15588  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
15589  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
15590  }
15591 
15592  (yy_n_chars) += number_to_move;
15595 
15596  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
15597 
15598  return ret_val;
15599 }
15600 
15601 /* yy_get_previous_state - get the state just before the EOB char was reached */
15602 
15603  static yy_state_type yy_get_previous_state (void)
15604 {
15605  register yy_state_type yy_current_state;
15606  register char *yy_cp;
15607 
15608  yy_current_state = (yy_start);
15609  yy_current_state += YY_AT_BOL();
15610 
15611  (yy_state_ptr) = (yy_state_buf);
15612  *(yy_state_ptr)++ = yy_current_state;
15613 
15614  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
15615  {
15616  register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
15617  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
15618  {
15619  yy_current_state = (int) yy_def[yy_current_state];
15620  if ( yy_current_state >= 3537 )
15621  yy_c = yy_meta[(unsigned int) yy_c];
15622  }
15623  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
15624  *(yy_state_ptr)++ = yy_current_state;
15625  }
15626 
15627  return yy_current_state;
15628 }
15629 
15630 /* yy_try_NUL_trans - try to make a transition on the NUL character
15631  *
15632  * synopsis
15633  * next_state = yy_try_NUL_trans( current_state );
15634  */
15635  static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
15636 {
15637  register int yy_is_jam;
15638 
15639  register YY_CHAR yy_c = 1;
15640  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
15641  {
15642  yy_current_state = (int) yy_def[yy_current_state];
15643  if ( yy_current_state >= 3537 )
15644  yy_c = yy_meta[(unsigned int) yy_c];
15645  }
15646  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
15647  yy_is_jam = (yy_current_state == 3536);
15648  if ( ! yy_is_jam )
15649  *(yy_state_ptr)++ = yy_current_state;
15650 
15651  return yy_is_jam ? 0 : yy_current_state;
15652 }
15653 
15654  static void yyunput (int c, register char * yy_bp )
15655 {
15656  register char *yy_cp;
15657 
15658  yy_cp = (yy_c_buf_p);
15659 
15660  /* undo effects of setting up codeYYtext */
15661  *yy_cp = (yy_hold_char);
15662 
15663  if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
15664  { /* need to shift things up to make room */
15665  /* +2 for EOB chars. */
15666  register int number_to_move = (yy_n_chars) + 2;
15667  register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
15668  YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
15669  register char *source =
15670  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
15671 
15672  while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
15673  *--dest = *--source;
15674 
15675  yy_cp += (int) (dest - source);
15676  yy_bp += (int) (dest - source);
15677  YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
15678  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
15679 
15680  if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
15681  YY_FATAL_ERROR( "flex scanner push-back overflow" );
15682  }
15683 
15684  *--yy_cp = (char) c;
15685 
15686  (yytext_ptr) = yy_bp;
15687  (yy_hold_char) = *yy_cp;
15688  (yy_c_buf_p) = yy_cp;
15689 }
15690 
15691 #ifndef YY_NO_INPUT
15692 #ifdef __cplusplus
15693  static int yyinput (void)
15694 #else
15695  static int input (void)
15696 #endif
15697 
15698 {
15699  int c;
15700 
15701  *(yy_c_buf_p) = (yy_hold_char);
15702 
15703  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
15704  {
15705  /* yy_c_buf_p now points to the character we want to return.
15706  * If this occurs *before* the EOB characters, then it's a
15707  * valid NUL; if not, then we've hit the end of the buffer.
15708  */
15709  if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
15710  /* This was really a NUL. */
15711  *(yy_c_buf_p) = '\0';
15712 
15713  else
15714  { /* need more input */
15715  int offset = (yy_c_buf_p) - (yytext_ptr);
15716  ++(yy_c_buf_p);
15717 
15718  switch ( yy_get_next_buffer( ) )
15719  {
15720  case EOB_ACT_LAST_MATCH:
15721  /* This happens because yy_g_n_b()
15722  * sees that we've accumulated a
15723  * token and flags that we need to
15724  * try matching the token before
15725  * proceeding. But for input(),
15726  * there's no matching to consider.
15727  * So convert the EOB_ACT_LAST_MATCH
15728  * to EOB_ACT_END_OF_FILE.
15729  */
15730 
15731  /* Reset buffer status. */
15733 
15734  /*FALLTHROUGH*/
15735 
15736  case EOB_ACT_END_OF_FILE:
15737  {
15738  if ( codeYYwrap( ) )
15739  return EOF;
15740 
15741  if ( ! (yy_did_buffer_switch_on_eof) )
15742  YY_NEW_FILE;
15743 #ifdef __cplusplus
15744  return yyinput();
15745 #else
15746  return input();
15747 #endif
15748  }
15749 
15750  case EOB_ACT_CONTINUE_SCAN:
15751  (yy_c_buf_p) = (yytext_ptr) + offset;
15752  break;
15753  }
15754  }
15755  }
15756 
15757  c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
15758  *(yy_c_buf_p) = '\0'; /* preserve codeYYtext */
15759  (yy_hold_char) = *++(yy_c_buf_p);
15760 
15761  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
15762 
15763  return c;
15764 }
15765 #endif /* ifndef YY_NO_INPUT */
15766 
15767 /** Immediately switch to a different input stream.
15768  * @param input_file A readable stream.
15769  *
15770  * @note This function does not reset the start condition to @c INITIAL .
15771  */
15772  void codeYYrestart (FILE * input_file )
15773 {
15774 
15775  if ( ! YY_CURRENT_BUFFER ){
15779  }
15780 
15783 }
15784 
15785 /** Switch to a different input buffer.
15786  * @param new_buffer The new input buffer.
15787  *
15788  */
15789  void codeYY_switch_to_buffer (YY_BUFFER_STATE new_buffer )
15790 {
15791 
15792  /* TODO. We should be able to replace this entire function body
15793  * with
15794  * codeYYpop_buffer_state();
15795  * codeYYpush_buffer_state(new_buffer);
15796  */
15798  if ( YY_CURRENT_BUFFER == new_buffer )
15799  return;
15800 
15801  if ( YY_CURRENT_BUFFER )
15802  {
15803  /* Flush out information for old buffer. */
15804  *(yy_c_buf_p) = (yy_hold_char);
15805  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
15806  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
15807  }
15808 
15809  YY_CURRENT_BUFFER_LVALUE = new_buffer;
15811 
15812  /* We don't actually know whether we did this switch during
15813  * EOF (codeYYwrap()) processing, but the only time this flag
15814  * is looked at is after codeYYwrap() is called, so it's safe
15815  * to go ahead and always set it.
15816  */
15818 }
15819 
15820 static void codeYY_load_buffer_state (void)
15821 {
15822  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
15823  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
15824  codeYYin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
15825  (yy_hold_char) = *(yy_c_buf_p);
15826 }
15827 
15828 /** Allocate and initialize an input buffer state.
15829  * @param file A readable stream.
15830  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
15831  *
15832  * @return the allocated buffer state.
15833  */
15834  YY_BUFFER_STATE codeYY_create_buffer (FILE * file, int size )
15835 {
15836  YY_BUFFER_STATE b;
15837 
15838  b = (YY_BUFFER_STATE) codeYYalloc(sizeof( struct yy_buffer_state ) );
15839  if ( ! b )
15840  YY_FATAL_ERROR( "out of dynamic memory in codeYY_create_buffer()" );
15841 
15842  b->yy_buf_size = size;
15843 
15844  /* yy_ch_buf has to be 2 characters longer than the size given because
15845  * we need to put in 2 end-of-buffer characters.
15846  */
15847  b->yy_ch_buf = (char *) codeYYalloc(b->yy_buf_size + 2 );
15848  if ( ! b->yy_ch_buf )
15849  YY_FATAL_ERROR( "out of dynamic memory in codeYY_create_buffer()" );
15850 
15851  b->yy_is_our_buffer = 1;
15852 
15853  codeYY_init_buffer(b,file );
15854 
15855  return b;
15856 }
15857 
15858 /** Destroy the buffer.
15859  * @param b a buffer created with codeYY_create_buffer()
15860  *
15861  */
15862  void codeYY_delete_buffer (YY_BUFFER_STATE b )
15863 {
15864 
15865  if ( ! b )
15866  return;
15867 
15868  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
15870 
15871  if ( b->yy_is_our_buffer )
15872  codeYYfree((void *) b->yy_ch_buf );
15873 
15874  codeYYfree((void *) b );
15875 }
15876 
15877 /* Initializes or reinitializes a buffer.
15878  * This function is sometimes called more than once on the same buffer,
15879  * such as during a codeYYrestart() or at EOF.
15880  */
15881  static void codeYY_init_buffer (YY_BUFFER_STATE b, FILE * file )
15882 
15883 {
15884  int oerrno = errno;
15885 
15886  codeYY_flush_buffer(b );
15887 
15888  b->yy_input_file = file;
15889  b->yy_fill_buffer = 1;
15890 
15891  /* If b is the current buffer, then codeYY_init_buffer was _probably_
15892  * called from codeYYrestart() or through yy_get_next_buffer.
15893  * In that case, we don't want to reset the lineno or column.
15894  */
15895  if (b != YY_CURRENT_BUFFER){
15896  b->yy_bs_lineno = 1;
15897  b->yy_bs_column = 0;
15898  }
15899 
15900  b->yy_is_interactive = 0;
15901 
15902  errno = oerrno;
15903 }
15904 
15905 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
15906  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
15907  *
15908  */
15909  void codeYY_flush_buffer (YY_BUFFER_STATE b )
15910 {
15911  if ( ! b )
15912  return;
15913 
15914  b->yy_n_chars = 0;
15915 
15916  /* We always need two end-of-buffer characters. The first causes
15917  * a transition to the end-of-buffer state. The second causes
15918  * a jam in that state.
15919  */
15922 
15923  b->yy_buf_pos = &b->yy_ch_buf[0];
15924 
15925  b->yy_at_bol = 1;
15927 
15928  if ( b == YY_CURRENT_BUFFER )
15930 }
15931 
15932 /** Pushes the new state onto the stack. The new state becomes
15933  * the current state. This function will allocate the stack
15934  * if necessary.
15935  * @param new_buffer The new state.
15936  *
15937  */
15938 void codeYYpush_buffer_state (YY_BUFFER_STATE new_buffer )
15939 {
15940  if (new_buffer == NULL)
15941  return;
15942 
15944 
15945  /* This block is copied from codeYY_switch_to_buffer. */
15946  if ( YY_CURRENT_BUFFER )
15947  {
15948  /* Flush out information for old buffer. */
15949  *(yy_c_buf_p) = (yy_hold_char);
15950  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
15951  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
15952  }
15953 
15954  /* Only push if top exists. Otherwise, replace top. */
15955  if (YY_CURRENT_BUFFER)
15956  (yy_buffer_stack_top)++;
15957  YY_CURRENT_BUFFER_LVALUE = new_buffer;
15958 
15959  /* copied from codeYY_switch_to_buffer. */
15962 }
15963 
15964 /** Removes and deletes the top of the stack, if present.
15965  * The next element becomes the new top.
15966  *
15967  */
15969 {
15970  if (!YY_CURRENT_BUFFER)
15971  return;
15972 
15974  YY_CURRENT_BUFFER_LVALUE = NULL;
15975  if ((yy_buffer_stack_top) > 0)
15976  --(yy_buffer_stack_top);
15977 
15978  if (YY_CURRENT_BUFFER) {
15981  }
15982 }
15983 
15984 /* Allocates the stack if it does not exist.
15985  * Guarantees space for at least one push.
15986  */
15987 static void codeYYensure_buffer_stack (void)
15988 {
15989  int num_to_alloc;
15990 
15991  if (!(yy_buffer_stack)) {
15992 
15993  /* First allocation is just for 2 elements, since we don't know if this
15994  * scanner will even need a stack. We use 2 instead of 1 to avoid an
15995  * immediate realloc on the next call.
15996  */
15997  num_to_alloc = 1;
15999  (num_to_alloc * sizeof(struct yy_buffer_state*)
16000  );
16001  if ( ! (yy_buffer_stack) )
16002  YY_FATAL_ERROR( "out of dynamic memory in codeYYensure_buffer_stack()" );
16003 
16004  memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
16005 
16006  (yy_buffer_stack_max) = num_to_alloc;
16007  (yy_buffer_stack_top) = 0;
16008  return;
16009  }
16010 
16011  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
16012 
16013  /* Increase the buffer to prepare for a possible push. */
16014  int grow_size = 8 /* arbitrary grow size */;
16015 
16016  num_to_alloc = (yy_buffer_stack_max) + grow_size;
16018  ((yy_buffer_stack),
16019  num_to_alloc * sizeof(struct yy_buffer_state*)
16020  );
16021  if ( ! (yy_buffer_stack) )
16022  YY_FATAL_ERROR( "out of dynamic memory in codeYYensure_buffer_stack()" );
16023 
16024  /* zero only the new slots.*/
16025  memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
16026  (yy_buffer_stack_max) = num_to_alloc;
16027  }
16028 }
16029 
16030 /** Setup the input buffer state to scan directly from a user-specified character buffer.
16031  * @param base the character buffer
16032  * @param size the size in bytes of the character buffer
16033  *
16034  * @return the newly allocated buffer state object.
16035  */
16036 YY_BUFFER_STATE codeYY_scan_buffer (char * base, yy_size_t size )
16037 {
16038  YY_BUFFER_STATE b;
16039 
16040  if ( size < 2 ||
16041  base[size-2] != YY_END_OF_BUFFER_CHAR ||
16042  base[size-1] != YY_END_OF_BUFFER_CHAR )
16043  /* They forgot to leave room for the EOB's. */
16044  return 0;
16045 
16046  b = (YY_BUFFER_STATE) codeYYalloc(sizeof( struct yy_buffer_state ) );
16047  if ( ! b )
16048  YY_FATAL_ERROR( "out of dynamic memory in codeYY_scan_buffer()" );
16049 
16050  b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
16051  b->yy_buf_pos = b->yy_ch_buf = base;
16052  b->yy_is_our_buffer = 0;
16053  b->yy_input_file = 0;
16054  b->yy_n_chars = b->yy_buf_size;
16055  b->yy_is_interactive = 0;
16056  b->yy_at_bol = 1;
16057  b->yy_fill_buffer = 0;
16059 
16061 
16062  return b;
16063 }
16064 
16065 /** Setup the input buffer state to scan a string. The next call to codeYYlex() will
16066  * scan from a @e copy of @a str.
16067  * @param yystr a NUL-terminated string to scan
16068  *
16069  * @return the newly allocated buffer state object.
16070  * @note If you want to scan bytes that may contain NUL values, then use
16071  * codeYY_scan_bytes() instead.
16072  */
16073 YY_BUFFER_STATE codeYY_scan_string (yyconst char * yystr )
16074 {
16075 
16076  return codeYY_scan_bytes(yystr,strlen(yystr) );
16077 }
16078 
16079 /** Setup the input buffer state to scan the given bytes. The next call to codeYYlex() will
16080  * scan from a @e copy of @a bytes.
16081  * @param bytes the byte buffer to scan
16082  * @param len the number of bytes in the buffer pointed to by @a bytes.
16083  *
16084  * @return the newly allocated buffer state object.
16085  */
16086 YY_BUFFER_STATE codeYY_scan_bytes (yyconst char * yybytes, int _yybytes_len )
16087 {
16088  YY_BUFFER_STATE b;
16089  char *buf;
16090  yy_size_t n;
16091  int i;
16092 
16093  /* Get memory for full buffer, including space for trailing EOB's. */
16094  n = _yybytes_len + 2;
16095  buf = (char *) codeYYalloc(n );
16096  if ( ! buf )
16097  YY_FATAL_ERROR( "out of dynamic memory in codeYY_scan_bytes()" );
16098 
16099  for ( i = 0; i < _yybytes_len; ++i )
16100  buf[i] = yybytes[i];
16101 
16102  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
16103 
16104  b = codeYY_scan_buffer(buf,n );
16105  if ( ! b )
16106  YY_FATAL_ERROR( "bad buffer in codeYY_scan_bytes()" );
16107 
16108  /* It's okay to grow etc. this buffer, and we should throw it
16109  * away when we're done.
16110  */
16111  b->yy_is_our_buffer = 1;
16112 
16113  return b;
16114 }
16115 
16116 #ifndef YY_EXIT_FAILURE
16117 #define YY_EXIT_FAILURE 2
16118 #endif
16119 
16120 static void yy_fatal_error (yyconst char* msg )
16121 {
16122  (void) fprintf( stderr, "%s\n", msg );
16123  exit( YY_EXIT_FAILURE );
16124 }
16125 
16126 /* Redefine yyless() so it works in section 3 code. */
16127 
16128 #undef yyless
16129 #define yyless(n) \
16130  do \
16131  { \
16132  /* Undo effects of setting up codeYYtext. */ \
16133  int yyless_macro_arg = (n); \
16134  YY_LESS_LINENO(yyless_macro_arg);\
16135  codeYYtext[codeYYleng] = (yy_hold_char); \
16136  (yy_c_buf_p) = codeYYtext + yyless_macro_arg; \
16137  (yy_hold_char) = *(yy_c_buf_p); \
16138  *(yy_c_buf_p) = '\0'; \
16139  codeYYleng = yyless_macro_arg; \
16140  } \
16141  while ( 0 )
16142 
16143 /* Accessor methods (get/set functions) to struct members. */
16144 
16145 /** Get the current line number.
16146  *
16147  */
16149 {
16150 
16151  return codeYYlineno;
16152 }
16153 
16154 /** Get the input stream.
16155  *
16156  */
16157 FILE *codeYYget_in (void)
16158 {
16159  return codeYYin;
16160 }
16161 
16162 /** Get the output stream.
16163  *
16164  */
16165 FILE *codeYYget_out (void)
16166 {
16167  return codeYYout;
16168 }
16169 
16170 /** Get the length of the current token.
16171  *
16172  */
16173 int codeYYget_leng (void)
16174 {
16175  return codeYYleng;
16176 }
16177 
16178 /** Get the current token.
16179  *
16180  */
16181 
16182 char *codeYYget_text (void)
16183 {
16184  return codeYYtext;
16185 }
16186 
16187 /** Set the current line number.
16188  * @param line_number
16189  *
16190  */
16191 void codeYYset_lineno (int line_number )
16192 {
16193 
16194  codeYYlineno = line_number;
16195 }
16196 
16197 /** Set the input stream. This does not discard the current
16198  * input buffer.
16199  * @param in_str A readable stream.
16200  *
16201  * @see codeYY_switch_to_buffer
16202  */
16203 void codeYYset_in (FILE * in_str )
16204 {
16205  codeYYin = in_str ;
16206 }
16207 
16208 void codeYYset_out (FILE * out_str )
16209 {
16210  codeYYout = out_str ;
16211 }
16212 
16214 {
16215  return codeYY_flex_debug;
16216 }
16217 
16218 void codeYYset_debug (int bdebug )
16219 {
16220  codeYY_flex_debug = bdebug ;
16221 }
16222 
16223 static int yy_init_globals (void)
16224 {
16225  /* Initialization is the same as for the non-reentrant scanner.
16226  * This function is called from codeYYlex_destroy(), so don't allocate here.
16227  */
16228 
16229  (yy_buffer_stack) = 0;
16230  (yy_buffer_stack_top) = 0;
16231  (yy_buffer_stack_max) = 0;
16232  (yy_c_buf_p) = (char *) 0;
16233  (yy_init) = 0;
16234  (yy_start) = 0;
16235 
16236  (yy_state_buf) = 0;
16237  (yy_state_ptr) = 0;
16238  (yy_full_match) = 0;
16239  (yy_lp) = 0;
16240 
16241 /* Defined in main.c */
16242 #ifdef YY_STDINIT
16243  codeYYin = stdin;
16244  codeYYout = stdout;
16245 #else
16246  codeYYin = (FILE *) 0;
16247  codeYYout = (FILE *) 0;
16248 #endif
16249 
16250  /* For future reference: Set errno on error, since we are called by
16251  * codeYYlex_init()
16252  */
16253  return 0;
16254 }
16255 
16256 /* codeYYlex_destroy is for both reentrant and non-reentrant scanners. */
16258 {
16259 
16260  /* Pop the buffer stack, destroying each element. */
16261  while(YY_CURRENT_BUFFER){
16263  YY_CURRENT_BUFFER_LVALUE = NULL;
16265  }
16266 
16267  /* Destroy the stack itself. */
16268  codeYYfree((yy_buffer_stack) );
16269  (yy_buffer_stack) = NULL;
16270 
16271  codeYYfree ( (yy_state_buf) );
16272  (yy_state_buf) = NULL;
16273 
16274  /* Reset the globals. This is important in a non-reentrant scanner so the next time
16275  * codeYYlex() is called, initialization will occur. */
16276  yy_init_globals( );
16277 
16278  return 0;
16279 }
16280 
16281 /*
16282  * Internal utility routines.
16283  */
16284 
16285 #ifndef yytext_ptr
16286 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
16287 {
16288  register int i;
16289  for ( i = 0; i < n; ++i )
16290  s1[i] = s2[i];
16291 }
16292 #endif
16293 
16294 #ifdef YY_NEED_STRLEN
16295 static int yy_flex_strlen (yyconst char * s )
16296 {
16297  register int n;
16298  for ( n = 0; s[n]; ++n )
16299  ;
16300 
16301  return n;
16302 }
16303 #endif
16304 
16306 {
16307  return (void *) malloc( size );
16308 }
16309 
16310 void *codeYYrealloc (void * ptr, yy_size_t size )
16311 {
16312  /* The cast to (char *) in the following accommodates both
16313  * implementations that use char* generic pointers, and those
16314  * that use void* generic pointers. It works with the latter
16315  * because both ANSI C and C++ allow castless assignment from
16316  * any pointer type to void*, and deal with argument conversions
16317  * as though doing an assignment.
16318  */
16319  return (void *) realloc( (char *) ptr, size );
16320 }
16321 
16322 void codeYYfree (void * ptr )
16323 {
16324  free( (char *) ptr ); /* see codeYYrealloc() for (char *) cast */
16325 }
16326 
16327 #define YYTABLES_NAME "yytables"
16328 
16329 #line 3513 "code.l"
16330 
16331 
16332 
16333 /*@ ----------------------------------------------------------------------------
16334  */
16335 
16336 static void saveObjCContext()
16337 {
16338  if (g_currentCtx)
16339  {
16340  g_currentCtx->format+=QCString().sprintf("$c%d",g_currentCtxId);
16341  if (g_braceCount==0 && YY_START==ObjCCall)
16342  {
16343  g_currentCtx->objectTypeOrName=g_currentCtx->format.mid(1);
16344  //printf("new type=%s\n",g_currentCtx->objectTypeOrName.data());
16345  }
16346  g_contextStack.push(g_currentCtx);
16347  }
16348  else
16349  {
16350  //printf("Trying to save NULL context!\n");
16351  }
16352  ObjCCallCtx *newCtx = new ObjCCallCtx;
16353  newCtx->id = g_currentCtxId;
16354  newCtx->lexState = YY_START;
16355  newCtx->braceCount = g_braceCount;
16356  newCtx->objectType = 0;
16357  newCtx->objectVar = 0;
16358  newCtx->method = 0;
16359  //printf("save state=%d\n",YY_START);
16360  g_contextDict.insert(g_currentCtxId,newCtx);
16361  g_currentCtx = newCtx;
16362  g_braceCount = 0;
16363  g_currentCtxId++;
16364 }
16365 
16366 static void restoreObjCContext()
16367 {
16368  //printf("restore state=%d->%d\n",YY_START,g_currentCtx->lexState);
16369  BEGIN(g_currentCtx->lexState);
16370  g_braceCount = g_currentCtx->braceCount;
16371  if (!g_contextStack.isEmpty())
16372  {
16373  g_currentCtx = g_contextStack.pop();
16374  }
16375  else
16376  {
16377  g_currentCtx = 0;
16378  //printf("Trying to pop context while g_contextStack is empty!\n");
16379  }
16380 }
16381 
16383 {
16384  //printf("***initParseCodeContext()\n");
16385  g_forceTagReference.resize(0);
16386  g_theVarContext.clear();
16387  g_classScopeLengthStack.setAutoDelete(TRUE);
16388  g_classScopeLengthStack.clear();
16389  delete g_codeClassSDict;
16390  g_codeClassSDict = new ClassSDict(17);
16391  g_codeClassSDict->setAutoDelete(TRUE);
16392  g_codeClassSDict->clear();
16393  g_curClassBases.clear();
16394  g_anchorCount = 0;
16395 }
16396 
16397 void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s,
16398  SrcLangExt lang,bool exBlock, const char *exName,FileDef *fd,
16399  int startLine,int endLine,bool inlineFragment,
16400  MemberDef *memberDef,bool showLineNumbers,Definition *searchCtx,
16401  bool collectXRefs)
16402 {
16403  //printf("***parseCode() exBlock=%d exName=%s fd=%p className=%s searchCtx=%s\n",
16404  // exBlock,exName,fd,className,searchCtx?searchCtx->name().data():"<none>");
16405 
16406  if (s.isEmpty()) return;
16407 
16408  printlex(codeYY_flex_debug, TRUE, __FILE__, fd ? fd->fileName().data(): NULL);
16409 
16411  if (g_codeClassSDict==0)
16412  {
16414  }
16415  g_code = &od;
16416  g_inputString = s;
16417  g_inputPosition = 0;
16418  g_currentFontClass = 0;
16419  g_needsTermination = FALSE;
16420  g_searchCtx = searchCtx;
16421  g_collectXRefs = collectXRefs;
16422  g_inFunctionTryBlock = FALSE;
16423  if (endLine!=-1)
16424  g_inputLines = endLine+1;
16425  else
16426  g_inputLines = countLines();
16427 
16428  if (startLine!=-1)
16429  g_yyLineNr = startLine;
16430  else
16431  g_yyLineNr = 1;
16432 
16433  g_curlyCount = 0;
16434  g_bodyCurlyCount = 0;
16435  g_bracketCount = 0;
16436  g_sharpCount = 0;
16437  g_insideTemplate = FALSE;
16438  g_theCallContext.clear();
16439  g_scopeStack.clear();
16440  g_classScope = className;
16441  //printf("parseCCode %s\n",className);
16442  g_exampleBlock = exBlock;
16443  g_exampleName = exName;
16444  g_sourceFileDef = fd;
16445  g_lineNumbers = fd!=0 && showLineNumbers;
16446  bool cleanupSourceDef = FALSE;
16447  if (fd==0)
16448  {
16449  // create a dummy filedef for the example
16450  g_sourceFileDef = new FileDef("",(exName?exName:"generated"));
16451  cleanupSourceDef = TRUE;
16452  }
16453  g_insideObjC = lang==SrcLangExt_ObjC;
16454  g_insideJava = lang==SrcLangExt_Java;
16455  g_insideCS = lang==SrcLangExt_CSharp;
16456  g_insidePHP = lang==SrcLangExt_PHP;
16457  if (g_sourceFileDef)
16458  {
16459  setCurrentDoc("l00001");
16460  }
16461  g_currentDefinition = 0;
16462  g_currentMemberDef = 0;
16463  g_searchingForBody = exBlock;
16464  g_insideBody = FALSE;
16465  g_bracketCount = 0;
16466  if (!g_exampleName.isEmpty())
16467  {
16468  g_exampleFile = convertNameToFile(g_exampleName+"-example",FALSE,TRUE);
16469  //printf("g_exampleFile=%s\n",g_exampleFile.data());
16470  }
16471  g_includeCodeFragment = inlineFragment;
16472  //printf("** exBlock=%d exName=%s include=%d\n",exBlock,exName,inlineFragment);
16473  startCodeLine();
16474  g_type.resize(0);
16475  g_name.resize(0);
16476  g_args.resize(0);
16477  g_parmName.resize(0);
16478  g_parmType.resize(0);
16479  if (memberDef) setParameterList(memberDef);
16481  BEGIN( Body );
16482  codeYYlex();
16483  g_lexInit=TRUE;
16484  if (g_needsTermination)
16485  {
16486  endFontClass();
16487  DBG_CTX((stderr,"endCodeLine(%d)\n",g_yyLineNr));
16488  g_code->endCodeLine();
16489  }
16490  if (fd)
16491  {
16493  }
16494  if (cleanupSourceDef)
16495  {
16496  // delete the temporary file definition used for this example
16497  delete g_sourceFileDef;
16498  g_sourceFileDef=0;
16499  }
16500 
16501  printlex(codeYY_flex_debug, FALSE, __FILE__, fd ? fd->fileName().data(): NULL);
16502  return;
16503 }
16504 
16506 {
16507 #if defined(YY_FLEX_SUBMINOR_VERSION)
16508  if (g_lexInit)
16509  {
16511  }
16512 #endif
16513 }
16514 
16515 
16516 
16517 #if !defined(YY_FLEX_SUBMINOR_VERSION)
16518 extern "C" { // some bogus code to keep the compiler happy
16519  void codeYYdummy() { yy_flex_realloc(0,0); }
16520 }
16521 #elif YY_FLEX_MAJOR_VERSION<=2 && YY_FLEX_MINOR_VERSION<=5 && YY_FLEX_SUBMINOR_VERSION<33
16522 #error "You seem to be using a version of flex newer than 2.5.4. These are currently incompatible with 2.5.4, and do NOT work with doxygen! Please use version 2.5.4 or expect things to be parsed wrongly! A bug report has been submitted (#732132)."
16523 #endif
16524 
16525 
void addVariable(const QCString &type, const QCString &name)
Definition: code.cpp:10767
static QCString name
Definition: declinfo.cpp:673
#define EOB_ACT_END_OF_FILE
Definition: code.cpp:180
static void addToSearchIndex(const char *text)
Definition: code.cpp:10981
void codeYYrestart(FILE *input_file)
Definition: code.cpp:15772
#define FuncCall
Definition: code.cpp:12358
ClassDef * classDef
Definition: classdef.h:520
CompoundType compoundType() const
Definition: classdef.cpp:4394
QCString type
Definition: arguments.h:67
bool addExample(const char *anchor, const char *name, const char *file)
Definition: classdef.cpp:2500
signed char flex_int8_t
Definition: code.cpp:70
void setAutoDelete(bool del)
Definition: qstack.h:55
static QString cleanDirPath(const QString &dirPath)
Definition: qdir.cpp:1077
bool resize(uint newlen)
Definition: qcstring.h:225
static MemberNameSDict * functionNameSDict
Definition: doxygen.h:116
static void yy_fatal_error(yyconst char msg[])
static const char * g_inputString
the code fragment as text
Definition: code.cpp:10606
static void addVariable(EntryNav *rootNav, int isFuncPtr=-1)
Definition: doxygen.cpp:2808
#define CLASSBLOCK
Definition: code.cpp:10589
#define SkipSharp
Definition: code.cpp:12369
void clear()
Definition: sortdict.h:276
static int g_sharpCount
Definition: code.cpp:10641
char * yy_buf_pos
Definition: code.cpp:213
FILE * yy_input_file
Definition: code.cpp:210
int codeYYleng
Definition: code.cpp:294
short int flex_int16_t
Definition: code.cpp:71
char * codeYYget_text(void)
Definition: code.cpp:16182
#define SkipString
Definition: code.cpp:12349
static ClassSDict * g_codeClassSDict
Definition: code.cpp:10599
static yy_state_type * yy_state_buf
Definition: code.cpp:10516
int yy_n_chars
Definition: code.cpp:223
virtual bool isLinkable() const =0
This class represents an function or template argument list.
Definition: arguments.h:82
unsigned int flex_uint32_t
Definition: code.cpp:75
QCString stripWhiteSpace() const
Definition: qcstring.cpp:295
ClassDef * getVariableInstance(const char *templSpec)
Definition: classdef.cpp:3726
static int yy_did_buffer_switch_on_eof
Definition: code.cpp:304
static int yy_init_globals(void)
Definition: code.cpp:16223
static QCString scope
Definition: declinfo.cpp:668
#define AlignAs
Definition: code.cpp:12363
int isAccessibleFrom(Definition *scope, FileDef *fileScope, Definition *item)
Definition: util.cpp:948
static char yy_hold_char
Definition: code.cpp:292
#define YY_READ_BUF_SIZE
Definition: code.cpp:12462
static void generateClassOrGlobalLink(CodeOutputInterface &ol, const char *clName, bool typeOnly=FALSE, bool varOnly=FALSE)
Definition: code.cpp:11461
unsigned char flex_uint8_t
Definition: code.cpp:73
#define MemberCall
Definition: code.cpp:12359
static bool g_insideProtocolList
Definition: code.cpp:10658
static int g_curlyCount
Definition: code.cpp:10640
virtual QCString getReference() const
static int g_currentObjId
Definition: code.cpp:10685
bool isLinkable() const
Definition: filedef.h:117
static QCString varName
void popScope()
Definition: code.cpp:10732
static yyconst flex_int16_t yy_acclist[6690]
Definition: code.cpp:394
MemberDef * getMemberByName(const QCString &) const
#define YY_FATAL_ERROR(msg)
Definition: code.cpp:12524
static int yy_start
Definition: code.cpp:299
int codeYY_flex_debug
Definition: code.cpp:10514
int codeYYget_lineno(void)
Definition: code.cpp:16148
#define ObjCMName
Definition: code.cpp:12378
#define YY_START
Definition: code.cpp:150
static QCString result
bool isEmpty() const
Definition: qcstring.h:189
QCString getReference() const
Definition: memberdef.cpp:1001
#define UsingName
Definition: code.cpp:12381
#define RemoveSpecialCComment
Definition: code.cpp:12355
#define YY_SC_TO_UI(c)
Definition: code.cpp:138
static int g_lastStringContext
Definition: code.cpp:10647
static QCString g_classScope
Definition: code.cpp:10621
virtual void writeLineNumber(const char *ref, const char *file, const char *anchor, int lineNumber)=0
MemberDef * getSourceMember(int lineNr) const
Definition: filedef.cpp:1226
void msg(const char *fmt,...)
Definition: message.cpp:107
QCString objectTypeOrName
Definition: code.cpp:10672
void printlex(int dbg, bool enter, const char *lexName, const char *fileName)
Definition: message.cpp:242
static QCString g_saveType
Definition: code.cpp:10636
int yy_fill_buffer
Definition: code.cpp:250
static int g_inputLines
number of line in the code fragment
Definition: code.cpp:10608
unsigned short int flex_uint16_t
Definition: code.cpp:74
static bool g_insideBody
Definition: code.cpp:10633
uint length() const
Definition: qcstring.h:195
virtual bool isLinkableInProject() const =0
static int g_bracketCount
Definition: code.cpp:10639
int contains(char c, bool cs=TRUE) const
Definition: qcstring.cpp:153
#define SkipVerbString
Definition: code.cpp:12351
struct yy_buffer_state * YY_BUFFER_STATE
Definition: code.cpp:172
#define RawString
Definition: code.cpp:12382
virtual void setName(const char *name)
Definition: definition.cpp:396
#define InlineInit
Definition: code.cpp:12383
void addTooltip(Definition *d)
Definition: tooltip.cpp:71
Definition: types.h:26
static void endFontClass()
Definition: code.cpp:11962
int codeYYlex(void)
static int yy_get_next_buffer(void)
Definition: code.cpp:15498
static bool g_collectXRefs
Definition: code.cpp:10665
type * first()
Definition: qinternallist.h:87
ArgumentList * templateArguments() const
Definition: classdef.cpp:4419
char & at(uint i) const
Definition: qcstring.h:326
FileDef * getBodyDef() const
static void startCodeLine()
Definition: code.cpp:11021
static CallContext g_theCallContext
Definition: code.cpp:10930
#define SkipInits
Definition: code.cpp:12361
void clear()
Definition: code.cpp:10745
static void startFontClass(const char *s)
Definition: code.cpp:11971
static QCString g_exampleName
Definition: code.cpp:10614
QCString format
Definition: code.cpp:10676
void parseCCode(CodeOutputInterface &od, const char *className, const QCString &s, SrcLangExt lang, bool exBlock, const char *exName, FileDef *fd, int startLine, int endLine, bool inlineFragment, MemberDef *memberDef, bool showLineNumbers, Definition *searchCtx, bool collectXRefs)
Definition: code.cpp:16397
static int yy_full_lp
Definition: code.cpp:10520
#define yyterminate()
Definition: code.cpp:12514
const bool FALSE
Definition: qglobal.h:370
static yyconst flex_int16_t yy_nxt[36458]
Definition: code.cpp:2485
virtual void endFontClass()=0
#define Bases
Definition: code.cpp:12368
ClassDef * findVariable(const QCString &name)
Definition: code.cpp:10837
#define YY_BUFFER_NORMAL
Definition: code.cpp:255
#define unput(c)
Definition: code.cpp:199
MemberDef * templateMaster() const
Definition: memberdef.cpp:4567
#define YY_INPUT(buf, result, max_size)
Definition: code.cpp:12298
#define TemplCast
Definition: code.cpp:12372
char * codeYYtext
Definition: code.cpp:10538
virtual void startFontClass(const char *clsName)=0
bool leftScopeMatch(const QCString &scope, const QCString &name)
Definition: util.cpp:1904
static int g_lastTemplCastContext
Definition: code.cpp:10645
Definition: qstack.h:46
static void popScope()
Definition: code.cpp:10951
static void pushScope(const char *s)
Definition: code.cpp:10935
int yy_bs_lineno
Definition: code.cpp:244
int codeYYlineno
Definition: code.cpp:365
YY_BUFFER_STATE codeYY_scan_buffer(char *base, yy_size_t size)
Definition: code.cpp:16036
#define SCOPEBLOCK
Definition: code.cpp:10590
static yyconst flex_int32_t yy_ec[256]
Definition: code.cpp:1526
static bool generateClassMemberLink(CodeOutputInterface &ol, MemberDef *xmd, const char *memName)
Definition: code.cpp:11638
static QCString className
Definition: declinfo.cpp:669
static ObjCCallCtx * g_currentCtx
Definition: code.cpp:10682
static FileNameDict * inputNameDict
Definition: doxygen.h:108
static bool g_lexInit
Definition: code.cpp:10660
QCString left(uint len) const
Definition: qcstring.cpp:213
bool stripPrefix(const char *prefix)
Definition: qcstring.cpp:201
FILE * codeYYget_out(void)
Definition: code.cpp:16165
void clearTooltips()
Definition: tooltip.cpp:54
static int yyread(char *buf, int max_size)
Definition: code.cpp:12300
static int yy_looking_for_trail_begin
Definition: code.cpp:10519
static void writeMultiLineCodeLink(CodeOutputInterface &ol, Definition *d, const char *text)
Definition: code.cpp:11137
void codeYYpop_buffer_state(void)
Definition: code.cpp:15968
static yy_state_type yy_get_previous_state(void)
Definition: code.cpp:15603
QCString type
Definition: code.cpp:10872
int errno
Contains the last error code.
Definition: structcmd.h:53
#define YY_DO_BEFORE_ACTION
Definition: code.cpp:378
static char * yy_full_match
Definition: code.cpp:10517
int find(char c, int index=0, bool cs=TRUE) const
Definition: qcstring.cpp:41
MemberDef * getMemberByName(const QCString &) const
Definition: classdef.cpp:3968
#define YY_BUF_SIZE
Definition: code.cpp:163
QCString methodName
Definition: code.cpp:10671
bool isVariable() const
Definition: memberdef.cpp:4140
Definition * d
Definition: code.cpp:10873
static yyconst flex_int16_t yy_chk[36458]
Definition: code.cpp:6499
#define Body
Definition: code.cpp:12357
virtual QCString getOutputFileBase() const =0
yy_size_t yy_buf_size
Definition: code.cpp:218
void append(const char *key, const T *d)
Definition: sortdict.h:135
int codeYYget_leng(void)
Definition: code.cpp:16173
SrcLangExt
Definition: types.h:41
static QStrList * l
Definition: config.cpp:1044
int yy_state_type
Definition: code.cpp:361
static void addParmType()
Definition: code.cpp:11186
void resetCCodeParserState()
Definition: code.cpp:16382
int findRev(char c, int index=-1, bool cs=TRUE) const
Definition: qcstring.cpp:95
#define yytext_ptr
Definition: code.cpp:368
Definition: types.h:29
static bool g_exampleBlock
Definition: code.cpp:10613
#define ECHO
Definition: code.cpp:12470
static int g_inputPosition
read offset during parsing
Definition: code.cpp:10607
QCString removeAnonymousScopes(const QCString &s)
Definition: util.cpp:164
#define YY_BUFFER_NEW
Definition: code.cpp:254
static QCString g_parmName
Definition: code.cpp:10604
static QIntDict< QCString > g_objectDict
Definition: code.cpp:10690
void codeYYset_debug(int debug_flag)
Definition: code.cpp:16218
static int g_memCallContext
Definition: code.cpp:10650
virtual void setCurrentDoc(Definition *context, const char *anchor, bool isSourceFile)=0
static VariableContext g_theVarContext
Definition: code.cpp:10860
QCString copy() const
Definition: qcstring.h:250
ClassDef * getClass(const char *n)
Definition: util.cpp:472
#define YY_AT_BOL()
Definition: code.cpp:350
static int countLines()
Definition: code.cpp:11943
static size_t yy_buffer_stack_max
Definition: code.cpp:273
void push(const type *d)
Definition: qstack.h:58
YY_BUFFER_STATE codeYY_scan_string(yyconst char *yy_str)
Definition: code.cpp:16073
static bool g_needsTermination
Definition: code.cpp:10611
void setAutoDelete(bool val)
Definition: sortdict.h:222
static QCString g_curClassName
Definition: code.cpp:10600
static bool getLink(const char *className, const char *memberName, CodeOutputInterface &ol, const char *text=0, bool varOnly=FALSE)
Definition: code.cpp:11439
#define YY_END_OF_BUFFER_CHAR
Definition: code.cpp:159
static FileDef * g_sourceFileDef
Definition: code.cpp:10626
static QCString g_parmType
Definition: code.cpp:10603
int codeYYget_debug(void)
Definition: code.cpp:16213
static void addType()
Definition: code.cpp:11175
#define INNERBLOCK
Definition: code.cpp:10591
static YY_BUFFER_STATE * yy_buffer_stack
Definition: code.cpp:274
static bool getLinkInScope(const QCString &c, const QCString &m, const char *memberText, CodeOutputInterface &ol, const char *text, bool varOnly=FALSE)
Definition: code.cpp:11384
FileDef * getFileDef() const
Definition: memberdef.cpp:4075
static void codifyLines(const char *text)
Definition: code.cpp:11102
#define INITIAL
Definition: code.cpp:12348
decltype(auto) constexpr size(T &&obj)
ADL-aware version of std::size.
Definition: StdUtils.h:92
#define SkipComment
Definition: code.cpp:12353
static NamespaceSDict * namespaceSDict
Definition: doxygen.h:120
static MemberDef * setCallContextForVar(const QCString &name)
Definition: code.cpp:11255
static NamespaceDef * globalScope
Definition: doxygen.h:128
#define CppCliTypeModifierFollowup
Definition: code.cpp:12367
#define YY_END_OF_BUFFER
Definition: code.cpp:386
virtual DefType definitionType() const =0
This class contains the information about the argument of a function or template. ...
Definition: arguments.h:28
Definition: sortdict.h:73
const char * typeString() const
Definition: memberdef.cpp:4035
static Definition * g_searchCtx
Definition: code.cpp:10664
QCString getLanguageSpecificSeparator(SrcLangExt lang, bool classScope)
Definition: util.cpp:8065
register int yy_act
Definition: code.cpp:12564
#define EOB_ACT_LAST_MATCH
Definition: code.cpp:181
uint count() const
Definition: qlist.h:66
YY_EXTRA_TYPE codeYYget_extra(void)
#define MemberCall2
Definition: code.cpp:12360
static QStack< int > g_scopeStack
1 if bracket starts a scope,
Definition: code.cpp:10623
#define YY_TRAILING_HEAD_MASK
Definition: code.cpp:10523
void * codeYYrealloc(void *, yy_size_t)
Definition: code.cpp:16310
static int g_lastSkipCppContext
Definition: code.cpp:10648
static int * yy_full_state
Definition: code.cpp:10521
#define YY_BUFFER_EOF_PENDING
Definition: code.cpp:266
QAsciiDict< Entry > fn
static SearchIndexIntf * searchIndex
Definition: doxygen.h:133
static int g_yyColNr
current column number
Definition: code.cpp:10610
void insert(long k, const type *d)
Definition: qintdict.h:57
QCString name
Definition: code.cpp:10871
static void codeYY_load_buffer_state(void)
Definition: code.cpp:15820
static int g_lastVerbStringContext
Definition: code.cpp:10649
#define ClassName
Definition: code.cpp:12362
void clear()
Definition: code.cpp:10914
const QCString & name() const
Definition: definition.h:114
int count() const
Definition: code.cpp:10760
FILE * codeYYget_in(void)
Definition: code.cpp:16157
const double e
int yy_bs_column
Definition: code.cpp:245
int getDefLine() const
Definition: definition.h:188
static void setParameterList(MemberDef *md)
Definition: code.cpp:11206
static int input(void)
Definition: code.cpp:15695
#define TemplDecl
Definition: code.cpp:12371
bool getDefs(const QCString &scName, const QCString &mbName, const char *args, MemberDef *&md, ClassDef *&cd, FileDef *&fd, NamespaceDef *&nd, GroupDef *&gd, bool forceEmptyScope, FileDef *currentFile, bool checkCV, const char *forceTagFile)
Definition: util.cpp:3932
#define ReadInclude
Definition: code.cpp:12370
static QIntDict< QCString > g_nameDict
Definition: code.cpp:10689
int braceCount
Definition: code.cpp:10678
QCString name() const
Definition: filedef.cpp:1193
bool isEmpty() const
Definition: qstack.h:57
MemberDef * method
Definition: code.cpp:10675
static void yyunput(int c, char *buf_ptr)
def key(type, name=None)
Definition: graph.py:13
static QCString g_args
Definition: code.cpp:10620
virtual void writeCodeLink(const char *ref, const char *file, const char *anchor, const char *name, const char *tooltip)=0
static QCString escapeName(const char *s)
Definition: code.cpp:12268
QCString right(uint len) const
Definition: qcstring.cpp:231
static int g_yyLineNr
current line number
Definition: code.cpp:10609
static int g_braceCount
Definition: code.cpp:10692
if(!(yy_init))
Definition: code.cpp:12571
SrcLangExt getLanguage() const
std::void_t< T > n
const double a
static yyconst flex_int32_t yy_meta[85]
Definition: code.cpp:1558
int toInt(bool *ok=0) const
Definition: qcstring.cpp:439
static bool g_insideTemplate
Definition: code.cpp:10617
void codeYY_switch_to_buffer(YY_BUFFER_STATE new_buffer)
Definition: code.cpp:15789
void * codeYYalloc(yy_size_t)
Definition: code.cpp:16305
#define AlignAsEnd
Definition: code.cpp:12364
register char * yy_cp
Definition: code.cpp:12563
Definition * getSourceDefinition(int lineNr) const
Definition: filedef.cpp:1215
FileDef * findFileDef(const FileNameDict *fnDict, const char *n, bool &ambig)
Definition: util.cpp:4963
static bool g_inFunctionTryBlock
Definition: code.cpp:10642
void addUsingDirective(NamespaceDef *nd)
Definition: filedef.cpp:1238
static MemberDef * g_currentMemberDef
Definition: code.cpp:10629
virtual void addWord(const char *word, bool hiPriority)=0
void setLocalName(const QCString name)
static bool g_inForEachExpression
Definition: code.cpp:10643
void inSort(const type *d)
Definition: qinternallist.h:59
QCString & prepend(const char *s)
Definition: qcstring.cpp:387
virtual Definition * findInnerCompound(const char *name)
p
Definition: test.py:223
static void setClassScope(const QCString &name)
Definition: code.cpp:10989
static bool g_insideJava
Definition: code.cpp:10655
QList< Ctx > m_defList
Definition: code.cpp:10927
A bunch of utility functions.
static QCString g_delimiter
Definition: code.cpp:10637
static QCString g_forceTagReference
Definition: code.cpp:10697
#define ObjCCall
Definition: code.cpp:12377
static int g_currentCtxId
Definition: code.cpp:10683
static QCString g_name
Definition: code.cpp:10619
const char * data() const
Definition: qcstring.h:207
bool isLinkable() const
Definition: classdef.cpp:2729
QCString anchor() const
Definition: memberdef.cpp:1031
type * current() const
Definition: qlist.h:146
#define YY_EXTRA_TYPE
Definition: code.cpp:12394
char * yy_ch_buf
Definition: code.cpp:212
string tmp
Definition: languages.py:63
void codeYYset_out(FILE *out_str)
Definition: code.cpp:16208
virtual void writeCodeAnchor(const char *name)=0
static QCString g_exampleFile
Definition: code.cpp:10615
#define codeYYwrap(n)
Definition: code.cpp:354
#define Config_getBool(val)
Definition: config.cpp:664
static void nextCodeLine()
Definition: code.cpp:11088
ClassDef * getClassDef() const
Definition: memberdef.cpp:4070
static yyconst flex_int32_t yy_base[4112]
Definition: code.cpp:1571
unsigned char YY_CHAR
Definition: code.cpp:357
type * getFirst() const
Definition: qlist.h:95
void clearExceptGlobal()
Definition: code.cpp:10751
static int g_lastCContext
Definition: code.cpp:10651
#define YY_MORE_ADJ
Definition: code.cpp:10536
static void updateCallContextForSmartPointer()
Definition: code.cpp:11368
#define YY_DECL
Definition: code.cpp:12537
type * next()
Definition: qinternallist.h:89
#define DBG_CTX(x)
Definition: code.cpp:10585
#define BEGIN
Definition: code.cpp:144
int flex_int32_t
Definition: code.cpp:72
type * pop()
Definition: qstack.h:59
void codeYYset_lineno(int line_number)
Definition: code.cpp:16191
int yy_is_our_buffer
Definition: code.cpp:229
FILE * codeYYin
Definition: code.cpp:359
static QStrList g_curClassBases
Definition: code.cpp:10601
#define StripSpecialCComment
Definition: code.cpp:12356
#define SkipCxxComment
Definition: code.cpp:12354
QCString removeRedundantWhiteSpace(const QCString &s)
Definition: util.cpp:1655
static void endCodeLine()
Definition: code.cpp:11081
int extractClassNameFromType(const QCString &type, int &pos, QCString &name, QCString &templSpec, SrcLangExt lang)
Definition: util.cpp:5963
QCString mid(uint index, uint len=0xffffffff) const
Definition: qcstring.cpp:246
#define SkipStringS
Definition: code.cpp:12350
void setAutoDelete(bool enable)
Definition: qcollection.h:55
ClassDef * categoryOf() const
Definition: classdef.cpp:4514
QCString & sprintf(const char *format,...)
Definition: qcstring.cpp:27
static int g_anchorCount
Definition: code.cpp:10625
static bool g_lineNumbers
Definition: code.cpp:10627
virtual void codify(const char *s)=0
void insertBaseClass(ClassDef *, const char *name, Protection p, Specifier s, const char *t=0)
Definition: classdef.cpp:358
void writeTooltips(CodeOutputInterface &ol)
Definition: tooltip.cpp:93
#define YY_EXIT_FAILURE
Definition: code.cpp:16117
virtual Definition * getOuterScope() const
GroupDef * getGroupDef() const
Definition: memberdef.cpp:4095
static int g_skipInlineInitContext
Definition: code.cpp:10652
static void saveObjCContext()
Definition: code.cpp:16336
static QStack< int > g_classScopeLengthStack
Definition: code.cpp:10662
void addDocCrossReference(MemberDef *src, MemberDef *dst)
Definition: util.cpp:8189
#define YY_STATE_BUF_SIZE
Definition: code.cpp:168
FILE * codeYYout
Definition: code.cpp:359
static QCString g_realScope
Definition: code.cpp:10622
ArgumentList * argumentList() const
Definition: memberdef.cpp:4512
#define YY_TRAILING_MASK
Definition: code.cpp:10522
NamespaceDef * getResolvedNamespace(const char *name)
Definition: util.cpp:489
#define YY_STATE_EOF(state)
Definition: code.cpp:154
static yyconst flex_int16_t yy_accept[3538]
Definition: code.cpp:1133
static char * yy_c_buf_p
Definition: code.cpp:297
static size_t yy_buffer_stack_top
Definition: code.cpp:272
static MemberNameSDict * memberNameSDict
Definition: doxygen.h:115
YY_BUFFER_STATE codeYY_scan_bytes(yyconst char *bytes, int len)
Definition: code.cpp:16086
#define SkipCPP
Definition: code.cpp:12352
flex_int32_t yy_verify
Definition: code.cpp:391
#define REJECT
Definition: code.cpp:10524
void codeYYset_in(FILE *in_str)
Definition: code.cpp:16203
void codeFreeScanner()
Definition: code.cpp:16505
virtual void startCodeLine(bool hasLineNumbers)=0
register char * yy_bp
Definition: code.cpp:12563
void pushScope()
Definition: code.cpp:10726
#define YY_CURRENT_BUFFER_LVALUE
Definition: code.cpp:289
MemberDef * objectVar
Definition: code.cpp:10674
static bool g_searchingForBody
Definition: code.cpp:10632
void codeYY_delete_buffer(YY_BUFFER_STATE b)
Definition: code.cpp:15862
#define YY_RESTORE_YY_MORE_OFFSET
Definition: code.cpp:10537
#define ObjCMethod
Definition: code.cpp:12374
#define YY_BREAK
Definition: code.cpp:12549
QCString name
Definition: arguments.h:69
QCString fileName() const
Definition: filedef.h:81
static TooltipManager * instance()
Definition: tooltip.cpp:45
static void generateMemberLink(CodeOutputInterface &ol, const QCString &varName, char *memName)
Definition: code.cpp:11732
static void addUsingDirective(const char *name)
Definition: code.cpp:11194
void clear()
Definition: qintdict.h:67
static bool g_insideObjC
Definition: code.cpp:10654
QCString convertNameToFile(const char *name, bool allowDots, bool allowUnderscore)
Definition: util.cpp:5354
Definition * getScope() const
Definition: code.cpp:10920
static int g_currentNameId
Definition: code.cpp:10684
static int g_bodyCurlyCount
Definition: code.cpp:10634
static void setCurrentDoc(const QCString &anchor)
Definition: code.cpp:10966
bool truncate(uint pos)
Definition: qcstring.h:232
#define YY_CURRENT_BUFFER
Definition: code.cpp:282
QCString getOutputFileBase() const
Definition: memberdef.cpp:941
void codeYY_flush_buffer(YY_BUFFER_STATE b)
Definition: code.cpp:15909
virtual ~CallContext()
Definition: code.cpp:10881
static bool * b
Definition: config.cpp:1043
flex_int32_t yy_nxt
Definition: code.cpp:392
void setScope(Definition *d)
Definition: code.cpp:10882
static QCString escapeWord(const char *s)
Definition: code.cpp:12286
static QCString g_saveName
Definition: code.cpp:10635
static yy_state_type yy_try_NUL_trans(yy_state_type current_state)
Definition: code.cpp:15635
bool isId(int c)
Definition: util.h:224
ClassDef * objectType
Definition: code.cpp:10673
int yy_is_interactive
Definition: code.cpp:236
#define ObjCParams
Definition: code.cpp:12375
#define YY_NEW_FILE
Definition: code.cpp:157
#define EOB_ACT_CONTINUE_SCAN
Definition: code.cpp:179
static CodeOutputInterface * g_code
Definition: code.cpp:10597
QCString briefDescriptionAsTooltip() const
static int yy_init
Definition: code.cpp:298
bool addExample(const char *anchor, const char *name, const char *file)
Definition: memberdef.cpp:915
YY_BUFFER_STATE codeYY_create_buffer(FILE *file, int size)
Definition: code.cpp:15834
void clear()
Definition: qstack.h:61
#define PackageName
Definition: code.cpp:12365
virtual void endCodeLine()=0
static yyconst flex_int16_t yy_def[4112]
Definition: code.cpp:2028
QCString lower() const
Definition: qcstring.cpp:263
bool isStatic() const
Definition: memberdef.cpp:4205
Q_EXPORT int qstrcmp(const char *str1, const char *str2)
Definition: qcstring.h:95
static const ClassDef * dummyContext
Definition: code.cpp:10710
T * find(const char *key)
Definition: sortdict.h:232
static QCString escapeObject(const char *s)
Definition: code.cpp:12277
static int g_currentWordId
Definition: code.cpp:10686
QCString utf8() const
Definition: qstring.cpp:14507
ClassDef * getResolvedClass(Definition *scope, FileDef *fileScope, const char *n, MemberDef **pTypeDef, QCString *pTemplSpec, bool mayBeUnlinkable, bool mayBeHidden, QCString *pResolvedType)
Definition: util.cpp:1563
Scope m_globalScope
Definition: code.cpp:10763
static ClassDef * stripClassName(const char *s, Definition *d=g_currentDefinition)
Definition: code.cpp:11227
#define ClassVar
Definition: code.cpp:12366
static void codeYY_init_buffer(YY_BUFFER_STATE b, FILE *file)
Definition: code.cpp:15881
static QIntDict< QCString > g_wordDict
Definition: code.cpp:10691
#define ObjCParamType
Definition: code.cpp:12376
bool isLinkable() const
Definition: memberdef.cpp:1161
byte bytes
Alias for common language habits.
Definition: datasize.h:101
static bool g_insideCS
Definition: code.cpp:10656
size_t yy_size_t
Definition: code.cpp:203
static const char * g_currentFontClass
Definition: code.cpp:10631
static bool g_insidePHP
Definition: code.cpp:10657
int codeYYlex_destroy(void)
Definition: code.cpp:16257
type * toLast()
Definition: qlist.h:136
static bool g_includeCodeFragment
Definition: code.cpp:10630
static QCString g_type
Definition: code.cpp:10618
int yy_buffer_status
Definition: code.cpp:252
static QCString * s
Definition: config.cpp:1042
void codeYYfree(void *)
Definition: code.cpp:16322
#define OldStyleArgs
Definition: code.cpp:12380
#define YY_RULE_SETUP
Definition: code.cpp:12552
QCString localName() const
const bool TRUE
Definition: qglobal.h:371
bool collectXRefs
QCString simplifyWhiteSpace() const
Definition: qcstring.cpp:323
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
Definition: util.cpp:5088
virtual QCString anchor() const =0
static int g_lastSpecialCContext
Definition: code.cpp:10646
type * find(long k) const
Definition: qintdict.h:63
virtual ~VariableContext()
Definition: code.cpp:10722
static int yy_lp
Definition: code.cpp:10518
static void restoreObjCContext()
Definition: code.cpp:16366
bool isIncluded(const QCString &name) const
Definition: filedef.cpp:1390
type * top() const
Definition: qstack.h:63
#define ObjCSkipStr
Definition: code.cpp:12379
BaseClassList * baseClasses() const
Definition: classdef.cpp:4399
void codeYYset_extra(YY_EXTRA_TYPE user_defined)
void pushScope()
Definition: code.cpp:10891
Definition: qlist.h:54
int lexState
Definition: code.cpp:10677
void codeYYpush_buffer_state(YY_BUFFER_STATE new_buffer)
Definition: code.cpp:15938
#define ASSERT(x)
Definition: qglobal.h:590
static void generateFunctionLink(CodeOutputInterface &ol, const char *funcName)
Definition: code.cpp:11841
void popScope()
Definition: code.cpp:10896
#define CallEnd
Definition: code.cpp:12373
static void writeObjCMethodCall(ObjCCallCtx *ctx)
Definition: code.cpp:11981
QList< Scope > m_scopes
Definition: code.cpp:10764
type * toFirst()
Definition: qlist.h:135
virtual Definition * findInnerCompound(const char *name)
Definition: classdef.cpp:3651
static void generatePHPVariableLink(CodeOutputInterface &ol, const char *varName)
Definition: code.cpp:11830
static Definition * g_currentDefinition
Definition: code.cpp:10628
static QIntDict< ObjCCallCtx > g_contextDict
Definition: code.cpp:10688
static yy_state_type * yy_state_ptr
Definition: code.cpp:10516
#define yyconst
Definition: code.cpp:127
static QStack< ObjCCallCtx > g_contextStack
Definition: code.cpp:10687
static void codeYYensure_buffer_stack(void)
Definition: code.cpp:15987