1 : #define yy_create_buffer zend_create_buffer
2 : #define yy_delete_buffer zend_delete_buffer
3 : #define yy_scan_buffer zend_scan_buffer
4 : #define yy_scan_string zend_scan_string
5 : #define yy_scan_bytes zend_scan_bytes
6 : #define yy_flex_debug zend_flex_debug
7 : #define yy_init_buffer zend_init_buffer
8 : #define yy_flush_buffer zend_flush_buffer
9 : #define yy_load_buffer_state zend_load_buffer_state
10 : #define yy_switch_to_buffer zend_switch_to_buffer
11 : #define yyin zendin
12 : #define yyleng zendleng
13 : #define yylex zendlex
14 : #define yyout zendout
15 : #define yyrestart zendrestart
16 : #define yytext zendtext
17 :
18 : #line 19 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.c"
19 : /* A Lexical scanner generated by flex */
20 :
21 : /* Scanner skeleton version:
22 : * $Header$
23 : * vim:ft=lex:
24 : */
25 :
26 : #define FLEX_SCANNER
27 : #define YY_FLEX_MAJOR_VERSION 2
28 : #define YY_FLEX_MINOR_VERSION 5
29 :
30 : #include <stdio.h>
31 :
32 :
33 : /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
34 : #ifdef c_plusplus
35 : #ifndef __cplusplus
36 : #define __cplusplus
37 : #endif
38 : #endif
39 :
40 :
41 : #ifdef __cplusplus
42 :
43 : #include <stdlib.h>
44 : #if HAVE_UNISTD_H
45 : #include <unistd.h>
46 : #endif
47 :
48 : /* Use prototypes in function declarations. */
49 : #define YY_USE_PROTOS
50 :
51 : /* The "const" storage-class-modifier is valid. */
52 : #define YY_USE_CONST
53 :
54 : #else /* ! __cplusplus */
55 :
56 : #if __STDC__
57 :
58 : #define YY_USE_PROTOS
59 : #define YY_USE_CONST
60 :
61 : #endif /* __STDC__ */
62 : #endif /* ! __cplusplus */
63 :
64 : #ifdef __TURBOC__
65 : #pragma warn -rch
66 : #pragma warn -use
67 : #include <io.h>
68 : #include <stdlib.h>
69 : #define YY_USE_CONST
70 : #define YY_USE_PROTOS
71 : #endif
72 :
73 : #ifdef YY_USE_CONST
74 : #define yyconst const
75 : #else
76 : #define yyconst
77 : #endif
78 :
79 : #undef YY_USE_PROTOS
80 : #define YY_USE_PROTOS
81 :
82 : #ifdef YY_USE_PROTOS
83 : #define YY_PROTO(proto) proto
84 : #else
85 : #define YY_PROTO(proto) ()
86 : #endif
87 :
88 : /* Returned upon end-of-file. */
89 : #define YY_NULL 0
90 :
91 : /* Promotes a possibly negative, possibly signed char to an unsigned
92 : * integer for use as an array index. If the signed char is negative,
93 : * we want to instead treat it as an 8-bit unsigned char, hence the
94 : * double cast.
95 : */
96 : #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
97 :
98 : /* Enter a start condition. This macro really ought to take a parameter,
99 : * but we do it the disgusting crufty way forced on us by the ()-less
100 : * definition of BEGIN.
101 : */
102 : #define BEGIN yy_start = 1 + 2 *
103 :
104 : /* Translate the current start state into a value that can be later handed
105 : * to BEGIN to return to the state. The YYSTATE alias is for lex
106 : * compatibility.
107 : */
108 : #define YY_START ((yy_start - 1) / 2)
109 : #define YYSTATE YY_START
110 :
111 : /* Action number for EOF rule of a given start state. */
112 : #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
113 :
114 : /* Special action meaning "start processing a new file". */
115 : #define YY_NEW_FILE yyrestart( SCNG(yy_in) TSRMLS_CC )
116 :
117 : #define YY_END_OF_BUFFER_CHAR 0
118 :
119 : /* Size of default input buffer. */
120 : #define YY_BUF_SIZE 16384
121 :
122 : typedef struct yy_buffer_state *YY_BUFFER_STATE;
123 :
124 : extern int yyleng;
125 :
126 :
127 : #define EOB_ACT_CONTINUE_SCAN 0
128 : #define EOB_ACT_END_OF_FILE 1
129 : #define EOB_ACT_LAST_MATCH 2
130 :
131 : /* The funky do-while in the following #define is used to turn the definition
132 : * int a single C statement (which needs a semi-colon terminator). This
133 : * avoids problems with code like:
134 : *
135 : * if ( condition_holds )
136 : * yyless( 5 );
137 : * else
138 : * do_something_else();
139 : *
140 : * Prior to using the do-while the compiler would get upset at the
141 : * "else" because it interpreted the "if" statement as being all
142 : * done when it reached the ';' after the yyless() call.
143 : */
144 :
145 : /* Return all but the first 'n' matched characters back to the input stream. */
146 :
147 : #define yyless(n) \
148 : do \
149 : { \
150 : /* Undo effects of setting up yytext. */ \
151 : *yy_cp = yy_hold_char; \
152 : yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
153 : YY_DO_BEFORE_ACTION; /* set up yytext again */ \
154 : } \
155 : while ( 0 )
156 :
157 : #define unput(c) yyunput( c, yytext_ptr TSRMLS_CC )
158 :
159 : /* The following is because we cannot portably get our hands on size_t
160 : * (without autoconf's help, which isn't available because we want
161 : * flex-generated scanners to compile on their own).
162 : */
163 : typedef unsigned int yy_size_t;
164 :
165 :
166 : struct yy_buffer_state
167 : {
168 : struct _zend_file_handle *yy_input_file;
169 :
170 : char *yy_ch_buf; /* input buffer */
171 : char *yy_buf_pos; /* current position in input buffer */
172 :
173 : /* Size of input buffer in bytes, not including room for EOB
174 : * characters.
175 : */
176 : yy_size_t yy_buf_size;
177 :
178 : /* Number of characters read into yy_ch_buf, not including EOB
179 : * characters.
180 : */
181 : int yy_n_chars;
182 :
183 : /* Whether we "own" the buffer - i.e., we know we created it,
184 : * and can realloc() it to grow it, and should free() it to
185 : * delete it.
186 : */
187 : int yy_is_our_buffer;
188 :
189 : /* Whether this is an "interactive" input source; if so, and
190 : * if we're using stdio for input, then we want to use getc()
191 : * instead of fread(), to make sure we stop fetching input after
192 : * each newline.
193 : */
194 : int yy_is_interactive;
195 :
196 : /* Whether we're considered to be at the beginning of a line.
197 : * If so, '^' rules will be active on the next match, otherwise
198 : * not.
199 : */
200 : int yy_at_bol;
201 :
202 : /* Whether to try to fill the input buffer when we reach the
203 : * end of it.
204 : */
205 : int yy_fill_buffer;
206 :
207 : int yy_buffer_status;
208 : #define YY_BUFFER_NEW 0
209 : #define YY_BUFFER_NORMAL 1
210 : /* When an EOF's been seen but there's still some text to process
211 : * then we mark the buffer as YY_EOF_PENDING, to indicate that we
212 : * shouldn't try reading from the input source any more. We might
213 : * still have a bunch of tokens to match, though, because of
214 : * possible backing-up.
215 : *
216 : * When we actually see the EOF, we change the status to "new"
217 : * (via yyrestart()), so that the user can continue scanning by
218 : * just pointing yyin at a new input file.
219 : */
220 : #define YY_BUFFER_EOF_PENDING 2
221 : };
222 :
223 : #define yy_current_buffer SCNG(current_buffer)
224 : #define yy_hold_char SCNG(_yy_hold_char)
225 :
226 : /* We provide macros for accessing buffer states in case in the
227 : * future we want to put the buffer states in a more general
228 : * "scanner state".
229 : */
230 : #define YY_CURRENT_BUFFER yy_current_buffer
231 :
232 :
233 : /* yy_hold_char holds the character lost when yytext is formed. */
234 :
235 : #if 0
236 : static char yy_hold_char;
237 :
238 : static int yy_n_chars; /* number of characters read into yy_ch_buf */
239 : #endif
240 :
241 : /* Points to current character in buffer. */
242 : #define yy_c_buf_p SCNG(c_buf_p)
243 : #define yy_init SCNG(init)
244 : #define yy_start SCNG(start)
245 :
246 : #ifdef ZTS
247 : #define TSRMLS_D void ***tsrm_ls
248 : #define TSRMLS_DC , TSRMLS_D
249 : #define TSRMLS_C tsrm_ls
250 : #define TSRMLS_CC , TSRMLS_C
251 : #else
252 : #define TSRMLS_D
253 : #define TSRMLS_DC
254 : #define TSRMLS_C
255 : #define TSRMLS_CC
256 : #endif
257 :
258 : /* Flag which is used to allow yywrap()'s to do buffer switches
259 : * instead of setting up a fresh yyin. A bit of a hack ...
260 : */
261 : /* static int yy_did_buffer_switch_on_eof; */
262 : #define yy_did_buffer_switch_on_eof SCNG(_yy_did_buffer_switch_on_eof)
263 :
264 : void yyrestart YY_PROTO(( struct _zend_file_handle *input_file TSRMLS_DC ));
265 :
266 : void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer TSRMLS_DC ));
267 : void yy_load_buffer_state YY_PROTO(( TSRMLS_D ));
268 : YY_BUFFER_STATE yy_create_buffer YY_PROTO(( struct _zend_file_handle *file, int size TSRMLS_DC ));
269 : void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b TSRMLS_DC ));
270 : void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, struct _zend_file_handle *file TSRMLS_DC ));
271 : void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b TSRMLS_DC ));
272 : #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer TSRMLS_CC )
273 :
274 : YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size TSRMLS_DC ));
275 : YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str TSRMLS_DC ));
276 : YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len TSRMLS_DC ));
277 :
278 :
279 : static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
280 : static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
281 : static void yy_flex_free YY_PROTO(( void * ));
282 :
283 : #define yy_new_buffer yy_create_buffer
284 :
285 : #define yy_set_interactive(is_interactive) \
286 : { \
287 : if ( ! yy_current_buffer ) \
288 : yy_current_buffer = yy_create_buffer( SCNG(yy_in), YY_BUF_SIZE TSRMLS_CC ); \
289 : yy_current_buffer->yy_is_interactive = is_interactive; \
290 : }
291 :
292 : #define yy_set_bol(at_bol) \
293 : { \
294 : if ( ! yy_current_buffer ) \
295 : yy_current_buffer = yy_create_buffer( SCNG(yy_in), YY_BUF_SIZE TSRMLS_CC ); \
296 : yy_current_buffer->yy_at_bol = at_bol; \
297 : }
298 :
299 : #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
300 :
301 :
302 : #define yywrap() 1
303 : #define YY_SKIP_YYWRAP
304 : typedef unsigned char YY_CHAR;
305 : FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
306 : typedef int yy_state_type;
307 : extern char *yytext;
308 : #define yytext_ptr yytext
309 : #undef yyleng
310 : #define yyleng SCNG(yy_leng)
311 : #undef yytext
312 : #define yytext SCNG(yy_text)
313 : #undef yytext_ptr
314 : #define yytext_ptr SCNG(yy_text)
315 : #undef yyin
316 : #define yyin SCNG(yy_in)
317 : #undef yyout
318 : #define yyout SCNG(yy_out)
319 : #undef yy_last_accepting_state
320 : #define yy_last_accepting_state SCNG(_yy_last_accepting_state)
321 : #undef yy_last_accepting_cpos
322 : #define yy_last_accepting_cpos SCNG(_yy_last_accepting_cpos)
323 : #undef yy_more_flag
324 : #define yy_more_flag SCNG(_yy_more_flag)
325 : #undef yy_more_len
326 : #define yy_more_len SCNG(_yy_more_len)
327 :
328 :
329 : static yy_state_type yy_get_previous_state YY_PROTO(( TSRMLS_D ));
330 : static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state TSRMLS_DC ));
331 : static int yy_get_next_buffer YY_PROTO(( TSRMLS_D ));
332 : static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
333 :
334 : #undef TSRMLS_D
335 : #undef TSRMLS_DC
336 : #undef TSRMLS_C
337 : #undef TSRMLS_CC
338 :
339 : /* Done after the current pattern has been matched and before the
340 : * corresponding action - sets up yytext.
341 : */
342 : #define YY_DO_BEFORE_ACTION \
343 : yytext_ptr = yy_bp; \
344 : yytext_ptr -= yy_more_len; \
345 : yyleng = (int) (yy_cp - yytext_ptr); \
346 : yy_hold_char = *yy_cp; \
347 : *yy_cp = '\0'; \
348 : yy_c_buf_p = yy_cp;
349 :
350 : #undef yyleng
351 : #undef yytext
352 : #undef yytext_ptr
353 : #undef yyin
354 : #undef yyout
355 : #undef yy_last_accepting_state
356 : #undef yy_last_accepting_cpos
357 : #undef yy_more_flag
358 : #undef yy_more_len
359 :
360 :
361 : #define YY_NUM_RULES 159
362 : #define YY_END_OF_BUFFER 160
363 : static yyconst short int yy_accept[1493] =
364 : { 0,
365 : 0, 0, 0, 0, 0, 0, 0, 0, 154, 154,
366 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
367 : 0, 0, 0, 0, 0, 0, 160, 114, 114, 158,
368 : 126, 98, 142, 127, 98, 98, 98, 158, 98, 98,
369 : 98, 98, 98, 98, 98, 104, 104, 98, 98, 98,
370 : 98, 98, 98, 125, 144, 125, 125, 125, 125, 125,
371 : 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
372 : 125, 125, 125, 125, 125, 99, 98, 101, 150, 156,
373 : 159, 159, 159, 152, 159, 159, 157, 159, 154, 154,
374 : 154, 159, 159, 154, 159, 145, 145, 148, 39, 39,
375 :
376 : 38, 103, 102, 124, 123, 123, 106, 106, 122, 134,
377 : 137, 137, 129, 129, 129, 128, 128, 128, 114, 0,
378 : 114, 117, 115, 114, 126, 77, 0, 140, 0, 0,
379 : 0, 119, 85, 139, 92, 88, 0, 141, 0, 0,
380 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,
381 : 72, 80, 73, 81, 36, 108, 84, 133, 127, 83,
382 : 108, 104, 0, 0, 40, 0, 96, 78, 77, 76,
383 : 69, 79, 97, 138, 90, 125, 125, 125, 125, 125,
384 : 23, 142, 0, 0, 125, 125, 125, 125, 125, 125,
385 : 15, 125, 125, 125, 125, 125, 125, 125, 125, 125,
386 :
387 : 125, 9, 125, 125, 125, 125, 125, 93, 125, 125,
388 : 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
389 : 89, 91, 150, 0, 0, 0, 150, 151, 151, 0,
390 : 119, 100, 149, 151, 152, 0, 0, 0, 152, 153,
391 : 0, 153, 153, 154, 154, 154, 0, 0, 154, 0,
392 : 154, 0, 0, 154, 0, 154, 154, 155, 0, 0,
393 : 154, 154, 0, 154, 0, 155, 146, 0, 0, 37,
394 : 38, 102, 107, 0, 106, 134, 136, 135, 129, 129,
395 : 130, 131, 114, 0, 116, 0, 0, 75, 0, 0,
396 : 119, 139, 139, 0, 0, 0, 0, 0, 0, 0,
397 :
398 : 0, 0, 0, 0, 108, 0, 108, 105, 0, 0,
399 : 86, 74, 87, 138, 138, 125, 125, 125, 125, 125,
400 : 125, 94, 125, 0, 125, 125, 125, 125, 125, 125,
401 : 125, 125, 2, 125, 125, 125, 125, 125, 125, 125,
402 : 125, 16, 125, 125, 125, 125, 125, 125, 125, 125,
403 : 41, 125, 125, 125, 125, 125, 125, 125, 125, 6,
404 : 125, 57, 43, 125, 95, 151, 0, 119, 121, 151,
405 : 153, 153, 154, 155, 0, 154, 147, 0, 154, 154,
406 : 0, 0, 155, 155, 155, 0, 155, 155, 107, 114,
407 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
408 :
409 : 0, 0, 0, 132, 0, 0, 0, 125, 125, 125,
410 : 125, 125, 125, 125, 125, 125, 26, 125, 125, 125,
411 : 125, 125, 125, 125, 30, 12, 125, 125, 125, 125,
412 : 125, 125, 52, 1, 125, 125, 125, 125, 125, 125,
413 : 125, 125, 125, 125, 70, 125, 125, 125, 125, 125,
414 : 125, 125, 125, 125, 125, 125, 0, 155, 154, 155,
415 : 0, 154, 155, 155, 155, 155, 114, 0, 0, 0,
416 : 0, 0, 0, 0, 0, 0, 44, 0, 0, 0,
417 : 0, 0, 0, 143, 143, 0, 125, 125, 125, 125,
418 : 125, 125, 125, 71, 28, 7, 32, 42, 4, 125,
419 :
420 : 125, 125, 125, 60, 125, 125, 11, 125, 125, 125,
421 : 64, 125, 125, 125, 125, 125, 125, 125, 59, 31,
422 : 125, 125, 125, 125, 125, 125, 125, 8, 68, 13,
423 : 120, 155, 155, 114, 0, 118, 118, 0, 0, 0,
424 : 0, 50, 0, 0, 0, 0, 0, 45, 0, 0,
425 : 0, 125, 125, 125, 125, 125, 125, 125, 125, 125,
426 : 125, 10, 125, 17, 125, 125, 125, 125, 125, 58,
427 : 125, 125, 125, 125, 125, 125, 67, 125, 5, 62,
428 : 24, 114, 0, 0, 0, 48, 0, 0, 0, 0,
429 : 0, 0, 51, 0, 125, 125, 125, 125, 125, 125,
430 :
431 : 125, 125, 20, 27, 125, 125, 125, 125, 34, 18,
432 : 125, 125, 53, 125, 125, 65, 125, 55, 114, 0,
433 : 0, 0, 47, 0, 0, 0, 49, 0, 46, 0,
434 : 125, 113, 125, 125, 112, 125, 63, 29, 125, 125,
435 : 125, 14, 3, 125, 125, 125, 125, 125, 125, 114,
436 : 0, 0, 0, 109, 125, 125, 125, 125, 125, 25,
437 : 125, 125, 125, 33, 66, 125, 114, 0, 0, 125,
438 : 125, 111, 21, 19, 35, 125, 22, 125, 114, 0,
439 : 0, 125, 125, 125, 125, 114, 0, 0, 110, 125,
440 : 54, 56, 114, 0, 0, 125, 114, 0, 0, 125,
441 :
442 : 114, 0, 0, 61, 114, 0, 0, 114, 0, 0,
443 : 0, 114, 0, 0, 0, 0, 0, 114, 0, 0,
444 : 0, 0, 114, 0, 0, 0, 0, 114, 0, 0,
445 : 0, 0, 115, 114, 0, 114, 0, 114, 0, 114,
446 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
447 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
448 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
449 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
450 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
451 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
452 :
453 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
454 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
455 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
456 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
457 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
458 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
459 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
460 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
461 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
462 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
463 :
464 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
465 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
466 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
467 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
468 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
469 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
470 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
471 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
472 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
473 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
474 :
475 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
476 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
477 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
478 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
479 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
480 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
481 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
482 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
483 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
484 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
485 :
486 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
487 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
488 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
489 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
490 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
491 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
492 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
493 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
494 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
495 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
496 :
497 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
498 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
499 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
500 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
501 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
502 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
503 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
504 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
505 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
506 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
507 :
508 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
509 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
510 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
511 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
512 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
513 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
514 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
515 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
516 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
517 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
518 :
519 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
520 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
521 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
522 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
523 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
524 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
525 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
526 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
527 : 0, 114, 0, 114, 0, 114, 0, 114, 0, 114,
528 : 0, 0
529 :
530 : } ;
531 :
532 : static yyconst int yy_ec[256] =
533 : { 0,
534 : 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
535 : 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
536 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
537 : 1, 2, 5, 6, 7, 8, 9, 10, 11, 12,
538 : 13, 14, 15, 16, 17, 18, 19, 20, 21, 21,
539 : 21, 21, 21, 21, 21, 21, 21, 22, 23, 24,
540 : 25, 26, 27, 16, 34, 35, 36, 37, 38, 39,
541 : 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
542 : 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
543 : 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
544 :
545 : 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
546 : 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
547 : 58, 59, 60, 61, 62, 16, 59, 59, 59, 59,
548 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
549 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
550 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
551 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
552 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
553 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
554 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
555 :
556 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
557 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
558 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
559 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
560 : 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
561 : 59, 59, 59, 59, 59
562 : } ;
563 :
564 : static yyconst int yy_meta[63] =
565 : { 0,
566 : 1, 2, 3, 3, 1, 4, 1, 1, 1, 1,
567 : 1, 1, 1, 5, 1, 1, 6, 1, 1, 7,
568 : 7, 1, 8, 9, 1, 1, 1, 6, 1, 1,
569 : 1, 10, 11, 10, 10, 10, 10, 10, 10, 10,
570 : 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
571 : 10, 10, 10, 10, 10, 10, 10, 10, 10, 12,
572 : 1, 1
573 : } ;
574 :
575 : static yyconst short int yy_base[1922] =
576 : { 0,
577 : 8941, 8940, 0, 0, 57, 58, 59, 60, 120, 0,
578 : 182, 0, 0, 0, 244, 0, 306, 0, 368, 0,
579 : 8949, 8948, 8947, 8946, 68, 70, 8959, 8934, 422, 8966,
580 : 78, 8932, 426, 8966, 0, 44, 65, 72, 485, 8966,
581 : 8931, 83, 59, 79, 88, 415, 419, 8933, 86, 89,
582 : 416, 8928, 8928, 8920, 8966, 409, 439, 414, 416, 434,
583 : 423, 8906, 0, 436, 8908, 8911, 8897, 52, 8909, 390,
584 : 425, 400, 8912, 8904, 8896, 8966, 442, 8966, 465, 8966,
585 : 539, 8937, 596, 470, 656, 8909, 8966, 595, 718, 780,
586 : 8938, 842, 897, 957, 1012, 8966, 481, 8966, 8966, 8914,
587 :
588 : 0, 8966, 0, 8966, 8966, 0, 448, 472, 8966, 0,
589 : 8920, 8919, 505, 8966, 8934, 8910, 8966, 8909, 8910, 486,
590 : 8909, 8907, 472, 8895, 498, 8905, 1015, 8966, 600, 0,
591 : 1016, 0, 8966, 503, 8966, 8966, 80, 8966, 0, 0,
592 : 8878, 469, 8880, 8882, 8879, 8890, 8886, 8870, 8875, 8966,
593 : 8966, 8966, 8966, 8966, 8966, 589, 8966, 8907, 8966, 8966,
594 : 592, 596, 616, 886, 8966, 8868, 491, 8966, 8966, 8894,
595 : 8966, 8966, 8893, 525, 8966, 0, 599, 8865, 8879, 8864,
596 : 0, 1019, 594, 8890, 8875, 482, 464, 8865, 487, 8873,
597 : 0, 8869, 8857, 8859, 8870, 8872, 565, 8858, 8853, 8856,
598 :
599 : 8854, 0, 8852, 590, 8848, 8847, 8842, 0, 573, 8862,
600 : 569, 8862, 8853, 8843, 8835, 8840, 8853, 8839, 8847, 8837,
601 : 8966, 8966, 1018, 1022, 8881, 1023, 1024, 8966, 1027, 1053,
602 : 622, 8966, 8966, 1057, 1106, 1026, 8853, 1107, 1108, 1028,
603 : 1137, 8966, 1110, 0, 0, 8882, 1035, 0, 0, 1190,
604 : 0, 1116, 1243, 1303, 1192, 0, 0, 1118, 1363, 1124,
605 : 0, 1193, 0, 0, 1194, 1195, 8966, 905, 643, 8966,
606 : 0, 0, 628, 1121, 631, 0, 8966, 8966, 1201, 8966,
607 : 8966, 8966, 8860, 1190, 8966, 8842, 8831, 8966, 1200, 1392,
608 : 0, 8966, 8878, 8829, 8832, 8830, 8823, 8828, 8822, 8831,
609 :
610 : 8839, 8821, 8819, 908, 1029, 633, 893, 1210, 8834, 8867,
611 : 8966, 8966, 8966, 8966, 8865, 8822, 578, 8832, 8823, 8826,
612 : 8810, 0, 8828, 8837, 8826, 8821, 8822, 8805, 8809, 863,
613 : 8810, 8820, 0, 8805, 8814, 8798, 1092, 8805, 8796, 8810,
614 : 8813, 8808, 8809, 8809, 8798, 8797, 8788, 8802, 8801, 8785,
615 : 0, 872, 8784, 8791, 8781, 8780, 8780, 8779, 8783, 0,
616 : 8792, 0, 0, 8784, 0, 1052, 8802, 1045, 8966, 1203,
617 : 1117, 1204, 0, 1212, 1450, 0, 8966, 1232, 0, 1491,
618 : 914, 1365, 1205, 1367, 1452, 0, 1210, 1543, 1437, 8803,
619 : 1543, 8777, 8783, 8790, 8789, 8777, 8786, 8786, 1551, 8781,
620 :
621 : 8773, 8775, 8778, 1066, 8764, 8812, 1148, 8779, 8767, 8764,
622 : 8765, 8762, 8755, 8756, 8748, 8761, 0, 8763, 8751, 8764,
623 : 8748, 8758, 8765, 8744, 0, 8755, 8738, 8757, 8746, 8754,
624 : 8736, 8750, 0, 0, 8743, 8744, 8754, 8734, 8752, 8747,
625 : 8730, 8749, 8731, 8728, 0, 8727, 8745, 8740, 8735, 8734,
626 : 8724, 8732, 8737, 8716, 8718, 8732, 0, 1551, 0, 1553,
627 : 1601, 0, 1565, 1550, 1573, 1554, 8745, 1566, 1159, 8719,
628 : 8709, 8715, 1558, 8720, 8711, 1064, 8966, 8723, 8726, 1069,
629 : 8714, 8707, 8717, 8966, 8755, 1161, 8705, 8718, 8719, 8701,
630 : 8715, 8711, 8717, 0, 0, 0, 0, 0, 0, 8703,
631 :
632 : 8698, 8703, 8708, 0, 8710, 8694, 0, 8702, 8701, 8705,
633 : 0, 8705, 8698, 8694, 8692, 8700, 8689, 8696, 0, 0,
634 : 8681, 8697, 8696, 8680, 8683, 8693, 8687, 0, 0, 0,
635 : 8966, 1583, 1603, 8703, 1653, 8966, 8723, 8672, 1136, 8666,
636 : 1254, 8966, 8689, 8684, 8683, 8667, 1255, 8966, 8679, 1256,
637 : 8669, 8665, 8684, 8662, 8682, 8681, 8664, 8675, 8656, 8671,
638 : 8655, 0, 8662, 8668, 8652, 8659, 8651, 8661, 8653, 0,
639 : 8662, 8661, 8662, 8663, 8658, 8642, 0, 8656, 0, 0,
640 : 0, 8669, 1655, 1374, 1260, 8966, 1370, 8645, 8640, 1372,
641 : 1377, 1378, 8966, 8637, 8657, 8656, 8645, 8650, 8653, 8647,
642 :
643 : 8630, 8644, 0, 0, 8647, 8646, 8643, 8640, 0, 0,
644 : 8630, 8629, 8643, 8636, 8637, 0, 8634, 8639, 8646, 1657,
645 : 1475, 1379, 8966, 1380, 1457, 1467, 8966, 1511, 8966, 1595,
646 : 8637, 0, 8620, 8619, 0, 8634, 0, 0, 8614, 8628,
647 : 8622, 0, 0, 3868, 3872, 3870, 3879, 3879, 3841, 3854,
648 : 1659, 3843, 1667, 0, 3829, 3829, 3842, 3835, 3831, 0,
649 : 3805, 3799, 3796, 0, 0, 3777, 3799, 1663, 3772, 3776,
650 : 3758, 0, 0, 0, 0, 3768, 0, 3727, 3733, 1664,
651 : 3716, 3721, 3710, 3711, 3708, 3721, 1665, 3690, 0, 3696,
652 : 0, 0, 3698, 1676, 3683, 3678, 3663, 1686, 3553, 3541,
653 :
654 : 3567, 1695, 3552, 0, 3565, 1697, 1695, 3563, 1699, 1727,
655 : 1730, 3562, 1716, 1742, 3536, 3534, 3541, 3557, 1730, 3539,
656 : 3538, 3528, 3552, 1746, 3526, 3524, 1757, 3548, 1747, 3565,
657 : 3559, 1760, 8966, 3544, 1757, 3540, 1763, 3538, 1768, 3534,
658 : 1769, 3530, 1776, 3528, 1780, 3523, 1792, 3519, 1799, 3502,
659 : 1803, 3501, 1809, 3484, 1813, 3480, 1815, 3478, 1822, 3475,
660 : 1826, 3473, 1832, 3457, 1836, 3456, 1845, 3452, 1849, 3438,
661 : 1853, 3434, 1855, 3433, 1859, 3429, 1866, 3411, 1872, 3406,
662 : 1876, 3390, 1882, 3388, 1886, 3385, 1893, 3383, 1895, 3367,
663 : 1899, 3362, 1903, 3344, 1905, 3343, 1912, 3339, 1916, 3338,
664 :
665 : 1922, 3335, 1926, 3321, 1932, 3317, 1939, 3316, 1943, 3300,
666 : 1945, 3298, 1949, 3293, 1953, 3289, 1962, 3272, 1966, 3271,
667 : 1972, 3254, 1976, 3250, 1983, 3248, 1985, 3245, 1989, 3243,
668 : 1993, 3227, 1995, 3226, 1999, 3222, 2006, 3208, 2012, 3204,
669 : 2016, 3203, 2022, 3199, 2029, 3181, 2033, 3176, 2035, 3160,
670 : 2039, 3158, 2043, 3155, 2045, 3153, 2052, 3137, 2056, 3132,
671 : 2062, 3114, 2066, 3113, 2075, 3109, 2079, 3108, 2083, 3105,
672 : 2085, 3091, 2089, 3087, 2096, 3086, 2102, 3070, 2106, 3068,
673 : 2112, 3063, 2116, 3059, 2123, 3042, 2125, 3041, 2129, 3024,
674 : 2133, 3020, 2135, 3018, 2142, 3015, 2146, 3013, 2152, 2997,
675 :
676 : 2156, 2996, 2162, 2992, 2169, 2978, 2173, 2974, 2175, 2973,
677 : 2179, 2969, 2183, 2951, 2192, 2946, 2196, 2930, 2202, 2928,
678 : 2206, 2925, 2213, 2923, 2215, 2907, 2219, 2902, 2223, 2884,
679 : 2225, 2883, 2229, 2879, 2236, 2878, 2242, 2875, 2246, 2861,
680 : 2252, 2857, 2259, 2856, 2263, 2840, 2265, 2838, 2269, 2833,
681 : 2273, 2829, 2275, 2812, 2282, 2811, 2286, 2794, 2292, 2790,
682 : 2296, 2788, 2305, 2785, 2309, 2783, 2313, 2767, 2315, 2766,
683 : 2319, 2762, 2326, 2748, 2332, 2744, 2336, 2743, 2342, 2739,
684 : 2346, 2721, 2353, 2716, 2355, 2700, 2359, 2698, 2363, 2695,
685 : 2365, 2693, 2372, 2677, 2376, 2672, 2382, 2654, 2386, 2653,
686 :
687 : 2392, 2649, 2399, 2648, 2403, 2645, 2405, 2631, 2409, 2627,
688 : 2413, 2626, 2422, 54, 2426, 92, 2432, 414, 2436, 427,
689 : 2443, 472, 2445, 494, 2449, 587, 2453, 617, 2455, 906,
690 : 2459, 1013, 2466, 1016, 2472, 1018, 2476, 1022, 2482, 1030,
691 : 2489, 1050, 2493, 1056, 2495, 1099, 2499, 1106, 2503, 1109,
692 : 2505, 1130, 2512, 1183, 2516, 1201, 2522, 1202, 2526, 1214,
693 : 2535, 1219, 2539, 1235, 2543, 1242, 2545, 1247, 2549, 1250,
694 : 2556, 1252, 2562, 1360, 2566, 1362, 2572, 1363, 2576, 1364,
695 : 2583, 1365, 2585, 1437, 2589, 1438, 2593, 1439, 2595, 1440,
696 : 2602, 1441, 2606, 1442, 2612, 1443, 2616, 1444, 2622, 1459,
697 :
698 : 2629, 1491, 2633, 1492, 2635, 1493, 2639, 1494, 2643, 1495,
699 : 2652, 1497, 2656, 1498, 2662, 1539, 2666, 1541, 2673, 1542,
700 : 2675, 1550, 2679, 1554, 2683, 1560, 2685, 1561, 2689, 1564,
701 : 2696, 1568, 2702, 1576, 2706, 1577, 2712, 1584, 2719, 1585,
702 : 2723, 1589, 2725, 1591, 2729, 1592, 2733, 1593, 2735, 1595,
703 : 2742, 1596, 2746, 1598, 2752, 1599, 2756, 1600, 2765, 1602,
704 : 2769, 1603, 2773, 1604, 2775, 1605, 2779, 1606, 2786, 1607,
705 : 2792, 1610, 2796, 1641, 2802, 1643, 2806, 1651, 2813, 1652,
706 : 2815, 1654, 2819, 1670, 2823, 1672, 2825, 1677, 2832, 1678,
707 : 2836, 1688, 2842, 1690, 2846, 1694, 2852, 1703, 2859, 1711,
708 :
709 : 2863, 1713, 2865, 1718, 2869, 1726, 2873, 1734, 2882, 1741,
710 : 2886, 1743, 2892, 1745, 2896, 1751, 2903, 1752, 2905, 1756,
711 : 2909, 1764, 2913, 1770, 2915, 1773, 2919, 1778, 2926, 1781,
712 : 2932, 1782, 2936, 1786, 2942, 1787, 2949, 1789, 2953, 1790,
713 : 2955, 1793, 2959, 1801, 2963, 1805, 2965, 1810, 2972, 1814,
714 : 2976, 1819, 2982, 1823, 2986, 1824, 2995, 1828, 2999, 1833,
715 : 3003, 1842, 3005, 1846, 3009, 1847, 3016, 1863, 3022, 1865,
716 : 3026, 1868, 3032, 1870, 3036, 1874, 3043, 1891, 3045, 1892,
717 : 3049, 1909, 3053, 1913, 3055, 1918, 3062, 1920, 3066, 1936,
718 : 3072, 1937, 3076, 1941, 3082, 1955, 3089, 1958, 3093, 1959,
719 :
720 : 3095, 1963, 3099, 1964, 3103, 1982, 3112, 1987, 3116, 2003,
721 : 3122, 2005, 3126, 2008, 3133, 2010, 3135, 2026, 3139, 2031,
722 : 3143, 2049, 3145, 2053, 3149, 2054, 3156, 2058, 3162, 2072,
723 : 3166, 2076, 3172, 2077, 3179, 2093, 3183, 2095, 3185, 2098,
724 : 3189, 2100, 3193, 2104, 3195, 2121, 3202, 2122, 3206, 2139,
725 : 3212, 2143, 3216, 2148, 3225, 2150, 3229, 2166, 3233, 2167,
726 : 3235, 2171, 3239, 2185, 3246, 2188, 3252, 2189, 3256, 2193,
727 : 3262, 2194, 3266, 2212, 3273, 2217, 3275, 2233, 3279, 2235,
728 : 3283, 2238, 3285, 2240, 3292, 2256, 3296, 2261, 3302, 2279,
729 : 3306, 2283, 3312, 2284, 3319, 2288, 3323, 2302, 3325, 2306,
730 :
731 : 3329, 2307, 3333, 2323, 3342, 2325, 3346, 2328, 3352, 2330,
732 : 3356, 2334, 3363, 2351, 3365, 2352, 3369, 2369, 3373, 2373,
733 : 3375, 2378, 3379, 2380, 3386, 2396, 3392, 2397, 3396, 2401,
734 : 3402, 2415, 3409, 2418, 3413, 2419, 3415, 2423, 3419, 2424,
735 : 3423, 2442, 3425, 2447, 3432, 2463, 3436, 2465, 3442, 2468,
736 : 3446, 2470, 3455, 2486, 3459, 2491, 3463, 2509, 3465, 2513,
737 : 3469, 2514, 3476, 2518, 3482, 2532, 3486, 2536, 3492, 2537,
738 : 3496, 2553, 3503, 2555, 3505, 2558, 3509, 2560, 3513, 2564,
739 : 3515, 2581, 3522, 2582, 3526, 2599, 3532, 2603, 3536, 8966,
740 : 3542, 8966, 3594, 3606, 3618, 3630, 3642, 3654, 3666, 3678,
741 :
742 : 3690, 2622, 3702, 3708, 3718, 3730, 3740, 3744, 3748, 3758,
743 : 3770, 3782, 3794, 3799, 3809, 3815, 3825, 3836, 3847, 3858,
744 : 3869, 3879, 3890, 3902, 3912, 2624, 3922, 3934, 3946, 3958,
745 : 3970, 3982, 3994, 4006, 4018, 4030, 4042, 4054, 4066, 4078,
746 : 4090, 4102, 4114, 4126, 4138, 4150, 4162, 4174, 4186, 4198,
747 : 4210, 4222, 4234, 4246, 4258, 4270, 4282, 4294, 4306, 4318,
748 : 4330, 4342, 4354, 4366, 4378, 4390, 4402, 4414, 4426, 4438,
749 : 4450, 4462, 4474, 4486, 4498, 4510, 4522, 4534, 4546, 4558,
750 : 4570, 4582, 4594, 4606, 4618, 4630, 4642, 4654, 4666, 4678,
751 : 4690, 4702, 4714, 4726, 4738, 4750, 4762, 4774, 4786, 4798,
752 :
753 : 4810, 4822, 4834, 4846, 4858, 4870, 4882, 4894, 4906, 4918,
754 : 4930, 4942, 4954, 4966, 4978, 4990, 5002, 5014, 5026, 5038,
755 : 5050, 5062, 5074, 5086, 5098, 5110, 5122, 5134, 5146, 5158,
756 : 5170, 5182, 5194, 5206, 5218, 5230, 5242, 5254, 5266, 5278,
757 : 5290, 5302, 5314, 5326, 5338, 5350, 5362, 5374, 5386, 5398,
758 : 5410, 5422, 5434, 5446, 5458, 5470, 5482, 5494, 5506, 5518,
759 : 5530, 5542, 5554, 5566, 5578, 5590, 5602, 5614, 5626, 5638,
760 : 5650, 5662, 5674, 5686, 5698, 5710, 5722, 5734, 5746, 5758,
761 : 5770, 5782, 5794, 5806, 5818, 5830, 5842, 5854, 5866, 5878,
762 : 5890, 5902, 5914, 5926, 5938, 5950, 5962, 5974, 5986, 5998,
763 :
764 : 6010, 6022, 6034, 6046, 6058, 6070, 6082, 6094, 6106, 6118,
765 : 6130, 6142, 6154, 6166, 6178, 6190, 6202, 6214, 6226, 6238,
766 : 6250, 6262, 6274, 6286, 6298, 6310, 6322, 6334, 6346, 6358,
767 : 6370, 6382, 6394, 6406, 6418, 6430, 6442, 6454, 6466, 6478,
768 : 6490, 6502, 6514, 6526, 6538, 6550, 6562, 6574, 6586, 6598,
769 : 6610, 6622, 6634, 6646, 6658, 6670, 6682, 6694, 6706, 6718,
770 : 6730, 6742, 6754, 6766, 6778, 6790, 6802, 6814, 6826, 6838,
771 : 6850, 6862, 6874, 6886, 6898, 6910, 6922, 6934, 6946, 6958,
772 : 6970, 6982, 6994, 7006, 7018, 7030, 7042, 7054, 7066, 7078,
773 : 7090, 7102, 7114, 7126, 7138, 7150, 7162, 7174, 7186, 7198,
774 :
775 : 7210, 7222, 7234, 7246, 7258, 7270, 7282, 7294, 7306, 7318,
776 : 7330, 7342, 7354, 7366, 7378, 7390, 7402, 7414, 7426, 7438,
777 : 7450, 7462, 7474, 7486, 7498, 7510, 7522, 7534, 7546, 7558,
778 : 7570, 7582, 7594, 7606, 7618, 7630, 7642, 7654, 7666, 7678,
779 : 7690, 7702, 7714, 7726, 7738, 7750, 7762, 7774, 7786, 7798,
780 : 7810, 7822, 7834, 7846, 7858, 7870, 7882, 7894, 7906, 7918,
781 : 7930, 7942, 7954, 7966, 7978, 7990, 8002, 8014, 8026, 8038,
782 : 8050, 8062, 8074, 8086, 8098, 8110, 8122, 8134, 8146, 8158,
783 : 8170, 8182, 8194, 8206, 8218, 8230, 8242, 8254, 8266, 8278,
784 : 8290, 8302, 8314, 8326, 8338, 8350, 8362, 8374, 8386, 8398,
785 :
786 : 8410, 8422, 8434, 8446, 8458, 8470, 8482, 8494, 8506, 8518,
787 : 8530, 8542, 8554, 8566, 8578, 8590, 8602, 8614, 8626, 8638,
788 : 8650
789 : } ;
790 :
791 : static yyconst short int yy_def[1922] =
792 : { 0,
793 : 1493, 1493, 1492, 3, 1494, 1494, 1495, 1495, 1492, 9,
794 : 1492, 11, 1496, 1496, 1492, 15, 1492, 17, 1492, 19,
795 : 1497, 1497, 1497, 1497, 1498, 1498, 1492, 1499, 1500, 1492,
796 : 1492, 1492, 1501, 1492, 1502, 1492, 1492, 1503, 1492, 1492,
797 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
798 : 1492, 1492, 1492, 1504, 1492, 1504, 1504, 1504, 1504, 1504,
799 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
800 : 1504, 1504, 1504, 1504, 1504, 1492, 1492, 1492, 1505, 1492,
801 : 1492, 1505, 1505, 1506, 1492, 1506, 1492, 1506, 1492, 1492,
802 : 90, 1492, 89, 1492, 93, 1492, 1507, 1492, 1492, 1492,
803 :
804 : 1508, 1492, 1509, 1492, 1492, 1502, 1492, 1492, 1492, 1510,
805 : 1492, 1492, 1511, 1492, 1492, 1492, 1492, 1492, 1512, 1499,
806 : 1499, 1492, 1492, 1492, 1492, 1492, 1501, 1492, 1513, 1501,
807 : 1501, 1514, 1492, 1492, 1492, 1492, 1503, 1492, 1503, 39,
808 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
809 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
810 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
811 : 1492, 1492, 1492, 1492, 1492, 1504, 1504, 1504, 1504, 1504,
812 : 1504, 1501, 1503, 1492, 1504, 1504, 1504, 1504, 1504, 1504,
813 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
814 :
815 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
816 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
817 : 1492, 1492, 1505, 1515, 1505, 1505, 1505, 1492, 1515, 1515,
818 : 1516, 1492, 1492, 1505, 1506, 1517, 1506, 1506, 1506, 1517,
819 : 1517, 1492, 1506, 89, 90, 90, 1518, 93, 94, 93,
820 : 89, 1519, 90, 1492, 253, 90, 89, 1518, 1518, 1518,
821 : 94, 89, 93, 94, 93, 93, 1492, 1507, 1492, 1492,
822 : 1508, 1509, 1492, 1492, 1492, 1510, 1492, 1492, 1511, 1492,
823 : 1492, 1492, 1520, 1512, 1492, 1492, 1492, 1492, 1501, 1513,
824 : 1514, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
825 :
826 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1521,
827 : 1492, 1492, 1492, 1492, 1492, 1504, 1504, 1504, 1504, 1504,
828 : 1504, 1504, 1504, 1492, 1504, 1504, 1504, 1504, 1504, 1504,
829 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
830 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
831 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
832 : 1504, 1504, 1504, 1504, 1504, 1515, 1492, 1516, 1492, 1505,
833 : 1517, 1506, 89, 1519, 1519, 89, 1492, 1522, 254, 254,
834 : 1523, 1523, 253, 1518, 1518, 259, 93, 93, 1492, 1524,
835 : 1520, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
836 :
837 : 1492, 1492, 1492, 1492, 1492, 1521, 1525, 1504, 1504, 1504,
838 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
839 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
840 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
841 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
842 : 1504, 1504, 1504, 1504, 1504, 1504, 1526, 1519, 89, 1522,
843 : 1522, 89, 1523, 253, 1518, 93, 1527, 1524, 1492, 1492,
844 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
845 : 1492, 1492, 1492, 1492, 1492, 1525, 1504, 1504, 1504, 1504,
846 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
847 :
848 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
849 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
850 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
851 : 1492, 1522, 1523, 1528, 1527, 1492, 1492, 1492, 1492, 1492,
852 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
853 : 1492, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
854 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
855 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
856 : 1504, 1529, 1528, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
857 : 1492, 1492, 1492, 1492, 1504, 1504, 1504, 1504, 1504, 1504,
858 :
859 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
860 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1530, 1529,
861 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
862 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
863 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1531,
864 : 1530, 1492, 1492, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
865 : 1504, 1504, 1504, 1504, 1504, 1504, 1532, 1531, 1492, 1504,
866 : 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1533, 1532,
867 : 1492, 1504, 1504, 1504, 1504, 1534, 1533, 1492, 1504, 1504,
868 : 1504, 1504, 1535, 1534, 1492, 1504, 1536, 1535, 1492, 1504,
869 :
870 : 1537, 1536, 1492, 1504, 1538, 1537, 1492, 1539, 1538, 1492,
871 : 1492, 1540, 1539, 1492, 1492, 1492, 1492, 1541, 1540, 1492,
872 : 1492, 1492, 1542, 1541, 1492, 1492, 1492, 1543, 1542, 1492,
873 : 1492, 1492, 1492, 1544, 1543, 1545, 1544, 1546, 1545, 1547,
874 : 1546, 1548, 1547, 1549, 1548, 1550, 1549, 1551, 1550, 1552,
875 : 1551, 1553, 1552, 1554, 1553, 1555, 1554, 1556, 1555, 1557,
876 : 1556, 1558, 1557, 1559, 1558, 1560, 1559, 1561, 1560, 1562,
877 : 1561, 1563, 1562, 1564, 1563, 1565, 1564, 1566, 1565, 1567,
878 : 1566, 1568, 1567, 1569, 1568, 1570, 1569, 1571, 1570, 1572,
879 : 1571, 1573, 1572, 1574, 1573, 1575, 1574, 1576, 1575, 1577,
880 :
881 : 1576, 1578, 1577, 1579, 1578, 1580, 1579, 1581, 1580, 1582,
882 : 1581, 1583, 1582, 1584, 1583, 1585, 1584, 1586, 1585, 1587,
883 : 1586, 1588, 1587, 1589, 1588, 1590, 1589, 1591, 1590, 1592,
884 : 1591, 1593, 1592, 1594, 1593, 1595, 1594, 1596, 1595, 1597,
885 : 1596, 1598, 1597, 1599, 1598, 1600, 1599, 1601, 1600, 1602,
886 : 1601, 1603, 1602, 1604, 1603, 1605, 1604, 1606, 1605, 1607,
887 : 1606, 1608, 1607, 1609, 1608, 1610, 1609, 1611, 1610, 1612,
888 : 1611, 1613, 1612, 1614, 1613, 1615, 1614, 1616, 1615, 1617,
889 : 1616, 1618, 1617, 1619, 1618, 1620, 1619, 1621, 1620, 1622,
890 : 1621, 1623, 1622, 1624, 1623, 1625, 1624, 1626, 1625, 1627,
891 :
892 : 1626, 1628, 1627, 1629, 1628, 1630, 1629, 1631, 1630, 1632,
893 : 1631, 1633, 1632, 1634, 1633, 1635, 1634, 1636, 1635, 1637,
894 : 1636, 1638, 1637, 1639, 1638, 1640, 1639, 1641, 1640, 1642,
895 : 1641, 1643, 1642, 1644, 1643, 1645, 1644, 1646, 1645, 1647,
896 : 1646, 1648, 1647, 1649, 1648, 1650, 1649, 1651, 1650, 1652,
897 : 1651, 1653, 1652, 1654, 1653, 1655, 1654, 1656, 1655, 1657,
898 : 1656, 1658, 1657, 1659, 1658, 1660, 1659, 1661, 1660, 1662,
899 : 1661, 1663, 1662, 1664, 1663, 1665, 1664, 1666, 1665, 1667,
900 : 1666, 1668, 1667, 1669, 1668, 1670, 1669, 1671, 1670, 1672,
901 : 1671, 1673, 1672, 1674, 1673, 1675, 1674, 1676, 1675, 1677,
902 :
903 : 1676, 1678, 1677, 1679, 1678, 1680, 1679, 1681, 1680, 1682,
904 : 1681, 1683, 1682, 1684, 1683, 1685, 1684, 1686, 1685, 1687,
905 : 1686, 1688, 1687, 1689, 1688, 1690, 1689, 1691, 1690, 1692,
906 : 1691, 1693, 1692, 1694, 1693, 1695, 1694, 1696, 1695, 1697,
907 : 1696, 1698, 1697, 1699, 1698, 1700, 1699, 1701, 1700, 1702,
908 : 1701, 1703, 1702, 1704, 1703, 1705, 1704, 1706, 1705, 1707,
909 : 1706, 1708, 1707, 1709, 1708, 1710, 1709, 1711, 1710, 1712,
910 : 1711, 1713, 1712, 1714, 1713, 1715, 1714, 1716, 1715, 1717,
911 : 1716, 1718, 1717, 1719, 1718, 1720, 1719, 1721, 1720, 1722,
912 : 1721, 1723, 1722, 1724, 1723, 1725, 1724, 1726, 1725, 1727,
913 :
914 : 1726, 1728, 1727, 1729, 1728, 1730, 1729, 1731, 1730, 1732,
915 : 1731, 1733, 1732, 1734, 1733, 1735, 1734, 1736, 1735, 1737,
916 : 1736, 1738, 1737, 1739, 1738, 1740, 1739, 1741, 1740, 1742,
917 : 1741, 1743, 1742, 1744, 1743, 1745, 1744, 1746, 1745, 1747,
918 : 1746, 1748, 1747, 1749, 1748, 1750, 1749, 1751, 1750, 1752,
919 : 1751, 1753, 1752, 1754, 1753, 1755, 1754, 1756, 1755, 1757,
920 : 1756, 1758, 1757, 1759, 1758, 1760, 1759, 1761, 1760, 1762,
921 : 1761, 1763, 1762, 1764, 1763, 1765, 1764, 1766, 1765, 1767,
922 : 1766, 1768, 1767, 1769, 1768, 1770, 1769, 1771, 1770, 1772,
923 : 1771, 1773, 1772, 1774, 1773, 1775, 1774, 1776, 1775, 1777,
924 :
925 : 1776, 1778, 1777, 1779, 1778, 1780, 1779, 1781, 1780, 1782,
926 : 1781, 1783, 1782, 1784, 1783, 1785, 1784, 1786, 1785, 1787,
927 : 1786, 1788, 1787, 1789, 1788, 1790, 1789, 1791, 1790, 1792,
928 : 1791, 1793, 1792, 1794, 1793, 1795, 1794, 1796, 1795, 1797,
929 : 1796, 1798, 1797, 1799, 1798, 1800, 1799, 1801, 1800, 1802,
930 : 1801, 1803, 1802, 1804, 1803, 1805, 1804, 1806, 1805, 1807,
931 : 1806, 1808, 1807, 1809, 1808, 1810, 1809, 1811, 1810, 1812,
932 : 1811, 1813, 1812, 1814, 1813, 1815, 1814, 1816, 1815, 1817,
933 : 1816, 1818, 1817, 1819, 1818, 1820, 1819, 1821, 1820, 1822,
934 : 1821, 1823, 1822, 1824, 1823, 1825, 1824, 1826, 1825, 1827,
935 :
936 : 1826, 1828, 1827, 1829, 1828, 1830, 1829, 1831, 1830, 1832,
937 : 1831, 1833, 1832, 1834, 1833, 1835, 1834, 1836, 1835, 1837,
938 : 1836, 1838, 1837, 1839, 1838, 1840, 1839, 1841, 1840, 1842,
939 : 1841, 1843, 1842, 1844, 1843, 1845, 1844, 1846, 1845, 1847,
940 : 1846, 1848, 1847, 1849, 1848, 1850, 1849, 1851, 1850, 1852,
941 : 1851, 1853, 1852, 1854, 1853, 1855, 1854, 1856, 1855, 1857,
942 : 1856, 1858, 1857, 1859, 1858, 1860, 1859, 1861, 1860, 1862,
943 : 1861, 1863, 1862, 1864, 1863, 1865, 1864, 1866, 1865, 1867,
944 : 1866, 1868, 1867, 1869, 1868, 1870, 1869, 1871, 1870, 1872,
945 : 1871, 1873, 1872, 1874, 1873, 1875, 1874, 1876, 1875, 1877,
946 :
947 : 1876, 1878, 1877, 1879, 1878, 1880, 1879, 1881, 1880, 1882,
948 : 1881, 1883, 1882, 1884, 1883, 1885, 1884, 1886, 1885, 1887,
949 : 1886, 1888, 1887, 1889, 1888, 1890, 1889, 1891, 1890, 1892,
950 : 1891, 1893, 1892, 1894, 1893, 1895, 1894, 1896, 1895, 1897,
951 : 1896, 1898, 1897, 1899, 1898, 1900, 1899, 1901, 1900, 1902,
952 : 1901, 1903, 1902, 1904, 1903, 1905, 1904, 1906, 1905, 1907,
953 : 1906, 1908, 1907, 1909, 1908, 1910, 1909, 1911, 1910, 1912,
954 : 1911, 1913, 1912, 1914, 1913, 1915, 1914, 1916, 1915, 1917,
955 : 1916, 1918, 1917, 1919, 1918, 1920, 1919, 1921, 1920, 1492,
956 : 1921, 0, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
957 :
958 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
959 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
960 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
961 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
962 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
963 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
964 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
965 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
966 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
967 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
968 :
969 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
970 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
971 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
972 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
973 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
974 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
975 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
976 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
977 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
978 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
979 :
980 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
981 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
982 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
983 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
984 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
985 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
986 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
987 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
988 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
989 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
990 :
991 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
992 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
993 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
994 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
995 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
996 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
997 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
998 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
999 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1000 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1001 :
1002 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1003 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1004 : 1492
1005 : } ;
1006 :
1007 : static yyconst short int yy_nxt[9029] =
1008 : { 0,
1009 : 30, 31, 31, 31, 32, 33, 34, 35, 36, 37,
1010 : 38, 39, 40, 41, 42, 40, 43, 44, 45, 46,
1011 : 47, 48, 40, 49, 50, 51, 52, 40, 30, 40,
1012 : 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1013 : 63, 64, 63, 63, 65, 63, 66, 67, 68, 63,
1014 : 69, 70, 71, 72, 73, 74, 75, 63, 63, 76,
1015 : 77, 78, 80, 80, 81, 81, 85, 85, 133, 134,
1016 : 114, 115, 114, 115, 135, 153, 116, 1017, 116, 125,
1017 : 125, 125, 138, 154, 155, 82, 82, 86, 86, 136,
1018 : 138, 87, 87, 117, 118, 117, 118, 151, 156, 156,
1019 :
1020 : 139, 158, 209, 157, 166, 210, 159, 152, 139, 167,
1021 : 168, 169, 160, 170, 171, 1019, 83, 83, 88, 88,
1022 : 89, 89, 90, 91, 89, 89, 89, 92, 89, 89,
1023 : 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
1024 : 89, 89, 89, 89, 89, 89, 89, 89, 93, 89,
1025 : 89, 94, 89, 94, 94, 94, 94, 94, 94, 94,
1026 : 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
1027 : 94, 94, 94, 94, 94, 94, 94, 94, 94, 95,
1028 : 89, 89, 96, 96, 96, 96, 96, 96, 96, 96,
1029 : 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
1030 :
1031 : 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
1032 : 96, 96, 96, 97, 96, 97, 97, 97, 97, 97,
1033 : 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
1034 : 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
1035 : 97, 96, 96, 96, 99, 99, 99, 99, 99, 99,
1036 : 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1037 : 100, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1038 : 99, 99, 99, 99, 99, 101, 99, 101, 101, 101,
1039 : 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
1040 : 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
1041 :
1042 : 101, 101, 101, 99, 99, 99, 102, 102, 102, 102,
1043 : 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
1044 : 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
1045 : 102, 102, 102, 102, 102, 102, 102, 103, 102, 103,
1046 : 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
1047 : 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
1048 : 103, 103, 103, 103, 103, 102, 102, 102, 30, 104,
1049 : 104, 104, 105, 105, 104, 106, 105, 105, 104, 105,
1050 : 105, 105, 105, 105, 105, 105, 105, 107, 108, 105,
1051 : 105, 105, 105, 105, 105, 105, 104, 109, 105, 63,
1052 :
1053 : 105, 63, 63, 63, 63, 63, 63, 63, 63, 63,
1054 : 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
1055 : 63, 63, 63, 63, 63, 63, 63, 105, 105, 105,
1056 : 122, 128, 161, 129, 162, 162, 161, 1021, 162, 162,
1057 : 172, 173, 212, 178, 182, 213, 216, 186, 123, 183,
1058 : 1023, 217, 163, 189, 130, 179, 163, 190, 187, 180,
1059 : 181, 188, 184, 191, 198, 214, 221, 273, 273, 192,
1060 : 199, 164, 224, 124, 202, 215, 200, 236, 193, 194,
1061 : 195, 203, 204, 267, 267, 131, 140, 205, 196, 185,
1062 : 197, 275, 275, 225, 1492, 1025, 285, 328, 237, 125,
1063 :
1064 : 125, 125, 222, 269, 274, 292, 293, 280, 280, 1492,
1065 : 295, 329, 1492, 280, 310, 311, 296, 1027, 141, 142,
1066 : 286, 143, 331, 144, 226, 332, 145, 314, 315, 238,
1067 : 280, 280, 146, 326, 327, 147, 148, 1492, 149, 227,
1068 : 227, 227, 227, 227, 228, 227, 229, 227, 227, 227,
1069 : 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1070 : 227, 227, 227, 227, 227, 227, 227, 230, 227, 227,
1071 : 231, 227, 231, 231, 231, 231, 231, 231, 231, 231,
1072 : 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
1073 : 231, 231, 231, 231, 231, 231, 231, 231, 232, 227,
1074 :
1075 : 227, 228, 233, 233, 138, 128, 339, 129, 156, 156,
1076 : 1029, 305, 305, 161, 352, 162, 162, 340, 355, 409,
1077 : 353, 356, 139, 237, 225, 346, 163, 242, 290, 163,
1078 : 306, 410, 306, 163, 316, 307, 307, 317, 367, 318,
1079 : 1031, 347, 348, 319, 320, 267, 267, 273, 273, 369,
1080 : 275, 275, 307, 307, 243, 234, 239, 239, 239, 239,
1081 : 239, 239, 239, 240, 239, 239, 239, 239, 239, 239,
1082 : 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
1083 : 239, 239, 239, 239, 241, 239, 239, 231, 242, 231,
1084 : 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
1085 :
1086 : 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
1087 : 231, 231, 231, 231, 231, 232, 239, 239, 244, 244,
1088 : 245, 246, 244, 244, 244, 247, 244, 244, 244, 244,
1089 : 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
1090 : 244, 244, 244, 244, 244, 244, 248, 244, 244, 249,
1091 : 244, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1092 : 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1093 : 249, 249, 249, 249, 249, 249, 249, 250, 244, 244,
1094 : 251, 251, 245, 246, 251, 251, 251, 252, 251, 251,
1095 : 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
1096 :
1097 : 251, 251, 251, 251, 251, 251, 251, 251, 253, 251,
1098 : 251, 254, 251, 254, 254, 254, 254, 254, 254, 254,
1099 : 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
1100 : 254, 254, 254, 254, 254, 254, 254, 254, 254, 255,
1101 : 251, 251, 257, 257, 245, 246, 257, 257, 257, 258,
1102 : 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
1103 : 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
1104 : 259, 257, 257, 231, 257, 231, 231, 231, 231, 231,
1105 : 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
1106 : 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
1107 :
1108 : 231, 232, 257, 257, 244, 308, 308, 267, 267, 404,
1109 : 404, 404, 307, 307, 421, 422, 245, 246, 446, 308,
1110 : 308, 308, 308, 308, 308, 244, 447, 269, 244, 1033,
1111 : 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
1112 : 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
1113 : 244, 244, 244, 244, 244, 244, 244, 244, 244, 245,
1114 : 246, 244, 244, 244, 260, 244, 244, 244, 244, 244,
1115 : 244, 244, 244, 244, 244, 244, 261, 261, 244, 262,
1116 : 244, 244, 244, 244, 244, 263, 244, 244, 264, 244,
1117 : 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
1118 :
1119 : 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
1120 : 264, 264, 264, 264, 264, 264, 265, 244, 244, 233,
1121 : 128, 128, 129, 1492, 128, 224, 129, 228, 228, 229,
1122 : 1492, 224, 228, 240, 366, 371, 1035, 245, 246, 1037,
1123 : 248, 1039, 258, 130, 130, 1041, 225, 130, 305, 305,
1124 : 230, 225, 225, 1043, 241, 230, 241, 228, 242, 366,
1125 : 242, 367, 228, 259, 1492, 476, 163, 404, 404, 404,
1126 : 547, 266, 369, 1045, 131, 131, 477, 226, 131, 1047,
1127 : 230, 548, 234, 226, 227, 225, 227, 227, 227, 227,
1128 : 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1129 :
1130 : 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1131 : 227, 227, 227, 236, 1492, 236, 370, 1492, 245, 246,
1132 : 245, 246, 1049, 374, 371, 384, 245, 246, 428, 1051,
1133 : 429, 385, 1053, 430, 237, 237, 237, 585, 237, 242,
1134 : 389, 389, 242, 431, 375, 241, 259, 432, 586, 242,
1135 : 484, 485, 386, 1055, 389, 389, 389, 389, 389, 389,
1136 : 536, 536, 537, 484, 485, 238, 243, 238, 239, 372,
1137 : 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
1138 : 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
1139 : 239, 239, 239, 239, 239, 239, 239, 1492, 1492, 1492,
1140 :
1141 : 260, 1492, 1492, 280, 280, 128, 1057, 129, 228, 280,
1142 : 1492, 1492, 1492, 1492, 245, 246, 1492, 1492, 248, 458,
1143 : 253, 263, 263, 248, 1059, 1061, 280, 280, 130, 308,
1144 : 308, 225, 237, 253, 245, 246, 242, 1063, 263, 460,
1145 : 375, 1492, 1065, 308, 308, 308, 308, 308, 308, 266,
1146 : 251, 383, 265, 387, 388, 541, 547, 592, 1067, 131,
1147 : 461, 585, 370, 372, 464, 1069, 542, 548, 593, 466,
1148 : 1071, 251, 586, 1073, 251, 1075, 251, 251, 251, 251,
1149 : 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
1150 : 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
1151 :
1152 : 251, 251, 251, 376, 376, 377, 377, 376, 376, 376,
1153 : 378, 376, 376, 376, 376, 376, 376, 376, 376, 376,
1154 : 376, 376, 379, 379, 376, 380, 376, 376, 376, 376,
1155 : 376, 381, 376, 376, 379, 376, 379, 379, 379, 379,
1156 : 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
1157 : 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
1158 : 379, 379, 382, 376, 376, 245, 246, 245, 246, 245,
1159 : 246, 622, 1492, 626, 384, 621, 621, 621, 628, 592,
1160 : 622, 541, 623, 1077, 627, 1079, 1081, 1083, 1085, 629,
1161 : 593, 623, 542, 381, 257, 259, 257, 257, 257, 257,
1162 :
1163 : 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
1164 : 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
1165 : 257, 257, 257, 289, 463, 289, 289, 289, 289, 289,
1166 : 289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
1167 : 289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
1168 : 289, 289, 245, 246, 245, 246, 389, 389, 476, 465,
1169 : 1087, 1089, 1091, 1093, 1095, 1097, 1099, 1101, 626, 477,
1170 : 389, 389, 389, 389, 389, 389, 621, 621, 621, 627,
1171 : 386, 373, 1103, 373, 373, 373, 373, 373, 373, 373,
1172 : 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
1173 :
1174 : 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
1175 : 376, 376, 628, 376, 1105, 1107, 1109, 1111, 1113, 652,
1176 : 1115, 1117, 376, 629, 376, 376, 376, 376, 376, 376,
1177 : 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
1178 : 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
1179 : 1492, 1492, 476, 245, 246, 245, 246, 1492, 458, 541,
1180 : 532, 1492, 1119, 477, 1121, 1123, 1492, 245, 246, 1492,
1181 : 542, 248, 1492, 1125, 1492, 245, 246, 1127, 253, 375,
1182 : 465, 461, 263, 1129, 1131, 245, 246, 1133, 478, 1492,
1183 : 532, 1135, 1492, 381, 1492, 543, 653, 653, 653, 1137,
1184 :
1185 : 1139, 386, 388, 245, 246, 245, 246, 1141, 1143, 464,
1186 : 1492, 461, 1145, 466, 1147, 1149, 1151, 1492, 1153, 1155,
1187 : 174, 1157, 1159, 1161, 533, 1163, 1165, 1167, 1169, 1171,
1188 : 1173, 381, 459, 1175, 459, 459, 459, 459, 459, 459,
1189 : 459, 459, 459, 459, 459, 459, 459, 459, 459, 459,
1190 : 459, 459, 459, 459, 459, 459, 459, 459, 459, 459,
1191 : 459, 1492, 533, 1492, 1177, 1492, 1179, 1492, 653, 653,
1192 : 653, 1492, 1492, 1492, 1181, 1183, 1492, 1185, 1492, 1492,
1193 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1194 : 1492, 1492, 174, 1187, 1492, 1189, 710, 710, 710, 1492,
1195 :
1196 : 1191, 1193, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1197 : 1492, 1195, 1492, 1197, 1492, 1492, 1492, 1199, 1492, 711,
1198 : 1492, 1492, 1492, 1492, 1492, 1492, 1201, 1492, 710, 710,
1199 : 710, 714, 714, 714, 1203, 715, 1205, 1492, 1492, 1492,
1200 : 716, 1207, 1492, 714, 714, 714, 1492, 715, 1492, 1209,
1201 : 1492, 711, 716, 1492, 1492, 1492, 1492, 1211, 732, 732,
1202 : 732, 732, 732, 732, 1213, 1492, 1215, 1492, 1217, 1492,
1203 : 1492, 1492, 1492, 1492, 1219, 1221, 1492, 1492, 717, 1223,
1204 : 1492, 1492, 733, 1492, 1492, 733, 1492, 1225, 1492, 1492,
1205 : 717, 1492, 1492, 1227, 1492, 1492, 1229, 1492, 1492, 1492,
1206 :
1207 : 1492, 1231, 1492, 1492, 1233, 1235, 1492, 1492, 1492, 1237,
1208 : 1239, 1492, 1241, 1243, 1492, 1492, 1245, 1492, 1492, 1492,
1209 : 1492, 1492, 1492, 1492, 1247, 1492, 1492, 1492, 1249, 1492,
1210 : 1492, 1492, 1492, 1251, 1492, 1492, 1492, 1253, 1492, 1492,
1211 : 1492, 1492, 1255, 1492, 1492, 1492, 1257, 1259, 1492, 1492,
1212 : 1492, 1261, 1492, 1492, 1492, 1492, 1263, 1492, 1492, 1492,
1213 : 1492, 1492, 1492, 1492, 1492, 1265, 1492, 1492, 1492, 1267,
1214 : 1269, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1215 : 1492, 1492, 1492, 1492, 1492, 1492, 1271, 1492, 1273, 1492,
1216 : 1492, 1275, 1492, 1277, 1492, 1492, 1492, 1279, 1492, 1492,
1217 :
1218 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1219 : 1492, 1492, 1492, 1492, 1281, 1283, 1492, 1492, 1492, 1492,
1220 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1221 : 1492, 1492, 1285, 1492, 1492, 1492, 1287, 1492, 1492, 1492,
1222 : 1492, 1289, 1492, 1291, 1492, 1492, 1492, 1492, 1492, 1492,
1223 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1293,
1224 : 1295, 1492, 1492, 1492, 1297, 1492, 1492, 1492, 1492, 1492,
1225 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1299, 1492,
1226 : 1492, 1301, 1303, 1492, 1492, 1492, 1305, 1307, 1492, 1492,
1227 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1228 :
1229 : 1492, 1492, 1492, 1492, 1492, 1309, 1492, 1492, 1492, 1492,
1230 : 1311, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1231 : 1492, 1492, 1492, 1492, 1492, 1492, 1313, 1492, 1315, 1492,
1232 : 1492, 1317, 1492, 1319, 1492, 1492, 1492, 1492, 1492, 1492,
1233 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1321,
1234 : 1492, 1492, 1492, 1492, 1323, 1492, 1492, 1492, 1492, 1492,
1235 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1236 : 1492, 1492, 1325, 1492, 1492, 1492, 1327, 1329, 1492, 1492,
1237 : 1492, 1331, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1238 : 1492, 1492, 1492, 1492, 1492, 1333, 1492, 1492, 1492, 1335,
1239 :
1240 : 1337, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1241 : 1492, 1492, 1492, 1492, 1492, 1492, 1339, 1492, 1341, 1492,
1242 : 1492, 1343, 1492, 1345, 1492, 1492, 1492, 1347, 1492, 1492,
1243 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1244 : 1492, 1492, 1492, 1492, 1349, 1351, 1492, 1492, 1492, 1492,
1245 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1246 : 1492, 1492, 1353, 1492, 1492, 1492, 1355, 1492, 1492, 1492,
1247 : 1492, 1357, 1492, 1359, 1492, 1492, 1492, 1492, 1492, 1492,
1248 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1361,
1249 : 1363, 1492, 1492, 1492, 1365, 1492, 1492, 1492, 1492, 1492,
1250 :
1251 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1367, 1492,
1252 : 1492, 1369, 1371, 1492, 1492, 1492, 1373, 1375, 1492, 1492,
1253 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1254 : 1492, 1492, 1492, 1492, 1492, 1377, 1492, 1492, 1492, 1492,
1255 : 1379, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1256 : 1492, 1492, 1492, 1492, 1492, 1492, 1381, 1492, 1383, 1492,
1257 : 1492, 1385, 1492, 1387, 1492, 1492, 1492, 1492, 1492, 1492,
1258 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1389,
1259 : 1492, 1492, 1492, 1492, 1391, 1492, 1492, 1492, 1492, 1492,
1260 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1261 :
1262 : 1492, 1492, 1393, 1492, 1492, 1492, 1395, 1397, 1492, 1492,
1263 : 1492, 1399, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1264 : 1492, 1492, 1492, 1492, 1492, 1401, 1492, 1492, 1492, 1403,
1265 : 1405, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1266 : 1492, 1492, 1492, 1492, 1492, 1492, 1407, 1492, 1409, 1492,
1267 : 1492, 1411, 1492, 1413, 1492, 1492, 1492, 1415, 1492, 1492,
1268 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1269 : 1492, 1492, 1492, 1492, 1417, 1419, 1492, 1492, 1492, 1492,
1270 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1271 : 1492, 1492, 1421, 1492, 1492, 1492, 1423, 1492, 1492, 1492,
1272 :
1273 : 1492, 1425, 1492, 1427, 1492, 1492, 1492, 1492, 1492, 1492,
1274 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1429,
1275 : 1431, 1492, 1492, 1492, 1433, 1492, 1492, 1492, 1492, 1492,
1276 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1435, 1492,
1277 : 1492, 1437, 1439, 1492, 1492, 1492, 1441, 1443, 1492, 1492,
1278 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1279 : 1492, 1492, 1492, 1492, 1492, 1445, 1492, 1492, 1492, 1492,
1280 : 1447, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1281 : 1492, 1492, 1492, 1492, 1492, 1492, 1449, 1492, 1451, 1492,
1282 : 1492, 1453, 1492, 1455, 1492, 1492, 1492, 1492, 1492, 1492,
1283 :
1284 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1457,
1285 : 1492, 1492, 1492, 1492, 1459, 1492, 1492, 1492, 1492, 1492,
1286 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1287 : 1492, 1492, 1461, 1492, 1492, 1492, 1463, 1465, 1492, 1492,
1288 : 1492, 1467, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1289 : 1492, 1492, 1492, 1492, 1492, 1469, 1492, 1492, 1492, 1471,
1290 : 1473, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1291 : 1492, 1492, 1492, 1492, 1492, 1492, 1475, 1492, 1477, 1492,
1292 : 1492, 1479, 1492, 1481, 1492, 1492, 1492, 1483, 1492, 1492,
1293 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1294 :
1295 : 1492, 1492, 1492, 1492, 1485, 1487, 1492, 1492, 1492, 1492,
1296 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1297 : 1492, 1492, 1489, 1492, 1492, 1492, 1491, 1492, 1492, 1492,
1298 : 1492, 132, 1492, 531, 1492, 1492, 1492, 1492, 1492, 1492,
1299 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1015,
1300 : 1013, 1492, 1492, 1492, 1011, 1492, 1492, 1492, 1492, 1492,
1301 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1009, 1492,
1302 : 1492, 1007, 1005, 1492, 1492, 1492, 1003, 1001, 1492, 1492,
1303 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1304 : 1492, 1492, 1492, 1492, 1492, 999, 1492, 1492, 1492, 1492,
1305 :
1306 : 997, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1307 : 1492, 1492, 1492, 1492, 1492, 1492, 995, 1492, 993, 1492,
1308 : 1492, 991, 1492, 989, 1492, 1492, 1492, 1492, 1492, 1492,
1309 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 987,
1310 : 1492, 1492, 1492, 1492, 985, 1492, 1492, 1492, 1492, 1492,
1311 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1312 : 1492, 1492, 983, 1492, 1492, 1492, 981, 979, 1492, 1492,
1313 : 1492, 977, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1314 : 1492, 1492, 1492, 1492, 1492, 975, 1492, 1492, 1492, 973,
1315 : 971, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1316 :
1317 : 1492, 1492, 1492, 1492, 1492, 1492, 969, 1492, 967, 1492,
1318 : 1492, 965, 1492, 963, 1492, 1492, 1492, 961, 1492, 1492,
1319 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1320 : 1492, 1492, 1492, 1492, 959, 957, 1492, 1492, 1492, 1492,
1321 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1322 : 1492, 1492, 955, 1492, 1492, 1492, 953, 1492, 1492, 1492,
1323 : 1492, 951, 1492, 949, 1492, 1492, 1492, 1492, 1492, 1492,
1324 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 947,
1325 : 945, 1492, 1492, 1492, 943, 1492, 1492, 1492, 1492, 1492,
1326 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 941, 1492,
1327 :
1328 : 1492, 939, 937, 1492, 1492, 1492, 935, 933, 1492, 1492,
1329 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1330 : 1492, 1492, 1492, 1492, 1492, 931, 1492, 1492, 1492, 1492,
1331 : 929, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1332 : 1492, 1492, 1492, 1492, 1492, 1492, 927, 1492, 925, 1492,
1333 : 1492, 923, 1492, 921, 1492, 1492, 1492, 1492, 1492, 1492,
1334 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 919,
1335 : 1492, 1492, 1492, 1492, 917, 1492, 1492, 1492, 1492, 1492,
1336 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1337 : 1492, 1492, 915, 1492, 1492, 1492, 913, 911, 1492, 1492,
1338 :
1339 : 1492, 909, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1340 : 1492, 1492, 1492, 1492, 1492, 907, 1492, 1492, 1492, 905,
1341 : 903, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1342 : 1492, 1492, 1492, 1492, 1492, 1492, 901, 1492, 899, 1492,
1343 : 1492, 897, 1492, 895, 1492, 1492, 1492, 893, 1492, 1492,
1344 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1345 : 1492, 1492, 1492, 1492, 891, 889, 1492, 1492, 1492, 1492,
1346 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1347 : 1492, 1492, 887, 1492, 1492, 1492, 885, 1492, 1492, 1492,
1348 : 1492, 883, 1492, 881, 1492, 1492, 1492, 1492, 1492, 1492,
1349 :
1350 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 879,
1351 : 877, 1492, 1492, 1492, 875, 1492, 1492, 1492, 1492, 1492,
1352 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 873, 1492,
1353 : 1492, 871, 869, 1492, 1492, 1492, 867, 865, 1492, 1492,
1354 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1355 : 1492, 1492, 1492, 1492, 1492, 863, 1492, 1492, 1492, 1492,
1356 : 861, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1357 : 1492, 1492, 1492, 1492, 1492, 1492, 859, 1492, 857, 1492,
1358 : 1492, 855, 1492, 853, 1492, 1492, 1492, 1492, 1492, 1492,
1359 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 851,
1360 :
1361 : 1492, 1492, 1492, 1492, 849, 1492, 1492, 1492, 1492, 1492,
1362 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1363 : 1492, 1492, 847, 1492, 1492, 1492, 845, 843, 1492, 1492,
1364 : 1492, 841, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1365 : 1492, 1492, 1492, 1492, 1492, 839, 1492, 1492, 1492, 837,
1366 : 835, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1367 : 1492, 1492, 1492, 1492, 1492, 1492, 833, 1492, 831, 1492,
1368 : 1492, 829, 1492, 827, 1492, 1492, 1492, 825, 1492, 1492,
1369 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1370 : 1492, 1492, 1492, 1492, 823, 821, 1492, 1492, 1492, 1492,
1371 :
1372 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1373 : 1492, 1492, 819, 1492, 1492, 1492, 817, 1492, 1492, 1492,
1374 : 1492, 815, 1492, 813, 1492, 1492, 1492, 1492, 1492, 1492,
1375 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 811,
1376 : 809, 1492, 1492, 1492, 807, 1492, 1492, 1492, 1492, 1492,
1377 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 805, 1492,
1378 : 1492, 803, 801, 1492, 1492, 1492, 799, 797, 1492, 1492,
1379 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1380 : 1492, 1492, 1492, 1492, 1492, 795, 1492, 1492, 1492, 1492,
1381 : 793, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1382 :
1383 : 1492, 1492, 1492, 1492, 1492, 1492, 791, 1492, 789, 1492,
1384 : 1492, 787, 1492, 785, 1492, 1492, 1492, 1492, 1492, 1492,
1385 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 783,
1386 : 1492, 1492, 1492, 1492, 781, 1492, 1492, 1492, 1492, 1492,
1387 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1388 : 1492, 1492, 779, 1492, 1492, 1492, 777, 775, 1492, 1492,
1389 : 1492, 773, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1390 : 1492, 1492, 1492, 1492, 1492, 771, 1492, 1492, 1492, 769,
1391 : 767, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1392 : 1492, 1492, 1492, 1492, 1492, 1492, 765, 1492, 763, 1492,
1393 :
1394 : 1492, 761, 1492, 759, 1492, 1492, 1492, 757, 1492, 1492,
1395 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1396 : 1492, 1492, 1492, 1492, 755, 753, 1492, 1492, 1492, 1492,
1397 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1398 : 1492, 1492, 751, 1492, 1492, 1492, 749, 1492, 1492, 1492,
1399 : 1492, 747, 1492, 745, 1492, 1492, 1492, 743, 1492, 1492,
1400 : 1492, 741, 1492, 739, 1492, 1492, 1492, 737, 1492, 727,
1401 : 727, 735, 731, 1492, 730, 729, 727, 1492, 726, 725,
1402 : 724, 722, 721, 1492, 720, 719, 713, 1492, 709, 707,
1403 : 706, 704, 703, 1492, 28, 28, 28, 28, 28, 28,
1404 :
1405 : 28, 28, 28, 28, 28, 28, 79, 79, 79, 79,
1406 : 79, 79, 79, 79, 79, 79, 79, 79, 84, 84,
1407 : 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
1408 : 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
1409 : 98, 98, 110, 110, 110, 110, 110, 110, 110, 110,
1410 : 110, 110, 110, 110, 113, 113, 113, 113, 113, 113,
1411 : 113, 113, 113, 113, 113, 113, 119, 119, 119, 119,
1412 : 119, 119, 119, 119, 119, 119, 119, 119, 121, 121,
1413 : 121, 121, 121, 121, 121, 121, 702, 121, 121, 121,
1414 : 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
1415 :
1416 : 127, 127, 137, 137, 137, 137, 137, 137, 137, 137,
1417 : 137, 137, 137, 137, 176, 700, 699, 176, 223, 223,
1418 : 223, 698, 223, 223, 223, 223, 223, 223, 223, 223,
1419 : 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
1420 : 696, 235, 268, 695, 694, 692, 268, 268, 691, 268,
1421 : 271, 690, 689, 271, 272, 688, 687, 272, 276, 276,
1422 : 276, 276, 685, 276, 276, 276, 276, 276, 276, 276,
1423 : 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
1424 : 279, 279, 283, 283, 283, 283, 283, 283, 283, 283,
1425 : 283, 283, 283, 283, 289, 289, 289, 289, 289, 289,
1426 :
1427 : 289, 289, 289, 684, 289, 291, 683, 682, 291, 227,
1428 : 227, 227, 227, 227, 227, 227, 227, 227, 681, 227,
1429 : 368, 368, 680, 678, 368, 239, 239, 239, 239, 239,
1430 : 239, 239, 239, 239, 677, 239, 257, 257, 257, 257,
1431 : 257, 257, 257, 257, 257, 676, 257, 373, 373, 373,
1432 : 373, 373, 373, 373, 373, 373, 675, 373, 390, 390,
1433 : 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
1434 : 407, 674, 673, 672, 671, 670, 669, 668, 407, 459,
1435 : 459, 459, 459, 459, 459, 459, 459, 459, 666, 459,
1436 : 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
1437 :
1438 : 462, 462, 467, 467, 467, 467, 467, 467, 467, 467,
1439 : 467, 467, 467, 467, 486, 665, 664, 663, 486, 662,
1440 : 661, 486, 534, 534, 534, 534, 534, 534, 534, 534,
1441 : 534, 534, 534, 534, 582, 582, 582, 582, 582, 582,
1442 : 582, 582, 582, 582, 582, 582, 619, 619, 619, 619,
1443 : 619, 619, 619, 619, 619, 619, 619, 619, 650, 650,
1444 : 650, 650, 650, 650, 650, 650, 650, 650, 650, 650,
1445 : 667, 667, 667, 667, 667, 667, 667, 667, 667, 667,
1446 : 667, 667, 679, 679, 679, 679, 679, 679, 679, 679,
1447 : 679, 679, 679, 679, 686, 686, 686, 686, 686, 686,
1448 :
1449 : 686, 686, 686, 686, 686, 686, 693, 693, 693, 693,
1450 : 693, 693, 693, 693, 693, 693, 693, 693, 697, 697,
1451 : 697, 697, 697, 697, 697, 697, 697, 697, 697, 697,
1452 : 701, 701, 701, 701, 701, 701, 701, 701, 701, 701,
1453 : 701, 701, 705, 705, 705, 705, 705, 705, 705, 705,
1454 : 705, 705, 705, 705, 708, 708, 708, 708, 708, 708,
1455 : 708, 708, 708, 708, 708, 708, 712, 712, 712, 712,
1456 : 712, 712, 712, 712, 712, 712, 712, 712, 718, 718,
1457 : 718, 718, 718, 718, 718, 718, 718, 718, 718, 718,
1458 : 723, 723, 723, 723, 723, 723, 723, 723, 723, 723,
1459 :
1460 : 723, 723, 728, 728, 728, 728, 728, 728, 728, 728,
1461 : 728, 728, 728, 728, 734, 734, 734, 734, 734, 734,
1462 : 734, 734, 734, 734, 734, 734, 736, 736, 736, 736,
1463 : 736, 736, 736, 736, 736, 736, 736, 736, 738, 738,
1464 : 738, 738, 738, 738, 738, 738, 738, 738, 738, 738,
1465 : 740, 740, 740, 740, 740, 740, 740, 740, 740, 740,
1466 : 740, 740, 742, 742, 742, 742, 742, 742, 742, 742,
1467 : 742, 742, 742, 742, 744, 744, 744, 744, 744, 744,
1468 : 744, 744, 744, 744, 744, 744, 746, 746, 746, 746,
1469 : 746, 746, 746, 746, 746, 746, 746, 746, 748, 748,
1470 :
1471 : 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
1472 : 750, 750, 750, 750, 750, 750, 750, 750, 750, 750,
1473 : 750, 750, 752, 752, 752, 752, 752, 752, 752, 752,
1474 : 752, 752, 752, 752, 754, 754, 754, 754, 754, 754,
1475 : 754, 754, 754, 754, 754, 754, 756, 756, 756, 756,
1476 : 756, 756, 756, 756, 756, 756, 756, 756, 758, 758,
1477 : 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
1478 : 760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
1479 : 760, 760, 762, 762, 762, 762, 762, 762, 762, 762,
1480 : 762, 762, 762, 762, 764, 764, 764, 764, 764, 764,
1481 :
1482 : 764, 764, 764, 764, 764, 764, 766, 766, 766, 766,
1483 : 766, 766, 766, 766, 766, 766, 766, 766, 768, 768,
1484 : 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
1485 : 770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
1486 : 770, 770, 772, 772, 772, 772, 772, 772, 772, 772,
1487 : 772, 772, 772, 772, 774, 774, 774, 774, 774, 774,
1488 : 774, 774, 774, 774, 774, 774, 776, 776, 776, 776,
1489 : 776, 776, 776, 776, 776, 776, 776, 776, 778, 778,
1490 : 778, 778, 778, 778, 778, 778, 778, 778, 778, 778,
1491 : 780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
1492 :
1493 : 780, 780, 782, 782, 782, 782, 782, 782, 782, 782,
1494 : 782, 782, 782, 782, 784, 784, 784, 784, 784, 784,
1495 : 784, 784, 784, 784, 784, 784, 786, 786, 786, 786,
1496 : 786, 786, 786, 786, 786, 786, 786, 786, 788, 788,
1497 : 788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
1498 : 790, 790, 790, 790, 790, 790, 790, 790, 790, 790,
1499 : 790, 790, 792, 792, 792, 792, 792, 792, 792, 792,
1500 : 792, 792, 792, 792, 794, 794, 794, 794, 794, 794,
1501 : 794, 794, 794, 794, 794, 794, 796, 796, 796, 796,
1502 : 796, 796, 796, 796, 796, 796, 796, 796, 798, 798,
1503 :
1504 : 798, 798, 798, 798, 798, 798, 798, 798, 798, 798,
1505 : 800, 800, 800, 800, 800, 800, 800, 800, 800, 800,
1506 : 800, 800, 802, 802, 802, 802, 802, 802, 802, 802,
1507 : 802, 802, 802, 802, 804, 804, 804, 804, 804, 804,
1508 : 804, 804, 804, 804, 804, 804, 806, 806, 806, 806,
1509 : 806, 806, 806, 806, 806, 806, 806, 806, 808, 808,
1510 : 808, 808, 808, 808, 808, 808, 808, 808, 808, 808,
1511 : 810, 810, 810, 810, 810, 810, 810, 810, 810, 810,
1512 : 810, 810, 812, 812, 812, 812, 812, 812, 812, 812,
1513 : 812, 812, 812, 812, 814, 814, 814, 814, 814, 814,
1514 :
1515 : 814, 814, 814, 814, 814, 814, 816, 816, 816, 816,
1516 : 816, 816, 816, 816, 816, 816, 816, 816, 818, 818,
1517 : 818, 818, 818, 818, 818, 818, 818, 818, 818, 818,
1518 : 820, 820, 820, 820, 820, 820, 820, 820, 820, 820,
1519 : 820, 820, 822, 822, 822, 822, 822, 822, 822, 822,
1520 : 822, 822, 822, 822, 824, 824, 824, 824, 824, 824,
1521 : 824, 824, 824, 824, 824, 824, 826, 826, 826, 826,
1522 : 826, 826, 826, 826, 826, 826, 826, 826, 828, 828,
1523 : 828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
1524 : 830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
1525 :
1526 : 830, 830, 832, 832, 832, 832, 832, 832, 832, 832,
1527 : 832, 832, 832, 832, 834, 834, 834, 834, 834, 834,
1528 : 834, 834, 834, 834, 834, 834, 836, 836, 836, 836,
1529 : 836, 836, 836, 836, 836, 836, 836, 836, 838, 838,
1530 : 838, 838, 838, 838, 838, 838, 838, 838, 838, 838,
1531 : 840, 840, 840, 840, 840, 840, 840, 840, 840, 840,
1532 : 840, 840, 842, 842, 842, 842, 842, 842, 842, 842,
1533 : 842, 842, 842, 842, 844, 844, 844, 844, 844, 844,
1534 : 844, 844, 844, 844, 844, 844, 846, 846, 846, 846,
1535 : 846, 846, 846, 846, 846, 846, 846, 846, 848, 848,
1536 :
1537 : 848, 848, 848, 848, 848, 848, 848, 848, 848, 848,
1538 : 850, 850, 850, 850, 850, 850, 850, 850, 850, 850,
1539 : 850, 850, 852, 852, 852, 852, 852, 852, 852, 852,
1540 : 852, 852, 852, 852, 854, 854, 854, 854, 854, 854,
1541 : 854, 854, 854, 854, 854, 854, 856, 856, 856, 856,
1542 : 856, 856, 856, 856, 856, 856, 856, 856, 858, 858,
1543 : 858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
1544 : 860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
1545 : 860, 860, 862, 862, 862, 862, 862, 862, 862, 862,
1546 : 862, 862, 862, 862, 864, 864, 864, 864, 864, 864,
1547 :
1548 : 864, 864, 864, 864, 864, 864, 866, 866, 866, 866,
1549 : 866, 866, 866, 866, 866, 866, 866, 866, 868, 868,
1550 : 868, 868, 868, 868, 868, 868, 868, 868, 868, 868,
1551 : 870, 870, 870, 870, 870, 870, 870, 870, 870, 870,
1552 : 870, 870, 872, 872, 872, 872, 872, 872, 872, 872,
1553 : 872, 872, 872, 872, 874, 874, 874, 874, 874, 874,
1554 : 874, 874, 874, 874, 874, 874, 876, 876, 876, 876,
1555 : 876, 876, 876, 876, 876, 876, 876, 876, 878, 878,
1556 : 878, 878, 878, 878, 878, 878, 878, 878, 878, 878,
1557 : 880, 880, 880, 880, 880, 880, 880, 880, 880, 880,
1558 :
1559 : 880, 880, 882, 882, 882, 882, 882, 882, 882, 882,
1560 : 882, 882, 882, 882, 884, 884, 884, 884, 884, 884,
1561 : 884, 884, 884, 884, 884, 884, 886, 886, 886, 886,
1562 : 886, 886, 886, 886, 886, 886, 886, 886, 888, 888,
1563 : 888, 888, 888, 888, 888, 888, 888, 888, 888, 888,
1564 : 890, 890, 890, 890, 890, 890, 890, 890, 890, 890,
1565 : 890, 890, 892, 892, 892, 892, 892, 892, 892, 892,
1566 : 892, 892, 892, 892, 894, 894, 894, 894, 894, 894,
1567 : 894, 894, 894, 894, 894, 894, 896, 896, 896, 896,
1568 : 896, 896, 896, 896, 896, 896, 896, 896, 898, 898,
1569 :
1570 : 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
1571 : 900, 900, 900, 900, 900, 900, 900, 900, 900, 900,
1572 : 900, 900, 902, 902, 902, 902, 902, 902, 902, 902,
1573 : 902, 902, 902, 902, 904, 904, 904, 904, 904, 904,
1574 : 904, 904, 904, 904, 904, 904, 906, 906, 906, 906,
1575 : 906, 906, 906, 906, 906, 906, 906, 906, 908, 908,
1576 : 908, 908, 908, 908, 908, 908, 908, 908, 908, 908,
1577 : 910, 910, 910, 910, 910, 910, 910, 910, 910, 910,
1578 : 910, 910, 912, 912, 912, 912, 912, 912, 912, 912,
1579 : 912, 912, 912, 912, 914, 914, 914, 914, 914, 914,
1580 :
1581 : 914, 914, 914, 914, 914, 914, 916, 916, 916, 916,
1582 : 916, 916, 916, 916, 916, 916, 916, 916, 918, 918,
1583 : 918, 918, 918, 918, 918, 918, 918, 918, 918, 918,
1584 : 920, 920, 920, 920, 920, 920, 920, 920, 920, 920,
1585 : 920, 920, 922, 922, 922, 922, 922, 922, 922, 922,
1586 : 922, 922, 922, 922, 924, 924, 924, 924, 924, 924,
1587 : 924, 924, 924, 924, 924, 924, 926, 926, 926, 926,
1588 : 926, 926, 926, 926, 926, 926, 926, 926, 928, 928,
1589 : 928, 928, 928, 928, 928, 928, 928, 928, 928, 928,
1590 : 930, 930, 930, 930, 930, 930, 930, 930, 930, 930,
1591 :
1592 : 930, 930, 932, 932, 932, 932, 932, 932, 932, 932,
1593 : 932, 932, 932, 932, 934, 934, 934, 934, 934, 934,
1594 : 934, 934, 934, 934, 934, 934, 936, 936, 936, 936,
1595 : 936, 936, 936, 936, 936, 936, 936, 936, 938, 938,
1596 : 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
1597 : 940, 940, 940, 940, 940, 940, 940, 940, 940, 940,
1598 : 940, 940, 942, 942, 942, 942, 942, 942, 942, 942,
1599 : 942, 942, 942, 942, 944, 944, 944, 944, 944, 944,
1600 : 944, 944, 944, 944, 944, 944, 946, 946, 946, 946,
1601 : 946, 946, 946, 946, 946, 946, 946, 946, 948, 948,
1602 :
1603 : 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
1604 : 950, 950, 950, 950, 950, 950, 950, 950, 950, 950,
1605 : 950, 950, 952, 952, 952, 952, 952, 952, 952, 952,
1606 : 952, 952, 952, 952, 954, 954, 954, 954, 954, 954,
1607 : 954, 954, 954, 954, 954, 954, 956, 956, 956, 956,
1608 : 956, 956, 956, 956, 956, 956, 956, 956, 958, 958,
1609 : 958, 958, 958, 958, 958, 958, 958, 958, 958, 958,
1610 : 960, 960, 960, 960, 960, 960, 960, 960, 960, 960,
1611 : 960, 960, 962, 962, 962, 962, 962, 962, 962, 962,
1612 : 962, 962, 962, 962, 964, 964, 964, 964, 964, 964,
1613 :
1614 : 964, 964, 964, 964, 964, 964, 966, 966, 966, 966,
1615 : 966, 966, 966, 966, 966, 966, 966, 966, 968, 968,
1616 : 968, 968, 968, 968, 968, 968, 968, 968, 968, 968,
1617 : 970, 970, 970, 970, 970, 970, 970, 970, 970, 970,
1618 : 970, 970, 972, 972, 972, 972, 972, 972, 972, 972,
1619 : 972, 972, 972, 972, 974, 974, 974, 974, 974, 974,
1620 : 974, 974, 974, 974, 974, 974, 976, 976, 976, 976,
1621 : 976, 976, 976, 976, 976, 976, 976, 976, 978, 978,
1622 : 978, 978, 978, 978, 978, 978, 978, 978, 978, 978,
1623 : 980, 980, 980, 980, 980, 980, 980, 980, 980, 980,
1624 :
1625 : 980, 980, 982, 982, 982, 982, 982, 982, 982, 982,
1626 : 982, 982, 982, 982, 984, 984, 984, 984, 984, 984,
1627 : 984, 984, 984, 984, 984, 984, 986, 986, 986, 986,
1628 : 986, 986, 986, 986, 986, 986, 986, 986, 988, 988,
1629 : 988, 988, 988, 988, 988, 988, 988, 988, 988, 988,
1630 : 990, 990, 990, 990, 990, 990, 990, 990, 990, 990,
1631 : 990, 990, 992, 992, 992, 992, 992, 992, 992, 992,
1632 : 992, 992, 992, 992, 994, 994, 994, 994, 994, 994,
1633 : 994, 994, 994, 994, 994, 994, 996, 996, 996, 996,
1634 : 996, 996, 996, 996, 996, 996, 996, 996, 998, 998,
1635 :
1636 : 998, 998, 998, 998, 998, 998, 998, 998, 998, 998,
1637 : 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000,
1638 : 1000, 1000, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
1639 : 1002, 1002, 1002, 1002, 1004, 1004, 1004, 1004, 1004, 1004,
1640 : 1004, 1004, 1004, 1004, 1004, 1004, 1006, 1006, 1006, 1006,
1641 : 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1008, 1008,
1642 : 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008,
1643 : 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010,
1644 : 1010, 1010, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
1645 : 1012, 1012, 1012, 1012, 1014, 1014, 1014, 1014, 1014, 1014,
1646 :
1647 : 1014, 1014, 1014, 1014, 1014, 1014, 1016, 1016, 1016, 1016,
1648 : 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1018, 1018,
1649 : 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018,
1650 : 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020,
1651 : 1020, 1020, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022,
1652 : 1022, 1022, 1022, 1022, 1024, 1024, 1024, 1024, 1024, 1024,
1653 : 1024, 1024, 1024, 1024, 1024, 1024, 1026, 1026, 1026, 1026,
1654 : 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1028, 1028,
1655 : 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028,
1656 : 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030,
1657 :
1658 : 1030, 1030, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032,
1659 : 1032, 1032, 1032, 1032, 1034, 1034, 1034, 1034, 1034, 1034,
1660 : 1034, 1034, 1034, 1034, 1034, 1034, 1036, 1036, 1036, 1036,
1661 : 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1038, 1038,
1662 : 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
1663 : 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040,
1664 : 1040, 1040, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
1665 : 1042, 1042, 1042, 1042, 1044, 1044, 1044, 1044, 1044, 1044,
1666 : 1044, 1044, 1044, 1044, 1044, 1044, 1046, 1046, 1046, 1046,
1667 : 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1048, 1048,
1668 :
1669 : 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048,
1670 : 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050,
1671 : 1050, 1050, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052,
1672 : 1052, 1052, 1052, 1052, 1054, 1054, 1054, 1054, 1054, 1054,
1673 : 1054, 1054, 1054, 1054, 1054, 1054, 1056, 1056, 1056, 1056,
1674 : 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1058, 1058,
1675 : 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058,
1676 : 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060,
1677 : 1060, 1060, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062,
1678 : 1062, 1062, 1062, 1062, 1064, 1064, 1064, 1064, 1064, 1064,
1679 :
1680 : 1064, 1064, 1064, 1064, 1064, 1064, 1066, 1066, 1066, 1066,
1681 : 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1068, 1068,
1682 : 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068,
1683 : 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070,
1684 : 1070, 1070, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
1685 : 1072, 1072, 1072, 1072, 1074, 1074, 1074, 1074, 1074, 1074,
1686 : 1074, 1074, 1074, 1074, 1074, 1074, 1076, 1076, 1076, 1076,
1687 : 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1078, 1078,
1688 : 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078,
1689 : 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080,
1690 :
1691 : 1080, 1080, 1082, 1082, 1082, 1082, 1082, 1082, 1082, 1082,
1692 : 1082, 1082, 1082, 1082, 1084, 1084, 1084, 1084, 1084, 1084,
1693 : 1084, 1084, 1084, 1084, 1084, 1084, 1086, 1086, 1086, 1086,
1694 : 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1088, 1088,
1695 : 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088,
1696 : 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090,
1697 : 1090, 1090, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
1698 : 1092, 1092, 1092, 1092, 1094, 1094, 1094, 1094, 1094, 1094,
1699 : 1094, 1094, 1094, 1094, 1094, 1094, 1096, 1096, 1096, 1096,
1700 : 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1098, 1098,
1701 :
1702 : 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098,
1703 : 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100,
1704 : 1100, 1100, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102,
1705 : 1102, 1102, 1102, 1102, 1104, 1104, 1104, 1104, 1104, 1104,
1706 : 1104, 1104, 1104, 1104, 1104, 1104, 1106, 1106, 1106, 1106,
1707 : 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1108, 1108,
1708 : 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
1709 : 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110,
1710 : 1110, 1110, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112,
1711 : 1112, 1112, 1112, 1112, 1114, 1114, 1114, 1114, 1114, 1114,
1712 :
1713 : 1114, 1114, 1114, 1114, 1114, 1114, 1116, 1116, 1116, 1116,
1714 : 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1118, 1118,
1715 : 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
1716 : 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
1717 : 1120, 1120, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
1718 : 1122, 1122, 1122, 1122, 1124, 1124, 1124, 1124, 1124, 1124,
1719 : 1124, 1124, 1124, 1124, 1124, 1124, 1126, 1126, 1126, 1126,
1720 : 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1128, 1128,
1721 : 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128,
1722 : 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
1723 :
1724 : 1130, 1130, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
1725 : 1132, 1132, 1132, 1132, 1134, 1134, 1134, 1134, 1134, 1134,
1726 : 1134, 1134, 1134, 1134, 1134, 1134, 1136, 1136, 1136, 1136,
1727 : 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1138, 1138,
1728 : 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138,
1729 : 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140,
1730 : 1140, 1140, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
1731 : 1142, 1142, 1142, 1142, 1144, 1144, 1144, 1144, 1144, 1144,
1732 : 1144, 1144, 1144, 1144, 1144, 1144, 1146, 1146, 1146, 1146,
1733 : 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1148, 1148,
1734 :
1735 : 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
1736 : 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1737 : 1150, 1150, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152,
1738 : 1152, 1152, 1152, 1152, 1154, 1154, 1154, 1154, 1154, 1154,
1739 : 1154, 1154, 1154, 1154, 1154, 1154, 1156, 1156, 1156, 1156,
1740 : 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1158, 1158,
1741 : 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
1742 : 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160,
1743 : 1160, 1160, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
1744 : 1162, 1162, 1162, 1162, 1164, 1164, 1164, 1164, 1164, 1164,
1745 :
1746 : 1164, 1164, 1164, 1164, 1164, 1164, 1166, 1166, 1166, 1166,
1747 : 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1168, 1168,
1748 : 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
1749 : 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
1750 : 1170, 1170, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
1751 : 1172, 1172, 1172, 1172, 1174, 1174, 1174, 1174, 1174, 1174,
1752 : 1174, 1174, 1174, 1174, 1174, 1174, 1176, 1176, 1176, 1176,
1753 : 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1178, 1178,
1754 : 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
1755 : 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180,
1756 :
1757 : 1180, 1180, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
1758 : 1182, 1182, 1182, 1182, 1184, 1184, 1184, 1184, 1184, 1184,
1759 : 1184, 1184, 1184, 1184, 1184, 1184, 1186, 1186, 1186, 1186,
1760 : 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1188, 1188,
1761 : 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188,
1762 : 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190,
1763 : 1190, 1190, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192,
1764 : 1192, 1192, 1192, 1192, 1194, 1194, 1194, 1194, 1194, 1194,
1765 : 1194, 1194, 1194, 1194, 1194, 1194, 1196, 1196, 1196, 1196,
1766 : 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1198, 1198,
1767 :
1768 : 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
1769 : 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
1770 : 1200, 1200, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202,
1771 : 1202, 1202, 1202, 1202, 1204, 1204, 1204, 1204, 1204, 1204,
1772 : 1204, 1204, 1204, 1204, 1204, 1204, 1206, 1206, 1206, 1206,
1773 : 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1208, 1208,
1774 : 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208,
1775 : 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
1776 : 1210, 1210, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
1777 : 1212, 1212, 1212, 1212, 1214, 1214, 1214, 1214, 1214, 1214,
1778 :
1779 : 1214, 1214, 1214, 1214, 1214, 1214, 1216, 1216, 1216, 1216,
1780 : 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1218, 1218,
1781 : 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
1782 : 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
1783 : 1220, 1220, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222,
1784 : 1222, 1222, 1222, 1222, 1224, 1224, 1224, 1224, 1224, 1224,
1785 : 1224, 1224, 1224, 1224, 1224, 1224, 1226, 1226, 1226, 1226,
1786 : 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1228, 1228,
1787 : 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228,
1788 : 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230,
1789 :
1790 : 1230, 1230, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232,
1791 : 1232, 1232, 1232, 1232, 1234, 1234, 1234, 1234, 1234, 1234,
1792 : 1234, 1234, 1234, 1234, 1234, 1234, 1236, 1236, 1236, 1236,
1793 : 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1238, 1238,
1794 : 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
1795 : 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
1796 : 1240, 1240, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
1797 : 1242, 1242, 1242, 1242, 1244, 1244, 1244, 1244, 1244, 1244,
1798 : 1244, 1244, 1244, 1244, 1244, 1244, 1246, 1246, 1246, 1246,
1799 : 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1248, 1248,
1800 :
1801 : 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248,
1802 : 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
1803 : 1250, 1250, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252,
1804 : 1252, 1252, 1252, 1252, 1254, 1254, 1254, 1254, 1254, 1254,
1805 : 1254, 1254, 1254, 1254, 1254, 1254, 1256, 1256, 1256, 1256,
1806 : 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1258, 1258,
1807 : 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
1808 : 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
1809 : 1260, 1260, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262,
1810 : 1262, 1262, 1262, 1262, 1264, 1264, 1264, 1264, 1264, 1264,
1811 :
1812 : 1264, 1264, 1264, 1264, 1264, 1264, 1266, 1266, 1266, 1266,
1813 : 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1268, 1268,
1814 : 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268,
1815 : 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270, 1270,
1816 : 1270, 1270, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272,
1817 : 1272, 1272, 1272, 1272, 1274, 1274, 1274, 1274, 1274, 1274,
1818 : 1274, 1274, 1274, 1274, 1274, 1274, 1276, 1276, 1276, 1276,
1819 : 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1278, 1278,
1820 : 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278,
1821 : 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280,
1822 :
1823 : 1280, 1280, 1282, 1282, 1282, 1282, 1282, 1282, 1282, 1282,
1824 : 1282, 1282, 1282, 1282, 1284, 1284, 1284, 1284, 1284, 1284,
1825 : 1284, 1284, 1284, 1284, 1284, 1284, 1286, 1286, 1286, 1286,
1826 : 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1288, 1288,
1827 : 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288,
1828 : 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290,
1829 : 1290, 1290, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
1830 : 1292, 1292, 1292, 1292, 1294, 1294, 1294, 1294, 1294, 1294,
1831 : 1294, 1294, 1294, 1294, 1294, 1294, 1296, 1296, 1296, 1296,
1832 : 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1298, 1298,
1833 :
1834 : 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298,
1835 : 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
1836 : 1300, 1300, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
1837 : 1302, 1302, 1302, 1302, 1304, 1304, 1304, 1304, 1304, 1304,
1838 : 1304, 1304, 1304, 1304, 1304, 1304, 1306, 1306, 1306, 1306,
1839 : 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1308, 1308,
1840 : 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308,
1841 : 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310,
1842 : 1310, 1310, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312,
1843 : 1312, 1312, 1312, 1312, 1314, 1314, 1314, 1314, 1314, 1314,
1844 :
1845 : 1314, 1314, 1314, 1314, 1314, 1314, 1316, 1316, 1316, 1316,
1846 : 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1318, 1318,
1847 : 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318,
1848 : 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
1849 : 1320, 1320, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
1850 : 1322, 1322, 1322, 1322, 1324, 1324, 1324, 1324, 1324, 1324,
1851 : 1324, 1324, 1324, 1324, 1324, 1324, 1326, 1326, 1326, 1326,
1852 : 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1328, 1328,
1853 : 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328,
1854 : 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330,
1855 :
1856 : 1330, 1330, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332,
1857 : 1332, 1332, 1332, 1332, 1334, 1334, 1334, 1334, 1334, 1334,
1858 : 1334, 1334, 1334, 1334, 1334, 1334, 1336, 1336, 1336, 1336,
1859 : 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1338, 1338,
1860 : 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1861 : 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340,
1862 : 1340, 1340, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342,
1863 : 1342, 1342, 1342, 1342, 1344, 1344, 1344, 1344, 1344, 1344,
1864 : 1344, 1344, 1344, 1344, 1344, 1344, 1346, 1346, 1346, 1346,
1865 : 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1348, 1348,
1866 :
1867 : 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
1868 : 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350,
1869 : 1350, 1350, 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1352,
1870 : 1352, 1352, 1352, 1352, 1354, 1354, 1354, 1354, 1354, 1354,
1871 : 1354, 1354, 1354, 1354, 1354, 1354, 1356, 1356, 1356, 1356,
1872 : 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1358, 1358,
1873 : 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
1874 : 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
1875 : 1360, 1360, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362,
1876 : 1362, 1362, 1362, 1362, 1364, 1364, 1364, 1364, 1364, 1364,
1877 :
1878 : 1364, 1364, 1364, 1364, 1364, 1364, 1366, 1366, 1366, 1366,
1879 : 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1368, 1368,
1880 : 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368,
1881 : 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370, 1370,
1882 : 1370, 1370, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
1883 : 1372, 1372, 1372, 1372, 1374, 1374, 1374, 1374, 1374, 1374,
1884 : 1374, 1374, 1374, 1374, 1374, 1374, 1376, 1376, 1376, 1376,
1885 : 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1378, 1378,
1886 : 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378,
1887 : 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380,
1888 :
1889 : 1380, 1380, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
1890 : 1382, 1382, 1382, 1382, 1384, 1384, 1384, 1384, 1384, 1384,
1891 : 1384, 1384, 1384, 1384, 1384, 1384, 1386, 1386, 1386, 1386,
1892 : 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1388, 1388,
1893 : 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
1894 : 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390,
1895 : 1390, 1390, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392,
1896 : 1392, 1392, 1392, 1392, 1394, 1394, 1394, 1394, 1394, 1394,
1897 : 1394, 1394, 1394, 1394, 1394, 1394, 1396, 1396, 1396, 1396,
1898 : 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1398, 1398,
1899 :
1900 : 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398,
1901 : 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400,
1902 : 1400, 1400, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402,
1903 : 1402, 1402, 1402, 1402, 1404, 1404, 1404, 1404, 1404, 1404,
1904 : 1404, 1404, 1404, 1404, 1404, 1404, 1406, 1406, 1406, 1406,
1905 : 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1408, 1408,
1906 : 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408,
1907 : 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410,
1908 : 1410, 1410, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
1909 : 1412, 1412, 1412, 1412, 1414, 1414, 1414, 1414, 1414, 1414,
1910 :
1911 : 1414, 1414, 1414, 1414, 1414, 1414, 1416, 1416, 1416, 1416,
1912 : 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1416, 1418, 1418,
1913 : 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
1914 : 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420,
1915 : 1420, 1420, 1422, 1422, 1422, 1422, 1422, 1422, 1422, 1422,
1916 : 1422, 1422, 1422, 1422, 1424, 1424, 1424, 1424, 1424, 1424,
1917 : 1424, 1424, 1424, 1424, 1424, 1424, 1426, 1426, 1426, 1426,
1918 : 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1428, 1428,
1919 : 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1920 : 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430, 1430,
1921 :
1922 : 1430, 1430, 1432, 1432, 1432, 1432, 1432, 1432, 1432, 1432,
1923 : 1432, 1432, 1432, 1432, 1434, 1434, 1434, 1434, 1434, 1434,
1924 : 1434, 1434, 1434, 1434, 1434, 1434, 1436, 1436, 1436, 1436,
1925 : 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1438, 1438,
1926 : 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438, 1438,
1927 : 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440, 1440,
1928 : 1440, 1440, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442,
1929 : 1442, 1442, 1442, 1442, 1444, 1444, 1444, 1444, 1444, 1444,
1930 : 1444, 1444, 1444, 1444, 1444, 1444, 1446, 1446, 1446, 1446,
1931 : 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1448, 1448,
1932 :
1933 : 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448,
1934 : 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450,
1935 : 1450, 1450, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
1936 : 1452, 1452, 1452, 1452, 1454, 1454, 1454, 1454, 1454, 1454,
1937 : 1454, 1454, 1454, 1454, 1454, 1454, 1456, 1456, 1456, 1456,
1938 : 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1458, 1458,
1939 : 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458,
1940 : 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
1941 : 1460, 1460, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462,
1942 : 1462, 1462, 1462, 1462, 1464, 1464, 1464, 1464, 1464, 1464,
1943 :
1944 : 1464, 1464, 1464, 1464, 1464, 1464, 1466, 1466, 1466, 1466,
1945 : 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1468, 1468,
1946 : 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468,
1947 : 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,
1948 : 1470, 1470, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472,
1949 : 1472, 1472, 1472, 1472, 1474, 1474, 1474, 1474, 1474, 1474,
1950 : 1474, 1474, 1474, 1474, 1474, 1474, 1476, 1476, 1476, 1476,
1951 : 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1478, 1478,
1952 : 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478,
1953 : 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480,
1954 :
1955 : 1480, 1480, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482,
1956 : 1482, 1482, 1482, 1482, 1484, 1484, 1484, 1484, 1484, 1484,
1957 : 1484, 1484, 1484, 1484, 1484, 1484, 1486, 1486, 1486, 1486,
1958 : 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1486, 1488, 1488,
1959 : 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488,
1960 : 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490, 1490,
1961 : 1490, 1490, 660, 659, 658, 657, 656, 655, 654, 651,
1962 : 649, 648, 647, 646, 645, 644, 643, 642, 641, 640,
1963 : 639, 638, 637, 636, 635, 634, 633, 632, 631, 630,
1964 : 625, 624, 620, 618, 617, 616, 615, 614, 613, 612,
1965 :
1966 : 611, 610, 609, 608, 607, 606, 605, 604, 603, 602,
1967 : 601, 600, 599, 598, 597, 596, 595, 594, 591, 590,
1968 : 589, 480, 588, 587, 584, 536, 583, 581, 580, 579,
1969 : 578, 577, 576, 575, 574, 573, 572, 571, 570, 569,
1970 : 568, 567, 566, 565, 564, 563, 562, 561, 560, 559,
1971 : 558, 557, 556, 555, 554, 553, 552, 484, 551, 550,
1972 : 549, 546, 545, 480, 544, 540, 539, 538, 535, 530,
1973 : 529, 528, 527, 526, 525, 524, 523, 522, 521, 520,
1974 : 519, 518, 517, 516, 515, 514, 513, 512, 511, 510,
1975 : 509, 508, 507, 506, 505, 504, 503, 502, 501, 500,
1976 :
1977 : 499, 498, 497, 496, 495, 494, 493, 492, 491, 490,
1978 : 489, 488, 487, 406, 483, 482, 481, 480, 479, 475,
1979 : 474, 473, 472, 471, 470, 469, 468, 457, 456, 455,
1980 : 454, 453, 452, 451, 450, 449, 448, 445, 444, 443,
1981 : 442, 441, 440, 439, 438, 437, 436, 435, 434, 433,
1982 : 427, 426, 425, 424, 423, 420, 419, 418, 417, 416,
1983 : 310, 415, 414, 413, 412, 411, 408, 314, 406, 405,
1984 : 403, 402, 401, 400, 399, 398, 397, 396, 395, 394,
1985 : 292, 393, 392, 391, 256, 235, 223, 365, 364, 363,
1986 : 362, 361, 360, 359, 358, 357, 354, 351, 350, 349,
1987 :
1988 : 345, 344, 343, 342, 341, 338, 337, 336, 335, 334,
1989 : 333, 330, 325, 324, 323, 322, 321, 313, 312, 309,
1990 : 304, 303, 302, 301, 300, 299, 298, 297, 294, 288,
1991 : 287, 285, 120, 284, 282, 282, 281, 278, 277, 270,
1992 : 256, 235, 223, 220, 219, 218, 211, 208, 207, 206,
1993 : 201, 177, 175, 174, 165, 150, 126, 120, 1492, 112,
1994 : 112, 111, 111, 29, 29, 27, 1492, 1492, 1492, 1492,
1995 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1996 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1997 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
1998 :
1999 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
2000 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
2001 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492
2002 : } ;
2003 :
2004 : static yyconst short int yy_chk[9029] =
2005 : { 0,
2006 : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2007 : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2008 : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2009 : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2010 : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2011 : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2012 : 3, 3, 5, 6, 5, 6, 7, 8, 36, 36,
2013 : 25, 25, 26, 26, 37, 43, 25, 1014, 26, 31,
2014 : 31, 31, 38, 43, 43, 5, 6, 7, 8, 37,
2015 : 137, 7, 8, 25, 25, 26, 26, 42, 44, 44,
2016 :
2017 : 38, 45, 68, 44, 49, 68, 45, 42, 137, 49,
2018 : 49, 49, 45, 50, 50, 1016, 5, 6, 7, 8,
2019 : 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
2020 : 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
2021 : 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
2022 : 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
2023 : 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
2024 : 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
2025 : 9, 9, 11, 11, 11, 11, 11, 11, 11, 11,
2026 : 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
2027 :
2028 : 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
2029 : 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
2030 : 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
2031 : 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
2032 : 11, 11, 11, 11, 15, 15, 15, 15, 15, 15,
2033 : 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
2034 : 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
2035 : 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
2036 : 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
2037 : 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
2038 :
2039 : 15, 15, 15, 15, 15, 15, 17, 17, 17, 17,
2040 : 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
2041 : 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
2042 : 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
2043 : 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
2044 : 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
2045 : 17, 17, 17, 17, 17, 17, 17, 17, 19, 19,
2046 : 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
2047 : 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
2048 : 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
2049 :
2050 : 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
2051 : 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
2052 : 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
2053 : 29, 33, 46, 33, 46, 46, 47, 1018, 47, 47,
2054 : 51, 51, 70, 56, 57, 70, 72, 58, 29, 57,
2055 : 1020, 72, 46, 59, 33, 56, 47, 59, 58, 56,
2056 : 56, 58, 57, 59, 61, 71, 77, 107, 107, 60,
2057 : 61, 46, 79, 29, 64, 71, 61, 84, 60, 60,
2058 : 60, 64, 64, 97, 97, 33, 39, 64, 60, 57,
2059 : 60, 108, 108, 79, 120, 1022, 123, 187, 84, 125,
2060 :
2061 : 125, 125, 77, 97, 107, 134, 134, 113, 113, 120,
2062 : 142, 187, 120, 113, 167, 167, 142, 1024, 39, 39,
2063 : 123, 39, 189, 39, 79, 189, 39, 174, 174, 84,
2064 : 113, 113, 39, 186, 186, 39, 39, 120, 39, 81,
2065 : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
2066 : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
2067 : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
2068 : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
2069 : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
2070 : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
2071 :
2072 : 81, 83, 88, 83, 183, 129, 197, 129, 156, 156,
2073 : 1026, 161, 161, 162, 209, 162, 162, 197, 211, 317,
2074 : 209, 211, 183, 88, 83, 204, 156, 88, 129, 161,
2075 : 163, 317, 163, 162, 177, 163, 163, 177, 231, 177,
2076 : 1028, 204, 204, 177, 177, 269, 269, 273, 273, 231,
2077 : 275, 275, 306, 306, 88, 83, 85, 85, 85, 85,
2078 : 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2079 : 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2080 : 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2081 : 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2082 :
2083 : 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2084 : 85, 85, 85, 85, 85, 85, 85, 85, 89, 89,
2085 : 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2086 : 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2087 : 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2088 : 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2089 : 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2090 : 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2091 : 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2092 : 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2093 :
2094 : 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2095 : 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2096 : 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2097 : 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2098 : 90, 90, 92, 92, 92, 92, 92, 92, 92, 92,
2099 : 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
2100 : 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
2101 : 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
2102 : 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
2103 : 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
2104 :
2105 : 92, 92, 92, 92, 93, 164, 164, 268, 268, 304,
2106 : 304, 304, 307, 307, 330, 330, 381, 381, 352, 164,
2107 : 164, 164, 164, 164, 164, 93, 352, 268, 93, 1030,
2108 : 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
2109 : 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
2110 : 93, 93, 93, 93, 93, 93, 93, 94, 94, 94,
2111 : 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
2112 : 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
2113 : 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
2114 : 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
2115 :
2116 : 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
2117 : 94, 94, 94, 94, 94, 94, 94, 94, 94, 95,
2118 : 127, 131, 127, 131, 182, 223, 182, 224, 226, 224,
2119 : 226, 227, 229, 236, 229, 240, 1032, 247, 247, 1034,
2120 : 95, 1036, 247, 127, 131, 1038, 223, 182, 305, 305,
2121 : 224, 226, 227, 1040, 236, 229, 240, 366, 236, 366,
2122 : 240, 368, 234, 247, 234, 476, 305, 404, 404, 404,
2123 : 480, 95, 368, 1042, 127, 131, 476, 223, 182, 1044,
2124 : 366, 480, 226, 227, 230, 234, 230, 230, 230, 230,
2125 : 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
2126 :
2127 : 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
2128 : 230, 230, 230, 235, 238, 239, 234, 243, 252, 252,
2129 : 258, 258, 1046, 252, 371, 258, 260, 260, 337, 1048,
2130 : 337, 260, 1050, 337, 235, 238, 239, 539, 243, 238,
2131 : 274, 274, 243, 337, 252, 371, 258, 337, 539, 371,
2132 : 407, 407, 260, 1052, 274, 274, 274, 274, 274, 274,
2133 : 469, 469, 469, 486, 486, 235, 238, 239, 241, 243,
2134 : 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
2135 : 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
2136 : 241, 241, 241, 241, 241, 241, 241, 250, 284, 255,
2137 :
2138 : 262, 265, 266, 279, 279, 289, 1054, 289, 370, 279,
2139 : 370, 372, 383, 284, 374, 374, 284, 387, 250, 374,
2140 : 255, 262, 265, 266, 1056, 1058, 279, 279, 289, 308,
2141 : 308, 370, 372, 383, 378, 378, 372, 1060, 387, 378,
2142 : 374, 284, 1062, 308, 308, 308, 308, 308, 308, 250,
2143 : 253, 255, 262, 265, 266, 541, 547, 550, 1064, 289,
2144 : 378, 585, 370, 372, 383, 1066, 541, 547, 550, 387,
2145 : 1068, 253, 585, 1070, 253, 1072, 253, 253, 253, 253,
2146 : 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
2147 : 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
2148 :
2149 : 253, 253, 253, 254, 254, 254, 254, 254, 254, 254,
2150 : 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
2151 : 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
2152 : 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
2153 : 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
2154 : 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
2155 : 254, 254, 254, 254, 254, 259, 259, 382, 382, 384,
2156 : 384, 587, 382, 590, 384, 584, 584, 584, 591, 592,
2157 : 622, 624, 587, 1074, 590, 1076, 1078, 1080, 1082, 591,
2158 : 592, 622, 624, 382, 259, 384, 259, 259, 259, 259,
2159 :
2160 : 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
2161 : 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
2162 : 259, 259, 259, 290, 382, 290, 290, 290, 290, 290,
2163 : 290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
2164 : 290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
2165 : 290, 290, 375, 375, 385, 385, 389, 389, 625, 385,
2166 : 1084, 1086, 1088, 1090, 1092, 1094, 1096, 1098, 626, 625,
2167 : 389, 389, 389, 389, 389, 389, 621, 621, 621, 626,
2168 : 385, 375, 1100, 375, 375, 375, 375, 375, 375, 375,
2169 : 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
2170 :
2171 : 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
2172 : 380, 380, 628, 380, 1102, 1104, 1106, 1108, 1110, 621,
2173 : 1112, 1114, 380, 628, 380, 380, 380, 380, 380, 380,
2174 : 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
2175 : 380, 380, 380, 380, 380, 380, 380, 380, 380, 380,
2176 : 388, 391, 399, 458, 458, 460, 460, 464, 458, 473,
2177 : 460, 466, 1116, 399, 1118, 1120, 391, 463, 463, 391,
2178 : 473, 388, 463, 1122, 468, 465, 465, 1124, 464, 458,
2179 : 465, 460, 466, 1126, 1128, 532, 532, 1130, 399, 468,
2180 : 532, 1132, 468, 463, 391, 473, 630, 630, 630, 1134,
2181 :
2182 : 1136, 465, 388, 461, 461, 533, 533, 1138, 1140, 464,
2183 : 533, 532, 1142, 466, 1144, 1146, 1148, 468, 1150, 1152,
2184 : 630, 1154, 1156, 1158, 463, 1160, 1162, 1164, 1166, 1168,
2185 : 1170, 533, 461, 1172, 461, 461, 461, 461, 461, 461,
2186 : 461, 461, 461, 461, 461, 461, 461, 461, 461, 461,
2187 : 461, 461, 461, 461, 461, 461, 461, 461, 461, 461,
2188 : 461, 535, 533, 583, 1174, 620, 1176, 651, 653, 653,
2189 : 653, 668, 680, 687, 1178, 1180, 535, 1182, 583, 535,
2190 : 620, 583, 651, 620, 694, 651, 668, 680, 687, 668,
2191 : 680, 687, 653, 1184, 698, 1186, 707, 707, 707, 694,
2192 :
2193 : 1188, 1190, 694, 702, 535, 706, 583, 709, 620, 698,
2194 : 651, 1192, 698, 1194, 668, 680, 687, 1196, 702, 707,
2195 : 706, 702, 709, 706, 713, 709, 1198, 694, 710, 710,
2196 : 710, 711, 711, 711, 1200, 711, 1202, 698, 719, 713,
2197 : 711, 1204, 713, 714, 714, 714, 702, 714, 706, 1206,
2198 : 709, 710, 714, 719, 724, 729, 719, 1208, 727, 727,
2199 : 727, 732, 732, 732, 1210, 735, 1212, 713, 1214, 724,
2200 : 729, 737, 724, 729, 1216, 1218, 739, 741, 711, 1220,
2201 : 735, 719, 727, 735, 743, 732, 737, 1222, 745, 737,
2202 : 714, 739, 741, 1224, 739, 741, 1226, 724, 729, 743,
2203 :
2204 : 747, 1228, 743, 745, 1230, 1232, 745, 749, 735, 1234,
2205 : 1236, 751, 1238, 1240, 737, 747, 1242, 753, 747, 739,
2206 : 741, 755, 749, 757, 1244, 749, 751, 743, 1246, 751,
2207 : 759, 745, 753, 1248, 761, 753, 755, 1250, 757, 755,
2208 : 763, 757, 1252, 747, 765, 759, 1254, 1256, 759, 761,
2209 : 749, 1258, 761, 767, 751, 763, 1260, 769, 763, 765,
2210 : 753, 771, 765, 773, 755, 1262, 757, 775, 767, 1264,
2211 : 1266, 767, 769, 759, 777, 769, 771, 761, 773, 771,
2212 : 779, 773, 775, 763, 781, 775, 1268, 765, 1270, 777,
2213 : 783, 1272, 777, 1274, 785, 779, 767, 1276, 779, 781,
2214 :
2215 : 769, 787, 781, 789, 771, 783, 773, 791, 783, 785,
2216 : 775, 793, 785, 795, 1278, 1280, 787, 777, 789, 787,
2217 : 797, 789, 791, 779, 799, 791, 793, 781, 795, 793,
2218 : 801, 795, 1282, 783, 803, 797, 1284, 785, 797, 799,
2219 : 805, 1286, 799, 1288, 787, 801, 789, 807, 801, 803,
2220 : 791, 809, 803, 811, 793, 805, 795, 813, 805, 1290,
2221 : 1292, 815, 807, 797, 1294, 807, 809, 799, 811, 809,
2222 : 817, 811, 813, 801, 819, 813, 815, 803, 1296, 815,
2223 : 821, 1298, 1300, 805, 823, 817, 1302, 1304, 817, 819,
2224 : 807, 825, 819, 827, 809, 821, 811, 829, 821, 823,
2225 :
2226 : 813, 831, 823, 833, 815, 1306, 825, 835, 827, 825,
2227 : 1308, 827, 829, 817, 837, 829, 831, 819, 833, 831,
2228 : 839, 833, 835, 821, 841, 835, 1310, 823, 1312, 837,
2229 : 843, 1314, 837, 1316, 825, 839, 827, 845, 839, 841,
2230 : 829, 847, 841, 849, 831, 843, 833, 851, 843, 1318,
2231 : 835, 853, 845, 855, 1320, 845, 847, 837, 849, 847,
2232 : 857, 849, 851, 839, 859, 851, 853, 841, 855, 853,
2233 : 861, 855, 1322, 843, 863, 857, 1324, 1326, 857, 859,
2234 : 845, 1328, 859, 865, 847, 861, 849, 867, 861, 863,
2235 : 851, 869, 863, 871, 853, 1330, 855, 873, 865, 1332,
2236 :
2237 : 1334, 865, 867, 857, 875, 867, 869, 859, 871, 869,
2238 : 877, 871, 873, 861, 879, 873, 1336, 863, 1338, 875,
2239 : 881, 1340, 875, 1342, 883, 877, 865, 1344, 877, 879,
2240 : 867, 885, 879, 887, 869, 881, 871, 889, 881, 883,
2241 : 873, 891, 883, 893, 1346, 1348, 885, 875, 887, 885,
2242 : 895, 887, 889, 877, 897, 889, 891, 879, 893, 891,
2243 : 899, 893, 1350, 881, 901, 895, 1352, 883, 895, 897,
2244 : 903, 1354, 897, 1356, 885, 899, 887, 905, 899, 901,
2245 : 889, 907, 901, 909, 891, 903, 893, 911, 903, 1358,
2246 : 1360, 913, 905, 895, 1362, 905, 907, 897, 909, 907,
2247 :
2248 : 915, 909, 911, 899, 917, 911, 913, 901, 1364, 913,
2249 : 919, 1366, 1368, 903, 921, 915, 1370, 1372, 915, 917,
2250 : 905, 923, 917, 925, 907, 919, 909, 927, 919, 921,
2251 : 911, 929, 921, 931, 913, 1374, 923, 933, 925, 923,
2252 : 1376, 925, 927, 915, 935, 927, 929, 917, 931, 929,
2253 : 937, 931, 933, 919, 939, 933, 1378, 921, 1380, 935,
2254 : 941, 1382, 935, 1384, 923, 937, 925, 943, 937, 939,
2255 : 927, 945, 939, 947, 929, 941, 931, 949, 941, 1386,
2256 : 933, 951, 943, 953, 1388, 943, 945, 935, 947, 945,
2257 : 955, 947, 949, 937, 957, 949, 951, 939, 953, 951,
2258 :
2259 : 959, 953, 1390, 941, 961, 955, 1392, 1394, 955, 957,
2260 : 943, 1396, 957, 963, 945, 959, 947, 965, 959, 961,
2261 : 949, 967, 961, 969, 951, 1398, 953, 971, 963, 1400,
2262 : 1402, 963, 965, 955, 973, 965, 967, 957, 969, 967,
2263 : 975, 969, 971, 959, 977, 971, 1404, 961, 1406, 973,
2264 : 979, 1408, 973, 1410, 981, 975, 963, 1412, 975, 977,
2265 : 965, 983, 977, 985, 967, 979, 969, 987, 979, 981,
2266 : 971, 989, 981, 991, 1414, 1416, 983, 973, 985, 983,
2267 : 993, 985, 987, 975, 995, 987, 989, 977, 991, 989,
2268 : 997, 991, 1418, 979, 999, 993, 1420, 981, 993, 995,
2269 :
2270 : 1001, 1422, 995, 1424, 983, 997, 985, 1003, 997, 999,
2271 : 987, 1005, 999, 1007, 989, 1001, 991, 1009, 1001, 1426,
2272 : 1428, 1011, 1003, 993, 1430, 1003, 1005, 995, 1007, 1005,
2273 : 1013, 1007, 1009, 997, 1015, 1009, 1011, 999, 1432, 1011,
2274 : 1017, 1434, 1436, 1001, 1019, 1013, 1438, 1440, 1013, 1015,
2275 : 1003, 1021, 1015, 1023, 1005, 1017, 1007, 1025, 1017, 1019,
2276 : 1009, 1027, 1019, 1029, 1011, 1442, 1021, 1031, 1023, 1021,
2277 : 1444, 1023, 1025, 1013, 1033, 1025, 1027, 1015, 1029, 1027,
2278 : 1035, 1029, 1031, 1017, 1037, 1031, 1446, 1019, 1448, 1033,
2279 : 1039, 1450, 1033, 1452, 1021, 1035, 1023, 1041, 1035, 1037,
2280 :
2281 : 1025, 1043, 1037, 1045, 1027, 1039, 1029, 1047, 1039, 1454,
2282 : 1031, 1049, 1041, 1051, 1456, 1041, 1043, 1033, 1045, 1043,
2283 : 1053, 1045, 1047, 1035, 1055, 1047, 1049, 1037, 1051, 1049,
2284 : 1057, 1051, 1458, 1039, 1059, 1053, 1460, 1462, 1053, 1055,
2285 : 1041, 1464, 1055, 1061, 1043, 1057, 1045, 1063, 1057, 1059,
2286 : 1047, 1065, 1059, 1067, 1049, 1466, 1051, 1069, 1061, 1468,
2287 : 1470, 1061, 1063, 1053, 1071, 1063, 1065, 1055, 1067, 1065,
2288 : 1073, 1067, 1069, 1057, 1075, 1069, 1472, 1059, 1474, 1071,
2289 : 1077, 1476, 1071, 1478, 1079, 1073, 1061, 1480, 1073, 1075,
2290 : 1063, 1081, 1075, 1083, 1065, 1077, 1067, 1085, 1077, 1079,
2291 :
2292 : 1069, 1087, 1079, 1089, 1482, 1484, 1081, 1071, 1083, 1081,
2293 : 1091, 1083, 1085, 1073, 1093, 1085, 1087, 1075, 1089, 1087,
2294 : 1095, 1089, 1486, 1077, 1097, 1091, 1488, 1079, 1091, 1093,
2295 : 1099, 1502, 1093, 1526, 1081, 1095, 1083, 1101, 1095, 1097,
2296 : 1085, 1103, 1097, 1105, 1087, 1099, 1089, 1107, 1099, 1012,
2297 : 1010, 1109, 1101, 1091, 1008, 1101, 1103, 1093, 1105, 1103,
2298 : 1111, 1105, 1107, 1095, 1113, 1107, 1109, 1097, 1006, 1109,
2299 : 1115, 1004, 1002, 1099, 1117, 1111, 1000, 998, 1111, 1113,
2300 : 1101, 1119, 1113, 1121, 1103, 1115, 1105, 1123, 1115, 1117,
2301 : 1107, 1125, 1117, 1127, 1109, 996, 1119, 1129, 1121, 1119,
2302 :
2303 : 994, 1121, 1123, 1111, 1131, 1123, 1125, 1113, 1127, 1125,
2304 : 1133, 1127, 1129, 1115, 1135, 1129, 992, 1117, 990, 1131,
2305 : 1137, 988, 1131, 986, 1119, 1133, 1121, 1139, 1133, 1135,
2306 : 1123, 1141, 1135, 1143, 1125, 1137, 1127, 1145, 1137, 984,
2307 : 1129, 1147, 1139, 1149, 982, 1139, 1141, 1131, 1143, 1141,
2308 : 1151, 1143, 1145, 1133, 1153, 1145, 1147, 1135, 1149, 1147,
2309 : 1155, 1149, 980, 1137, 1157, 1151, 978, 976, 1151, 1153,
2310 : 1139, 974, 1153, 1159, 1141, 1155, 1143, 1161, 1155, 1157,
2311 : 1145, 1163, 1157, 1165, 1147, 972, 1149, 1167, 1159, 970,
2312 : 968, 1159, 1161, 1151, 1169, 1161, 1163, 1153, 1165, 1163,
2313 :
2314 : 1171, 1165, 1167, 1155, 1173, 1167, 966, 1157, 964, 1169,
2315 : 1175, 962, 1169, 960, 1177, 1171, 1159, 958, 1171, 1173,
2316 : 1161, 1179, 1173, 1181, 1163, 1175, 1165, 1183, 1175, 1177,
2317 : 1167, 1185, 1177, 1187, 956, 954, 1179, 1169, 1181, 1179,
2318 : 1189, 1181, 1183, 1171, 1191, 1183, 1185, 1173, 1187, 1185,
2319 : 1193, 1187, 952, 1175, 1195, 1189, 950, 1177, 1189, 1191,
2320 : 1197, 948, 1191, 946, 1179, 1193, 1181, 1199, 1193, 1195,
2321 : 1183, 1201, 1195, 1203, 1185, 1197, 1187, 1205, 1197, 944,
2322 : 942, 1207, 1199, 1189, 940, 1199, 1201, 1191, 1203, 1201,
2323 : 1209, 1203, 1205, 1193, 1211, 1205, 1207, 1195, 938, 1207,
2324 :
2325 : 1213, 936, 934, 1197, 1215, 1209, 932, 930, 1209, 1211,
2326 : 1199, 1217, 1211, 1219, 1201, 1213, 1203, 1221, 1213, 1215,
2327 : 1205, 1223, 1215, 1225, 1207, 928, 1217, 1227, 1219, 1217,
2328 : 926, 1219, 1221, 1209, 1229, 1221, 1223, 1211, 1225, 1223,
2329 : 1231, 1225, 1227, 1213, 1233, 1227, 924, 1215, 922, 1229,
2330 : 1235, 920, 1229, 918, 1217, 1231, 1219, 1237, 1231, 1233,
2331 : 1221, 1239, 1233, 1241, 1223, 1235, 1225, 1243, 1235, 916,
2332 : 1227, 1245, 1237, 1247, 914, 1237, 1239, 1229, 1241, 1239,
2333 : 1249, 1241, 1243, 1231, 1251, 1243, 1245, 1233, 1247, 1245,
2334 : 1253, 1247, 912, 1235, 1255, 1249, 910, 908, 1249, 1251,
2335 :
2336 : 1237, 906, 1251, 1257, 1239, 1253, 1241, 1259, 1253, 1255,
2337 : 1243, 1261, 1255, 1263, 1245, 904, 1247, 1265, 1257, 902,
2338 : 900, 1257, 1259, 1249, 1267, 1259, 1261, 1251, 1263, 1261,
2339 : 1269, 1263, 1265, 1253, 1271, 1265, 898, 1255, 896, 1267,
2340 : 1273, 894, 1267, 892, 1275, 1269, 1257, 890, 1269, 1271,
2341 : 1259, 1277, 1271, 1279, 1261, 1273, 1263, 1281, 1273, 1275,
2342 : 1265, 1283, 1275, 1285, 888, 886, 1277, 1267, 1279, 1277,
2343 : 1287, 1279, 1281, 1269, 1289, 1281, 1283, 1271, 1285, 1283,
2344 : 1291, 1285, 884, 1273, 1293, 1287, 882, 1275, 1287, 1289,
2345 : 1295, 880, 1289, 878, 1277, 1291, 1279, 1297, 1291, 1293,
2346 :
2347 : 1281, 1299, 1293, 1301, 1283, 1295, 1285, 1303, 1295, 876,
2348 : 874, 1305, 1297, 1287, 872, 1297, 1299, 1289, 1301, 1299,
2349 : 1307, 1301, 1303, 1291, 1309, 1303, 1305, 1293, 870, 1305,
2350 : 1311, 868, 866, 1295, 1313, 1307, 864, 862, 1307, 1309,
2351 : 1297, 1315, 1309, 1317, 1299, 1311, 1301, 1319, 1311, 1313,
2352 : 1303, 1321, 1313, 1323, 1305, 860, 1315, 1325, 1317, 1315,
2353 : 858, 1317, 1319, 1307, 1327, 1319, 1321, 1309, 1323, 1321,
2354 : 1329, 1323, 1325, 1311, 1331, 1325, 856, 1313, 854, 1327,
2355 : 1333, 852, 1327, 850, 1315, 1329, 1317, 1335, 1329, 1331,
2356 : 1319, 1337, 1331, 1339, 1321, 1333, 1323, 1341, 1333, 848,
2357 :
2358 : 1325, 1343, 1335, 1345, 846, 1335, 1337, 1327, 1339, 1337,
2359 : 1347, 1339, 1341, 1329, 1349, 1341, 1343, 1331, 1345, 1343,
2360 : 1351, 1345, 844, 1333, 1353, 1347, 842, 840, 1347, 1349,
2361 : 1335, 838, 1349, 1355, 1337, 1351, 1339, 1357, 1351, 1353,
2362 : 1341, 1359, 1353, 1361, 1343, 836, 1345, 1363, 1355, 834,
2363 : 832, 1355, 1357, 1347, 1365, 1357, 1359, 1349, 1361, 1359,
2364 : 1367, 1361, 1363, 1351, 1369, 1363, 830, 1353, 828, 1365,
2365 : 1371, 826, 1365, 824, 1373, 1367, 1355, 822, 1367, 1369,
2366 : 1357, 1375, 1369, 1377, 1359, 1371, 1361, 1379, 1371, 1373,
2367 : 1363, 1381, 1373, 1383, 820, 818, 1375, 1365, 1377, 1375,
2368 :
2369 : 1385, 1377, 1379, 1367, 1387, 1379, 1381, 1369, 1383, 1381,
2370 : 1389, 1383, 816, 1371, 1391, 1385, 814, 1373, 1385, 1387,
2371 : 1393, 812, 1387, 810, 1375, 1389, 1377, 1395, 1389, 1391,
2372 : 1379, 1397, 1391, 1399, 1381, 1393, 1383, 1401, 1393, 808,
2373 : 806, 1403, 1395, 1385, 804, 1395, 1397, 1387, 1399, 1397,
2374 : 1405, 1399, 1401, 1389, 1407, 1401, 1403, 1391, 802, 1403,
2375 : 1409, 800, 798, 1393, 1411, 1405, 796, 794, 1405, 1407,
2376 : 1395, 1413, 1407, 1415, 1397, 1409, 1399, 1417, 1409, 1411,
2377 : 1401, 1419, 1411, 1421, 1403, 792, 1413, 1423, 1415, 1413,
2378 : 790, 1415, 1417, 1405, 1425, 1417, 1419, 1407, 1421, 1419,
2379 :
2380 : 1427, 1421, 1423, 1409, 1429, 1423, 788, 1411, 786, 1425,
2381 : 1431, 784, 1425, 782, 1413, 1427, 1415, 1433, 1427, 1429,
2382 : 1417, 1435, 1429, 1437, 1419, 1431, 1421, 1439, 1431, 780,
2383 : 1423, 1441, 1433, 1443, 778, 1433, 1435, 1425, 1437, 1435,
2384 : 1445, 1437, 1439, 1427, 1447, 1439, 1441, 1429, 1443, 1441,
2385 : 1449, 1443, 776, 1431, 1451, 1445, 774, 772, 1445, 1447,
2386 : 1433, 770, 1447, 1453, 1435, 1449, 1437, 1455, 1449, 1451,
2387 : 1439, 1457, 1451, 1459, 1441, 768, 1443, 1461, 1453, 766,
2388 : 764, 1453, 1455, 1445, 1463, 1455, 1457, 1447, 1459, 1457,
2389 : 1465, 1459, 1461, 1449, 1467, 1461, 762, 1451, 760, 1463,
2390 :
2391 : 1469, 758, 1463, 756, 1471, 1465, 1453, 754, 1465, 1467,
2392 : 1455, 1473, 1467, 1475, 1457, 1469, 1459, 1477, 1469, 1471,
2393 : 1461, 1479, 1471, 1481, 752, 750, 1473, 1463, 1475, 1473,
2394 : 1483, 1475, 1477, 1465, 1485, 1477, 1479, 1467, 1481, 1479,
2395 : 1487, 1481, 748, 1469, 1489, 1483, 746, 1471, 1483, 1485,
2396 : 1491, 744, 1485, 742, 1473, 1487, 1475, 740, 1487, 1489,
2397 : 1477, 738, 1489, 736, 1479, 1491, 1481, 734, 1491, 731,
2398 : 730, 728, 726, 1483, 725, 723, 722, 1485, 721, 720,
2399 : 718, 717, 716, 1487, 715, 712, 708, 1489, 705, 703,
2400 : 701, 700, 699, 1491, 1493, 1493, 1493, 1493, 1493, 1493,
2401 :
2402 : 1493, 1493, 1493, 1493, 1493, 1493, 1494, 1494, 1494, 1494,
2403 : 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1494, 1495, 1495,
2404 : 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495,
2405 : 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496,
2406 : 1496, 1496, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497,
2407 : 1497, 1497, 1497, 1497, 1498, 1498, 1498, 1498, 1498, 1498,
2408 : 1498, 1498, 1498, 1498, 1498, 1498, 1499, 1499, 1499, 1499,
2409 : 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1500, 1500,
2410 : 1500, 1500, 1500, 1500, 1500, 1500, 697, 1500, 1500, 1500,
2411 : 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501,
2412 :
2413 : 1501, 1501, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503,
2414 : 1503, 1503, 1503, 1503, 1504, 696, 695, 1504, 1505, 1505,
2415 : 1505, 693, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505,
2416 : 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
2417 : 690, 1506, 1507, 688, 686, 685, 1507, 1507, 684, 1507,
2418 : 1508, 683, 682, 1508, 1509, 681, 679, 1509, 1510, 1510,
2419 : 1510, 1510, 678, 1510, 1510, 1510, 1510, 1510, 1510, 1510,
2420 : 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511,
2421 : 1511, 1511, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512,
2422 : 1512, 1512, 1512, 1512, 1513, 1513, 1513, 1513, 1513, 1513,
2423 :
2424 : 1513, 1513, 1513, 676, 1513, 1514, 671, 670, 1514, 1515,
2425 : 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1515, 669, 1515,
2426 : 1516, 1516, 667, 666, 1516, 1517, 1517, 1517, 1517, 1517,
2427 : 1517, 1517, 1517, 1517, 663, 1517, 1518, 1518, 1518, 1518,
2428 : 1518, 1518, 1518, 1518, 1518, 662, 1518, 1519, 1519, 1519,
2429 : 1519, 1519, 1519, 1519, 1519, 1519, 661, 1519, 1520, 1520,
2430 : 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520,
2431 : 1521, 659, 658, 657, 656, 655, 652, 650, 1521, 1522,
2432 : 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 649, 1522,
2433 : 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523,
2434 :
2435 : 1523, 1523, 1524, 1524, 1524, 1524, 1524, 1524, 1524, 1524,
2436 : 1524, 1524, 1524, 1524, 1525, 648, 647, 646, 1525, 645,
2437 : 644, 1525, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527,
2438 : 1527, 1527, 1527, 1527, 1528, 1528, 1528, 1528, 1528, 1528,
2439 : 1528, 1528, 1528, 1528, 1528, 1528, 1529, 1529, 1529, 1529,
2440 : 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1530, 1530,
2441 : 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530,
2442 : 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531,
2443 : 1531, 1531, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
2444 : 1532, 1532, 1532, 1532, 1533, 1533, 1533, 1533, 1533, 1533,
2445 :
2446 : 1533, 1533, 1533, 1533, 1533, 1533, 1534, 1534, 1534, 1534,
2447 : 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1535, 1535,
2448 : 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535,
2449 : 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
2450 : 1536, 1536, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537,
2451 : 1537, 1537, 1537, 1537, 1538, 1538, 1538, 1538, 1538, 1538,
2452 : 1538, 1538, 1538, 1538, 1538, 1538, 1539, 1539, 1539, 1539,
2453 : 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1540, 1540,
2454 : 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540,
2455 : 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541,
2456 :
2457 : 1541, 1541, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542,
2458 : 1542, 1542, 1542, 1542, 1543, 1543, 1543, 1543, 1543, 1543,
2459 : 1543, 1543, 1543, 1543, 1543, 1543, 1544, 1544, 1544, 1544,
2460 : 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1544, 1545, 1545,
2461 : 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1545,
2462 : 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546,
2463 : 1546, 1546, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547,
2464 : 1547, 1547, 1547, 1547, 1548, 1548, 1548, 1548, 1548, 1548,
2465 : 1548, 1548, 1548, 1548, 1548, 1548, 1549, 1549, 1549, 1549,
2466 : 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1550, 1550,
2467 :
2468 : 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550,
2469 : 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551,
2470 : 1551, 1551, 1552, 1552, 1552, 1552, 1552, 1552, 1552, 1552,
2471 : 1552, 1552, 1552, 1552, 1553, 1553, 1553, 1553, 1553, 1553,
2472 : 1553, 1553, 1553, 1553, 1553, 1553, 1554, 1554, 1554, 1554,
2473 : 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1555, 1555,
2474 : 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1555,
2475 : 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556,
2476 : 1556, 1556, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557,
2477 : 1557, 1557, 1557, 1557, 1558, 1558, 1558, 1558, 1558, 1558,
2478 :
2479 : 1558, 1558, 1558, 1558, 1558, 1558, 1559, 1559, 1559, 1559,
2480 : 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1560, 1560,
2481 : 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560,
2482 : 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561,
2483 : 1561, 1561, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562,
2484 : 1562, 1562, 1562, 1562, 1563, 1563, 1563, 1563, 1563, 1563,
2485 : 1563, 1563, 1563, 1563, 1563, 1563, 1564, 1564, 1564, 1564,
2486 : 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1565, 1565,
2487 : 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565,
2488 : 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566,
2489 :
2490 : 1566, 1566, 1567, 1567, 1567, 1567, 1567, 1567, 1567, 1567,
2491 : 1567, 1567, 1567, 1567, 1568, 1568, 1568, 1568, 1568, 1568,
2492 : 1568, 1568, 1568, 1568, 1568, 1568, 1569, 1569, 1569, 1569,
2493 : 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1570, 1570,
2494 : 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570,
2495 : 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571,
2496 : 1571, 1571, 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1572,
2497 : 1572, 1572, 1572, 1572, 1573, 1573, 1573, 1573, 1573, 1573,
2498 : 1573, 1573, 1573, 1573, 1573, 1573, 1574, 1574, 1574, 1574,
2499 : 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1575, 1575,
2500 :
2501 : 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575,
2502 : 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576,
2503 : 1576, 1576, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577,
2504 : 1577, 1577, 1577, 1577, 1578, 1578, 1578, 1578, 1578, 1578,
2505 : 1578, 1578, 1578, 1578, 1578, 1578, 1579, 1579, 1579, 1579,
2506 : 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1580, 1580,
2507 : 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
2508 : 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581,
2509 : 1581, 1581, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582,
2510 : 1582, 1582, 1582, 1582, 1583, 1583, 1583, 1583, 1583, 1583,
2511 :
2512 : 1583, 1583, 1583, 1583, 1583, 1583, 1584, 1584, 1584, 1584,
2513 : 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1585, 1585,
2514 : 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585, 1585,
2515 : 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
2516 : 1586, 1586, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587,
2517 : 1587, 1587, 1587, 1587, 1588, 1588, 1588, 1588, 1588, 1588,
2518 : 1588, 1588, 1588, 1588, 1588, 1588, 1589, 1589, 1589, 1589,
2519 : 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1590, 1590,
2520 : 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
2521 : 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591,
2522 :
2523 : 1591, 1591, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592,
2524 : 1592, 1592, 1592, 1592, 1593, 1593, 1593, 1593, 1593, 1593,
2525 : 1593, 1593, 1593, 1593, 1593, 1593, 1594, 1594, 1594, 1594,
2526 : 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1594, 1595, 1595,
2527 : 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595,
2528 : 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596,
2529 : 1596, 1596, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597,
2530 : 1597, 1597, 1597, 1597, 1598, 1598, 1598, 1598, 1598, 1598,
2531 : 1598, 1598, 1598, 1598, 1598, 1598, 1599, 1599, 1599, 1599,
2532 : 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1600, 1600,
2533 :
2534 : 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600,
2535 : 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601,
2536 : 1601, 1601, 1602, 1602, 1602, 1602, 1602, 1602, 1602, 1602,
2537 : 1602, 1602, 1602, 1602, 1603, 1603, 1603, 1603, 1603, 1603,
2538 : 1603, 1603, 1603, 1603, 1603, 1603, 1604, 1604, 1604, 1604,
2539 : 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1605, 1605,
2540 : 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605,
2541 : 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1606,
2542 : 1606, 1606, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607,
2543 : 1607, 1607, 1607, 1607, 1608, 1608, 1608, 1608, 1608, 1608,
2544 :
2545 : 1608, 1608, 1608, 1608, 1608, 1608, 1609, 1609, 1609, 1609,
2546 : 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1610, 1610,
2547 : 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610, 1610,
2548 : 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611, 1611,
2549 : 1611, 1611, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612,
2550 : 1612, 1612, 1612, 1612, 1613, 1613, 1613, 1613, 1613, 1613,
2551 : 1613, 1613, 1613, 1613, 1613, 1613, 1614, 1614, 1614, 1614,
2552 : 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1615, 1615,
2553 : 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615, 1615,
2554 : 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616,
2555 :
2556 : 1616, 1616, 1617, 1617, 1617, 1617, 1617, 1617, 1617, 1617,
2557 : 1617, 1617, 1617, 1617, 1618, 1618, 1618, 1618, 1618, 1618,
2558 : 1618, 1618, 1618, 1618, 1618, 1618, 1619, 1619, 1619, 1619,
2559 : 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1619, 1620, 1620,
2560 : 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620,
2561 : 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621, 1621,
2562 : 1621, 1621, 1622, 1622, 1622, 1622, 1622, 1622, 1622, 1622,
2563 : 1622, 1622, 1622, 1622, 1623, 1623, 1623, 1623, 1623, 1623,
2564 : 1623, 1623, 1623, 1623, 1623, 1623, 1624, 1624, 1624, 1624,
2565 : 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1624, 1625, 1625,
2566 :
2567 : 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625,
2568 : 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626, 1626,
2569 : 1626, 1626, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627,
2570 : 1627, 1627, 1627, 1627, 1628, 1628, 1628, 1628, 1628, 1628,
2571 : 1628, 1628, 1628, 1628, 1628, 1628, 1629, 1629, 1629, 1629,
2572 : 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1630, 1630,
2573 : 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630,
2574 : 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631, 1631,
2575 : 1631, 1631, 1632, 1632, 1632, 1632, 1632, 1632, 1632, 1632,
2576 : 1632, 1632, 1632, 1632, 1633, 1633, 1633, 1633, 1633, 1633,
2577 :
2578 : 1633, 1633, 1633, 1633, 1633, 1633, 1634, 1634, 1634, 1634,
2579 : 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1634, 1635, 1635,
2580 : 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635, 1635,
2581 : 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636,
2582 : 1636, 1636, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637,
2583 : 1637, 1637, 1637, 1637, 1638, 1638, 1638, 1638, 1638, 1638,
2584 : 1638, 1638, 1638, 1638, 1638, 1638, 1639, 1639, 1639, 1639,
2585 : 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1639, 1640, 1640,
2586 : 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640,
2587 : 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641,
2588 :
2589 : 1641, 1641, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642,
2590 : 1642, 1642, 1642, 1642, 1643, 1643, 1643, 1643, 1643, 1643,
2591 : 1643, 1643, 1643, 1643, 1643, 1643, 1644, 1644, 1644, 1644,
2592 : 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1644, 1645, 1645,
2593 : 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645, 1645,
2594 : 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646, 1646,
2595 : 1646, 1646, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647,
2596 : 1647, 1647, 1647, 1647, 1648, 1648, 1648, 1648, 1648, 1648,
2597 : 1648, 1648, 1648, 1648, 1648, 1648, 1649, 1649, 1649, 1649,
2598 : 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1649, 1650, 1650,
2599 :
2600 : 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650, 1650,
2601 : 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651, 1651,
2602 : 1651, 1651, 1652, 1652, 1652, 1652, 1652, 1652, 1652, 1652,
2603 : 1652, 1652, 1652, 1652, 1653, 1653, 1653, 1653, 1653, 1653,
2604 : 1653, 1653, 1653, 1653, 1653, 1653, 1654, 1654, 1654, 1654,
2605 : 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1655, 1655,
2606 : 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655, 1655,
2607 : 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656, 1656,
2608 : 1656, 1656, 1657, 1657, 1657, 1657, 1657, 1657, 1657, 1657,
2609 : 1657, 1657, 1657, 1657, 1658, 1658, 1658, 1658, 1658, 1658,
2610 :
2611 : 1658, 1658, 1658, 1658, 1658, 1658, 1659, 1659, 1659, 1659,
2612 : 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1659, 1660, 1660,
2613 : 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
2614 : 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661,
2615 : 1661, 1661, 1662, 1662, 1662, 1662, 1662, 1662, 1662, 1662,
2616 : 1662, 1662, 1662, 1662, 1663, 1663, 1663, 1663, 1663, 1663,
2617 : 1663, 1663, 1663, 1663, 1663, 1663, 1664, 1664, 1664, 1664,
2618 : 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1665, 1665,
2619 : 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665,
2620 : 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
2621 :
2622 : 1666, 1666, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667,
2623 : 1667, 1667, 1667, 1667, 1668, 1668, 1668, 1668, 1668, 1668,
2624 : 1668, 1668, 1668, 1668, 1668, 1668, 1669, 1669, 1669, 1669,
2625 : 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1670, 1670,
2626 : 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670,
2627 : 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671, 1671,
2628 : 1671, 1671, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672,
2629 : 1672, 1672, 1672, 1672, 1673, 1673, 1673, 1673, 1673, 1673,
2630 : 1673, 1673, 1673, 1673, 1673, 1673, 1674, 1674, 1674, 1674,
2631 : 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1675, 1675,
2632 :
2633 : 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675,
2634 : 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676, 1676,
2635 : 1676, 1676, 1677, 1677, 1677, 1677, 1677, 1677, 1677, 1677,
2636 : 1677, 1677, 1677, 1677, 1678, 1678, 1678, 1678, 1678, 1678,
2637 : 1678, 1678, 1678, 1678, 1678, 1678, 1679, 1679, 1679, 1679,
2638 : 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1680, 1680,
2639 : 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680,
2640 : 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681, 1681,
2641 : 1681, 1681, 1682, 1682, 1682, 1682, 1682, 1682, 1682, 1682,
2642 : 1682, 1682, 1682, 1682, 1683, 1683, 1683, 1683, 1683, 1683,
2643 :
2644 : 1683, 1683, 1683, 1683, 1683, 1683, 1684, 1684, 1684, 1684,
2645 : 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1685, 1685,
2646 : 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685, 1685,
2647 : 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686, 1686,
2648 : 1686, 1686, 1687, 1687, 1687, 1687, 1687, 1687, 1687, 1687,
2649 : 1687, 1687, 1687, 1687, 1688, 1688, 1688, 1688, 1688, 1688,
2650 : 1688, 1688, 1688, 1688, 1688, 1688, 1689, 1689, 1689, 1689,
2651 : 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1689, 1690, 1690,
2652 : 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690,
2653 : 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691, 1691,
2654 :
2655 : 1691, 1691, 1692, 1692, 1692, 1692, 1692, 1692, 1692, 1692,
2656 : 1692, 1692, 1692, 1692, 1693, 1693, 1693, 1693, 1693, 1693,
2657 : 1693, 1693, 1693, 1693, 1693, 1693, 1694, 1694, 1694, 1694,
2658 : 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1694, 1695, 1695,
2659 : 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695,
2660 : 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696, 1696,
2661 : 1696, 1696, 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1697,
2662 : 1697, 1697, 1697, 1697, 1698, 1698, 1698, 1698, 1698, 1698,
2663 : 1698, 1698, 1698, 1698, 1698, 1698, 1699, 1699, 1699, 1699,
2664 : 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1699, 1700, 1700,
2665 :
2666 : 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700,
2667 : 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701, 1701,
2668 : 1701, 1701, 1702, 1702, 1702, 1702, 1702, 1702, 1702, 1702,
2669 : 1702, 1702, 1702, 1702, 1703, 1703, 1703, 1703, 1703, 1703,
2670 : 1703, 1703, 1703, 1703, 1703, 1703, 1704, 1704, 1704, 1704,
2671 : 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1705, 1705,
2672 : 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705, 1705,
2673 : 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706, 1706,
2674 : 1706, 1706, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707,
2675 : 1707, 1707, 1707, 1707, 1708, 1708, 1708, 1708, 1708, 1708,
2676 :
2677 : 1708, 1708, 1708, 1708, 1708, 1708, 1709, 1709, 1709, 1709,
2678 : 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1710, 1710,
2679 : 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710, 1710,
2680 : 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711,
2681 : 1711, 1711, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712,
2682 : 1712, 1712, 1712, 1712, 1713, 1713, 1713, 1713, 1713, 1713,
2683 : 1713, 1713, 1713, 1713, 1713, 1713, 1714, 1714, 1714, 1714,
2684 : 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1714, 1715, 1715,
2685 : 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
2686 : 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716, 1716,
2687 :
2688 : 1716, 1716, 1717, 1717, 1717, 1717, 1717, 1717, 1717, 1717,
2689 : 1717, 1717, 1717, 1717, 1718, 1718, 1718, 1718, 1718, 1718,
2690 : 1718, 1718, 1718, 1718, 1718, 1718, 1719, 1719, 1719, 1719,
2691 : 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1720, 1720,
2692 : 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720,
2693 : 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
2694 : 1721, 1721, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722,
2695 : 1722, 1722, 1722, 1722, 1723, 1723, 1723, 1723, 1723, 1723,
2696 : 1723, 1723, 1723, 1723, 1723, 1723, 1724, 1724, 1724, 1724,
2697 : 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1724, 1725, 1725,
2698 :
2699 : 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725, 1725,
2700 : 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726, 1726,
2701 : 1726, 1726, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727,
2702 : 1727, 1727, 1727, 1727, 1728, 1728, 1728, 1728, 1728, 1728,
2703 : 1728, 1728, 1728, 1728, 1728, 1728, 1729, 1729, 1729, 1729,
2704 : 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1729, 1730, 1730,
2705 : 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
2706 : 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731,
2707 : 1731, 1731, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732,
2708 : 1732, 1732, 1732, 1732, 1733, 1733, 1733, 1733, 1733, 1733,
2709 :
2710 : 1733, 1733, 1733, 1733, 1733, 1733, 1734, 1734, 1734, 1734,
2711 : 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1735, 1735,
2712 : 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
2713 : 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
2714 : 1736, 1736, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737,
2715 : 1737, 1737, 1737, 1737, 1738, 1738, 1738, 1738, 1738, 1738,
2716 : 1738, 1738, 1738, 1738, 1738, 1738, 1739, 1739, 1739, 1739,
2717 : 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1739, 1740, 1740,
2718 : 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740,
2719 : 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
2720 :
2721 : 1741, 1741, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
2722 : 1742, 1742, 1742, 1742, 1743, 1743, 1743, 1743, 1743, 1743,
2723 : 1743, 1743, 1743, 1743, 1743, 1743, 1744, 1744, 1744, 1744,
2724 : 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1744, 1745, 1745,
2725 : 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745, 1745,
2726 : 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746, 1746,
2727 : 1746, 1746, 1747, 1747, 1747, 1747, 1747, 1747, 1747, 1747,
2728 : 1747, 1747, 1747, 1747, 1748, 1748, 1748, 1748, 1748, 1748,
2729 : 1748, 1748, 1748, 1748, 1748, 1748, 1749, 1749, 1749, 1749,
2730 : 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1750, 1750,
2731 :
2732 : 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750,
2733 : 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
2734 : 1751, 1751, 1752, 1752, 1752, 1752, 1752, 1752, 1752, 1752,
2735 : 1752, 1752, 1752, 1752, 1753, 1753, 1753, 1753, 1753, 1753,
2736 : 1753, 1753, 1753, 1753, 1753, 1753, 1754, 1754, 1754, 1754,
2737 : 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1754, 1755, 1755,
2738 : 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755,
2739 : 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1756,
2740 : 1756, 1756, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
2741 : 1757, 1757, 1757, 1757, 1758, 1758, 1758, 1758, 1758, 1758,
2742 :
2743 : 1758, 1758, 1758, 1758, 1758, 1758, 1759, 1759, 1759, 1759,
2744 : 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1759, 1760, 1760,
2745 : 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760,
2746 : 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761,
2747 : 1761, 1761, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762,
2748 : 1762, 1762, 1762, 1762, 1763, 1763, 1763, 1763, 1763, 1763,
2749 : 1763, 1763, 1763, 1763, 1763, 1763, 1764, 1764, 1764, 1764,
2750 : 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1765, 1765,
2751 : 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
2752 : 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766,
2753 :
2754 : 1766, 1766, 1767, 1767, 1767, 1767, 1767, 1767, 1767, 1767,
2755 : 1767, 1767, 1767, 1767, 1768, 1768, 1768, 1768, 1768, 1768,
2756 : 1768, 1768, 1768, 1768, 1768, 1768, 1769, 1769, 1769, 1769,
2757 : 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1770, 1770,
2758 : 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770,
2759 : 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771,
2760 : 1771, 1771, 1772, 1772, 1772, 1772, 1772, 1772, 1772, 1772,
2761 : 1772, 1772, 1772, 1772, 1773, 1773, 1773, 1773, 1773, 1773,
2762 : 1773, 1773, 1773, 1773, 1773, 1773, 1774, 1774, 1774, 1774,
2763 : 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1775, 1775,
2764 :
2765 : 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
2766 : 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776, 1776,
2767 : 1776, 1776, 1777, 1777, 1777, 1777, 1777, 1777, 1777, 1777,
2768 : 1777, 1777, 1777, 1777, 1778, 1778, 1778, 1778, 1778, 1778,
2769 : 1778, 1778, 1778, 1778, 1778, 1778, 1779, 1779, 1779, 1779,
2770 : 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1780, 1780,
2771 : 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780, 1780,
2772 : 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781, 1781,
2773 : 1781, 1781, 1782, 1782, 1782, 1782, 1782, 1782, 1782, 1782,
2774 : 1782, 1782, 1782, 1782, 1783, 1783, 1783, 1783, 1783, 1783,
2775 :
2776 : 1783, 1783, 1783, 1783, 1783, 1783, 1784, 1784, 1784, 1784,
2777 : 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1785, 1785,
2778 : 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785, 1785,
2779 : 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786, 1786,
2780 : 1786, 1786, 1787, 1787, 1787, 1787, 1787, 1787, 1787, 1787,
2781 : 1787, 1787, 1787, 1787, 1788, 1788, 1788, 1788, 1788, 1788,
2782 : 1788, 1788, 1788, 1788, 1788, 1788, 1789, 1789, 1789, 1789,
2783 : 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1790, 1790,
2784 : 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790,
2785 : 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791,
2786 :
2787 : 1791, 1791, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792,
2788 : 1792, 1792, 1792, 1792, 1793, 1793, 1793, 1793, 1793, 1793,
2789 : 1793, 1793, 1793, 1793, 1793, 1793, 1794, 1794, 1794, 1794,
2790 : 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1795, 1795,
2791 : 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
2792 : 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796,
2793 : 1796, 1796, 1797, 1797, 1797, 1797, 1797, 1797, 1797, 1797,
2794 : 1797, 1797, 1797, 1797, 1798, 1798, 1798, 1798, 1798, 1798,
2795 : 1798, 1798, 1798, 1798, 1798, 1798, 1799, 1799, 1799, 1799,
2796 : 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1800, 1800,
2797 :
2798 : 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800,
2799 : 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801, 1801,
2800 : 1801, 1801, 1802, 1802, 1802, 1802, 1802, 1802, 1802, 1802,
2801 : 1802, 1802, 1802, 1802, 1803, 1803, 1803, 1803, 1803, 1803,
2802 : 1803, 1803, 1803, 1803, 1803, 1803, 1804, 1804, 1804, 1804,
2803 : 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1805, 1805,
2804 : 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805, 1805,
2805 : 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806, 1806,
2806 : 1806, 1806, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807,
2807 : 1807, 1807, 1807, 1807, 1808, 1808, 1808, 1808, 1808, 1808,
2808 :
2809 : 1808, 1808, 1808, 1808, 1808, 1808, 1809, 1809, 1809, 1809,
2810 : 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1810, 1810,
2811 : 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810, 1810,
2812 : 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811, 1811,
2813 : 1811, 1811, 1812, 1812, 1812, 1812, 1812, 1812, 1812, 1812,
2814 : 1812, 1812, 1812, 1812, 1813, 1813, 1813, 1813, 1813, 1813,
2815 : 1813, 1813, 1813, 1813, 1813, 1813, 1814, 1814, 1814, 1814,
2816 : 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1814, 1815, 1815,
2817 : 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815, 1815,
2818 : 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816,
2819 :
2820 : 1816, 1816, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817,
2821 : 1817, 1817, 1817, 1817, 1818, 1818, 1818, 1818, 1818, 1818,
2822 : 1818, 1818, 1818, 1818, 1818, 1818, 1819, 1819, 1819, 1819,
2823 : 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1820, 1820,
2824 : 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820, 1820,
2825 : 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821, 1821,
2826 : 1821, 1821, 1822, 1822, 1822, 1822, 1822, 1822, 1822, 1822,
2827 : 1822, 1822, 1822, 1822, 1823, 1823, 1823, 1823, 1823, 1823,
2828 : 1823, 1823, 1823, 1823, 1823, 1823, 1824, 1824, 1824, 1824,
2829 : 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1824, 1825, 1825,
2830 :
2831 : 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825,
2832 : 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
2833 : 1826, 1826, 1827, 1827, 1827, 1827, 1827, 1827, 1827, 1827,
2834 : 1827, 1827, 1827, 1827, 1828, 1828, 1828, 1828, 1828, 1828,
2835 : 1828, 1828, 1828, 1828, 1828, 1828, 1829, 1829, 1829, 1829,
2836 : 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1830, 1830,
2837 : 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830,
2838 : 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831,
2839 : 1831, 1831, 1832, 1832, 1832, 1832, 1832, 1832, 1832, 1832,
2840 : 1832, 1832, 1832, 1832, 1833, 1833, 1833, 1833, 1833, 1833,
2841 :
2842 : 1833, 1833, 1833, 1833, 1833, 1833, 1834, 1834, 1834, 1834,
2843 : 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1834, 1835, 1835,
2844 : 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835, 1835,
2845 : 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836,
2846 : 1836, 1836, 1837, 1837, 1837, 1837, 1837, 1837, 1837, 1837,
2847 : 1837, 1837, 1837, 1837, 1838, 1838, 1838, 1838, 1838, 1838,
2848 : 1838, 1838, 1838, 1838, 1838, 1838, 1839, 1839, 1839, 1839,
2849 : 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1840, 1840,
2850 : 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840,
2851 : 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
2852 :
2853 : 1841, 1841, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842,
2854 : 1842, 1842, 1842, 1842, 1843, 1843, 1843, 1843, 1843, 1843,
2855 : 1843, 1843, 1843, 1843, 1843, 1843, 1844, 1844, 1844, 1844,
2856 : 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1844, 1845, 1845,
2857 : 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845, 1845,
2858 : 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846,
2859 : 1846, 1846, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847,
2860 : 1847, 1847, 1847, 1847, 1848, 1848, 1848, 1848, 1848, 1848,
2861 : 1848, 1848, 1848, 1848, 1848, 1848, 1849, 1849, 1849, 1849,
2862 : 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1850, 1850,
2863 :
2864 : 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1850,
2865 : 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851, 1851,
2866 : 1851, 1851, 1852, 1852, 1852, 1852, 1852, 1852, 1852, 1852,
2867 : 1852, 1852, 1852, 1852, 1853, 1853, 1853, 1853, 1853, 1853,
2868 : 1853, 1853, 1853, 1853, 1853, 1853, 1854, 1854, 1854, 1854,
2869 : 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1854, 1855, 1855,
2870 : 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855,
2871 : 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
2872 : 1856, 1856, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857,
2873 : 1857, 1857, 1857, 1857, 1858, 1858, 1858, 1858, 1858, 1858,
2874 :
2875 : 1858, 1858, 1858, 1858, 1858, 1858, 1859, 1859, 1859, 1859,
2876 : 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1860, 1860,
2877 : 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1860,
2878 : 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861, 1861,
2879 : 1861, 1861, 1862, 1862, 1862, 1862, 1862, 1862, 1862, 1862,
2880 : 1862, 1862, 1862, 1862, 1863, 1863, 1863, 1863, 1863, 1863,
2881 : 1863, 1863, 1863, 1863, 1863, 1863, 1864, 1864, 1864, 1864,
2882 : 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1864, 1865, 1865,
2883 : 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865,
2884 : 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866,
2885 :
2886 : 1866, 1866, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
2887 : 1867, 1867, 1867, 1867, 1868, 1868, 1868, 1868, 1868, 1868,
2888 : 1868, 1868, 1868, 1868, 1868, 1868, 1869, 1869, 1869, 1869,
2889 : 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1870, 1870,
2890 : 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1870,
2891 : 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871, 1871,
2892 : 1871, 1871, 1872, 1872, 1872, 1872, 1872, 1872, 1872, 1872,
2893 : 1872, 1872, 1872, 1872, 1873, 1873, 1873, 1873, 1873, 1873,
2894 : 1873, 1873, 1873, 1873, 1873, 1873, 1874, 1874, 1874, 1874,
2895 : 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1874, 1875, 1875,
2896 :
2897 : 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875,
2898 : 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876,
2899 : 1876, 1876, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877,
2900 : 1877, 1877, 1877, 1877, 1878, 1878, 1878, 1878, 1878, 1878,
2901 : 1878, 1878, 1878, 1878, 1878, 1878, 1879, 1879, 1879, 1879,
2902 : 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1880, 1880,
2903 : 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880, 1880,
2904 : 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881, 1881,
2905 : 1881, 1881, 1882, 1882, 1882, 1882, 1882, 1882, 1882, 1882,
2906 : 1882, 1882, 1882, 1882, 1883, 1883, 1883, 1883, 1883, 1883,
2907 :
2908 : 1883, 1883, 1883, 1883, 1883, 1883, 1884, 1884, 1884, 1884,
2909 : 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1884, 1885, 1885,
2910 : 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
2911 : 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886,
2912 : 1886, 1886, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887,
2913 : 1887, 1887, 1887, 1887, 1888, 1888, 1888, 1888, 1888, 1888,
2914 : 1888, 1888, 1888, 1888, 1888, 1888, 1889, 1889, 1889, 1889,
2915 : 1889, 1889, 1889, 1889, 1889, 1889, 1889, 1889, 1890, 1890,
2916 : 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
2917 : 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1891,
2918 :
2919 : 1891, 1891, 1892, 1892, 1892, 1892, 1892, 1892, 1892, 1892,
2920 : 1892, 1892, 1892, 1892, 1893, 1893, 1893, 1893, 1893, 1893,
2921 : 1893, 1893, 1893, 1893, 1893, 1893, 1894, 1894, 1894, 1894,
2922 : 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1895, 1895,
2923 : 1895, 1895, 1895, 1895, 1895, 1895, 1895, 1895, 1895, 1895,
2924 : 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1896,
2925 : 1896, 1896, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897,
2926 : 1897, 1897, 1897, 1897, 1898, 1898, 1898, 1898, 1898, 1898,
2927 : 1898, 1898, 1898, 1898, 1898, 1898, 1899, 1899, 1899, 1899,
2928 : 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1900, 1900,
2929 :
2930 : 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900,
2931 : 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1901,
2932 : 1901, 1901, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902,
2933 : 1902, 1902, 1902, 1902, 1903, 1903, 1903, 1903, 1903, 1903,
2934 : 1903, 1903, 1903, 1903, 1903, 1903, 1904, 1904, 1904, 1904,
2935 : 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1904, 1905, 1905,
2936 : 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905, 1905,
2937 : 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906, 1906,
2938 : 1906, 1906, 1907, 1907, 1907, 1907, 1907, 1907, 1907, 1907,
2939 : 1907, 1907, 1907, 1907, 1908, 1908, 1908, 1908, 1908, 1908,
2940 :
2941 : 1908, 1908, 1908, 1908, 1908, 1908, 1909, 1909, 1909, 1909,
2942 : 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1909, 1910, 1910,
2943 : 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910, 1910,
2944 : 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911, 1911,
2945 : 1911, 1911, 1912, 1912, 1912, 1912, 1912, 1912, 1912, 1912,
2946 : 1912, 1912, 1912, 1912, 1913, 1913, 1913, 1913, 1913, 1913,
2947 : 1913, 1913, 1913, 1913, 1913, 1913, 1914, 1914, 1914, 1914,
2948 : 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1914, 1915, 1915,
2949 : 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915,
2950 : 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916, 1916,
2951 :
2952 : 1916, 1916, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917,
2953 : 1917, 1917, 1917, 1917, 1918, 1918, 1918, 1918, 1918, 1918,
2954 : 1918, 1918, 1918, 1918, 1918, 1918, 1919, 1919, 1919, 1919,
2955 : 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1919, 1920, 1920,
2956 : 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920, 1920,
2957 : 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921,
2958 : 1921, 1921, 641, 640, 639, 636, 634, 633, 631, 619,
2959 : 618, 617, 615, 614, 613, 612, 611, 608, 607, 606,
2960 : 605, 602, 601, 600, 599, 598, 597, 596, 595, 594,
2961 : 589, 588, 582, 578, 576, 575, 574, 573, 572, 571,
2962 :
2963 : 569, 568, 567, 566, 565, 564, 563, 561, 560, 559,
2964 : 558, 557, 556, 555, 554, 553, 552, 551, 549, 546,
2965 : 545, 544, 543, 540, 538, 537, 534, 527, 526, 525,
2966 : 524, 523, 522, 521, 518, 517, 516, 515, 514, 513,
2967 : 512, 510, 509, 508, 506, 505, 503, 502, 501, 500,
2968 : 493, 492, 491, 490, 489, 488, 487, 485, 483, 482,
2969 : 481, 479, 478, 475, 474, 472, 471, 470, 467, 456,
2970 : 455, 454, 453, 452, 451, 450, 449, 448, 447, 446,
2971 : 444, 443, 442, 441, 440, 439, 438, 437, 436, 435,
2972 : 432, 431, 430, 429, 428, 427, 426, 424, 423, 422,
2973 :
2974 : 421, 420, 419, 418, 416, 415, 414, 413, 412, 411,
2975 : 410, 409, 408, 406, 405, 403, 402, 401, 400, 398,
2976 : 397, 396, 395, 394, 393, 392, 390, 367, 364, 361,
2977 : 359, 358, 357, 356, 355, 354, 353, 350, 349, 348,
2978 : 347, 346, 345, 344, 343, 342, 341, 340, 339, 338,
2979 : 336, 335, 334, 332, 331, 329, 328, 327, 326, 325,
2980 : 324, 323, 321, 320, 319, 318, 316, 315, 310, 309,
2981 : 303, 302, 301, 300, 299, 298, 297, 296, 295, 294,
2982 : 293, 287, 286, 283, 246, 237, 225, 220, 219, 218,
2983 : 217, 216, 215, 214, 213, 212, 210, 207, 206, 205,
2984 :
2985 : 203, 201, 200, 199, 198, 196, 195, 194, 193, 192,
2986 : 190, 188, 185, 184, 180, 179, 178, 173, 170, 166,
2987 : 158, 149, 148, 147, 146, 145, 144, 143, 141, 126,
2988 : 124, 122, 121, 119, 118, 116, 115, 112, 111, 100,
2989 : 91, 86, 82, 75, 74, 73, 69, 67, 66, 65,
2990 : 62, 54, 53, 52, 48, 41, 32, 28, 27, 24,
2991 : 23, 22, 21, 2, 1, 1492, 1492, 1492, 1492, 1492,
2992 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
2993 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
2994 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
2995 :
2996 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
2997 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492,
2998 : 1492, 1492, 1492, 1492, 1492, 1492, 1492, 1492
2999 : } ;
3000 :
3001 : static yy_state_type yy_last_accepting_state;
3002 : static char *yy_last_accepting_cpos;
3003 :
3004 : /* The intent behind this definition is that it'll catch
3005 : * any uses of REJECT which flex missed.
3006 : */
3007 : #define REJECT reject_used_but_not_detected
3008 : static int yy_more_flag = 0;
3009 : static int yy_more_len = 0;
3010 : #define yymore() (yy_more_flag = 1)
3011 : #define YY_MORE_ADJ yy_more_len
3012 : #define YY_RESTORE_YY_MORE_OFFSET
3013 : char *yytext;
3014 : #line 1 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
3015 : #define INITIAL 0
3016 : #line 2 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
3017 :
3018 : /*
3019 : +----------------------------------------------------------------------+
3020 : | Zend Engine |
3021 : +----------------------------------------------------------------------+
3022 : | Copyright (c) 1998-2006 Zend Technologies Ltd. (http://www.zend.com) |
3023 : +----------------------------------------------------------------------+
3024 : | This source file is subject to version 2.00 of the Zend license, |
3025 : | that is bundled with this package in the file LICENSE, and is |
3026 : | available through the world-wide-web at the following url: |
3027 : | http://www.zend.com/license/2_00.txt. |
3028 : | If you did not receive a copy of the Zend license and are unable to |
3029 : | obtain it through the world-wide-web, please send a note to |
3030 : | license@zend.com so we can mail you a copy immediately. |
3031 : +----------------------------------------------------------------------+
3032 : | Authors: Andi Gutmans <andi@zend.com> |
3033 : | Zeev Suraski <zeev@zend.com> |
3034 : +----------------------------------------------------------------------+
3035 : */
3036 :
3037 : /* $Id: zend_language_scanner.l 280170 2009-05-08 17:50:58Z mattwil $ */
3038 :
3039 : #define yyleng SCNG(yy_leng)
3040 : #define yytext SCNG(yy_text)
3041 : #define yytext_ptr SCNG(yy_text)
3042 : #define yyin SCNG(yy_in)
3043 : #define yyout SCNG(yy_out)
3044 : #define yy_last_accepting_state SCNG(_yy_last_accepting_state)
3045 : #define yy_last_accepting_cpos SCNG(_yy_last_accepting_cpos)
3046 : #define yy_more_flag SCNG(_yy_more_flag)
3047 : #define yy_more_len SCNG(_yy_more_len)
3048 :
3049 : #define ST_IN_SCRIPTING 1
3050 :
3051 : #define ST_DOUBLE_QUOTES 2
3052 :
3053 : #define ST_BACKQUOTE 3
3054 :
3055 : #define ST_HEREDOC 4
3056 :
3057 : #define ST_START_HEREDOC 5
3058 :
3059 : #define ST_END_HEREDOC 6
3060 :
3061 : #define ST_LOOKING_FOR_PROPERTY 7
3062 :
3063 : #define ST_LOOKING_FOR_VARNAME 8
3064 :
3065 : #define ST_VAR_OFFSET 9
3066 :
3067 : #define ST_COMMENT 10
3068 :
3069 : #define ST_DOC_COMMENT 11
3070 :
3071 : #define ST_ONE_LINE_COMMENT 12
3072 :
3073 : #define YY_STACK_USED 1
3074 : #line 51 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
3075 :
3076 : #include <errno.h>
3077 : #include "zend.h"
3078 : #include "zend_alloc.h"
3079 : #include <zend_language_parser.h>
3080 : #include "zend_compile.h"
3081 : #include "zend_language_scanner.h"
3082 : #include "zend_highlight.h"
3083 : #include "zend_constants.h"
3084 : #include "zend_variables.h"
3085 : #include "zend_operators.h"
3086 : #include "zend_API.h"
3087 : #include "zend_strtod.h"
3088 : #include "zend_exceptions.h"
3089 :
3090 : #ifdef HAVE_STDARG_H
3091 : # include <stdarg.h>
3092 : #endif
3093 :
3094 : #ifdef HAVE_UNISTD_H
3095 : # include <unistd.h>
3096 : #endif
3097 :
3098 : #define YY_DECL int lex_scan(zval *zendlval TSRMLS_DC)
3099 :
3100 : #define ECHO { ZEND_WRITE( yytext, yyleng ); }
3101 :
3102 : #ifdef ZTS
3103 : # define MY_INPUT yyinput
3104 : #else
3105 : # define MY_INPUT input
3106 : #endif
3107 :
3108 :
3109 : /* Globals Macros */
3110 : #define SCNG LANG_SCNG
3111 : #ifdef ZTS
3112 : ZEND_API ts_rsrc_id language_scanner_globals_id;
3113 : #else
3114 : ZEND_API zend_scanner_globals language_scanner_globals;
3115 : #endif
3116 :
3117 :
3118 : #define YY_FATAL_ERROR zend_fatal_scanner_error
3119 :
3120 : #define HANDLE_NEWLINES(s, l) \
3121 : do { \
3122 : char *p = (s), *boundary = p+(l); \
3123 : \
3124 : while (p<boundary) { \
3125 : if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) { \
3126 : CG(zend_lineno)++; \
3127 : } \
3128 : p++; \
3129 : } \
3130 : } while (0)
3131 :
3132 : #define HANDLE_NEWLINE(c) \
3133 : { \
3134 : if (c == '\n' || c == '\r') { \
3135 : CG(zend_lineno)++; \
3136 : } \
3137 : }
3138 :
3139 :
3140 : #define ZEND_IS_OCT(c) ((c)>='0' && (c)<='7')
3141 : #define ZEND_IS_HEX(c) (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
3142 :
3143 :
3144 : void zend_fatal_scanner_error(char *message)
3145 : {
3146 : zend_error(E_COMPILE_ERROR, "%s", message);
3147 : }
3148 :
3149 : BEGIN_EXTERN_C()
3150 : void startup_scanner(TSRMLS_D)
3151 : {
3152 : CG(heredoc) = NULL;
3153 : CG(heredoc_len) = 0;
3154 : CG(doc_comment) = NULL;
3155 : CG(doc_comment_len) = 0;
3156 : SCNG(yy_start_stack_ptr) = 0;
3157 : SCNG(yy_start_stack_depth) = 0;
3158 : SCNG(current_buffer) = NULL;
3159 : #ifdef ZEND_MULTIBYTE
3160 : SCNG(script_org) = NULL;
3161 : SCNG(script_org_size) = 0;
3162 : SCNG(script_filtered) = NULL;
3163 : SCNG(script_filtered_size) = 0;
3164 : SCNG(input_filter) = NULL;
3165 : SCNG(output_filter) = NULL;
3166 : SCNG(script_encoding) = NULL;
3167 : SCNG(internal_encoding) = NULL;
3168 : #endif /* ZEND_MULTIBYTE */
3169 : }
3170 :
3171 :
3172 : void shutdown_scanner(TSRMLS_D)
3173 : {
3174 : if (CG(heredoc)) {
3175 : efree(CG(heredoc));
3176 : CG(heredoc_len)=0;
3177 : }
3178 : if (SCNG(yy_start_stack)) {
3179 : yy_flex_free(SCNG(yy_start_stack));
3180 : SCNG(yy_start_stack) = NULL;
3181 : }
3182 : RESET_DOC_COMMENT();
3183 :
3184 : #ifdef ZEND_MULTIBYTE
3185 : if (SCNG(script_org)) {
3186 : efree(SCNG(script_org));
3187 : SCNG(script_org) = NULL;
3188 : }
3189 : if (SCNG(script_filtered)) {
3190 : efree(SCNG(script_filtered));
3191 : SCNG(script_filtered) = NULL;
3192 : }
3193 : SCNG(script_org_size) = 0;
3194 : SCNG(script_filtered_size) = 0;
3195 : SCNG(input_filter) = NULL;
3196 : SCNG(output_filter) = NULL;
3197 : SCNG(script_encoding) = NULL;
3198 : SCNG(internal_encoding) = NULL;
3199 : #endif /* ZEND_MULTIBYTE */
3200 : }
3201 : END_EXTERN_C()
3202 :
3203 :
3204 : ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state TSRMLS_DC)
3205 : {
3206 : memcpy(&lex_state->buffer_state, &YY_CURRENT_BUFFER, sizeof(YY_BUFFER_STATE));
3207 : lex_state->in = SCNG(yy_in);
3208 : lex_state->state = YYSTATE;
3209 : lex_state->filename = zend_get_compiled_filename(TSRMLS_C);
3210 : lex_state->lineno = CG(zend_lineno);
3211 :
3212 : #ifdef ZEND_MULTIBYTE
3213 : lex_state->script_org = SCNG(script_org);
3214 : lex_state->script_org_size = SCNG(script_org_size);
3215 : lex_state->script_filtered = SCNG(script_filtered);
3216 : lex_state->script_filtered_size = SCNG(script_filtered_size);
3217 : lex_state->input_filter = SCNG(input_filter);
3218 : lex_state->output_filter = SCNG(output_filter);
3219 : lex_state->script_encoding = SCNG(script_encoding);
3220 : lex_state->internal_encoding = SCNG(internal_encoding);
3221 : #endif /* ZEND_MULTIBYTE */
3222 : }
3223 :
3224 : ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC)
3225 : {
3226 : YY_BUFFER_STATE original_buffer_state = YY_CURRENT_BUFFER;
3227 :
3228 : if (lex_state->buffer_state) {
3229 : yy_switch_to_buffer(lex_state->buffer_state TSRMLS_CC);
3230 : } else {
3231 : YY_CURRENT_BUFFER = NULL;
3232 : }
3233 :
3234 : yy_delete_buffer(original_buffer_state TSRMLS_CC);
3235 : SCNG(yy_in) = lex_state->in;
3236 : BEGIN(lex_state->state);
3237 : CG(zend_lineno) = lex_state->lineno;
3238 : zend_restore_compiled_filename(lex_state->filename TSRMLS_CC);
3239 :
3240 : #ifdef ZEND_MULTIBYTE
3241 : if (SCNG(script_org)) {
3242 : efree(SCNG(script_org));
3243 : SCNG(script_org) = NULL;
3244 : }
3245 : if (SCNG(script_filtered)) {
3246 : efree(SCNG(script_filtered));
3247 : SCNG(script_filtered) = NULL;
3248 : }
3249 : SCNG(script_org) = lex_state->script_org;
3250 : SCNG(script_org_size) = lex_state->script_org_size;
3251 : SCNG(script_filtered) = lex_state->script_filtered;
3252 : SCNG(script_filtered_size) = lex_state->script_filtered_size;
3253 : SCNG(input_filter) = lex_state->input_filter;
3254 : SCNG(output_filter) = lex_state->output_filter;
3255 : SCNG(script_encoding) = lex_state->script_encoding;
3256 : SCNG(internal_encoding) = lex_state->internal_encoding;
3257 : #endif /* ZEND_MULTIBYTE */
3258 : }
3259 :
3260 :
3261 : BEGIN_EXTERN_C()
3262 :
3263 :
3264 : ZEND_API void zend_file_handle_dtor(zend_file_handle *fh)
3265 : {
3266 : TSRMLS_FETCH();
3267 :
3268 : switch (fh->type) {
3269 : case ZEND_HANDLE_FP:
3270 : fclose(fh->handle.fp);
3271 : break;
3272 : case ZEND_HANDLE_STREAM:
3273 : if (fh->handle.stream.closer) {
3274 : fh->handle.stream.closer(fh->handle.stream.handle TSRMLS_CC);
3275 : }
3276 : break;
3277 : case ZEND_HANDLE_FILENAME:
3278 : /* We're only supposed to get here when destructing the used_files hash,
3279 : * which doesn't really contain open files, but references to their names/paths
3280 : */
3281 : break;
3282 : }
3283 : if (fh->opened_path) {
3284 : efree(fh->opened_path);
3285 : fh->opened_path = NULL;
3286 : }
3287 : if (fh->free_filename && fh->filename) {
3288 : efree(fh->filename);
3289 : fh->filename = NULL;
3290 : }
3291 : }
3292 :
3293 :
3294 : int zend_compare_file_handles(zend_file_handle *fh1, zend_file_handle *fh2)
3295 : {
3296 : if (fh1->type != fh2->type) {
3297 : return 0;
3298 : }
3299 : switch (fh1->type) {
3300 : case ZEND_HANDLE_FP:
3301 : return fh1->handle.fp==fh2->handle.fp;
3302 : break;
3303 : case ZEND_HANDLE_STREAM:
3304 : return fh1->handle.stream.handle == fh2->handle.stream.handle;
3305 : break;
3306 : }
3307 : return 0;
3308 : }
3309 :
3310 :
3311 : ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC)
3312 : {
3313 : zend_llist_del_element(&CG(open_files), file_handle, (int (*)(void *, void *)) zend_compare_file_handles);
3314 : /* zend_file_handle_dtor() operates on the copy, so we have to NULLify the original here */
3315 : file_handle->opened_path = NULL;
3316 : if (file_handle->free_filename) {
3317 : file_handle->filename = NULL;
3318 : }
3319 : }
3320 :
3321 :
3322 : ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC)
3323 : {
3324 : char *file_path=NULL;
3325 :
3326 : if (FAILURE == zend_stream_fixup(file_handle TSRMLS_CC)) {
3327 : return FAILURE;
3328 : }
3329 :
3330 : zend_llist_add_element(&CG(open_files), file_handle);
3331 :
3332 : /* Reset the scanner for scanning the new file */
3333 : SCNG(yy_in) = file_handle;
3334 :
3335 : #ifdef ZEND_MULTIBYTE
3336 : if (file_handle->handle.stream.interactive == 0) {
3337 : if (zend_multibyte_read_script(TSRMLS_C) != 0) {
3338 : return FAILURE;
3339 : }
3340 :
3341 : /* force flex to use buffer only */
3342 : SCNG(yy_in) = NULL;
3343 : SCNG(init) = 0;
3344 : SCNG(start) = 1;
3345 :
3346 : zend_multibyte_set_filter(NULL TSRMLS_CC);
3347 :
3348 : if (!SCNG(input_filter)) {
3349 : SCNG(script_filtered) = (char*)emalloc(SCNG(script_org_size)+1);
3350 : memcpy(SCNG(script_filtered), SCNG(script_org), SCNG(script_org_size)+1);
3351 : SCNG(script_filtered_size) = SCNG(script_org_size);
3352 : } else {
3353 : SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC);
3354 : }
3355 :
3356 : /* flex requires doubled null */
3357 : SCNG(script_filtered) = (char*)erealloc(SCNG(script_filtered), SCNG(script_filtered_size)+2);
3358 : *(SCNG(script_filtered)+SCNG(script_filtered_size)) = (char)NULL;
3359 : *(SCNG(script_filtered)+SCNG(script_filtered_size)+1) = (char)NULL;
3360 : yy_scan_buffer(SCNG(script_filtered), SCNG(script_filtered_size)+2 TSRMLS_CC);
3361 : } else {
3362 : yy_switch_to_buffer(yy_create_buffer(SCNG(yy_in), YY_BUF_SIZE TSRMLS_CC) TSRMLS_CC);
3363 : }
3364 : #else /* !ZEND_MULTIBYTE */
3365 : yy_switch_to_buffer(yy_create_buffer(SCNG(yy_in), YY_BUF_SIZE TSRMLS_CC) TSRMLS_CC);
3366 : #endif /* ZEND_MULTIBYTE */
3367 :
3368 : BEGIN(INITIAL);
3369 :
3370 : if (file_handle->opened_path) {
3371 : file_path = file_handle->opened_path;
3372 : } else {
3373 : file_path = file_handle->filename;
3374 : }
3375 :
3376 : zend_set_compiled_filename(file_path TSRMLS_CC);
3377 :
3378 : if (CG(start_lineno)) {
3379 : CG(zend_lineno) = CG(start_lineno);
3380 : CG(start_lineno) = 0;
3381 : } else {
3382 : CG(zend_lineno) = 1;
3383 : }
3384 :
3385 : CG(increment_lineno) = 0;
3386 : return SUCCESS;
3387 : }
3388 : END_EXTERN_C()
3389 :
3390 :
3391 : ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSRMLS_DC)
3392 : {
3393 : zend_lex_state original_lex_state;
3394 : zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array));
3395 : zend_op_array *original_active_op_array = CG(active_op_array);
3396 : zend_op_array *retval=NULL;
3397 : int compiler_result;
3398 : zend_bool compilation_successful=0;
3399 : znode retval_znode;
3400 : zend_bool original_in_compilation = CG(in_compilation);
3401 :
3402 : retval_znode.op_type = IS_CONST;
3403 : retval_znode.u.constant.type = IS_LONG;
3404 : retval_znode.u.constant.value.lval = 1;
3405 : retval_znode.u.constant.is_ref = 0;
3406 : retval_znode.u.constant.refcount = 1;
3407 :
3408 : zend_save_lexical_state(&original_lex_state TSRMLS_CC);
3409 :
3410 : retval = op_array; /* success oriented */
3411 :
3412 : if (open_file_for_scanning(file_handle TSRMLS_CC)==FAILURE) {
3413 : if (type==ZEND_REQUIRE) {
3414 : zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename);
3415 : zend_bailout();
3416 : } else {
3417 : zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename);
3418 : }
3419 : compilation_successful=0;
3420 : } else {
3421 : init_op_array(op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE TSRMLS_CC);
3422 : CG(in_compilation) = 1;
3423 : CG(active_op_array) = op_array;
3424 : compiler_result = zendparse(TSRMLS_C);
3425 : zend_do_return(&retval_znode, 0 TSRMLS_CC);
3426 : zend_do_handle_exception(TSRMLS_C);
3427 : CG(in_compilation) = original_in_compilation;
3428 : if (compiler_result==1) { /* parser error */
3429 : zend_bailout();
3430 : }
3431 : compilation_successful=1;
3432 : }
3433 :
3434 : if (retval) {
3435 : CG(active_op_array) = original_active_op_array;
3436 : if (compilation_successful) {
3437 : pass_two(op_array TSRMLS_CC);
3438 : } else {
3439 : efree(op_array);
3440 : retval = NULL;
3441 : }
3442 : }
3443 : if (compilation_successful) {
3444 : zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
3445 : }
3446 : return retval;
3447 : }
3448 :
3449 :
3450 : zend_op_array *compile_filename(int type, zval *filename TSRMLS_DC)
3451 : {
3452 : zend_file_handle file_handle;
3453 : zval tmp;
3454 : zend_op_array *retval;
3455 : char *opened_path = NULL;
3456 :
3457 : if (filename->type != IS_STRING) {
3458 : tmp = *filename;
3459 : zval_copy_ctor(&tmp);
3460 : convert_to_string(&tmp);
3461 : filename = &tmp;
3462 : }
3463 : file_handle.filename = filename->value.str.val;
3464 : file_handle.free_filename = 0;
3465 : file_handle.type = ZEND_HANDLE_FILENAME;
3466 : file_handle.opened_path = NULL;
3467 : file_handle.handle.fp = NULL;
3468 :
3469 : retval = zend_compile_file(&file_handle, type TSRMLS_CC);
3470 : if (retval && file_handle.handle.stream.handle) {
3471 : int dummy = 1;
3472 :
3473 : if (!file_handle.opened_path) {
3474 : file_handle.opened_path = opened_path = estrndup(filename->value.str.val, filename->value.str.len);
3475 : }
3476 :
3477 : zend_hash_add(&EG(included_files), file_handle.opened_path, strlen(file_handle.opened_path)+1, (void *)&dummy, sizeof(int), NULL);
3478 :
3479 : if (opened_path) {
3480 : efree(opened_path);
3481 : }
3482 : }
3483 : zend_destroy_file_handle(&file_handle TSRMLS_CC);
3484 :
3485 : if (filename==&tmp) {
3486 : zval_dtor(&tmp);
3487 : }
3488 : return retval;
3489 : }
3490 :
3491 : ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_DC)
3492 : {
3493 : /* enforce two trailing NULLs for flex... */
3494 : STR_REALLOC(str->value.str.val, str->value.str.len+2);
3495 :
3496 : str->value.str.val[str->value.str.len+1]=0;
3497 :
3498 : SCNG(yy_in)=NULL;
3499 :
3500 : #ifdef ZEND_MULTIBYTE
3501 : SCNG(script_org) = estrdup(str->value.str.val);
3502 : SCNG(script_org_size) = str->value.str.len;
3503 :
3504 : zend_multibyte_set_filter(CG(internal_encoding) TSRMLS_CC);
3505 :
3506 : if (!SCNG(input_filter)) {
3507 : SCNG(script_filtered) = (char*)emalloc(SCNG(script_org_size)+1);
3508 : memcpy(SCNG(script_filtered), SCNG(script_org), SCNG(script_org_size)+1);
3509 : SCNG(script_filtered_size) = SCNG(script_org_size);
3510 : } else {
3511 : SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC);
3512 : }
3513 :
3514 : /* flex requires doubled null */
3515 : SCNG(script_filtered) = (char*)erealloc(SCNG(script_filtered), SCNG(script_filtered_size)+2);
3516 : *(SCNG(script_filtered)+SCNG(script_filtered_size)) = (char)NULL;
3517 : *(SCNG(script_filtered)+SCNG(script_filtered_size)+1) = (char)NULL;
3518 : yy_scan_buffer(SCNG(script_filtered), SCNG(script_filtered_size)+2 TSRMLS_CC);
3519 : #else /* !ZEND_MULTIBYTE */
3520 : yy_scan_buffer(str->value.str.val, str->value.str.len+2 TSRMLS_CC);
3521 : #endif /* ZEND_MULTIBYTE */
3522 :
3523 : zend_set_compiled_filename(filename TSRMLS_CC);
3524 : CG(zend_lineno) = 1;
3525 : CG(increment_lineno) = 0;
3526 : return SUCCESS;
3527 : }
3528 :
3529 :
3530 : ZEND_API int zend_get_scanned_file_offset(TSRMLS_D)
3531 : {
3532 : if (yyin) {
3533 : int offset_in_buffer = (yy_c_buf_p - (YY_CURRENT_BUFFER)->yy_ch_buf);
3534 : int read_bytes = SCNG(yy_n_chars);
3535 : int offset_from_the_end = read_bytes - offset_in_buffer;
3536 :
3537 : return zend_stream_ftell(yyin TSRMLS_CC) - offset_from_the_end;
3538 : } else {
3539 : /* The entire file is in the buffer; probably zend multibyte
3540 : is enabled */
3541 : return (yy_c_buf_p - (YY_CURRENT_BUFFER)->yy_ch_buf);
3542 : }
3543 : }
3544 :
3545 :
3546 : zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC)
3547 : {
3548 : zend_lex_state original_lex_state;
3549 : zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array));
3550 : zend_op_array *original_active_op_array = CG(active_op_array);
3551 : zend_op_array *retval;
3552 : zval tmp;
3553 : int compiler_result;
3554 : zend_bool original_in_compilation = CG(in_compilation);
3555 :
3556 : if (source_string->value.str.len==0) {
3557 : efree(op_array);
3558 : return NULL;
3559 : }
3560 :
3561 : CG(in_compilation) = 1;
3562 :
3563 : tmp = *source_string;
3564 : zval_copy_ctor(&tmp);
3565 : convert_to_string(&tmp);
3566 : source_string = &tmp;
3567 :
3568 : zend_save_lexical_state(&original_lex_state TSRMLS_CC);
3569 : if (zend_prepare_string_for_scanning(source_string, filename TSRMLS_CC)==FAILURE) {
3570 : efree(op_array);
3571 : retval = NULL;
3572 : } else {
3573 : zend_bool orig_interactive = CG(interactive);
3574 :
3575 : CG(interactive) = 0;
3576 : init_op_array(op_array, ZEND_EVAL_CODE, INITIAL_OP_ARRAY_SIZE TSRMLS_CC);
3577 : CG(interactive) = orig_interactive;
3578 : CG(active_op_array) = op_array;
3579 : BEGIN(ST_IN_SCRIPTING);
3580 : compiler_result = zendparse(TSRMLS_C);
3581 :
3582 : #ifdef ZEND_MULTIBYTE
3583 : if (SCNG(script_org)) {
3584 : efree(SCNG(script_org));
3585 : SCNG(script_org) = NULL;
3586 : }
3587 : if (SCNG(script_filtered)) {
3588 : efree(SCNG(script_filtered));
3589 : SCNG(script_filtered) = NULL;
3590 : }
3591 : #endif /* ZEND_MULTIBYTE */
3592 :
3593 : if (compiler_result==1) {
3594 : CG(active_op_array) = original_active_op_array;
3595 : CG(unclean_shutdown)=1;
3596 : retval = NULL;
3597 : } else {
3598 : zend_do_return(NULL, 0 TSRMLS_CC);
3599 : zend_do_handle_exception(TSRMLS_C);
3600 : CG(active_op_array) = original_active_op_array;
3601 : pass_two(op_array TSRMLS_CC);
3602 : retval = op_array;
3603 : }
3604 : zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
3605 : }
3606 : zval_dtor(&tmp);
3607 : CG(in_compilation) = original_in_compilation;
3608 : return retval;
3609 : }
3610 :
3611 :
3612 : BEGIN_EXTERN_C()
3613 : int highlight_file(char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini TSRMLS_DC)
3614 : {
3615 : zend_lex_state original_lex_state;
3616 : zend_file_handle file_handle;
3617 :
3618 : file_handle.type = ZEND_HANDLE_FILENAME;
3619 : file_handle.filename = filename;
3620 : file_handle.free_filename = 0;
3621 : file_handle.opened_path = NULL;
3622 : zend_save_lexical_state(&original_lex_state TSRMLS_CC);
3623 : if (open_file_for_scanning(&file_handle TSRMLS_CC)==FAILURE) {
3624 : zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename);
3625 : return FAILURE;
3626 : }
3627 : zend_highlight(syntax_highlighter_ini TSRMLS_CC);
3628 : #ifdef ZEND_MULTIBYTE
3629 : if (SCNG(script_org)) {
3630 : efree(SCNG(script_org));
3631 : SCNG(script_org) = NULL;
3632 : }
3633 : if (SCNG(script_filtered)) {
3634 : efree(SCNG(script_filtered));
3635 : SCNG(script_filtered) = NULL;
3636 : }
3637 : #endif /* ZEND_MULTIBYTE */
3638 : zend_destroy_file_handle(&file_handle TSRMLS_CC);
3639 : zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
3640 : return SUCCESS;
3641 : }
3642 :
3643 : int highlight_string(zval *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, char *str_name TSRMLS_DC)
3644 : {
3645 : zend_lex_state original_lex_state;
3646 : zval tmp = *str;
3647 :
3648 : str = &tmp;
3649 : zval_copy_ctor(str);
3650 : zend_save_lexical_state(&original_lex_state TSRMLS_CC);
3651 : if (zend_prepare_string_for_scanning(str, str_name TSRMLS_CC)==FAILURE) {
3652 : return FAILURE;
3653 : }
3654 : BEGIN(INITIAL);
3655 : zend_highlight(syntax_highlighter_ini TSRMLS_CC);
3656 : #ifdef ZEND_MULTIBYTE
3657 : if (SCNG(script_org)) {
3658 : efree(SCNG(script_org));
3659 : SCNG(script_org) = NULL;
3660 : }
3661 : if (SCNG(script_filtered)) {
3662 : efree(SCNG(script_filtered));
3663 : SCNG(script_filtered) = NULL;
3664 : }
3665 : #endif /* ZEND_MULTIBYTE */
3666 : zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
3667 : zval_dtor(str);
3668 : return SUCCESS;
3669 : }
3670 : END_EXTERN_C()
3671 :
3672 : #ifdef ZEND_MULTIBYTE
3673 : BEGIN_EXTERN_C()
3674 : ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, zend_encoding *old_encoding TSRMLS_DC)
3675 : {
3676 : YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
3677 : int offset, original_offset, length, free_flag;
3678 : char *p;
3679 : zend_encoding *new_encoding;
3680 :
3681 : /* calculate current position */
3682 : offset = original_offset = yy_c_buf_p - b->yy_ch_buf;
3683 : if (old_input_filter && original_offset > 0) {
3684 : new_encoding = SCNG(script_encoding);
3685 : SCNG(script_encoding) = old_encoding;
3686 : do {
3687 : (old_input_filter)(&p, &length, SCNG(script_org), offset TSRMLS_CC);
3688 : if (!p) {
3689 : SCNG(script_encoding) = new_encoding;
3690 : return;
3691 : }
3692 : efree(p);
3693 : if (length > original_offset) {
3694 : offset--;
3695 : } else if (length < original_offset) {
3696 : offset++;
3697 : }
3698 : } while (original_offset != length);
3699 : SCNG(script_encoding) = new_encoding;
3700 : }
3701 :
3702 : /* convert and set */
3703 : if (!SCNG(input_filter)) {
3704 : length = SCNG(script_org_size)-offset-1;
3705 : p = SCNG(script_org)+offset+1;
3706 : free_flag = 0;
3707 : } else {
3708 : SCNG(input_filter)(&p, &length, SCNG(script_org)+offset+1, SCNG(script_org_size)-offset-1 TSRMLS_CC);
3709 : free_flag = 1;
3710 : }
3711 : if (original_offset+length+1 > (int)b->yy_buf_size) {
3712 : b->yy_buf_size = original_offset+length+1;
3713 : b->yy_ch_buf = (char*)erealloc(b->yy_ch_buf, b->yy_buf_size+2);
3714 : SCNG(script_filtered) = b->yy_ch_buf;
3715 : SCNG(script_filtered_size) = b->yy_buf_size;
3716 : }
3717 : yy_c_buf_p = b->yy_ch_buf + original_offset;
3718 : strncpy(yy_c_buf_p+1, p, length);
3719 : b->yy_n_chars = original_offset + length + 1;
3720 : SCNG(yy_n_chars) = b->yy_n_chars;
3721 : b->yy_ch_buf[SCNG(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3722 : b->yy_ch_buf[SCNG(yy_n_chars)+1] = YY_END_OF_BUFFER_CHAR;
3723 :
3724 : if (free_flag) {
3725 : efree(p);
3726 : }
3727 : }
3728 :
3729 :
3730 : ZEND_API int zend_multibyte_yyinput(zend_file_handle *file_handle, char *buf, size_t len TSRMLS_DC)
3731 : {
3732 : int c = '*', n;
3733 :
3734 : if (file_handle->handle.stream.interactive == 0) {
3735 : return zend_stream_read(file_handle, buf, len TSRMLS_CC);
3736 : }
3737 :
3738 : /* interactive */
3739 : if (SCNG(script_org)) {
3740 : efree(SCNG(script_org));
3741 : }
3742 : if (SCNG(script_filtered)) {
3743 : efree(SCNG(script_filtered));
3744 : }
3745 : SCNG(script_org) = NULL;
3746 : SCNG(script_org_size) = 0;
3747 :
3748 : /* TODO: support widechars */
3749 :
3750 : for (n = 0; n < len && (c = zend_stream_getc(yyin TSRMLS_CC)) != EOF && c != '\n'; ++n) {
3751 : buf[n] = (char)c;
3752 : }
3753 : if (c == '\n') {
3754 : buf[n++] = (char) c;
3755 : }
3756 :
3757 : SCNG(script_org_size) = n;
3758 : SCNG(script_org) = (char*)emalloc(SCNG(script_org_size) + 1);
3759 : memcpy(SCNG(script_org), buf, n);
3760 :
3761 : return n;
3762 : }
3763 :
3764 :
3765 : ZEND_API int zend_multibyte_read_script(TSRMLS_D)
3766 : {
3767 : char buf[8192];
3768 : int n;
3769 :
3770 : if (SCNG(script_org)) {
3771 : efree(SCNG(script_org));
3772 : }
3773 : SCNG(script_org) = NULL;
3774 : SCNG(script_org_size) = 0;
3775 :
3776 : for (; (n = zend_stream_read(yyin, buf, sizeof(buf) TSRMLS_CC)) > 0; ) {
3777 : SCNG(script_org_size) += n;
3778 : SCNG(script_org) = (char*)erealloc(SCNG(script_org), SCNG(script_org_size));
3779 : memcpy(SCNG(script_org) + SCNG(script_org_size) - n, buf, n);
3780 : }
3781 :
3782 : if (n < 0) {
3783 : return -1;
3784 : }
3785 :
3786 : SCNG(script_org) = (char*)erealloc(SCNG(script_org), SCNG(script_org_size) + 1);
3787 : *(SCNG(script_org)+SCNG(script_org_size)) = '\0';
3788 :
3789 : return 0;
3790 : }
3791 :
3792 :
3793 : # define zend_copy_value(zendlval, yytext, yyleng) \
3794 : if (SCNG(output_filter)) { \
3795 : SCNG(output_filter)(&(zendlval->value.str.val), &(zendlval->value.str.len), yytext, yyleng TSRMLS_CC); \
3796 : } else { \
3797 : zendlval->value.str.val = (char *) estrndup(yytext, yyleng); \
3798 : zendlval->value.str.len = yyleng; \
3799 : }
3800 : #else /* ZEND_MULTIBYTE */
3801 : # define zend_copy_value(zendlval, yytext, yyleng) \
3802 : zendlval->value.str.val = (char *)estrndup(yytext, yyleng); \
3803 : zendlval->value.str.len = yyleng;
3804 : #endif /* ZEND_MULTIBYTE */
3805 :
3806 : static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type TSRMLS_DC)
3807 : {
3808 : register char *s, *t;
3809 : char *end;
3810 :
3811 : ZVAL_STRINGL(zendlval, str, len, 1);
3812 :
3813 : /* convert escape sequences */
3814 : s = t = zendlval->value.str.val;
3815 : end = s+zendlval->value.str.len;
3816 : while (s<end) {
3817 : if (*s=='\\') {
3818 : s++;
3819 : if (s >= end) {
3820 : *t++ = '\\';
3821 : break;
3822 : }
3823 :
3824 : switch(*s) {
3825 : case 'n':
3826 : *t++ = '\n';
3827 : zendlval->value.str.len--;
3828 : break;
3829 : case 'r':
3830 : *t++ = '\r';
3831 : zendlval->value.str.len--;
3832 : break;
3833 : case 't':
3834 : *t++ = '\t';
3835 : zendlval->value.str.len--;
3836 : break;
3837 : case 'f':
3838 : *t++ = '\f';
3839 : zendlval->value.str.len--;
3840 : break;
3841 : case 'v':
3842 : *t++ = '\v';
3843 : zendlval->value.str.len--;
3844 : break;
3845 : case '"':
3846 : case '`':
3847 : if (*s != quote_type) {
3848 : *t++ = '\\';
3849 : *t++ = *s;
3850 : break;
3851 : }
3852 : case '\\':
3853 : case '$':
3854 : *t++ = *s;
3855 : zendlval->value.str.len--;
3856 : break;
3857 : case 'x':
3858 : case 'X':
3859 : if (ZEND_IS_HEX(*(s+1))) {
3860 : char hex_buf[3] = { 0, 0, 0 };
3861 :
3862 : zendlval->value.str.len--; /* for the 'x' */
3863 :
3864 : hex_buf[0] = *(++s);
3865 : zendlval->value.str.len--;
3866 : if (ZEND_IS_HEX(*(s+1))) {
3867 : hex_buf[1] = *(++s);
3868 : zendlval->value.str.len--;
3869 : }
3870 : *t++ = (char) strtol(hex_buf, NULL, 16);
3871 : } else {
3872 : *t++ = '\\';
3873 : *t++ = *s;
3874 : }
3875 : break;
3876 : default:
3877 : /* check for an octal */
3878 : if (ZEND_IS_OCT(*s)) {
3879 : char octal_buf[4] = { 0, 0, 0, 0 };
3880 :
3881 : octal_buf[0] = *s;
3882 : zendlval->value.str.len--;
3883 : if (ZEND_IS_OCT(*(s+1))) {
3884 : octal_buf[1] = *(++s);
3885 : zendlval->value.str.len--;
3886 : if (ZEND_IS_OCT(*(s+1))) {
3887 : octal_buf[2] = *(++s);
3888 : zendlval->value.str.len--;
3889 : }
3890 : }
3891 : *t++ = (char) strtol(octal_buf, NULL, 8);
3892 : } else {
3893 : *t++ = '\\';
3894 : *t++ = *s;
3895 : }
3896 : break;
3897 : }
3898 : } else {
3899 : *t++ = *s;
3900 : }
3901 :
3902 : if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
3903 : CG(zend_lineno)++;
3904 : }
3905 : s++;
3906 : }
3907 : *t = 0;
3908 :
3909 : #ifdef ZEND_MULTIBYTE
3910 : if (SCNG(output_filter)) {
3911 : s = zendlval->value.str.val;
3912 : SCNG(output_filter)(&(zendlval->value.str.val), &(zendlval->value.str.len), s, zendlval->value.str.len TSRMLS_CC);
3913 : efree(s);
3914 : }
3915 : #endif /* ZEND_MULTIBYTE */
3916 : }
3917 :
3918 : /*
3919 : * LITERAL_DOLLAR matches unescaped $ that aren't followed by a label character
3920 : * or a { and therefore will be taken literally. The case of literal $ before
3921 : * a variable or "${" is handled in a rule for each string type
3922 : */
3923 : /*
3924 : * Usually, HEREDOC_NEWLINE will just function like a simple NEWLINE, but some
3925 : * special cases need to be handled. HEREDOC_CHARS doesn't allow a line to
3926 : * match when { or $, and/or \ is at the end. (("{"*|"$"*)"\\"?) handles that,
3927 : * along with cases where { or $, and/or \ is the ONLY thing on a line
3928 : *
3929 : * The other case is when a line contains a label, followed by ONLY
3930 : * { or $, and/or \ Handled by ({LABEL}";"?((("{"+|"$"+)"\\"?)|"\\"))
3931 : */
3932 : /*
3933 : * This pattern is just used in the next 2 for matching { or literal $, and/or
3934 : * \ escape sequence immediately at the beginning of a line or after a label
3935 : */
3936 : /*
3937 : * These 2 label-related patterns allow HEREDOC_CHARS to continue "regular"
3938 : * matching after a newline that starts with either a non-label character or a
3939 : * label that isn't followed by a newline. Like HEREDOC_CHARS, they won't match
3940 : * a variable or "{$" Matching a newline, and possibly label, up TO a variable
3941 : * or "{$", is handled in the heredoc rules
3942 : *
3943 : * The HEREDOC_LABEL_NO_NEWLINE pattern (";"[^$\n\r\\{]) handles cases where ;
3944 : * follows a label. [^a-zA-Z0-9_\x7f-\xff;$\n\r\\{] is needed to prevent a label
3945 : * character or ; from matching on a possible (real) ending label
3946 : */
3947 : /*
3948 : * CHARS matches everything up to a variable or "{$"
3949 : * {'s are matched as long as they aren't followed by a $
3950 : * The case of { before "{$" is handled in a rule for each string type
3951 : *
3952 : * For heredocs, matching continues across/after newlines if/when it's known
3953 : * that the next line doesn't contain a possible ending label
3954 : */
3955 : #line 3956 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.c"
3956 :
3957 : /* Macros after this point can all be overridden by user definitions in
3958 : * section 1.
3959 : */
3960 :
3961 : #ifndef YY_SKIP_YYWRAP
3962 : #ifdef __cplusplus
3963 : extern "C" int yywrap YY_PROTO(( void ));
3964 : #else
3965 : extern int yywrap YY_PROTO(( void ));
3966 : #endif
3967 : #endif
3968 :
3969 : #ifndef YY_NO_UNPUT
3970 : static void yyunput YY_PROTO(( int c, char *buf_ptr TSRMLS_DC ));
3971 : #endif
3972 :
3973 : #ifndef yytext_ptr
3974 : static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
3975 : #endif
3976 :
3977 : #ifdef YY_NEED_STRLEN
3978 : static int yy_flex_strlen YY_PROTO(( yyconst char * ));
3979 : #endif
3980 :
3981 : #ifndef YY_NO_INPUT
3982 : #ifdef __cplusplus
3983 : static int 3 YY_PROTO(( TSRMLS_D ));
3984 : #else
3985 : static int input YY_PROTO(( TSRMLS_D ));
3986 : #endif
3987 : #endif
3988 :
3989 : #if YY_STACK_USED
3990 : #define yy_start_stack_ptr SCNG(yy_start_stack_ptr)
3991 : #define yy_start_stack_depth SCNG(yy_start_stack_depth)
3992 : #define yy_start_stack SCNG(yy_start_stack)
3993 : /*
3994 : static int yy_start_stack_ptr = 0;
3995 : static int yy_start_stack_depth = 0;
3996 : static int *yy_start_stack = 0;
3997 : */
3998 : #ifndef YY_NO_PUSH_STATE
3999 : static void yy_push_state YY_PROTO(( int new_state TSRMLS_DC ));
4000 : #endif
4001 : #ifndef YY_NO_POP_STATE
4002 : static void yy_pop_state YY_PROTO(( TSRMLS_D ));
4003 : #endif
4004 : #ifndef YY_NO_TOP_STATE
4005 : static int yy_top_state YY_PROTO(( TSRMLS_D ));
4006 : #endif
4007 :
4008 : #else
4009 : #define YY_NO_PUSH_STATE 1
4010 : #define YY_NO_POP_STATE 1
4011 : #define YY_NO_TOP_STATE 1
4012 : #endif
4013 :
4014 : #ifdef YY_MALLOC_DECL
4015 : YY_MALLOC_DECL
4016 : #else
4017 : #if __STDC__
4018 : #ifndef __cplusplus
4019 : #include <stdlib.h>
4020 : #endif
4021 : #else
4022 : /* Just try to get by without declaring the routines. This will fail
4023 : * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
4024 : * or sizeof(void*) != sizeof(int).
4025 : */
4026 : #endif
4027 : #endif
4028 :
4029 : /* Amount of stuff to slurp up with each read. */
4030 : #ifndef YY_READ_BUF_SIZE
4031 : #define YY_READ_BUF_SIZE 8192
4032 : #endif
4033 :
4034 : /* Copy whatever the last rule matched to the standard output. */
4035 :
4036 : /* Zend file handle reading */
4037 : #ifndef ECHO
4038 : #define ECHO /* There is no output */
4039 : #endif
4040 :
4041 : #ifdef ZEND_MULTIBYTE
4042 : # define YY_INPUT(buf, result, max_size) \
4043 : if ( ((result = zend_multibyte_yyinput(yyin, buf, max_size TSRMLS_CC)) == 0) \
4044 : && zend_stream_ferror( yyin TSRMLS_CC) ) \
4045 : YY_FATAL_ERROR( "input in flex scanner failed" );
4046 : #else
4047 : # define YY_INPUT(buf, result, max_size) \
4048 : if ( ((result = zend_stream_read(yyin, buf, max_size TSRMLS_CC)) == 0) \
4049 : && zend_stream_ferror( yyin TSRMLS_CC) ) \
4050 : YY_FATAL_ERROR( "input in flex scanner failed" );
4051 : #endif
4052 :
4053 : #ifndef ECHO
4054 : /* This used to be an fputs(), but since the string might contain NUL's,
4055 : * we now use fwrite().
4056 : */
4057 : #define ECHO (void) fwrite( yytext, yyleng, 1, SCNG(yy_out) )
4058 : #endif
4059 :
4060 : /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
4061 : * is returned in "result".
4062 : */
4063 : #ifndef YY_INPUT
4064 : #define YY_INPUT(buf,result,max_size) \
4065 : if ( yy_current_buffer->yy_is_interactive ) \
4066 : { \
4067 : int c = '*', n; \
4068 : for ( n = 0; n < max_size && \
4069 : (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
4070 : buf[n] = (char) c; \
4071 : if ( c == '\n' ) \
4072 : buf[n++] = (char) c; \
4073 : if ( c == EOF && ferror( yyin ) ) \
4074 : YY_FATAL_ERROR( "input in flex scanner failed" ); \
4075 : result = n; \
4076 : } \
4077 : else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
4078 : && ferror( yyin ) ) \
4079 : YY_FATAL_ERROR( "input in flex scanner failed" );
4080 : #endif
4081 :
4082 : /* No semi-colon after return; correct usage is to write "yyterminate();" -
4083 : * we don't want an extra ';' after the "return" because that will cause
4084 : * some compilers to complain about unreachable statements.
4085 : */
4086 : #ifndef yyterminate
4087 : #define yyterminate() return YY_NULL
4088 : #endif
4089 :
4090 : /* Number of entries by which start-condition stack grows. */
4091 : #ifndef YY_START_STACK_INCR
4092 : #define YY_START_STACK_INCR 25
4093 : #endif
4094 :
4095 : /* Report a fatal error. */
4096 : #ifndef YY_FATAL_ERROR
4097 : #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
4098 : #endif
4099 :
4100 :
4101 : /* Default declaration of generated scanner - a define so the user can
4102 : * easily add parameters.
4103 : */
4104 : #ifndef YY_DECL
4105 : #define YY_DECL int yylex YY_PROTO(( void ))
4106 : #endif
4107 :
4108 : /* Code executed at the beginning of each rule, after yytext and yyleng
4109 : * have been set up.
4110 : */
4111 : #ifndef YY_USER_ACTION
4112 : #define YY_USER_ACTION
4113 : #endif
4114 :
4115 : /* Code executed at the end of each rule. */
4116 : #ifndef YY_BREAK
4117 : #define YY_BREAK break;
4118 : #endif
4119 :
4120 : #define YY_RULE_SETUP \
4121 : YY_USER_ACTION
4122 :
4123 : YY_DECL
4124 3071924 : {
4125 : register yy_state_type yy_current_state;
4126 : register char *yy_cp, *yy_bp;
4127 : register int yy_act;
4128 :
4129 : #line 961 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4130 :
4131 :
4132 : #line 4133 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.c"
4133 :
4134 3071924 : if ( yy_init )
4135 : {
4136 13510 : yy_init = 0;
4137 :
4138 : #ifdef YY_USER_INIT
4139 : YY_USER_INIT;
4140 : #endif
4141 :
4142 13510 : if ( ! yy_start )
4143 0 : yy_start = 1; /* first start state */
4144 :
4145 : #if 0
4146 : if ( ! SCNG(yy_in) )
4147 : SCNG(yy_in) = stdin;
4148 :
4149 : if ( ! SCNG(yy_out) )
4150 : SCNG(yy_out) = stdout;
4151 : #endif
4152 :
4153 13510 : if ( ! yy_current_buffer )
4154 0 : yy_current_buffer =
4155 : yy_create_buffer( SCNG(yy_in), YY_BUF_SIZE TSRMLS_CC );
4156 :
4157 13510 : yy_load_buffer_state(TSRMLS_C);
4158 : }
4159 :
4160 : while ( 1 ) /* loops until end-of-file is reached */
4161 : {
4162 3159499 : yy_more_len = 0;
4163 3159499 : if ( yy_more_flag )
4164 : {
4165 86376 : yy_more_len = yy_c_buf_p - yytext_ptr;
4166 86376 : yy_more_flag = 0;
4167 : }
4168 3159499 : yy_cp = yy_c_buf_p;
4169 :
4170 : /* Support of yytext. */
4171 3159499 : *yy_cp = yy_hold_char;
4172 :
4173 : /* yy_bp points to the position in yy_ch_buf of the start of
4174 : * the current run.
4175 : */
4176 3159499 : yy_bp = yy_cp;
4177 :
4178 3159499 : yy_current_state = yy_start;
4179 27542290 : yy_match:
4180 : do
4181 : {
4182 27542290 : register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4183 27542290 : if ( yy_accept[yy_current_state] )
4184 : {
4185 21887825 : yy_last_accepting_state = yy_current_state;
4186 21887825 : yy_last_accepting_cpos = yy_cp;
4187 : }
4188 77673443 : while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4189 : {
4190 22588863 : yy_current_state = (int) yy_def[yy_current_state];
4191 22588863 : if ( yy_current_state >= 1493 )
4192 20152372 : yy_c = yy_meta[(unsigned int) yy_c];
4193 : }
4194 27542290 : yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4195 27542290 : ++yy_cp;
4196 : }
4197 27542290 : while ( yy_base[yy_current_state] != 8966 );
4198 :
4199 3181264 : yy_find_action:
4200 3181264 : yy_act = yy_accept[yy_current_state];
4201 3181264 : if ( yy_act == 0 )
4202 : { /* have to back up */
4203 2115260 : yy_cp = yy_last_accepting_cpos;
4204 2115260 : yy_current_state = yy_last_accepting_state;
4205 2115260 : yy_act = yy_accept[yy_current_state];
4206 : }
4207 :
4208 3181264 : YY_DO_BEFORE_ACTION;
4209 :
4210 :
4211 3199637 : do_action: /* This label is used only to access EOF actions. */
4212 :
4213 :
4214 3199637 : switch ( yy_act )
4215 : { /* beginning of action switch */
4216 : case 0: /* must back up */
4217 : /* undo the effects of YY_DO_BEFORE_ACTION */
4218 0 : *yy_cp = yy_hold_char;
4219 0 : yy_cp = yy_last_accepting_cpos;
4220 0 : yy_current_state = yy_last_accepting_state;
4221 0 : goto yy_find_action;
4222 :
4223 : case 1:
4224 : YY_RULE_SETUP
4225 : #line 963 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4226 : {
4227 : return T_EXIT;
4228 : }
4229 : YY_BREAK
4230 : case 2:
4231 : YY_RULE_SETUP
4232 : #line 967 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4233 : {
4234 : return T_EXIT;
4235 : }
4236 : YY_BREAK
4237 : case 3:
4238 : YY_RULE_SETUP
4239 : #line 971 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4240 : {
4241 : return T_FUNCTION;
4242 : }
4243 : YY_BREAK
4244 : case 4:
4245 : YY_RULE_SETUP
4246 : #line 975 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4247 : {
4248 : return T_CONST;
4249 : }
4250 : YY_BREAK
4251 : case 5:
4252 : YY_RULE_SETUP
4253 : #line 979 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4254 : {
4255 : return T_RETURN;
4256 : }
4257 : YY_BREAK
4258 : case 6:
4259 : YY_RULE_SETUP
4260 : #line 983 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4261 : {
4262 : return T_TRY;
4263 : }
4264 : YY_BREAK
4265 : case 7:
4266 : YY_RULE_SETUP
4267 : #line 987 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4268 : {
4269 : return T_CATCH;
4270 : }
4271 : YY_BREAK
4272 : case 8:
4273 : YY_RULE_SETUP
4274 : #line 991 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4275 : {
4276 : return T_THROW;
4277 : }
4278 : YY_BREAK
4279 : case 9:
4280 : YY_RULE_SETUP
4281 : #line 995 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4282 : {
4283 : return T_IF;
4284 : }
4285 : YY_BREAK
4286 : case 10:
4287 : YY_RULE_SETUP
4288 : #line 999 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4289 : {
4290 : return T_ELSEIF;
4291 : }
4292 : YY_BREAK
4293 : case 11:
4294 : YY_RULE_SETUP
4295 : #line 1003 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4296 : {
4297 : return T_ENDIF;
4298 : }
4299 : YY_BREAK
4300 : case 12:
4301 : YY_RULE_SETUP
4302 : #line 1007 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4303 : {
4304 : return T_ELSE;
4305 : }
4306 : YY_BREAK
4307 : case 13:
4308 : YY_RULE_SETUP
4309 : #line 1011 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4310 : {
4311 : return T_WHILE;
4312 : }
4313 : YY_BREAK
4314 : case 14:
4315 : YY_RULE_SETUP
4316 : #line 1015 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4317 : {
4318 : return T_ENDWHILE;
4319 : }
4320 : YY_BREAK
4321 : case 15:
4322 : YY_RULE_SETUP
4323 : #line 1019 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4324 : {
4325 : return T_DO;
4326 : }
4327 : YY_BREAK
4328 : case 16:
4329 : YY_RULE_SETUP
4330 : #line 1023 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4331 : {
4332 : return T_FOR;
4333 : }
4334 : YY_BREAK
4335 : case 17:
4336 : YY_RULE_SETUP
4337 : #line 1027 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4338 : {
4339 : return T_ENDFOR;
4340 : }
4341 : YY_BREAK
4342 : case 18:
4343 : YY_RULE_SETUP
4344 : #line 1031 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4345 : {
4346 : return T_FOREACH;
4347 : }
4348 : YY_BREAK
4349 : case 19:
4350 : YY_RULE_SETUP
4351 : #line 1035 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4352 : {
4353 : return T_ENDFOREACH;
4354 : }
4355 : YY_BREAK
4356 : case 20:
4357 : YY_RULE_SETUP
4358 : #line 1039 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4359 : {
4360 : return T_DECLARE;
4361 : }
4362 : YY_BREAK
4363 : case 21:
4364 : YY_RULE_SETUP
4365 : #line 1043 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4366 : {
4367 : return T_ENDDECLARE;
4368 : }
4369 : YY_BREAK
4370 : case 22:
4371 : YY_RULE_SETUP
4372 : #line 1047 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4373 : {
4374 : return T_INSTANCEOF;
4375 : }
4376 : YY_BREAK
4377 : case 23:
4378 : YY_RULE_SETUP
4379 : #line 1051 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4380 : {
4381 : return T_AS;
4382 : }
4383 : YY_BREAK
4384 : case 24:
4385 : YY_RULE_SETUP
4386 : #line 1055 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4387 : {
4388 : return T_SWITCH;
4389 : }
4390 : YY_BREAK
4391 : case 25:
4392 : YY_RULE_SETUP
4393 : #line 1059 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4394 : {
4395 : return T_ENDSWITCH;
4396 : }
4397 : YY_BREAK
4398 : case 26:
4399 : YY_RULE_SETUP
4400 : #line 1063 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4401 : {
4402 : return T_CASE;
4403 : }
4404 : YY_BREAK
4405 : case 27:
4406 : YY_RULE_SETUP
4407 : #line 1067 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4408 : {
4409 : return T_DEFAULT;
4410 : }
4411 : YY_BREAK
4412 : case 28:
4413 : YY_RULE_SETUP
4414 : #line 1071 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4415 : {
4416 : return T_BREAK;
4417 : }
4418 : YY_BREAK
4419 : case 29:
4420 : YY_RULE_SETUP
4421 : #line 1075 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4422 : {
4423 : return T_CONTINUE;
4424 : }
4425 : YY_BREAK
4426 : case 30:
4427 : YY_RULE_SETUP
4428 : #line 1079 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4429 : {
4430 : return T_ECHO;
4431 : }
4432 : YY_BREAK
4433 : case 31:
4434 : YY_RULE_SETUP
4435 : #line 1083 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4436 : {
4437 : return T_PRINT;
4438 : }
4439 : YY_BREAK
4440 : case 32:
4441 : YY_RULE_SETUP
4442 : #line 1087 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4443 : {
4444 : return T_CLASS;
4445 : }
4446 : YY_BREAK
4447 : case 33:
4448 : YY_RULE_SETUP
4449 : #line 1091 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4450 : {
4451 : return T_INTERFACE;
4452 : }
4453 : YY_BREAK
4454 : case 34:
4455 : YY_RULE_SETUP
4456 : #line 1095 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4457 : {
4458 : return T_EXTENDS;
4459 : }
4460 : YY_BREAK
4461 : case 35:
4462 : YY_RULE_SETUP
4463 : #line 1099 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4464 : {
4465 : return T_IMPLEMENTS;
4466 : }
4467 : YY_BREAK
4468 : case 36:
4469 : YY_RULE_SETUP
4470 : #line 1103 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4471 : {
4472 : yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
4473 : return T_OBJECT_OPERATOR;
4474 : }
4475 : YY_BREAK
4476 : case 37:
4477 : YY_RULE_SETUP
4478 : #line 1108 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4479 : {
4480 : return T_OBJECT_OPERATOR;
4481 : }
4482 : YY_BREAK
4483 : case 38:
4484 : YY_RULE_SETUP
4485 : #line 1112 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4486 : {
4487 : yy_pop_state(TSRMLS_C);
4488 : zend_copy_value(zendlval, yytext, yyleng);
4489 : zendlval->type = IS_STRING;
4490 : return T_STRING;
4491 : }
4492 : YY_BREAK
4493 : case 39:
4494 : YY_RULE_SETUP
4495 : #line 1119 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4496 : {
4497 : yyless(0);
4498 : yy_pop_state(TSRMLS_C);
4499 : }
4500 : YY_BREAK
4501 : case 40:
4502 : YY_RULE_SETUP
4503 : #line 1124 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4504 : {
4505 : return T_PAAMAYIM_NEKUDOTAYIM;
4506 : }
4507 : YY_BREAK
4508 : case 41:
4509 : YY_RULE_SETUP
4510 : #line 1128 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4511 : {
4512 : return T_NEW;
4513 : }
4514 : YY_BREAK
4515 : case 42:
4516 : YY_RULE_SETUP
4517 : #line 1132 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4518 : {
4519 : return T_CLONE;
4520 : }
4521 : YY_BREAK
4522 : case 43:
4523 : YY_RULE_SETUP
4524 : #line 1136 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4525 : {
4526 : return T_VAR;
4527 : }
4528 : YY_BREAK
4529 : case 44:
4530 : YY_RULE_SETUP
4531 : #line 1140 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4532 : {
4533 : return T_INT_CAST;
4534 : }
4535 : YY_BREAK
4536 : case 45:
4537 : YY_RULE_SETUP
4538 : #line 1144 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4539 : {
4540 : return T_DOUBLE_CAST;
4541 : }
4542 : YY_BREAK
4543 : case 46:
4544 : YY_RULE_SETUP
4545 : #line 1148 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4546 : {
4547 : return T_STRING_CAST;
4548 : }
4549 : YY_BREAK
4550 : case 47:
4551 : YY_RULE_SETUP
4552 : #line 1152 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4553 : {
4554 : return T_STRING_CAST;
4555 : }
4556 : YY_BREAK
4557 : case 48:
4558 : YY_RULE_SETUP
4559 : #line 1156 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4560 : {
4561 : return T_ARRAY_CAST;
4562 : }
4563 : YY_BREAK
4564 : case 49:
4565 : YY_RULE_SETUP
4566 : #line 1160 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4567 : {
4568 : return T_OBJECT_CAST;
4569 : }
4570 : YY_BREAK
4571 : case 50:
4572 : YY_RULE_SETUP
4573 : #line 1164 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4574 : {
4575 : return T_BOOL_CAST;
4576 : }
4577 : YY_BREAK
4578 : case 51:
4579 : YY_RULE_SETUP
4580 : #line 1168 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4581 : {
4582 : return T_UNSET_CAST;
4583 : }
4584 : YY_BREAK
4585 : case 52:
4586 : YY_RULE_SETUP
4587 : #line 1172 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4588 : {
4589 : return T_EVAL;
4590 : }
4591 : YY_BREAK
4592 : case 53:
4593 : YY_RULE_SETUP
4594 : #line 1176 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4595 : {
4596 : return T_INCLUDE;
4597 : }
4598 : YY_BREAK
4599 : case 54:
4600 : YY_RULE_SETUP
4601 : #line 1180 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4602 : {
4603 : return T_INCLUDE_ONCE;
4604 : }
4605 : YY_BREAK
4606 : case 55:
4607 : YY_RULE_SETUP
4608 : #line 1184 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4609 : {
4610 : return T_REQUIRE;
4611 : }
4612 : YY_BREAK
4613 : case 56:
4614 : YY_RULE_SETUP
4615 : #line 1188 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4616 : {
4617 : return T_REQUIRE_ONCE;
4618 : }
4619 : YY_BREAK
4620 : case 57:
4621 : YY_RULE_SETUP
4622 : #line 1192 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4623 : {
4624 : return T_USE;
4625 : }
4626 : YY_BREAK
4627 : case 58:
4628 : YY_RULE_SETUP
4629 : #line 1196 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4630 : {
4631 : return T_GLOBAL;
4632 : }
4633 : YY_BREAK
4634 : case 59:
4635 : YY_RULE_SETUP
4636 : #line 1200 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4637 : {
4638 : return T_ISSET;
4639 : }
4640 : YY_BREAK
4641 : case 60:
4642 : YY_RULE_SETUP
4643 : #line 1204 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4644 : {
4645 : return T_EMPTY;
4646 : }
4647 : YY_BREAK
4648 : case 61:
4649 : YY_RULE_SETUP
4650 : #line 1208 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4651 : {
4652 : return T_HALT_COMPILER;
4653 : }
4654 : YY_BREAK
4655 : case 62:
4656 : YY_RULE_SETUP
4657 : #line 1212 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4658 : {
4659 : return T_STATIC;
4660 : }
4661 : YY_BREAK
4662 : case 63:
4663 : YY_RULE_SETUP
4664 : #line 1216 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4665 : {
4666 : return T_ABSTRACT;
4667 : }
4668 : YY_BREAK
4669 : case 64:
4670 : YY_RULE_SETUP
4671 : #line 1220 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4672 : {
4673 : return T_FINAL;
4674 : }
4675 : YY_BREAK
4676 : case 65:
4677 : YY_RULE_SETUP
4678 : #line 1224 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4679 : {
4680 : return T_PRIVATE;
4681 : }
4682 : YY_BREAK
4683 : case 66:
4684 : YY_RULE_SETUP
4685 : #line 1228 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4686 : {
4687 : return T_PROTECTED;
4688 : }
4689 : YY_BREAK
4690 : case 67:
4691 : YY_RULE_SETUP
4692 : #line 1232 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4693 : {
4694 : return T_PUBLIC;
4695 : }
4696 : YY_BREAK
4697 : case 68:
4698 : YY_RULE_SETUP
4699 : #line 1236 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4700 : {
4701 : return T_UNSET;
4702 : }
4703 : YY_BREAK
4704 : case 69:
4705 : YY_RULE_SETUP
4706 : #line 1240 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4707 : {
4708 : return T_DOUBLE_ARROW;
4709 : }
4710 : YY_BREAK
4711 : case 70:
4712 : YY_RULE_SETUP
4713 : #line 1244 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4714 : {
4715 : return T_LIST;
4716 : }
4717 : YY_BREAK
4718 : case 71:
4719 : YY_RULE_SETUP
4720 : #line 1248 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4721 : {
4722 : return T_ARRAY;
4723 : }
4724 : YY_BREAK
4725 : case 72:
4726 : YY_RULE_SETUP
4727 : #line 1252 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4728 : {
4729 : return T_INC;
4730 : }
4731 : YY_BREAK
4732 : case 73:
4733 : YY_RULE_SETUP
4734 : #line 1256 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4735 : {
4736 : return T_DEC;
4737 : }
4738 : YY_BREAK
4739 : case 74:
4740 : YY_RULE_SETUP
4741 : #line 1260 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4742 : {
4743 : return T_IS_IDENTICAL;
4744 : }
4745 : YY_BREAK
4746 : case 75:
4747 : YY_RULE_SETUP
4748 : #line 1264 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4749 : {
4750 : return T_IS_NOT_IDENTICAL;
4751 : }
4752 : YY_BREAK
4753 : case 76:
4754 : YY_RULE_SETUP
4755 : #line 1268 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4756 : {
4757 : return T_IS_EQUAL;
4758 : }
4759 : YY_BREAK
4760 : case 77:
4761 : YY_RULE_SETUP
4762 : #line 1272 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4763 : {
4764 : return T_IS_NOT_EQUAL;
4765 : }
4766 : YY_BREAK
4767 : case 78:
4768 : YY_RULE_SETUP
4769 : #line 1276 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4770 : {
4771 : return T_IS_SMALLER_OR_EQUAL;
4772 : }
4773 : YY_BREAK
4774 : case 79:
4775 : YY_RULE_SETUP
4776 : #line 1280 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4777 : {
4778 : return T_IS_GREATER_OR_EQUAL;
4779 : }
4780 : YY_BREAK
4781 : case 80:
4782 : YY_RULE_SETUP
4783 : #line 1284 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4784 : {
4785 : return T_PLUS_EQUAL;
4786 : }
4787 : YY_BREAK
4788 : case 81:
4789 : YY_RULE_SETUP
4790 : #line 1288 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4791 : {
4792 : return T_MINUS_EQUAL;
4793 : }
4794 : YY_BREAK
4795 : case 82:
4796 : YY_RULE_SETUP
4797 : #line 1292 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4798 : {
4799 : return T_MUL_EQUAL;
4800 : }
4801 : YY_BREAK
4802 : case 83:
4803 : YY_RULE_SETUP
4804 : #line 1296 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4805 : {
4806 : return T_DIV_EQUAL;
4807 : }
4808 : YY_BREAK
4809 : case 84:
4810 : YY_RULE_SETUP
4811 : #line 1300 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4812 : {
4813 : return T_CONCAT_EQUAL;
4814 : }
4815 : YY_BREAK
4816 : case 85:
4817 : YY_RULE_SETUP
4818 : #line 1304 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4819 : {
4820 : return T_MOD_EQUAL;
4821 : }
4822 : YY_BREAK
4823 : case 86:
4824 : YY_RULE_SETUP
4825 : #line 1308 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4826 : {
4827 : return T_SL_EQUAL;
4828 : }
4829 : YY_BREAK
4830 : case 87:
4831 : YY_RULE_SETUP
4832 : #line 1312 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4833 : {
4834 : return T_SR_EQUAL;
4835 : }
4836 : YY_BREAK
4837 : case 88:
4838 : YY_RULE_SETUP
4839 : #line 1316 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4840 : {
4841 : return T_AND_EQUAL;
4842 : }
4843 : YY_BREAK
4844 : case 89:
4845 : YY_RULE_SETUP
4846 : #line 1320 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4847 : {
4848 : return T_OR_EQUAL;
4849 : }
4850 : YY_BREAK
4851 : case 90:
4852 : YY_RULE_SETUP
4853 : #line 1324 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4854 : {
4855 : return T_XOR_EQUAL;
4856 : }
4857 : YY_BREAK
4858 : case 91:
4859 : YY_RULE_SETUP
4860 : #line 1328 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4861 : {
4862 : return T_BOOLEAN_OR;
4863 : }
4864 : YY_BREAK
4865 : case 92:
4866 : YY_RULE_SETUP
4867 : #line 1332 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4868 : {
4869 : return T_BOOLEAN_AND;
4870 : }
4871 : YY_BREAK
4872 : case 93:
4873 : YY_RULE_SETUP
4874 : #line 1336 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4875 : {
4876 : return T_LOGICAL_OR;
4877 : }
4878 : YY_BREAK
4879 : case 94:
4880 : YY_RULE_SETUP
4881 : #line 1340 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4882 : {
4883 : return T_LOGICAL_AND;
4884 : }
4885 : YY_BREAK
4886 : case 95:
4887 : YY_RULE_SETUP
4888 : #line 1344 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4889 : {
4890 : return T_LOGICAL_XOR;
4891 : }
4892 : YY_BREAK
4893 : case 96:
4894 : YY_RULE_SETUP
4895 : #line 1348 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4896 : {
4897 : return T_SL;
4898 : }
4899 : YY_BREAK
4900 : case 97:
4901 : YY_RULE_SETUP
4902 : #line 1352 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4903 : {
4904 : return T_SR;
4905 : }
4906 : YY_BREAK
4907 : case 98:
4908 : YY_RULE_SETUP
4909 : #line 1356 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4910 : {
4911 : return yytext[0];
4912 : }
4913 : YY_BREAK
4914 : case 99:
4915 : YY_RULE_SETUP
4916 : #line 1361 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4917 : {
4918 : yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
4919 : return '{';
4920 : }
4921 : YY_BREAK
4922 : case 100:
4923 : YY_RULE_SETUP
4924 : #line 1367 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4925 : {
4926 : yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
4927 : return T_DOLLAR_OPEN_CURLY_BRACES;
4928 : }
4929 : YY_BREAK
4930 : case 101:
4931 : YY_RULE_SETUP
4932 : #line 1373 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4933 : {
4934 : RESET_DOC_COMMENT();
4935 : /* This is a temporary fix which is dependant on flex and it's implementation */
4936 : if (yy_start_stack_ptr) {
4937 : yy_pop_state(TSRMLS_C);
4938 : }
4939 : return '}';
4940 : }
4941 : YY_BREAK
4942 : case 102:
4943 : YY_RULE_SETUP
4944 : #line 1383 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4945 : {
4946 : zend_copy_value(zendlval, yytext, yyleng);
4947 : zendlval->type = IS_STRING;
4948 : yy_pop_state(TSRMLS_C);
4949 : yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
4950 : return T_STRING_VARNAME;
4951 : }
4952 : YY_BREAK
4953 : case 103:
4954 : YY_RULE_SETUP
4955 : #line 1392 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4956 : {
4957 : yyless(0);
4958 : yy_pop_state(TSRMLS_C);
4959 : yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
4960 : }
4961 : YY_BREAK
4962 : case 104:
4963 : YY_RULE_SETUP
4964 : #line 1399 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4965 : {
4966 : if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
4967 : zendlval->value.lval = strtol(yytext, NULL, 0);
4968 : } else {
4969 : errno = 0;
4970 : zendlval->value.lval = strtol(yytext, NULL, 0);
4971 : if (errno == ERANGE) { /* Overflow */
4972 : if (yytext[0] == '0') { /* octal overflow */
4973 : zendlval->value.dval = zend_oct_strtod(yytext, NULL);
4974 : } else {
4975 : zendlval->value.dval = zend_strtod(yytext, NULL);
4976 : }
4977 : zendlval->type = IS_DOUBLE;
4978 : return T_DNUMBER;
4979 : }
4980 : }
4981 :
4982 : zendlval->type = IS_LONG;
4983 : return T_LNUMBER;
4984 : }
4985 : YY_BREAK
4986 : case 105:
4987 : YY_RULE_SETUP
4988 : #line 1420 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
4989 : {
4990 : char *hex = yytext + 2; /* Skip "0x" */
4991 : int len = yyleng - 2;
4992 :
4993 : /* Skip any leading 0s */
4994 : while (*hex == '0') {
4995 : hex++;
4996 : len--;
4997 : }
4998 :
4999 : if (len < SIZEOF_LONG * 2 || (len == SIZEOF_LONG * 2 && *hex <= '7')) {
5000 : zendlval->value.lval = strtol(hex, NULL, 16);
5001 : zendlval->type = IS_LONG;
5002 : return T_LNUMBER;
5003 : } else {
5004 : zendlval->value.dval = zend_hex_strtod(hex, NULL);
5005 : zendlval->type = IS_DOUBLE;
5006 : return T_DNUMBER;
5007 : }
5008 : }
5009 : YY_BREAK
5010 : case 106:
5011 : YY_RULE_SETUP
5012 : #line 1441 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
5013 : { /* Offset could be treated as a long */
5014 : if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
5015 : zendlval->value.lval = strtol(yytext, NULL, 10);
5016 : zendlval->type = IS_LONG;
5017 : } else {
5018 : zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
5019 : zendlval->value.str.len = yyleng;
5020 : zendlval->type = IS_STRING;
5021 : }
5022 : return T_NUM_STRING;
5023 : }
5024 : YY_BREAK
5025 : case 107:
5026 : YY_RULE_SETUP
5027 : #line 1453 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
5028 : { /* Offset must be treated as a string */
5029 : zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
5030 : zendlval->value.str.len = yyleng;
5031 : zendlval->type = IS_STRING;
5032 : return T_NUM_STRING;
5033 : }
5034 : YY_BREAK
5035 : case 108:
5036 : YY_RULE_SETUP
5037 : #line 1460 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
5038 : {
5039 : zendlval->value.dval = zend_strtod(yytext, NULL);
5040 : zendlval->type = IS_DOUBLE;
5041 : return T_DNUMBER;
5042 : }
5043 : YY_BREAK
5044 : case 109:
5045 : YY_RULE_SETUP
5046 : #line 1466 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
5047 : {
5048 : char *class_name = NULL;
5049 :
5050 : if (CG(active_class_entry)) {
5051 : class_name = CG(active_class_entry)->name;
5052 : }
5053 :
5054 : if (!class_name) {
5055 : class_name = "";
5056 : }
5057 : zendlval->value.str.len = strlen(class_name);
5058 : zendlval->value.str.val = estrndup(class_name, zendlval->value.str.len);
5059 : zendlval->type = IS_STRING;
5060 : return T_CLASS_C;
5061 : }
5062 : YY_BREAK
5063 : case 110:
5064 : YY_RULE_SETUP
5065 : #line 1482 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
5066 : {
5067 : char *func_name = NULL;
5068 :
5069 : if (CG(active_op_array)) {
5070 : func_name = CG(active_op_array)->function_name;
5071 : }
5072 :
5073 : if (!func_name) {
5074 : func_name = "";
5075 : }
5076 : zendlval->value.str.len = strlen(func_name);
5077 : zendlval->value.str.val = estrndup(func_name, zendlval->value.str.len);
5078 : zendlval->type = IS_STRING;
5079 : return T_FUNC_C;
5080 : }
5081 : YY_BREAK
5082 : case 111:
5083 : YY_RULE_SETUP
5084 : #line 1498 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
5085 : {
5086 : char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL;
5087 : char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL;
5088 : size_t len = 0;
5089 :
5090 : if (class_name) {
5091 : len += strlen(class_name) + 2;
5092 : }
5093 : if (func_name) {
5094 : len += strlen(func_name);
5095 : }
5096 :
5097 : zendlval->value.str.len = zend_spprintf(&zendlval->value.str.val, 0, "%s%s%s",
5098 : class_name ? class_name : "",
5099 : class_name && func_name ? "::" : "",
5100 : func_name ? func_name : ""
5101 : );
5102 : zendlval->type = IS_STRING;
5103 : return T_METHOD_C;
5104 : }
5105 : YY_BREAK
5106 : case 112:
5107 : YY_RULE_SETUP
5108 : #line 1519 "/var/php_gcov/PHP_5_2/Zend/zend_language_scanner.l"
5109 : {
5110 |