Files
sudo/toke.c
Todd C. Miller 317e600f41 Remove monitor support until there is a versino of systrace that
uses a lookaside buffer (or we have a better mechanism to use).
2007-08-15 15:20:01 +00:00

5039 lines
211 KiB
C

/* $OpenBSD: flex.skl,v 1.10 2007/01/26 14:38:19 tsi Exp $ */
/* A lexical scanner generated by flex */
/* Scanner skeleton version:
* $Header$
*/
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5
#include <stdio.h>
#include <errno.h>
/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
#ifdef c_plusplus
#ifndef __cplusplus
#define __cplusplus
#endif
#endif
#ifdef __cplusplus
#include <stdlib.h>
#include <unistd.h>
/* Use prototypes in function declarations. */
#define YY_USE_PROTOS
/* The "const" storage-class-modifier is valid. */
#define YY_USE_CONST
#else /* ! __cplusplus */
#ifdef __STDC__
#define YY_USE_PROTOS
#define YY_USE_CONST
#endif /* __STDC__ */
#endif /* ! __cplusplus */
#ifdef __TURBOC__
#pragma warn -rch
#pragma warn -use
#include <io.h>
#include <stdlib.h>
#define YY_USE_CONST
#define YY_USE_PROTOS
#endif
#ifdef YY_USE_CONST
#define yyconst const
#else
#define yyconst
#endif
#ifdef YY_USE_PROTOS
#define YY_PROTO(proto) proto
#else
#define YY_PROTO(proto) ()
#endif
/* Returned upon end-of-file. */
#define YY_NULL 0
/* Promotes a possibly negative, possibly signed char to an unsigned
* integer for use as an array index. If the signed char is negative,
* we want to instead treat it as an 8-bit unsigned char, hence the
* double cast.
*/
#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
/* Enter a start condition. This macro really ought to take a parameter,
* but we do it the disgusting crufty way forced on us by the ()-less
* definition of BEGIN.
*/
#define BEGIN yy_start = 1 + 2 *
/* Translate the current start state into a value that can be later handed
* to BEGIN to return to the state. The YYSTATE alias is for lex
* compatibility.
*/
#define YY_START ((yy_start - 1) / 2)
#define YYSTATE YY_START
/* Action number for EOF rule of a given start state. */
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
/* Special action meaning "start processing a new file". */
#define YY_NEW_FILE yyrestart( yyin )
#define YY_END_OF_BUFFER_CHAR 0
/* Size of default input buffer. */
#define YY_BUF_SIZE 16384
typedef struct yy_buffer_state *YY_BUFFER_STATE;
extern int yyleng;
extern FILE *yyin, *yyout;
#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2
/* The funky do-while in the following #define is used to turn the definition
* int a single C statement (which needs a semi-colon terminator). This
* avoids problems with code like:
*
* if ( condition_holds )
* yyless( 5 );
* else
* do_something_else();
*
* Prior to using the do-while the compiler would get upset at the
* "else" because it interpreted the "if" statement as being all
* done when it reached the ';' after the yyless() call.
*/
/* Return all but the first 'n' matched characters back to the input stream. */
#define yyless(n) \
do \
{ \
/* Undo effects of setting up yytext. */ \
*yy_cp = yy_hold_char; \
YY_RESTORE_YY_MORE_OFFSET \
yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
YY_DO_BEFORE_ACTION; /* set up yytext again */ \
} \
while ( 0 )
#define unput(c) yyunput( c, yytext_ptr )
/* The following is because we cannot portably get our hands on size_t
* (without autoconf's help, which isn't available because we want
* flex-generated scanners to compile on their own).
*/
typedef unsigned int yy_size_t;
struct yy_buffer_state
{
FILE *yy_input_file;
char *yy_ch_buf; /* input buffer */
char *yy_buf_pos; /* current position in input buffer */
/* Size of input buffer in bytes, not including room for EOB
* characters.
*/
yy_size_t yy_buf_size;
/* Number of characters read into yy_ch_buf, not including EOB
* characters.
*/
int yy_n_chars;
/* Whether we "own" the buffer - i.e., we know we created it,
* and can realloc() it to grow it, and should free() it to
* delete it.
*/
int yy_is_our_buffer;
/* Whether this is an "interactive" input source; if so, and
* if we're using stdio for input, then we want to use getc()
* instead of fread(), to make sure we stop fetching input after
* each newline.
*/
int yy_is_interactive;
/* Whether we're considered to be at the beginning of a line.
* If so, '^' rules will be active on the next match, otherwise
* not.
*/
int yy_at_bol;
/* Whether to try to fill the input buffer when we reach the
* end of it.
*/
int yy_fill_buffer;
int yy_buffer_status;
#define YY_BUFFER_NEW 0
#define YY_BUFFER_NORMAL 1
/* When an EOF's been seen but there's still some text to process
* then we mark the buffer as YY_EOF_PENDING, to indicate that we
* shouldn't try reading from the input source any more. We might
* still have a bunch of tokens to match, though, because of
* possible backing-up.
*
* When we actually see the EOF, we change the status to "new"
* (via yyrestart()), so that the user can continue scanning by
* just pointing yyin at a new input file.
*/
#define YY_BUFFER_EOF_PENDING 2
};
static YY_BUFFER_STATE yy_current_buffer = 0;
/* We provide macros for accessing buffer states in case in the
* future we want to put the buffer states in a more general
* "scanner state".
*/
#define YY_CURRENT_BUFFER yy_current_buffer
/* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char;
static int yy_n_chars; /* number of characters read into yy_ch_buf */
int yyleng;
/* Points to current character in buffer. */
static char *yy_c_buf_p = (char *) 0;
static int yy_init = 1; /* whether we need to initialize */
static int yy_start = 0; /* start state number */
/* Flag which is used to allow yywrap()'s to do buffer switches
* instead of setting up a fresh yyin. A bit of a hack ...
*/
static int yy_did_buffer_switch_on_eof;
void yyrestart YY_PROTO(( FILE *input_file ));
void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
void yy_load_buffer_state YY_PROTO(( void ));
YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
static void yy_flex_free YY_PROTO(( void * ));
#define yy_new_buffer yy_create_buffer
#define yy_set_interactive(is_interactive) \
{ \
if ( ! yy_current_buffer ) \
yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
yy_current_buffer->yy_is_interactive = is_interactive; \
}
#define yy_set_bol(at_bol) \
{ \
if ( ! yy_current_buffer ) \
yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
yy_current_buffer->yy_at_bol = at_bol; \
}
#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
#define yywrap() 1
#define YY_SKIP_YYWRAP
typedef unsigned char YY_CHAR;
FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
typedef int yy_state_type;
extern char *yytext;
#define yytext_ptr yytext
static yy_state_type yy_get_previous_state YY_PROTO(( void ));
static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
static int yy_get_next_buffer YY_PROTO(( void ));
static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
/* Done after the current pattern has been matched and before the
* corresponding action - sets up yytext.
*/
#define YY_DO_BEFORE_ACTION \
yytext_ptr = yy_bp; \
yyleng = (int) (yy_cp - yy_bp); \
yy_hold_char = *yy_cp; \
*yy_cp = '\0'; \
yy_c_buf_p = yy_cp;
#define YY_NUM_RULES 45
#define YY_END_OF_BUFFER 46
static yyconst short int yy_accept[1429] =
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 46, 35, 41, 40, 39, 44, 35, 28,
44, 35, 36, 35, 35, 35, 35, 38, 37, 29,
29, 29, 29, 29, 29, 44, 35, 35, 41, 44,
29, 29, 29, 29, 29, 30, 44, 30, 31, 30,
30, 30, 30, 30, 29, 29, 29, 29, 29, 29,
44, 30, 30, 1, 35, 35, 12, 11, 12, 11,
11, 44, 44, 2, 8, 8, 8, 3, 8, 4,
44, 35, 0, 41, 39, 0, 43, 23, 0, 22,
0, 34, 34, 0, 35, 35, 0, 35, 35, 35,
35, 26, 29, 29, 29, 29, 29, 29, 35, 42,
35, 41, 0, 0, 0, 0, 0, 0, 35, 35,
35, 35, 35, 30, 0, 30, 23, 0, 22, 0,
30, 0, 30, 30, 30, 30, 30, 30, 29, 29,
29, 29, 29, 29, 30, 30, 1, 32, 32, 0,
35, 12, 12, 10, 9, 10, 0, 2, 8, 0,
8, 0, 0, 5, 6, 8, 8, 0, 35, 35,
35, 35, 0, 26, 35, 0, 26, 29, 29, 29,
29, 29, 29, 29, 35, 0, 0, 0, 0, 0,
0, 35, 35, 35, 35, 35, 30, 30, 30, 30,
30, 29, 29, 29, 29, 29, 29, 29, 30, 0,
35, 7, 7, 0, 7, 8, 35, 35, 35, 35,
35, 35, 0, 0, 26, 26, 26, 26, 27, 27,
27, 0, 0, 26, 0, 29, 29, 29, 29, 29,
29, 29, 35, 0, 0, 0, 0, 0, 0, 35,
35, 35, 30, 30, 30, 30, 30, 30, 29, 29,
29, 29, 29, 29, 29, 30, 35, 7, 35, 35,
35, 0, 0, 26, 0, 26, 0, 26, 26, 26,
26, 0, 0, 27, 27, 27, 26, 26, 26, 26,
26, 26, 0, 19, 29, 29, 29, 29, 29, 35,
0, 0, 0, 0, 35, 35, 30, 30, 30, 29,
29, 29, 29, 29, 30, 35, 35, 35, 35, 35,
35, 0, 0, 0, 26, 26, 26, 26, 0, 0,
0, 26, 26, 26, 26, 26, 26, 0, 0, 26,
27, 26, 26, 0, 26, 0, 26, 26, 26, 26,
29, 29, 29, 29, 29, 35, 0, 0, 0, 35,
35, 30, 30, 30, 30, 30, 29, 29, 29, 29,
29, 30, 35, 24, 24, 24, 0, 0, 26, 26,
0, 26, 26, 26, 26, 0, 0, 0, 0, 0,
26, 0, 26, 0, 26, 26, 26, 26, 0, 0,
0, 26, 26, 26, 26, 26, 0, 0, 0, 0,
26, 26, 26, 26, 26, 26, 0, 18, 29, 29,
0, 17, 0, 20, 35, 0, 0, 0, 35, 35,
24, 24, 24, 29, 29, 30, 35, 35, 24, 24,
24, 24, 0, 0, 0, 26, 26, 26, 26, 26,
26, 26, 0, 0, 0, 0, 0, 0, 26, 26,
26, 26, 26, 26, 0, 0, 26, 0, 26, 0,
26, 26, 26, 26, 26, 26, 26, 26, 26, 0,
0, 0, 0, 0, 26, 26, 0, 26, 26, 26,
26, 29, 29, 33, 0, 0, 0, 35, 14, 30,
24, 24, 24, 24, 29, 29, 30, 32, 35, 25,
25, 25, 0, 0, 26, 26, 0, 26, 26, 0,
26, 26, 26, 26, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 26, 0, 26, 0, 26, 26,
26, 26, 0, 0, 0, 26, 26, 26, 26, 0,
0, 0, 26, 26, 26, 26, 26, 26, 26, 0,
26, 0, 26, 26, 26, 26, 0, 0, 0, 26,
26, 26, 26, 26, 26, 0, 16, 0, 21, 0,
14, 0, 35, 0, 35, 30, 25, 25, 25, 35,
35, 25, 25, 25, 25, 25, 0, 0, 0, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 0, 0, 0, 0, 0, 0,
26, 26, 26, 26, 26, 26, 0, 0, 26, 26,
0, 26, 26, 26, 26, 0, 0, 0, 0, 0,
26, 0, 26, 0, 26, 26, 26, 26, 0, 0,
0, 26, 26, 26, 26, 26, 26, 0, 0, 0,
0, 0, 26, 26, 0, 26, 26, 26, 26, 0,
0, 15, 14, 0, 14, 0, 30, 30, 25, 25,
25, 25, 25, 35, 35, 35, 25, 25, 0, 0,
26, 26, 0, 26, 26, 0, 26, 26, 26, 26,
26, 26, 0, 26, 26, 26, 26, 26, 26, 26,
26, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 26, 0, 26, 0, 26, 26, 26, 26, 0,
0, 0, 26, 26, 26, 26, 26, 26, 26, 0,
0, 0, 0, 0, 0, 26, 26, 26, 26, 26,
26, 0, 0, 0, 0, 0, 26, 26, 0, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 15, 0, 13, 30, 30, 30, 25, 25,
35, 35, 35, 35, 35, 0, 0, 0, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 0,
0, 0, 0, 0, 0, 26, 26, 26, 26, 26,
26, 0, 0, 26, 26, 0, 26, 26, 0, 26,
26, 26, 26, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 26, 0, 26, 0, 26, 26, 26,
26, 0, 0, 0, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 0, 26, 26, 26,
26, 30, 30, 30, 30, 30, 35, 35, 35, 0,
0, 0, 0, 26, 0, 26, 0, 26, 26, 0,
26, 26, 26, 26, 26, 26, 0, 26, 26, 26,
26, 26, 26, 0, 26, 26, 26, 26, 26, 26,
26, 26, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 26, 0, 26, 0, 26, 26, 26, 26,
0, 0, 0, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 0, 0,
0, 0, 0, 0, 26, 26, 26, 26, 26, 26,
0, 0, 0, 0, 0, 26, 26, 0, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 30, 30,
30, 35, 35, 35, 35, 35, 0, 0, 0, 0,
0, 0, 0, 0, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 0,
0, 0, 0, 0, 0, 26, 26, 26, 0, 0,
26, 26, 0, 26, 26, 0, 26, 26, 26, 26,
26, 26, 0, 26, 26, 26, 26, 26, 26, 26,
26, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 26, 0, 26, 0, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
0, 26, 26, 26, 26, 30, 30, 30, 30, 30,
24, 24, 24, 0, 0, 0, 0, 26, 26, 0,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 26, 26, 0, 0, 0, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 0,
0, 0, 0, 0, 0, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 0, 26, 26,
26, 26, 26, 26, 26, 24, 24, 24, 24, 24,
24, 0, 0, 0, 0, 0, 0, 26, 26, 26,
26, 26, 26, 26, 26, 26, 0, 0, 0, 26,
0, 0, 0, 0, 26, 0, 26, 0, 26, 26,
0, 26, 26, 26, 26, 26, 26, 0, 26, 26,
26, 26, 26, 26, 0, 26, 26, 26, 26, 26,
26, 26, 26, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 26, 0, 26, 0, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 24,
24, 24, 0, 0, 0, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 0, 0, 0, 0, 0,
26, 0, 0, 0, 0, 0, 0, 0, 0, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 0, 0, 0, 0, 0, 0,
26, 26, 26, 26, 26, 0, 26, 26, 26, 26,
26, 0, 0, 0, 0, 0, 26, 26, 26, 0,
0, 0, 0, 26, 26, 0, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 0, 0, 0, 0, 0, 0, 26, 26,
26, 26, 26, 26, 26, 26, 26, 0, 0, 0,
26, 26, 26, 26, 26, 26, 26, 0, 0, 0,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
0, 0, 0, 0, 0, 26, 26, 0, 0, 0,
0, 0, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 0
} ;
static yyconst int yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 2, 4, 5, 6, 1, 7, 1, 1, 8,
9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 22, 22, 23, 24, 1, 1,
25, 26, 10, 27, 28, 29, 30, 31, 32, 29,
33, 34, 33, 33, 33, 33, 33, 35, 36, 37,
33, 38, 39, 40, 41, 42, 43, 44, 33, 33,
10, 45, 10, 1, 46, 1, 47, 48, 49, 50,
51, 52, 53, 53, 54, 53, 53, 55, 56, 57,
58, 53, 53, 59, 60, 61, 62, 53, 53, 53,
53, 53, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1
} ;
static yyconst int yy_meta[63] =
{ 0,
1, 2, 2, 3, 1, 4, 1, 3, 3, 1,
1, 2, 1, 5, 6, 7, 7, 7, 7, 7,
7, 7, 7, 8, 4, 3, 1, 7, 7, 7,
7, 7, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 9, 10, 11, 11, 11, 11,
11, 11, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10
} ;
static yyconst short int yy_base[1684] =
{ 0,
0, 61, 102, 0, 163, 164, 171, 182, 226, 287,
348, 392, 4545, 4499, 4541,10254, 4538, 4523, 4480,10254,
10254, 4452,10254, 172, 424, 52, 60, 4472,10254, 476,
4451, 523, 4458, 4450, 4445, 574, 217, 20, 180, 165,
4385, 4389, 4381, 4365, 4365, 4379, 228, 4354,10254, 4350,
354, 587, 67, 183, 639, 4350, 686, 4328, 4335, 4303,
737, 238, 146, 4269, 361, 147, 0,10254, 4264, 0,
10254, 406, 91, 0, 4222, 376, 142,10254, 168,10254,
94, 4221, 290, 4226, 4222, 4222,10254, 4162, 299, 4151,
746, 381, 4139, 771, 443, 782, 4119, 4110, 246, 540,
301, 4108, 819, 0, 4090, 183, 4081, 4079, 310,10254,
250, 398, 4049, 4053, 4045, 4040, 4015, 186, 252, 312,
145, 311, 259, 4023, 782, 571, 4022, 850, 3992, 875,
619, 884, 706, 895, 4020, 799, 912, 548, 932, 0,
3986, 335, 3978, 3949, 326, 341, 3984, 819, 3925, 963,
369, 0, 3965, 98,10254,10254, 223, 0, 3888, 618,
988, 370, 422,10254,10254, 3887, 729, 990, 1020, 1052,
1084, 1116, 3907, 1154, 3899, 1191, 342, 1228, 3882, 3866,
3866, 3861, 3853, 3823, 366, 3797, 3801, 3748, 3750, 3728,
327, 434, 3728, 388, 19, 375, 1267, 1299, 1331, 1363,
3760, 1400, 3714, 3699, 3687, 3680, 3672, 3678, 377, 993,
412, 3664,10254, 378, 1004, 1019, 1034, 534, 1439, 1471,
1064, 282, 3659, 3656, 1503, 1070, 748, 1094, 3655, 1102,
579, 3654, 3592, 597, 1540, 3555, 456, 3544, 3521, 3519,
3486, 3491, 580, 3475, 3463, 3448, 3461, 3448, 447, 504,
697, 152, 1133, 588, 1579, 1611, 1173, 368, 3468, 624,
3459, 3451, 3449, 3445, 3438, 596, 668, 715, 1643, 1675,
1707, 3448, 3447, 1738, 1208, 829, 1775, 858, 1814, 0,
1247, 3429, 3426, 1275, 3426, 3410, 0, 598, 1825, 1284,
886, 1309, 627,10254, 3403, 3364, 3370, 3370, 3358, 731,
3338, 3321, 3276, 727, 225, 423, 1864, 1896, 1928, 3305,
3295, 3301, 3287, 3275, 737, 810, 1317, 733, 1960, 1992,
1351, 3292, 3291, 3275, 2024, 1381, 920, 1419, 1449, 1459,
1481, 729, 2063, 1489, 1042, 1522, 942, 3274, 3262, 2100,
3261, 3260, 865, 1557, 944, 2137, 962, 2176, 0, 1589,
822, 3240, 3247, 861, 895, 958, 3229, 3199, 662, 953,
440, 1598, 812, 2187, 2219, 1628, 896, 3210, 3217, 995,
999, 966, 981, 2250, 2281, 2312, 3217, 3212, 3207, 1258,
2342, 1342, 2381, 0, 1660, 1683, 3179, 1693, 1717, 1727,
1052, 1755, 1349, 2390, 1410, 2429, 0, 1794, 3099, 3098,
3082, 2440, 1842, 1141, 1874, 3079, 2477, 1884, 1906, 1916,
1116, 2516, 1936, 1179, 1946, 1430, 1075,10254, 3070, 3023,
1230,10254, 1231,10254, 748, 3009, 2938, 919, 1134, 985,
2554, 2585, 2616, 2967, 2940, 833, 987, 1971, 846, 2647,
2678, 1980, 2957, 2955, 2953, 1331, 1363, 2710, 2001, 1565,
2012, 1626, 2043, 2082, 2119, 2156, 2197, 2207, 1459, 2749,
2227, 1651, 2237, 1855, 2932, 2931, 2786, 2258, 1300, 2823,
1472, 2862, 0, 734, 2930, 2873, 2266, 1763, 2291, 2299,
2939, 2322, 2332, 2361, 1513, 2110, 2910, 2147, 2949, 0,
2409, 2973, 1250, 2892, 2882, 2859, 971, 1049, 2477, 2457,
850, 3021, 3052, 2496, 3097, 1403, 2873, 2871, 3146, 3178,
3210, 3242, 2876, 2875, 2854, 1611, 3272, 1693, 2352, 3309,
2528, 3348, 0, 2564, 2537, 2852, 2573, 2595, 2605, 2624,
2836, 2634, 2657, 2667, 1727, 2686, 2696, 3357, 2698, 3396,
0, 2729, 2825, 2808, 2807, 3407, 2766, 2367, 2805, 2842,
2892, 2929, 2806, 3446, 3029, 2698, 3039, 1598, 2805, 3060,
1708, 3483, 1875, 3522, 0, 1005, 3070, 3156, 3166, 1916,
3533, 3186, 2774, 3196, 2796, 1634,10254, 1797,10254, 2766,
3216, 1636, 1082, 2767, 2731, 3572, 3604, 3636, 3668, 3228,
1296, 3700, 3732, 3764, 3796, 3221, 2751, 2750, 2732, 1946,
1960, 3828, 3258, 3251, 3291, 2012, 3867, 3326, 3334, 3376,
2833, 3425, 3464, 3501, 3552, 3582, 3592, 3614, 3624, 3646,
2034, 3906, 3654, 3676, 3684, 2853, 2731, 2730, 0, 1897,
3943, 2083, 3982, 0, 1024, 3708, 2738, 3718, 3742, 3752,
2727, 3772, 2188, 3991, 2238, 4030, 0, 1158, 3782, 3806,
3816, 2713, 4041, 3845, 3853, 3886, 2323, 3923, 2722, 3962,
4010, 4060, 2207, 2920, 4078, 3081, 4117, 0, 4097, 2675,
2718, 2645, 2644, 4140, 2627, 4149, 4160, 1297, 4192, 4224,
4256, 4288, 4153, 4320, 4352, 4384, 4171, 1343, 2636, 2635,
2613, 2495, 4414, 2605, 3282, 4451, 3367, 4490, 0, 4203,
2634, 3437, 4499, 3513, 4538, 0, 4215, 2612, 4233, 4242,
4265, 4271, 2596, 4298, 4308, 4183, 4328, 2584, 4338, 4362,
4372, 2667, 4392, 3563, 4547, 3953, 4586, 0, 4402, 2573,
2562, 2538, 2526, 2525, 4597, 4431, 3931, 4470, 2441, 4518,
4566, 4616, 4636, 4646, 4656, 2499, 4666, 4683, 4066, 4705,
2537, 4713, 2507, 4723, 4733, 4743, 2496, 2874, 4749, 2893,
4788, 0, 1194, 4767, 4798, 4807, 2961, 4817, 4834, 4279,
4856, 3973,10254, 2515,10254, 4866, 4898, 4930, 4877, 1549,
4885, 1329, 4962, 4994, 4915, 2462, 2461, 5024, 3039, 3070,
5063, 4945, 4439, 4972, 3085, 5102, 4980, 4691, 5004, 4001,
3166, 5141, 5012, 4842, 5043, 4021, 5081, 5120, 5159, 5180,
5190, 5200, 5210, 5220, 5230, 3210, 5240, 5257, 4907, 5279,
4148, 2460, 2459, 0, 2458, 5287, 2443, 3147, 5324, 3197,
5363, 0, 1212, 5304, 2452, 5343, 5374, 5384, 5390, 2422,
5400, 5410, 5420, 2411, 5426, 3408, 5434, 3583, 5473, 0,
1214, 5453, 5484, 5494, 2410, 5504, 5521, 4921, 5543, 3605,
2417, 5552, 5561, 5570, 3543, 4171, 5576, 4461, 5615, 0,
5595, 5624, 1344, 5656, 5688, 5635, 5720, 5752, 5784, 2407,
5816, 5641, 4938, 2402, 5667, 3624, 0, 3684, 4509, 0,
4557, 5855, 0, 5679, 3718, 4627, 0, 4779, 5866, 0,
5698, 3752, 5171, 0, 5270, 5877, 0, 5711, 2401, 5729,
5738, 5761, 5767, 2401, 5794, 5804, 5835, 5886, 2400, 5896,
5906, 5916, 3782, 5922, 5334, 0, 5354, 5932, 0, 5943,
2345, 2344, 2332, 2301, 2300, 5954, 5971, 4953, 5993, 2299,
6003, 6020, 5312, 6042, 3637, 6050, 6058, 6066, 6076, 6086,
6096, 6106, 6116, 6126, 2282, 6136, 6153, 5529, 6175, 3733,
6183, 2280, 6193, 6203, 6213, 2269, 3797, 6219, 3887, 6258,
0, 1247, 3816, 6269, 6236, 5775, 6288, 5444, 6308, 6340,
6372, 6319, 1361, 6404, 6436, 6329, 2268, 6349, 4042, 2267,
4136, 6468, 0, 1286, 2275, 4130, 2248, 4132, 2246, 5464,
4144, 2219, 5984, 4308, 2168, 6033, 6360, 6381, 6390, 6414,
6424, 6446, 6456, 6479, 6489, 4338, 2167, 6166, 2157, 2156,
0, 2140, 6497, 2139, 4289, 6534, 4353, 6573, 0, 1385,
2122, 4414, 6582, 4598, 6621, 0, 1491,10254, 6514, 6551,
5841, 6599, 2131, 6632, 6642, 6652, 6658, 2130, 6668, 6678,
6688, 2119, 6694, 4647, 6702, 4667, 6741, 0, 1507, 6719,
6750, 6758, 2103, 6768, 6785, 6244, 6807, 4724, 4372, 6299,
0, 6564, 6817, 0, 6828, 6837, 1501, 6869, 6901, 6848,
6854, 6884, 6914, 6931, 6944, 6954, 2102, 2094, 2093, 4857,
2091, 4616, 2075, 5034, 2074, 5667, 2073, 5804, 2055, 2054,
6963, 6972, 6923, 6980, 2054, 6990, 7000, 7010, 7016, 2053,
7026, 7036, 7046, 5826, 2036, 2026, 1983, 7052, 1980, 1979,
7091, 7069, 6522, 7110, 1978, 7130, 7147, 6607, 7169, 4963,
1962, 7179, 7196, 6727, 7218, 4995, 7226, 7234, 7242, 7252,
7262, 7272, 7282, 7292, 7302, 1961, 7312, 7329, 6793, 7351,
5191,10254, 7359, 7367, 6892, 1948, 5211, 7375, 5375, 7414,
0, 1525, 6279, 1956, 7082, 7394, 7424, 7432, 1898, 7440,
7454, 7470, 1894, 7484, 7494, 7462, 1847, 1853, 1852, 1851,
1837, 1836, 1835, 7503, 7512, 7521, 7531, 7541, 7551, 1805,
1795, 7561, 7578, 7155, 0, 7600, 1793, 0, 1792, 5401,
0, 5485, 7610, 0, 1630, 1778, 5505, 0, 5785, 7621,
0, 1632, 1777, 5897, 0, 5955, 7632, 0, 1660,10254,
7641, 7649, 7204, 7657, 1786, 7667, 7677, 7687, 7693, 1751,
7703, 7713, 7723, 1740, 7729, 6004, 0, 6077, 7739, 0,
1663, 1739, 7750, 7767, 7337, 7789, 6097, 6424, 1747, 1645,
7797, 7805, 7813, 7835, 7845, 1672, 1622, 1608, 1596, 1549,
1534, 1449, 7854, 7863, 7872, 7878, 1432, 7888, 7898, 7827,
1428, 1402, 7906, 6117, 1385, 6137, 7916, 0, 1696, 0,
1366, 0, 1229, 0, 6194, 1119, 0, 6320, 1117, 0,
6405, 7925, 7933, 7941, 7951, 7961, 7971, 7981, 7991, 8001,
1104, 0, 6437, 1071, 6480, 0, 6633, 8011, 0, 1727,
989, 8020, 971, 8030, 8040, 8050, 8057, 8066, 8075, 8085,
8095, 8105, 954, 0,10254, 6669, 0, 897, 0, 801,
0, 768, 0, 761, 0,10254, 8113, 8121, 7586, 8129,
697, 8139, 8149, 8159, 8165, 628, 8175, 8185, 8195, 590,
0, 561, 0, 6769, 566, 8202, 8211, 8220, 467, 8229,
8238, 8247, 8253, 388, 8263, 8273, 8283, 360, 0, 0,
0, 0, 0, 0, 8289, 8297, 8305, 8315, 8325, 8335,
0, 353, 0, 316, 8344, 8353, 8362, 8370, 8380, 8390,
0,10254,10254,10254,10254,10254,10254, 8398, 8406, 7775,
8414, 228, 8424, 8434, 8444,10254, 0, 8450, 84, 8460,
8470, 8480, 8486, 8494, 8502,10254, 8510, 8518, 8526,10254,
8534, 8542, 8550,10254, 8556, 8564, 8572,10254, 8593, 8604,
8615, 8626, 8637, 8648, 8659, 8670, 8681, 8692, 8703, 8714,
8725, 8736, 8738, 8749, 8760, 8771, 8782, 8787, 8793, 8804,
8815, 8820, 8826, 8831, 8836, 8841, 8847, 8852, 8857, 8864,
8869, 8874, 8879, 8885, 8890, 8895, 8901, 8906, 8911, 8916,
8923, 8928, 8933, 8939, 8946, 8953, 8958, 8963, 8968, 8974,
8979, 8984, 8990, 8996, 9002, 9007, 9012, 9019, 9024, 9031,
9042, 9047, 9052, 9058, 9064, 9071, 9078, 9083, 9088, 9093,
9100, 9106, 9117, 9128, 9139, 9150, 9161, 9166, 9171, 9177,
9183, 9189, 9195, 9200, 9205, 9210, 9217, 9224, 9229, 9236,
9247, 9258, 9269, 9280, 9291, 9296, 9301, 9307, 9313, 9320,
9327, 9334, 9339, 9344, 9349, 9354, 9359, 9366, 9372, 9383,
9394, 9405, 9410, 9416, 9422, 9428, 9434, 9440, 9445, 9450,
9455, 9460, 9467, 9474, 9479, 9486, 9497, 9508, 9513, 9519,
9525, 9530, 9537, 9542, 9549, 9554, 9561, 9566, 9573, 9578,
9583, 9588, 9593, 9598, 9603, 9608, 9615, 9621, 9632, 9643,
9650, 9655, 9661, 9667, 9673, 9679, 9685, 9691, 9697, 9703,
9709, 9715, 9721, 9726, 9731, 9736, 9741, 9748, 9755, 9762,
9767, 9774, 9779, 9790, 9801, 9806, 9812, 9818, 9824, 9830,
9836, 9842, 9848, 9853, 9858, 9863, 9868, 9873, 9878, 9885,
9891, 9897, 9908, 9919, 9925, 9931, 9937, 9943, 9949, 9955,
9961, 9966, 9971, 9976, 9981, 9988, 9993,10000,10005,10012,
10017,10024,10029,10034,10040,10051,10057,10064,10069,10074,
10079,10084,10089,10094,10099,10104,10109,10114,10119,10124,
10131,10136,10142,10147,10152,10157,10162,10167,10172,10177,
10182,10187,10192,10197,10202,10207,10212,10217,10222,10227,
10232,10237,10242
} ;
static yyconst short int yy_def[1684] =
{ 0,
1428, 1, 1428, 3, 1, 1, 1429, 1429, 1430, 1430,
1431, 1431, 1428, 1432, 1428, 1428, 1428, 1433, 1434, 1428,
1428, 1435, 1428, 1436, 1432, 25, 25, 1428, 1428, 1428,
30, 30, 32, 32, 32, 1432, 25, 1432, 1428, 1433,
30, 30, 32, 32, 32, 1437, 1428, 1438, 1428, 1439,
1440, 1437, 52, 52, 1428, 55, 55, 57, 57, 57,
1437, 52, 1437, 1428, 1441, 1432, 1442, 1428, 1442, 1442,
1428, 1428, 1428, 1443, 1444, 1445, 1444, 1428, 1444, 1428,
1446, 1432, 1432, 1428, 1428, 1433, 1428, 1434, 1434, 1435,
1435, 1436, 1447, 1432, 1432, 25, 1448, 96, 96, 96,
96, 1449, 30, 32, 32, 32, 32, 32, 1432, 1428,
1432, 1428, 1428, 1428, 1428, 1428, 1428, 1433, 1432, 96,
1432, 1432, 1432, 1437, 1437, 1428, 1438, 1438, 1439, 1439,
1440, 1437, 1437, 52, 134, 134, 134, 134, 55, 57,
57, 57, 57, 57, 1437, 1437, 1428, 1441, 1450, 1432,
1432, 1442, 1442, 1428, 1428, 1428, 1428, 1443, 1444, 1444,
1445, 1451, 1445, 1428, 1428, 1444, 1444, 1428, 1432, 1432,
1432, 96, 1452, 1428, 172, 1428, 1453, 30, 32, 32,
32, 32, 32, 32, 1432, 1428, 1428, 1428, 1428, 1428,
1433, 1432, 172, 1432, 1432, 1432, 1437, 1437, 1437, 134,
200, 55, 57, 57, 57, 57, 57, 57, 1437, 1428,
1432, 1444, 1428, 1451, 1445, 1445, 1432, 1432, 1432, 1432,
1432, 1432, 1454, 1455, 1428, 225, 225, 225, 1456, 1456,
230, 1428, 1456, 1457, 1428, 32, 32, 32, 32, 32,
32, 32, 1432, 1428, 1428, 1428, 1428, 1428, 1433, 1432,
1432, 1432, 1437, 1437, 1437, 1437, 1437, 1437, 57, 57,
57, 57, 57, 57, 57, 1437, 1432, 1451, 1432, 1432,
1432, 1458, 1459, 1428, 1428, 1460, 1428, 1460, 1460, 279,
1460, 1461, 1462, 1461, 284, 1461, 1463, 1464, 1428, 289,
289, 289, 1428, 1428, 32, 32, 32, 32, 32, 1432,
1428, 1428, 1428, 1433, 1432, 1432, 1437, 1437, 1437, 57,
57, 57, 57, 57, 1437, 1432, 1432, 1432, 1432, 1432,
1432, 1428, 1465, 1466, 1428, 325, 325, 325, 1428, 1428,
1428, 1467, 1428, 333, 333, 333, 1467, 1468, 1469, 1428,
1468, 1470, 1428, 1428, 1471, 1428, 1471, 1471, 348, 1471,
32, 32, 32, 32, 32, 1432, 1428, 1428, 1433, 1432,
1432, 1437, 1437, 1437, 1437, 1437, 57, 57, 57, 57,
57, 1437, 1432, 1432, 1432, 1432, 1472, 1473, 1474, 1475,
1428, 1475, 1475, 383, 1475, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1476, 1428, 1476, 1476, 396, 1476, 1428, 1477,
1478, 1428, 402, 402, 402, 1479, 1428, 1428, 1428, 1428,
1480, 1428, 412, 412, 412, 1480, 1428, 1428, 32, 32,
1428, 1428, 1428, 1428, 1432, 1428, 1428, 1433, 1432, 1432,
1437, 1437, 1437, 57, 57, 1437, 1432, 1432, 1432, 1432,
1432, 1432, 1428, 1481, 1482, 1483, 1484, 1428, 448, 448,
448, 1484, 1428, 1428, 1428, 1428, 1428, 1428, 1485, 1428,
460, 460, 460, 1485, 1486, 1487, 1428, 1428, 1488, 1428,
1488, 1488, 472, 472, 1489, 1428, 476, 476, 476, 1428,
1428, 1428, 1428, 1428, 1428, 1490, 1428, 1490, 1490, 489,
1490, 1428, 492, 1432, 1428, 1428, 1491, 1432, 1432, 1437,
1437, 1437, 1437, 1437, 1428, 505, 1437, 1432, 1432, 1432,
1432, 1432, 1492, 1493, 1494, 1495, 1428, 1428, 1496, 1428,
1496, 1496, 522, 1496, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1497, 1428, 1497, 1497,
540, 1497, 1428, 1498, 1499, 1428, 546, 546, 546, 1428,
1428, 1428, 1500, 1428, 554, 554, 554, 1500, 1428, 1428,
1501, 1428, 1501, 1501, 564, 564, 1428, 1428, 1428, 1502,
1428, 571, 571, 571, 1502, 1428, 1428, 1428, 1428, 1428,
1428, 1503, 1504, 1505, 1506, 1507, 1507, 1507, 1507, 1504,
1504, 1504, 1504, 1504, 1504, 1504, 1428, 1508, 1509, 1510,
1511, 1428, 602, 602, 602, 1512, 1428, 607, 607, 607,
1512, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1513, 1428, 622, 622, 622, 1513, 1514, 1515, 1516, 1517,
1428, 1517, 1517, 633, 633, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1518, 1428, 1518, 1518, 646, 646, 1428, 1428,
1428, 1519, 1428, 653, 653, 653, 1519, 1428, 1428, 1428,
1428, 1428, 1428, 1520, 1428, 1520, 1520, 667, 1520, 1428,
1521, 1522, 1523, 1523, 1524, 1524, 1525, 1525, 1525, 1525,
1525, 1525, 1525, 1522, 1522, 1522, 1522, 1522, 1526, 1527,
1528, 1529, 1428, 1428, 1530, 1428, 1530, 1530, 698, 1530,
1428, 1531, 1428, 1531, 1531, 705, 1531, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1532, 1428, 1532, 1532, 727, 1532, 1428,
1533, 1534, 1535, 1536, 1428, 735, 735, 735, 1536, 1428,
1428, 1428, 1428, 1428, 1428, 1537, 1428, 747, 747, 747,
1537, 1428, 1428, 1428, 1428, 1428, 1428, 1538, 1428, 1538,
1538, 761, 761, 1428, 1428, 1428, 1539, 1428, 768, 768,
768, 1539, 1428, 1540, 1428, 1541, 1541, 1541, 1541, 1541,
1542, 1542, 1542, 1542, 1542, 1428, 1543, 1428, 1544, 1545,
1428, 791, 791, 791, 1546, 1428, 796, 796, 796, 1546,
1547, 1428, 802, 802, 802, 1547, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1548, 1428, 817, 817, 817,
1548, 1549, 1550, 1551, 1552, 1428, 1428, 1553, 1428, 1553,
1553, 831, 831, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1554, 1428, 1554, 1554, 849,
849, 1428, 1428, 1428, 1555, 1428, 856, 856, 856, 1555,
1428, 1428, 1428, 1428, 1428, 1556, 1428, 1556, 1556, 869,
1556, 1557, 1557, 1557, 1557, 1557, 1558, 1558, 1558, 1559,
1428, 881, 881, 1560, 881, 1561, 1562, 1428, 1563, 1564,
1563, 1563, 892, 1563, 1428, 1565, 1566, 1565, 1565, 899,
1565, 1428, 1567, 1568, 1567, 1567, 906, 1567, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1569, 1570, 1569, 1569, 928, 1569,
1428, 1571, 1572, 1573, 1574, 1428, 936, 936, 936, 1575,
1428, 941, 941, 941, 1575, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1576, 1428, 956, 956, 956, 1576,
1428, 1428, 1428, 1428, 1428, 1428, 1577, 1428, 1577, 1577,
970, 970, 1578, 1428, 974, 974, 974, 1578, 1579, 1579,
1579, 1580, 1580, 1580, 1580, 1580, 1428, 1428, 1581, 1582,
1581, 1581, 992, 992, 1583, 1584, 1585, 1586, 1587, 1586,
1588, 1589, 1588, 1590, 1591, 1590, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1592, 1593, 1592, 1594, 1595,
1596, 1597, 1428, 1428, 1598, 1428, 1598, 1598, 1028, 1028,
1428, 1599, 1428, 1599, 1599, 1035, 1035, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1600, 1428, 1600, 1600, 1057, 1057, 1428,
1428, 1428, 1601, 1428, 1064, 1064, 1064, 1601, 1428, 1602,
1603, 1602, 1602, 1073, 1602, 1604, 1604, 1604, 1604, 1604,
1605, 1605, 1605, 1428, 1428, 1428, 1606, 1607, 1428, 1606,
1608, 1428, 1609, 1428, 1610, 1428, 1611, 1428, 1612, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1613, 1428, 1614, 1428, 1615, 1616,
1428, 1121, 1121, 1121, 1617, 1428, 1126, 1126, 1126, 1617,
1618, 1428, 1132, 1132, 1132, 1618, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1619, 1428, 1147, 1147, 1147,
1619, 1428, 1428, 1428, 1428, 1428, 1620, 1428, 1620, 1620,
1160, 1160, 1621, 1622, 1621, 1623, 1623, 1623, 1624, 1624,
1624, 1428, 1428, 1428, 1428, 1428, 1428, 1625, 1626, 1627,
1628, 1629, 1630, 1428, 1428, 1428, 1428, 1428, 1428, 1631,
1632, 1428, 1192, 1192, 1633, 1192, 1634, 1635, 1428, 1636,
1637, 1636, 1636, 1203, 1203, 1428, 1638, 1639, 1638, 1638,
1210, 1210, 1428, 1640, 1641, 1640, 1640, 1217, 1217, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1642, 1643, 1642, 1642, 1239,
1239, 1644, 1428, 1243, 1243, 1243, 1644, 1428, 1645, 1646,
1646, 1646, 1428, 1428, 1428, 1647, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1648, 1649, 1648, 1648, 1277, 1277, 1650,
1651, 1652, 1653, 1654, 1653, 1655, 1656, 1655, 1657, 1658,
1657, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1659, 1660, 1659, 1428, 1661, 1662, 1661, 1661, 1308, 1308,
1663, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1664, 1665, 1428, 1664, 1666, 1428, 1667, 1428,
1668, 1428, 1669, 1428, 1670, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1671, 1672, 1673, 1672, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1674, 1675,
1676, 1677, 1678, 1679, 1428, 1428, 1428, 1428, 1428, 1428,
1680, 1428, 1681, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1682, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1683, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 0, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428
} ;
static yyconst short int yy_nxt[10317] =
{ 0,
14, 15, 16, 17, 14, 18, 19, 20, 21, 14,
22, 23, 14, 14, 24, 25, 26, 27, 25, 25,
25, 25, 25, 28, 29, 21, 14, 30, 30, 30,
30, 31, 32, 32, 33, 32, 34, 32, 35, 32,
32, 32, 32, 32, 36, 14, 37, 37, 37, 37,
37, 37, 14, 14, 14, 14, 14, 14, 14, 38,
14, 14, 39, 83, 83, 252, 40, 99, 99, 99,
99, 99, 99, 99, 99, 100, 100, 100, 100, 100,
101, 111, 136, 136, 136, 136, 136, 136, 136, 136,
41, 42, 157, 110, 43, 167, 110, 1408, 44, 157,
110, 45, 46, 15, 16, 17, 46, 47, 48, 21,
49, 46, 50, 23, 46, 46, 51, 52, 53, 54,
52, 52, 52, 52, 52, 28, 29, 21, 46, 55,
55, 55, 55, 56, 57, 57, 58, 57, 59, 57,
60, 57, 57, 57, 57, 57, 61, 46, 62, 62,
62, 62, 62, 62, 46, 46, 46, 46, 46, 46,
46, 63, 46, 46, 64, 64, 164, 87, 21, 21,
21, 21, 15, 68, 69, 93, 70, 65, 65, 93,
93, 112, 71, 15, 68, 69, 160, 70, 87, 83,
125, 83, 165, 71, 71, 70, 83, 93, 137, 137,
137, 137, 137, 138, 194, 71, 70, 146, 151, 113,
114, 250, 160, 115, 180, 72, 94, 116, 118, 181,
117, 182, 66, 66, 157, 110, 72, 15, 16, 17,
82, 18, 98, 98, 98, 98, 98, 98, 98, 98,
126, 1401, 191, 126, 126, 126, 126, 126, 126, 126,
126, 124, 360, 135, 135, 135, 135, 135, 135, 135,
135, 175, 175, 175, 175, 175, 175, 175, 175, 83,
73, 74, 74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74, 15, 16,
17, 82, 18, 82, 83, 82, 83, 82, 82, 185,
88, 82, 88, 83, 88, 97, 88, 88, 192, 196,
88, 157, 110, 82, 82, 82, 175, 175, 175, 175,
175, 175, 88, 88, 88, 82, 83, 157, 110, 87,
176, 73, 74, 74, 74, 74, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74, 74, 15,
16, 17, 76, 18, 83, 83, 176, 93, 77, 78,
79, 93, 93, 193, 149, 235, 204, 195, 149, 149,
125, 205, 80, 206, 213, 249, 1306, 162, 162, 93,
159, 162, 268, 1275, 93, 125, 149, 162, 93, 93,
209, 97, 81, 15, 16, 17, 76, 18, 132, 112,
162, 1363, 77, 78, 79, 150, 93, 154, 110, 155,
83, 156, 125, 83, 214, 155, 80, 156, 211, 83,
163, 125, 214, 243, 162, 94, 215, 113, 114, 156,
156, 115, 83, 250, 266, 116, 81, 95, 117, 96,
96, 96, 96, 96, 96, 96, 96, 97, 250, 87,
156, 98, 98, 98, 98, 98, 83, 293, 169, 170,
171, 169, 169, 169, 169, 169, 216, 83, 83, 267,
98, 98, 98, 98, 98, 98, 82, 361, 83, 294,
82, 176, 82, 250, 83, 82, 82, 83, 82, 82,
82, 103, 103, 103, 103, 103, 103, 103, 103, 97,
430, 304, 82, 103, 103, 103, 103, 103, 104, 104,
104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
83, 104, 98, 98, 98, 98, 98, 98, 82, 82,
82, 82, 82, 82, 82, 82, 82, 82, 104, 104,
104, 104, 104, 104, 104, 104, 1428, 217, 83, 305,
104, 104, 104, 104, 104, 175, 175, 175, 175, 175,
175, 175, 175, 201, 201, 201, 201, 201, 201, 82,
82, 82, 82, 82, 82, 109, 110, 82, 83, 82,
176, 82, 82, 126, 1306, 82, 126, 126, 126, 126,
126, 126, 126, 126, 286, 286, 286, 82, 82, 82,
133, 253, 134, 134, 134, 134, 134, 134, 134, 134,
97, 176, 176, 1237, 135, 135, 135, 135, 135, 159,
235, 235, 93, 159, 83, 293, 93, 93, 293, 159,
300, 125, 125, 135, 135, 135, 135, 135, 135, 124,
125, 1345, 159, 124, 93, 124, 315, 294, 124, 124,
294, 124, 124, 124, 139, 139, 139, 139, 139, 139,
139, 139, 97, 132, 87, 124, 139, 139, 139, 139,
139, 140, 140, 140, 140, 140, 140, 140, 140, 140,
140, 140, 140, 125, 140, 135, 135, 135, 135, 135,
135, 124, 124, 124, 124, 124, 124, 124, 124, 124,
124, 140, 140, 140, 140, 140, 140, 140, 140, 1428,
1340, 428, 83, 140, 140, 140, 140, 140, 316, 213,
97, 197, 198, 199, 197, 197, 197, 197, 197, 87,
157, 110, 124, 124, 124, 124, 124, 124, 145, 110,
124, 83, 124, 176, 124, 124, 317, 90, 124, 90,
125, 90, 277, 90, 90, 553, 553, 90, 306, 214,
124, 124, 124, 280, 280, 280, 280, 280, 281, 90,
90, 90, 92, 160, 82, 83, 92, 83, 82, 82,
356, 125, 92, 124, 1215, 124, 372, 124, 359, 124,
124, 1208, 83, 124, 92, 92, 82, 172, 172, 172,
172, 172, 172, 172, 172, 124, 124, 124, 494, 172,
172, 172, 172, 172, 201, 201, 201, 201, 201, 201,
201, 201, 149, 417, 1201, 362, 149, 149, 172, 172,
172, 172, 172, 172, 178, 178, 178, 178, 178, 178,
178, 178, 275, 176, 149, 418, 178, 178, 178, 178,
178, 127, 277, 127, 83, 127, 125, 127, 127, 373,
438, 127, 421, 150, 500, 172, 172, 172, 172, 172,
172, 1428, 176, 127, 127, 127, 129, 125, 129, 176,
129, 277, 129, 129, 422, 131, 129, 124, 235, 131,
83, 124, 124, 507, 125, 131, 423, 417, 129, 129,
129, 349, 349, 349, 349, 349, 350, 131, 131, 124,
200, 200, 200, 200, 200, 200, 200, 200, 424, 418,
1198, 87, 200, 200, 200, 200, 200, 201, 201, 201,
201, 201, 201, 201, 201, 384, 384, 384, 384, 384,
385, 200, 200, 200, 200, 200, 200, 202, 202, 202,
202, 202, 202, 202, 202, 275, 176, 344, 176, 202,
202, 202, 202, 202, 148, 277, 82, 346, 148, 497,
82, 82, 582, 87, 148, 1428, 176, 1275, 200, 200,
200, 200, 200, 200, 1312, 346, 148, 148, 82, 162,
162, 93, 212, 162, 149, 93, 421, 83, 149, 162,
423, 93, 83, 176, 149, 162, 162, 429, 212, 162,
125, 425, 162, 93, 93, 162, 149, 149, 422, 436,
162, 162, 424, 215, 162, 83, 652, 652, 162, 83,
162, 83, 163, 217, 437, 218, 218, 218, 218, 218,
218, 218, 218, 162, 499, 734, 734, 508, 163, 269,
270, 271, 269, 269, 269, 269, 269, 397, 397, 397,
397, 397, 398, 163, 83, 217, 176, 219, 219, 219,
219, 219, 219, 219, 219, 277, 417, 217, 83, 218,
218, 218, 218, 218, 218, 279, 279, 279, 279, 279,
279, 279, 279, 83, 1158, 583, 83, 217, 418, 220,
220, 220, 220, 220, 221, 218, 218, 1428, 83, 278,
278, 278, 278, 278, 278, 278, 278, 284, 284, 285,
286, 286, 286, 286, 286, 283, 83, 1237, 83, 82,
176, 222, 222, 222, 222, 222, 222, 222, 222, 346,
1215, 672, 1208, 222, 222, 222, 222, 222, 307, 308,
309, 307, 307, 307, 307, 307, 473, 473, 473, 473,
473, 474, 222, 222, 222, 222, 222, 222, 176, 225,
226, 227, 225, 225, 225, 225, 225, 125, 83, 746,
746, 228, 228, 228, 228, 228, 253, 498, 254, 254,
254, 254, 254, 254, 490, 490, 490, 490, 490, 491,
228, 228, 228, 228, 228, 228, 229, 230, 231, 231,
231, 231, 231, 231, 232, 855, 855, 125, 233, 233,
233, 233, 233, 329, 330, 331, 329, 329, 329, 329,
329, 421, 423, 940, 940, 955, 955, 233, 233, 233,
233, 233, 233, 236, 236, 236, 236, 236, 236, 236,
236, 578, 1201, 422, 424, 236, 236, 236, 236, 236,
275, 176, 337, 337, 337, 337, 337, 337, 1063, 1063,
277, 275, 176, 579, 222, 222, 222, 222, 222, 222,
253, 381, 254, 254, 254, 254, 254, 254, 254, 254,
341, 341, 341, 341, 341, 341, 341, 341, 283, 348,
348, 348, 348, 348, 348, 348, 348, 1087, 1087, 590,
677, 125, 253, 468, 255, 255, 255, 255, 255, 255,
255, 255, 1428, 470, 347, 347, 347, 347, 347, 347,
347, 347, 374, 375, 376, 374, 374, 374, 374, 374,
83, 125, 781, 125, 253, 176, 256, 256, 256, 256,
256, 257, 254, 254, 517, 1428, 176, 872, 688, 688,
688, 83, 392, 176, 317, 381, 318, 318, 318, 318,
318, 318, 394, 83, 982, 125, 124, 176, 258, 258,
258, 258, 258, 258, 258, 258, 381, 83, 125, 1198,
258, 258, 258, 258, 258, 83, 383, 383, 383, 383,
383, 383, 383, 383, 578, 83, 1125, 1125, 1325, 258,
258, 258, 258, 258, 258, 259, 259, 259, 259, 259,
259, 259, 259, 1428, 176, 1118, 579, 259, 259, 259,
259, 259, 1428, 394, 382, 382, 382, 382, 382, 382,
382, 382, 176, 344, 176, 1266, 258, 258, 258, 258,
258, 258, 217, 346, 218, 218, 218, 218, 218, 218,
218, 218, 386, 176, 387, 387, 387, 387, 387, 387,
387, 387, 386, 176, 388, 388, 388, 388, 388, 388,
388, 388, 394, 83, 217, 1428, 218, 218, 218, 218,
218, 218, 218, 218, 386, 470, 389, 389, 389, 389,
389, 390, 387, 387, 396, 396, 396, 396, 396, 396,
396, 396, 1131, 1131, 1076, 83, 275, 176, 276, 276,
276, 276, 276, 276, 276, 276, 277, 176, 1146, 1146,
278, 278, 278, 278, 278, 1428, 346, 395, 395, 395,
395, 395, 395, 395, 395, 125, 1242, 1242, 176, 278,
278, 278, 278, 278, 278, 289, 290, 291, 289, 289,
289, 289, 289, 176, 780, 780, 780, 292, 292, 292,
292, 292, 408, 409, 410, 408, 408, 408, 408, 408,
523, 523, 523, 523, 523, 524, 292, 292, 292, 292,
292, 292, 253, 125, 254, 254, 254, 254, 254, 254,
254, 254, 344, 176, 416, 416, 416, 416, 416, 416,
176, 468, 346, 431, 432, 433, 431, 431, 431, 431,
431, 470, 176, 125, 253, 176, 254, 254, 254, 254,
254, 254, 254, 254, 517, 576, 176, 582, 87, 275,
176, 362, 125, 363, 363, 363, 363, 363, 363, 381,
671, 1283, 1283, 1286, 1286, 125, 317, 577, 318, 318,
318, 318, 318, 318, 318, 318, 541, 541, 541, 541,
541, 542, 125, 275, 176, 452, 452, 452, 452, 452,
452, 1289, 1289, 381, 1301, 1301, 176, 83, 317, 125,
319, 319, 319, 319, 319, 319, 319, 319, 453, 454,
455, 453, 453, 453, 453, 453, 386, 176, 387, 387,
387, 387, 387, 387, 387, 387, 381, 1323, 1323, 83,
317, 560, 320, 320, 320, 320, 320, 321, 318, 318,
386, 562, 387, 387, 387, 387, 387, 387, 387, 387,
386, 176, 387, 387, 387, 387, 387, 387, 1352, 1352,
394, 83, 176, 325, 326, 327, 325, 325, 325, 325,
325, 176, 1158, 1055, 1229, 328, 328, 328, 328, 328,
456, 457, 458, 456, 456, 456, 456, 456, 565, 565,
565, 565, 565, 566, 328, 328, 328, 328, 328, 328,
333, 334, 335, 333, 333, 333, 333, 333, 578, 1224,
1033, 1026, 336, 336, 336, 336, 336, 392, 176, 464,
464, 464, 464, 464, 464, 1023, 1198, 394, 1118, 176,
579, 336, 336, 336, 336, 336, 336, 275, 176, 337,
337, 337, 337, 337, 337, 337, 337, 277, 344, 176,
345, 345, 345, 345, 345, 345, 345, 345, 346, 176,
176, 176, 347, 347, 347, 347, 347, 472, 472, 472,
472, 472, 472, 472, 472, 176, 176, 176, 392, 176,
990, 347, 347, 347, 347, 347, 347, 362, 394, 363,
363, 363, 363, 363, 363, 363, 363, 1428, 1428, 471,
471, 471, 471, 471, 471, 471, 471, 480, 562, 481,
481, 481, 481, 481, 481, 481, 481, 1172, 125, 362,
468, 364, 364, 364, 364, 364, 364, 364, 364, 480,
631, 482, 482, 482, 482, 482, 482, 482, 482, 480,
176, 483, 483, 483, 483, 483, 484, 481, 481, 487,
125, 362, 83, 365, 365, 365, 365, 365, 366, 363,
363, 489, 489, 489, 489, 489, 489, 489, 489, 1428,
176, 488, 488, 488, 488, 488, 488, 488, 488, 693,
176, 968, 125, 317, 176, 318, 318, 318, 318, 318,
318, 318, 318, 517, 1055, 1033, 509, 510, 511, 512,
509, 509, 509, 509, 438, 439, 439, 439, 439, 439,
439, 1026, 1023, 1198, 83, 317, 1118, 318, 318, 318,
318, 318, 318, 318, 318, 83, 522, 522, 522, 522,
522, 522, 522, 522, 83, 1428, 176, 521, 521, 521,
521, 521, 521, 521, 521, 520, 83, 275, 176, 380,
380, 380, 380, 380, 380, 380, 380, 381, 176, 933,
176, 382, 382, 382, 382, 382, 525, 538, 526, 526,
526, 526, 526, 526, 526, 526, 1109, 1104, 176, 176,
382, 382, 382, 382, 382, 382, 392, 176, 393, 393,
393, 393, 393, 393, 393, 393, 394, 176, 176, 176,
395, 395, 395, 395, 395, 525, 1428, 527, 527, 527,
527, 527, 527, 527, 527, 176, 631, 176, 176, 395,
395, 395, 395, 395, 395, 402, 403, 404, 402, 402,
402, 402, 402, 344, 176, 990, 968, 405, 405, 405,
405, 405, 525, 487, 528, 528, 528, 528, 528, 529,
526, 526, 847, 1047, 1042, 829, 405, 405, 405, 405,
405, 405, 412, 413, 414, 412, 412, 412, 412, 412,
1428, 176, 826, 1023, 415, 415, 415, 415, 415, 530,
487, 531, 531, 531, 531, 531, 531, 531, 531, 1118,
933, 176, 176, 415, 415, 415, 415, 415, 415, 344,
176, 416, 416, 416, 416, 416, 416, 416, 416, 346,
362, 642, 363, 363, 363, 363, 363, 363, 363, 363,
530, 644, 532, 532, 532, 532, 532, 532, 532, 532,
530, 176, 533, 533, 533, 533, 533, 534, 531, 531,
487, 125, 362, 176, 363, 363, 363, 363, 363, 363,
363, 363, 540, 540, 540, 540, 540, 540, 540, 540,
1428, 1428, 539, 539, 539, 539, 539, 539, 539, 539,
176, 644, 176, 125, 438, 439, 439, 439, 439, 439,
439, 439, 439, 550, 551, 552, 550, 550, 550, 550,
550, 564, 564, 564, 564, 564, 564, 564, 564, 176,
1089, 788, 759, 961, 83, 438, 440, 440, 440, 440,
440, 440, 440, 440, 1428, 847, 563, 563, 563, 563,
563, 563, 563, 563, 567, 568, 569, 567, 567, 567,
567, 567, 829, 826, 1023, 83, 438, 441, 441, 441,
441, 441, 442, 439, 439, 480, 560, 481, 481, 481,
481, 481, 481, 481, 481, 480, 562, 481, 481, 481,
481, 481, 481, 481, 481, 1021, 83, 448, 449, 450,
448, 448, 448, 448, 448, 392, 176, 933, 732, 451,
451, 451, 451, 451, 480, 520, 481, 481, 481, 481,
481, 481, 634, 634, 634, 634, 634, 635, 451, 451,
451, 451, 451, 451, 275, 176, 452, 452, 452, 452,
452, 452, 452, 452, 381, 460, 461, 462, 460, 460,
460, 460, 460, 918, 913, 176, 176, 463, 463, 463,
463, 463, 344, 176, 575, 575, 575, 575, 575, 575,
788, 176, 487, 759, 644, 839, 463, 463, 463, 463,
463, 463, 392, 176, 464, 464, 464, 464, 464, 464,
464, 464, 394, 468, 468, 469, 469, 469, 469, 469,
469, 469, 469, 470, 631, 834, 631, 471, 471, 471,
471, 471, 586, 587, 588, 589, 586, 586, 586, 586,
584, 826, 933, 732, 788, 599, 471, 471, 471, 471,
471, 471, 476, 477, 478, 476, 476, 476, 476, 476,
584, 125, 584, 585, 479, 479, 479, 479, 479, 176,
500, 501, 501, 501, 501, 501, 501, 775, 693, 562,
752, 83, 644, 479, 479, 479, 479, 479, 479, 344,
176, 486, 486, 486, 486, 486, 486, 486, 486, 487,
125, 1428, 176, 488, 488, 488, 488, 488, 631, 826,
642, 520, 612, 613, 614, 612, 612, 612, 612, 612,
644, 824, 488, 488, 488, 488, 488, 488, 500, 501,
501, 501, 501, 501, 501, 501, 501, 392, 176, 611,
611, 611, 611, 611, 611, 732, 525, 520, 526, 526,
526, 526, 526, 526, 526, 526, 545, 717, 125, 500,
502, 502, 502, 502, 502, 502, 502, 502, 525, 712,
526, 526, 526, 526, 526, 526, 526, 526, 525, 176,
526, 526, 526, 526, 526, 526, 176, 176, 517, 125,
500, 503, 503, 503, 503, 503, 504, 501, 501, 615,
616, 617, 615, 615, 615, 615, 615, 530, 176, 531,
531, 531, 531, 531, 531, 531, 531, 520, 788, 599,
125, 438, 439, 439, 439, 439, 439, 439, 439, 439,
530, 676, 531, 531, 531, 531, 531, 531, 531, 531,
530, 176, 531, 531, 531, 531, 531, 531, 674, 83,
538, 83, 438, 439, 439, 439, 439, 439, 439, 439,
439, 618, 619, 620, 618, 618, 618, 618, 618, 536,
176, 1428, 176, 647, 647, 647, 647, 647, 648, 538,
775, 538, 83, 392, 176, 519, 519, 519, 519, 519,
519, 519, 519, 520, 773, 658, 562, 521, 521, 521,
521, 521, 536, 176, 626, 626, 626, 626, 626, 626,
470, 636, 538, 732, 545, 691, 521, 521, 521, 521,
521, 521, 536, 176, 537, 537, 537, 537, 537, 537,
537, 537, 538, 599, 445, 676, 539, 539, 539, 539,
539, 633, 633, 633, 633, 633, 633, 633, 633, 668,
668, 668, 668, 668, 669, 539, 539, 539, 539, 539,
539, 546, 547, 548, 546, 546, 546, 546, 546, 344,
176, 674, 670, 549, 549, 549, 549, 549, 1428, 487,
632, 632, 632, 632, 632, 632, 632, 632, 407, 470,
629, 545, 549, 549, 549, 549, 549, 549, 554, 555,
556, 554, 554, 554, 554, 554, 392, 176, 401, 530,
557, 557, 557, 557, 557, 636, 520, 637, 637, 637,
637, 637, 637, 637, 637, 525, 536, 176, 176, 557,
557, 557, 557, 557, 557, 468, 538, 558, 558, 558,
558, 558, 558, 558, 558, 470, 560, 560, 561, 561,
561, 561, 561, 561, 561, 561, 562, 759, 599, 445,
563, 563, 563, 563, 563, 636, 1428, 638, 638, 638,
638, 638, 638, 638, 638, 83, 759, 125, 581, 563,
563, 563, 563, 563, 563, 571, 572, 573, 571, 571,
571, 571, 571, 344, 176, 580, 83, 574, 574, 574,
574, 574, 636, 665, 639, 639, 639, 639, 639, 640,
637, 637, 480, 407, 545, 401, 574, 574, 574, 574,
574, 574, 344, 176, 575, 575, 575, 575, 575, 575,
575, 575, 487, 82, 576, 176, 515, 82, 445, 82,
324, 506, 82, 82, 665, 82, 82, 82, 104, 104,
104, 104, 104, 104, 104, 104, 577, 505, 496, 82,
104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
104, 104, 104, 104, 104, 104, 104, 83, 104, 82,
82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
82, 82, 82, 82, 82, 500, 501, 501, 501, 501,
501, 501, 501, 501, 646, 646, 646, 646, 646, 646,
646, 646, 1428, 176, 645, 645, 645, 645, 645, 645,
645, 645, 887, 495, 493, 125, 500, 501, 501, 501,
501, 501, 501, 501, 501, 649, 650, 651, 649, 649,
649, 649, 649, 658, 176, 659, 659, 659, 659, 659,
659, 659, 659, 693, 1428, 176, 125, 124, 576, 176,
492, 124, 407, 124, 665, 467, 124, 124, 696, 124,
124, 124, 140, 140, 140, 140, 140, 140, 140, 140,
577, 401, 283, 124, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
140, 125, 140, 124, 124, 124, 124, 124, 124, 124,
124, 124, 124, 124, 124, 124, 124, 124, 124, 590,
642, 591, 591, 591, 591, 591, 591, 591, 591, 658,
829, 660, 660, 660, 660, 660, 660, 660, 660, 658,
176, 661, 661, 661, 661, 661, 662, 659, 659, 703,
83, 590, 386, 592, 592, 592, 592, 592, 592, 592,
592, 667, 667, 667, 667, 667, 667, 667, 667, 1428,
1428, 666, 666, 666, 666, 666, 666, 666, 666, 584,
829, 176, 83, 590, 176, 593, 593, 593, 593, 593,
594, 595, 595, 725, 590, 445, 688, 688, 688, 584,
324, 584, 584, 684, 685, 686, 684, 684, 684, 684,
684, 435, 434, 427, 83, 590, 426, 596, 596, 596,
591, 591, 591, 591, 591, 83, 699, 699, 699, 699,
699, 700, 83, 698, 698, 698, 698, 698, 698, 698,
698, 420, 419, 407, 283, 401, 83, 602, 603, 604,
602, 602, 602, 602, 602, 392, 176, 283, 379, 605,
605, 605, 605, 605, 1428, 696, 697, 697, 697, 697,
697, 697, 697, 697, 324, 224, 371, 370, 605, 605,
605, 605, 605, 605, 607, 608, 609, 607, 607, 607,
607, 607, 369, 368, 367, 301, 610, 610, 610, 610,
610, 705, 705, 705, 705, 705, 705, 705, 705, 706,
706, 706, 706, 706, 707, 610, 610, 610, 610, 610,
610, 392, 176, 611, 611, 611, 611, 611, 611, 611,
611, 520, 622, 623, 624, 622, 622, 622, 622, 622,
1428, 176, 358, 357, 625, 625, 625, 625, 625, 1428,
696, 704, 704, 704, 704, 704, 704, 704, 704, 355,
354, 353, 352, 625, 625, 625, 625, 625, 625, 536,
176, 626, 626, 626, 626, 626, 626, 626, 626, 538,
468, 845, 630, 630, 630, 630, 630, 630, 630, 630,
631, 847, 351, 283, 632, 632, 632, 632, 632, 176,
708, 708, 708, 708, 708, 708, 708, 708, 338, 340,
536, 176, 283, 632, 632, 632, 632, 632, 632, 642,
703, 643, 643, 643, 643, 643, 643, 643, 643, 644,
324, 224, 314, 645, 645, 645, 645, 645, 176, 709,
709, 709, 709, 709, 709, 709, 709, 313, 312, 311,
310, 97, 645, 645, 645, 645, 645, 645, 653, 654,
655, 653, 653, 653, 653, 653, 301, 303, 301, 302,
656, 656, 656, 656, 656, 176, 710, 710, 710, 710,
710, 711, 708, 708, 301, 299, 1428, 176, 298, 656,
656, 656, 656, 656, 656, 560, 703, 657, 657, 657,
657, 657, 657, 657, 657, 562, 344, 176, 664, 664,
664, 664, 664, 664, 664, 664, 665, 176, 297, 296,
666, 666, 666, 666, 666, 712, 665, 713, 713, 713,
713, 713, 713, 713, 713, 295, 723, 176, 97, 666,
666, 666, 666, 666, 666, 677, 725, 678, 678, 678,
678, 678, 678, 678, 678, 712, 1428, 714, 714, 714,
714, 714, 714, 714, 714, 712, 847, 715, 715, 715,
715, 715, 716, 713, 713, 283, 125, 677, 560, 679,
679, 679, 679, 679, 679, 679, 679, 717, 759, 718,
718, 718, 718, 718, 718, 718, 718, 717, 176, 719,
719, 719, 719, 719, 719, 719, 719, 887, 125, 677,
642, 680, 680, 680, 680, 680, 681, 682, 682, 717,
829, 720, 720, 720, 720, 720, 721, 718, 718, 727,
727, 727, 727, 727, 727, 727, 727, 287, 283, 274,
125, 677, 224, 683, 683, 683, 678, 678, 678, 678,
678, 728, 728, 728, 728, 728, 729, 1428, 176, 726,
726, 726, 726, 726, 726, 726, 726, 693, 160, 265,
264, 263, 125, 590, 262, 595, 595, 595, 595, 595,
595, 595, 595, 740, 741, 742, 740, 740, 740, 740,
740, 636, 176, 637, 637, 637, 637, 637, 637, 637,
637, 696, 261, 260, 83, 590, 845, 595, 595, 595,
595, 595, 595, 595, 595, 636, 847, 637, 637, 637,
637, 637, 637, 637, 637, 636, 176, 637, 637, 637,
637, 637, 637, 133, 251, 703, 83, 590, 248, 595,
595, 595, 595, 595, 595, 687, 687, 743, 744, 745,
743, 743, 743, 743, 743, 752, 176, 753, 753, 753,
753, 753, 753, 753, 753, 725, 247, 246, 83, 590,
560, 687, 687, 687, 687, 687, 687, 687, 687, 752,
968, 754, 754, 754, 754, 754, 754, 754, 754, 752,
176, 755, 755, 755, 755, 755, 756, 753, 753, 867,
83, 392, 176, 695, 695, 695, 695, 695, 695, 695,
695, 696, 245, 244, 242, 697, 697, 697, 697, 697,
761, 761, 761, 761, 761, 761, 761, 761, 762, 762,
762, 762, 762, 763, 697, 697, 697, 697, 697, 697,
536, 176, 702, 702, 702, 702, 702, 702, 702, 702,
703, 241, 240, 239, 704, 704, 704, 704, 704, 1428,
1428, 760, 760, 760, 760, 760, 760, 760, 760, 238,
968, 237, 95, 704, 704, 704, 704, 704, 704, 723,
176, 724, 724, 724, 724, 724, 724, 724, 724, 725,
224, 160, 160, 726, 726, 726, 726, 726, 764, 765,
766, 764, 764, 764, 764, 764, 832, 832, 832, 832,
832, 833, 726, 726, 726, 726, 726, 726, 735, 736,
737, 735, 735, 735, 735, 735, 1428, 176, 153, 210,
738, 738, 738, 738, 738, 658, 725, 659, 659, 659,
659, 659, 659, 659, 659, 147, 344, 176, 208, 738,
738, 738, 738, 738, 738, 468, 665, 739, 739, 739,
739, 739, 739, 739, 739, 631, 747, 748, 749, 747,
747, 747, 747, 747, 392, 176, 207, 203, 750, 750,
750, 750, 750, 658, 696, 659, 659, 659, 659, 659,
659, 659, 659, 124, 536, 176, 130, 750, 750, 750,
750, 750, 750, 642, 703, 751, 751, 751, 751, 751,
751, 751, 751, 644, 560, 988, 758, 758, 758, 758,
758, 758, 758, 758, 759, 990, 128, 125, 760, 760,
760, 760, 760, 658, 190, 659, 659, 659, 659, 659,
659, 850, 850, 850, 850, 850, 851, 760, 760, 760,
760, 760, 760, 768, 769, 770, 768, 768, 768, 768,
768, 189, 188, 187, 186, 771, 771, 771, 771, 771,
344, 176, 772, 772, 772, 772, 772, 772, 184, 183,
665, 179, 176, 82, 771, 771, 771, 771, 771, 771,
344, 176, 772, 772, 772, 772, 772, 772, 772, 772,
665, 673, 174, 673, 176, 673, 176, 673, 673, 1428,
675, 673, 675, 887, 675, 890, 675, 675, 176, 990,
675, 723, 176, 673, 673, 673, 677, 897, 780, 780,
780, 725, 675, 675, 675, 776, 777, 778, 776, 776,
776, 776, 776, 168, 344, 176, 687, 687, 687, 687,
687, 687, 687, 687, 867, 91, 712, 125, 713, 713,
713, 713, 713, 713, 125, 677, 89, 682, 682, 682,
682, 682, 682, 682, 682, 83, 392, 176, 800, 800,
800, 800, 800, 800, 87, 85, 696, 84, 536, 176,
806, 806, 806, 806, 806, 806, 125, 677, 703, 682,
682, 682, 682, 682, 682, 682, 682, 176, 708, 708,
708, 708, 708, 708, 708, 708, 176, 708, 708, 708,
708, 708, 708, 708, 708, 83, 160, 153, 125, 677,
147, 682, 682, 682, 682, 682, 682, 779, 779, 176,
708, 708, 708, 708, 708, 708, 807, 808, 809, 807,
807, 807, 807, 807, 870, 870, 870, 870, 870, 871,
125, 677, 642, 779, 779, 779, 779, 779, 779, 779,
779, 712, 1026, 713, 713, 713, 713, 713, 713, 713,
713, 712, 176, 713, 713, 713, 713, 713, 713, 713,
713, 904, 125, 781, 144, 782, 782, 782, 782, 782,
782, 782, 782, 810, 811, 812, 810, 810, 810, 810,
810, 717, 176, 718, 718, 718, 718, 718, 718, 718,
718, 926, 143, 142, 83, 781, 1428, 783, 783, 783,
783, 783, 783, 783, 783, 717, 1026, 718, 718, 718,
718, 718, 718, 718, 718, 717, 176, 718, 718, 718,
718, 718, 718, 141, 130, 867, 83, 781, 128, 784,
784, 784, 784, 784, 785, 782, 782, 813, 814, 815,
813, 813, 813, 813, 813, 723, 176, 821, 821, 821,
821, 821, 821, 125, 123, 725, 122, 845, 83, 791,
792, 793, 791, 791, 791, 791, 791, 1033, 121, 120,
119, 794, 794, 794, 794, 794, 831, 831, 831, 831,
831, 831, 831, 831, 893, 893, 893, 893, 893, 894,
794, 794, 794, 794, 794, 794, 796, 797, 798, 796,
796, 796, 796, 796, 1428, 176, 108, 107, 799, 799,
799, 799, 799, 1428, 867, 830, 830, 830, 830, 830,
830, 830, 830, 106, 105, 102, 91, 799, 799, 799,
799, 799, 799, 392, 176, 800, 800, 800, 800, 800,
800, 800, 800, 696, 802, 803, 804, 802, 802, 802,
802, 802, 392, 176, 89, 87, 805, 805, 805, 805,
805, 834, 890, 835, 835, 835, 835, 835, 835, 835,
835, 85, 84, 83, 1428, 805, 805, 805, 805, 805,
805, 536, 176, 806, 806, 806, 806, 806, 806, 806,
806, 703, 817, 818, 819, 817, 817, 817, 817, 817,
1428, 176, 1428, 1428, 820, 820, 820, 820, 820, 834,
890, 836, 836, 836, 836, 836, 836, 836, 836, 1428,
1428, 1428, 1428, 820, 820, 820, 820, 820, 820, 723,
176, 821, 821, 821, 821, 821, 821, 821, 821, 725,
642, 1428, 828, 828, 828, 828, 828, 828, 828, 828,
829, 1033, 1428, 1428, 830, 830, 830, 830, 830, 834,
176, 837, 837, 837, 837, 837, 838, 835, 835, 887,
536, 176, 1428, 830, 830, 830, 830, 830, 830, 839,
897, 840, 840, 840, 840, 840, 840, 840, 840, 839,
1053, 841, 841, 841, 841, 841, 841, 841, 841, 839,
1055, 842, 842, 842, 842, 842, 843, 840, 840, 845,
1428, 846, 846, 846, 846, 846, 846, 846, 846, 847,
1055, 1428, 1428, 848, 848, 848, 848, 848, 849, 849,
849, 849, 849, 849, 849, 849, 900, 900, 900, 900,
900, 901, 848, 848, 848, 848, 848, 848, 1428, 1428,
848, 848, 848, 848, 848, 848, 848, 848, 852, 853,
854, 852, 852, 852, 852, 852, 752, 560, 753, 753,
753, 753, 753, 753, 753, 753, 752, 968, 753, 753,
753, 753, 753, 753, 753, 753, 752, 1428, 753, 753,
753, 753, 753, 753, 856, 857, 858, 856, 856, 856,
856, 856, 1428, 1428, 1428, 1428, 859, 859, 859, 859,
859, 176, 861, 861, 861, 861, 861, 861, 861, 861,
1428, 1428, 1428, 176, 1428, 859, 859, 859, 859, 859,
859, 560, 897, 860, 860, 860, 860, 860, 860, 860,
860, 759, 176, 862, 862, 862, 862, 862, 862, 862,
862, 176, 863, 863, 863, 863, 863, 864, 861, 861,
344, 176, 866, 866, 866, 866, 866, 866, 866, 866,
867, 1428, 1428, 1428, 868, 868, 868, 868, 868, 869,
869, 869, 869, 869, 869, 869, 869, 907, 907, 907,
907, 907, 908, 868, 868, 868, 868, 868, 868, 1428,
988, 868, 868, 868, 868, 868, 868, 868, 868, 872,
990, 873, 873, 873, 873, 873, 873, 873, 873, 1428,
1428, 1428, 779, 779, 779, 779, 779, 779, 779, 779,
877, 878, 879, 877, 877, 877, 877, 877, 1428, 1428,
125, 872, 1428, 874, 874, 874, 874, 874, 874, 874,
874, 125, 929, 929, 929, 929, 929, 930, 781, 83,
782, 782, 782, 782, 782, 782, 971, 971, 971, 971,
971, 972, 125, 872, 1428, 875, 875, 875, 875, 875,
876, 873, 873, 993, 993, 993, 993, 993, 994, 83,
892, 892, 892, 892, 892, 892, 892, 892, 1029, 1029,
1029, 1029, 1029, 1030, 125, 781, 642, 782, 782, 782,
782, 782, 782, 782, 782, 1428, 1026, 891, 891, 891,
891, 891, 891, 891, 891, 899, 899, 899, 899, 899,
899, 899, 899, 1428, 1428, 1428, 83, 781, 845, 782,
782, 782, 782, 782, 782, 782, 782, 1428, 1033, 898,
898, 898, 898, 898, 898, 898, 898, 906, 906, 906,
906, 906, 906, 906, 906, 1428, 1428, 1428, 83, 881,
882, 883, 881, 881, 881, 881, 881, 884, 176, 1428,
1428, 885, 885, 885, 885, 885, 1428, 890, 905, 905,
905, 905, 905, 905, 905, 905, 1428, 1428, 1428, 1428,
885, 885, 885, 885, 885, 885, 392, 176, 889, 889,
889, 889, 889, 889, 889, 889, 890, 1428, 1428, 1428,
891, 891, 891, 891, 891, 176, 909, 909, 909, 909,
909, 909, 909, 909, 1428, 1428, 1428, 1428, 1428, 891,
891, 891, 891, 891, 891, 536, 176, 896, 896, 896,
896, 896, 896, 896, 896, 897, 1428, 1428, 1428, 898,
898, 898, 898, 898, 176, 910, 910, 910, 910, 910,
910, 910, 910, 1428, 1428, 1428, 1428, 1428, 898, 898,
898, 898, 898, 898, 723, 176, 903, 903, 903, 903,
903, 903, 903, 903, 904, 1428, 1428, 1428, 905, 905,
905, 905, 905, 176, 911, 911, 911, 911, 911, 912,
909, 909, 1428, 1428, 723, 176, 1428, 905, 905, 905,
905, 905, 905, 913, 904, 914, 914, 914, 914, 914,
914, 914, 914, 913, 1053, 915, 915, 915, 915, 915,
915, 915, 915, 913, 1055, 916, 916, 916, 916, 916,
917, 914, 914, 918, 560, 919, 919, 919, 919, 919,
919, 919, 919, 918, 1158, 920, 920, 920, 920, 920,
920, 920, 920, 918, 1428, 921, 921, 921, 921, 921,
922, 919, 919, 924, 176, 925, 925, 925, 925, 925,
925, 925, 925, 926, 1428, 1428, 1428, 927, 927, 927,
927, 927, 928, 928, 928, 928, 928, 928, 928, 928,
1428, 1428, 1428, 1428, 176, 1428, 927, 927, 927, 927,
927, 927, 1428, 904, 927, 927, 927, 927, 927, 927,
927, 927, 936, 937, 938, 936, 936, 936, 936, 936,
1428, 1428, 1428, 1428, 939, 939, 939, 939, 939, 946,
947, 948, 946, 946, 946, 946, 946, 1036, 1036, 1036,
1036, 1036, 1037, 939, 939, 939, 939, 939, 939, 941,
942, 943, 941, 941, 941, 941, 941, 924, 176, 1428,
1428, 944, 944, 944, 944, 944, 834, 926, 835, 835,
835, 835, 835, 835, 835, 835, 1428, 1428, 176, 1428,
944, 944, 944, 944, 944, 944, 642, 926, 945, 945,
945, 945, 945, 945, 945, 945, 829, 834, 1428, 835,
835, 835, 835, 835, 835, 835, 835, 834, 1158, 835,
835, 835, 835, 835, 835, 949, 950, 951, 949, 949,
949, 949, 949, 839, 642, 840, 840, 840, 840, 840,
840, 840, 840, 839, 1201, 840, 840, 840, 840, 840,
840, 840, 840, 839, 1428, 840, 840, 840, 840, 840,
840, 952, 953, 954, 952, 952, 952, 952, 952, 956,
957, 958, 956, 956, 956, 956, 956, 344, 176, 1428,
1428, 959, 959, 959, 959, 959, 961, 867, 962, 962,
962, 962, 962, 962, 962, 962, 1428, 392, 176, 1428,
959, 959, 959, 959, 959, 959, 845, 890, 960, 960,
960, 960, 960, 960, 960, 960, 847, 961, 1428, 963,
963, 963, 963, 963, 963, 963, 963, 961, 1201, 964,
964, 964, 964, 964, 965, 962, 962, 560, 845, 967,
967, 967, 967, 967, 967, 967, 967, 968, 1208, 1428,
1428, 969, 969, 969, 969, 969, 970, 970, 970, 970,
970, 970, 970, 970, 1058, 1058, 1058, 1058, 1058, 1059,
969, 969, 969, 969, 969, 969, 1428, 1428, 969, 969,
969, 969, 969, 969, 969, 969, 176, 861, 861, 861,
861, 861, 861, 861, 861, 176, 861, 861, 861, 861,
861, 861, 861, 861, 176, 861, 861, 861, 861, 861,
861, 974, 975, 976, 974, 974, 974, 974, 974, 1428,
1428, 1428, 1428, 977, 977, 977, 977, 977, 344, 176,
978, 978, 978, 978, 978, 978, 1428, 1428, 867, 1428,
1428, 1428, 977, 977, 977, 977, 977, 977, 344, 176,
978, 978, 978, 978, 978, 978, 978, 978, 867, 979,
980, 981, 979, 979, 979, 979, 979, 1428, 872, 1428,
873, 873, 873, 873, 873, 873, 992, 992, 992, 992,
992, 992, 992, 992, 1428, 1428, 1428, 1428, 125, 872,
1428, 873, 873, 873, 873, 873, 873, 873, 873, 125,
1428, 176, 991, 991, 991, 991, 991, 991, 991, 991,
897, 1428, 392, 176, 1000, 1000, 1000, 1000, 1000, 1000,
125, 872, 890, 873, 873, 873, 873, 873, 873, 873,
873, 536, 176, 1003, 1003, 1003, 1003, 1003, 1003, 1428,
1428, 897, 1428, 1428, 723, 176, 1006, 1006, 1006, 1006,
1006, 1006, 125, 982, 904, 983, 983, 983, 983, 983,
983, 983, 983, 176, 909, 909, 909, 909, 909, 909,
909, 909, 176, 909, 909, 909, 909, 909, 909, 909,
909, 1428, 1428, 1428, 83, 982, 1428, 984, 984, 984,
984, 984, 984, 984, 984, 176, 909, 909, 909, 909,
909, 909, 1007, 1008, 1009, 1007, 1007, 1007, 1007, 1007,
1074, 1074, 1074, 1074, 1074, 1075, 83, 982, 1428, 985,
985, 985, 985, 985, 986, 983, 983, 913, 1208, 914,
914, 914, 914, 914, 914, 914, 914, 913, 176, 914,
914, 914, 914, 914, 914, 914, 914, 904, 83, 988,
1428, 989, 989, 989, 989, 989, 989, 989, 989, 990,
176, 1428, 1428, 991, 991, 991, 991, 991, 913, 926,
914, 914, 914, 914, 914, 914, 1038, 1038, 1038, 1038,
1038, 1038, 991, 991, 991, 991, 991, 991, 392, 176,
1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 890, 536,
176, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 897,
723, 176, 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006,
904, 1010, 1011, 1012, 1010, 1010, 1010, 1010, 1010, 918,
1053, 919, 919, 919, 919, 919, 919, 919, 919, 918,
1215, 919, 919, 919, 919, 919, 919, 919, 919, 918,
1428, 919, 919, 919, 919, 919, 919, 1013, 1014, 1015,
1013, 1013, 1013, 1013, 1013, 924, 176, 1018, 1018, 1018,
1018, 1018, 1018, 1018, 1018, 926, 924, 176, 1018, 1018,
1018, 1018, 1018, 1018, 1428, 1428, 926, 642, 1428, 1025,
1025, 1025, 1025, 1025, 1025, 1025, 1025, 1026, 1215, 1428,
1428, 1027, 1027, 1027, 1027, 1027, 1028, 1028, 1028, 1028,
1028, 1028, 1028, 1028, 1428, 1428, 1428, 536, 176, 1428,
1027, 1027, 1027, 1027, 1027, 1027, 1428, 897, 1027, 1027,
1027, 1027, 1027, 1027, 1027, 1027, 845, 1235, 1032, 1032,
1032, 1032, 1032, 1032, 1032, 1032, 1033, 1237, 1428, 1428,
1034, 1034, 1034, 1034, 1034, 1035, 1035, 1035, 1035, 1035,
1035, 1035, 1035, 1428, 1428, 1428, 723, 176, 1428, 1034,
1034, 1034, 1034, 1034, 1034, 1428, 904, 1034, 1034, 1034,
1034, 1034, 1034, 1034, 1034, 1038, 1038, 1038, 1038, 1038,
1038, 1038, 1038, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
1039, 1040, 1040, 1040, 1040, 1040, 1041, 1038, 1038, 1042,
1428, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1042,
1237, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1042,
560, 1045, 1045, 1045, 1045, 1045, 1046, 1043, 1043, 1047,
1158, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1047,
1273, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1047,
1275, 1050, 1050, 1050, 1050, 1050, 1051, 1048, 1048, 1053,
1428, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1055,
1275, 1428, 1428, 1056, 1056, 1056, 1056, 1056, 1057, 1057,
1057, 1057, 1057, 1057, 1057, 1057, 1428, 1428, 1428, 924,
176, 1428, 1056, 1056, 1056, 1056, 1056, 1056, 1428, 926,
1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1060, 1061,
1062, 1060, 1060, 1060, 1060, 1060, 961, 642, 962, 962,
962, 962, 962, 962, 962, 962, 961, 1201, 962, 962,
962, 962, 962, 962, 962, 962, 961, 1428, 962, 962,
962, 962, 962, 962, 1064, 1065, 1066, 1064, 1064, 1064,
1064, 1064, 1428, 1428, 1428, 1428, 1067, 1067, 1067, 1067,
1067, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1161,
1161, 1161, 1161, 1161, 1162, 1067, 1067, 1067, 1067, 1067,
1067, 560, 1428, 1068, 1068, 1068, 1068, 1068, 1068, 1068,
1068, 968, 344, 176, 1070, 1070, 1070, 1070, 1070, 1070,
1070, 1070, 1071, 176, 1428, 1428, 1072, 1072, 1072, 1072,
1072, 1428, 1071, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
1072, 1428, 344, 176, 1428, 1072, 1072, 1072, 1072, 1072,
1072, 1076, 1071, 1077, 1077, 1077, 1077, 1077, 1077, 1077,
1077, 1428, 1428, 845, 1081, 1082, 1083, 1081, 1081, 1081,
1081, 1081, 982, 1208, 983, 983, 983, 983, 983, 983,
1428, 1428, 125, 1076, 1428, 1078, 1078, 1078, 1078, 1078,
1078, 1078, 1078, 83, 1084, 1085, 1086, 1084, 1084, 1084,
1084, 1084, 1428, 83, 176, 1100, 1100, 1100, 1100, 1100,
1100, 1100, 1100, 1428, 125, 1076, 1428, 1079, 1079, 1079,
1079, 1079, 1080, 1077, 1077, 176, 1101, 1101, 1101, 1101,
1101, 1101, 1101, 1101, 176, 1102, 1102, 1102, 1102, 1102,
1103, 1100, 1100, 1428, 1428, 1428, 125, 982, 1053, 983,
983, 983, 983, 983, 983, 983, 983, 1104, 1215, 1105,
1105, 1105, 1105, 1105, 1105, 1105, 1105, 1104, 176, 1106,
1106, 1106, 1106, 1106, 1106, 1106, 1106, 1071, 83, 982,
1235, 983, 983, 983, 983, 983, 983, 983, 983, 1104,
1237, 1107, 1107, 1107, 1107, 1107, 1108, 1105, 1105, 1109,
1428, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1428,
83, 988, 1428, 1090, 1090, 1090, 1090, 1090, 1090, 1090,
1090, 990, 1109, 560, 1111, 1111, 1111, 1111, 1111, 1111,
1111, 1111, 1109, 1306, 1112, 1112, 1112, 1112, 1112, 1113,
1110, 1110, 1121, 1122, 1123, 1121, 1121, 1121, 1121, 1121,
1428, 1428, 1428, 1428, 1124, 1124, 1124, 1124, 1124, 1038,
1038, 1038, 1038, 1038, 1038, 1038, 1038, 1204, 1204, 1204,
1204, 1204, 1205, 1124, 1124, 1124, 1124, 1124, 1124, 1126,
1127, 1128, 1126, 1126, 1126, 1126, 1126, 1428, 1428, 1428,
1428, 1129, 1129, 1129, 1129, 1129, 1038, 1038, 1038, 1038,
1038, 1038, 1038, 1038, 1428, 1428, 1428, 1428, 176, 1428,
1129, 1129, 1129, 1129, 1129, 1129, 642, 1071, 1130, 1130,
1130, 1130, 1130, 1130, 1130, 1130, 1026, 1132, 1133, 1134,
1132, 1132, 1132, 1132, 1132, 1428, 1428, 1428, 1428, 1135,
1135, 1135, 1135, 1135, 1137, 1138, 1139, 1137, 1137, 1137,
1137, 1137, 1211, 1211, 1211, 1211, 1211, 1212, 1135, 1135,
1135, 1135, 1135, 1135, 845, 1428, 1136, 1136, 1136, 1136,
1136, 1136, 1136, 1136, 1033, 1042, 1428, 1043, 1043, 1043,
1043, 1043, 1043, 1043, 1043, 1042, 1306, 1043, 1043, 1043,
1043, 1043, 1043, 1043, 1043, 1042, 1428, 1043, 1043, 1043,
1043, 1043, 1043, 1140, 1141, 1142, 1140, 1140, 1140, 1140,
1140, 1047, 1273, 1048, 1048, 1048, 1048, 1048, 1048, 1048,
1048, 1047, 1275, 1048, 1048, 1048, 1048, 1048, 1048, 1048,
1048, 1047, 1428, 1048, 1048, 1048, 1048, 1048, 1048, 1143,
1144, 1145, 1143, 1143, 1143, 1143, 1143, 1147, 1148, 1149,
1147, 1147, 1147, 1147, 1147, 1428, 1428, 1428, 1428, 1150,
1150, 1150, 1150, 1150, 1152, 1152, 1152, 1152, 1152, 1152,
1152, 1152, 1218, 1218, 1218, 1218, 1218, 1219, 1150, 1150,
1150, 1150, 1150, 1150, 1053, 1428, 1151, 1151, 1151, 1151,
1151, 1151, 1151, 1151, 1055, 1153, 1153, 1153, 1153, 1153,
1153, 1153, 1153, 1154, 1154, 1154, 1154, 1154, 1155, 1152,
1152, 560, 560, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
1157, 1158, 1306, 1428, 1428, 1159, 1159, 1159, 1159, 1159,
1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1240, 1240,
1240, 1240, 1240, 1241, 1159, 1159, 1159, 1159, 1159, 1159,
1428, 1428, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159,
344, 176, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
1071, 344, 176, 1165, 1165, 1165, 1165, 1165, 1165, 1428,
1428, 1071, 1166, 1167, 1168, 1166, 1166, 1166, 1166, 1166,
1428, 1076, 1428, 1077, 1077, 1077, 1077, 1077, 1077, 1169,
1169, 1169, 1169, 1169, 1169, 1169, 1169, 1428, 1428, 1428,
1428, 125, 1076, 1428, 1077, 1077, 1077, 1077, 1077, 1077,
1077, 1077, 125, 1428, 1428, 1428, 1428, 1428, 83, 1081,
1081, 1081, 1081, 1081, 1081, 1081, 1081, 1152, 1152, 1152,
1152, 1152, 1152, 125, 1076, 1428, 1077, 1077, 1077, 1077,
1077, 1077, 1077, 1077, 1428, 1428, 1428, 1428, 83, 1170,
1170, 1170, 1170, 1170, 1171, 1169, 1169, 176, 1100, 1100,
1100, 1100, 1100, 1100, 1172, 125, 1173, 1173, 1173, 1173,
1173, 1173, 1173, 1173, 1428, 1428, 1428, 1172, 83, 1174,
1174, 1174, 1174, 1174, 1174, 1174, 1174, 1172, 1428, 1175,
1175, 1175, 1175, 1175, 1176, 1173, 1173, 176, 1100, 1100,
1100, 1100, 1100, 1100, 1100, 1100, 176, 1100, 1100, 1100,
1100, 1100, 1100, 1100, 1100, 1184, 1185, 1186, 1184, 1184,
1184, 1184, 1184, 1104, 1428, 1105, 1105, 1105, 1105, 1105,
1105, 1105, 1105, 1104, 1428, 1105, 1105, 1105, 1105, 1105,
1105, 1105, 1105, 1104, 1428, 1105, 1105, 1105, 1105, 1105,
1105, 1187, 1188, 1189, 1187, 1187, 1187, 1187, 1187, 1109,
1428, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1109,
1428, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1109,
1428, 1110, 1110, 1110, 1110, 1110, 1110, 1192, 1193, 1194,
1192, 1192, 1192, 1192, 1192, 1195, 1428, 1428, 1428, 1196,
1196, 1196, 1196, 1196, 1203, 1203, 1203, 1203, 1203, 1203,
1203, 1203, 1428, 1428, 1428, 344, 176, 1428, 1196, 1196,
1196, 1196, 1196, 1196, 642, 1071, 1200, 1200, 1200, 1200,
1200, 1200, 1200, 1200, 1201, 1428, 1428, 1428, 1202, 1202,
1202, 1202, 1202, 1428, 1428, 1202, 1202, 1202, 1202, 1202,
1202, 1202, 1202, 1428, 1428, 1428, 1428, 1202, 1202, 1202,
1202, 1202, 1202, 845, 1428, 1207, 1207, 1207, 1207, 1207,
1207, 1207, 1207, 1208, 1428, 1428, 1428, 1209, 1209, 1209,
1209, 1209, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
1278, 1278, 1278, 1278, 1278, 1279, 1209, 1209, 1209, 1209,
1209, 1209, 1428, 1428, 1209, 1209, 1209, 1209, 1209, 1209,
1209, 1209, 1053, 1428, 1214, 1214, 1214, 1214, 1214, 1214,
1214, 1214, 1215, 1428, 1428, 1428, 1216, 1216, 1216, 1216,
1216, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1220,
1220, 1220, 1220, 1220, 1220, 1216, 1216, 1216, 1216, 1216,
1216, 1428, 1428, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
1216, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1221,
1221, 1221, 1221, 1221, 1221, 1221, 1221, 1222, 1222, 1222,
1222, 1222, 1223, 1220, 1220, 1224, 1428, 1225, 1225, 1225,
1225, 1225, 1225, 1225, 1225, 1224, 1428, 1226, 1226, 1226,
1226, 1226, 1226, 1226, 1226, 1224, 1428, 1227, 1227, 1227,
1227, 1227, 1228, 1225, 1225, 1229, 1428, 1230, 1230, 1230,
1230, 1230, 1230, 1230, 1230, 1229, 1428, 1231, 1231, 1231,
1231, 1231, 1231, 1231, 1231, 1229, 1428, 1232, 1232, 1232,
1232, 1232, 1233, 1230, 1230, 1235, 1428, 1236, 1236, 1236,
1236, 1236, 1236, 1236, 1236, 1237, 1428, 1428, 1428, 1238,
1238, 1238, 1238, 1238, 1239, 1239, 1239, 1239, 1239, 1239,
1239, 1239, 1309, 1309, 1309, 1309, 1309, 1310, 1238, 1238,
1238, 1238, 1238, 1238, 1428, 1428, 1238, 1238, 1238, 1238,
1238, 1238, 1238, 1238, 1152, 1152, 1152, 1152, 1152, 1152,
1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152,
1243, 1244, 1245, 1243, 1243, 1243, 1243, 1243, 1428, 1428,
1428, 1428, 1246, 1246, 1246, 1246, 1246, 1428, 1428, 1250,
1250, 1250, 1250, 1250, 1250, 1250, 1250, 1428, 1428, 1428,
1428, 1246, 1246, 1246, 1246, 1246, 1246, 560, 1428, 1247,
1247, 1247, 1247, 1247, 1247, 1247, 1247, 1158, 125, 1166,
1166, 1166, 1166, 1166, 1166, 1166, 1166, 1251, 1251, 1251,
1251, 1251, 1252, 1250, 1250, 1169, 1169, 1169, 1169, 1169,
1169, 1169, 1169, 1428, 1428, 1428, 1428, 1428, 125, 1169,
1169, 1169, 1169, 1169, 1169, 1172, 125, 1173, 1173, 1173,
1173, 1173, 1173, 1428, 83, 1253, 1254, 1255, 1253, 1253,
1253, 1253, 1253, 1428, 1428, 1428, 1428, 1172, 83, 1173,
1173, 1173, 1173, 1173, 1173, 1173, 1173, 1172, 1428, 1173,
1173, 1173, 1173, 1173, 1173, 1173, 1173, 176, 1262, 1262,
1262, 1262, 1262, 1262, 1262, 1262, 176, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 176, 1264, 1264, 1264, 1264,
1264, 1265, 1262, 1262, 1266, 1428, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1266, 1428, 1268, 1268, 1268, 1268,
1268, 1268, 1268, 1268, 1266, 1428, 1269, 1269, 1269, 1269,
1269, 1270, 1267, 1267, 1273, 1428, 1274, 1274, 1274, 1274,
1274, 1274, 1274, 1274, 1275, 1428, 1428, 1428, 1276, 1276,
1276, 1276, 1276, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1336, 1336, 1336, 1336, 1336, 1336, 1276, 1276, 1276,
1276, 1276, 1276, 1428, 1428, 1276, 1276, 1276, 1276, 1276,
1276, 1276, 1276, 642, 1428, 1285, 1285, 1285, 1285, 1285,
1285, 1285, 1285, 1201, 845, 1428, 1288, 1288, 1288, 1288,
1288, 1288, 1288, 1288, 1208, 1053, 1428, 1291, 1291, 1291,
1291, 1291, 1291, 1291, 1291, 1215, 1220, 1220, 1220, 1220,
1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
1220, 1220, 1292, 1293, 1294, 1292, 1292, 1292, 1292, 1292,
1224, 1428, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
1224, 1428, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
1224, 1428, 1225, 1225, 1225, 1225, 1225, 1225, 1295, 1296,
1297, 1295, 1295, 1295, 1295, 1295, 1229, 1428, 1230, 1230,
1230, 1230, 1230, 1230, 1230, 1230, 1229, 1428, 1230, 1230,
1230, 1230, 1230, 1230, 1230, 1230, 1229, 1428, 1230, 1230,
1230, 1230, 1230, 1230, 1298, 1299, 1300, 1298, 1298, 1298,
1298, 1298, 1235, 1428, 1303, 1303, 1303, 1303, 1303, 1303,
1303, 1303, 1237, 560, 1428, 1305, 1305, 1305, 1305, 1305,
1305, 1305, 1305, 1306, 1428, 1428, 1428, 1307, 1307, 1307,
1307, 1307, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308,
1397, 1397, 1397, 1397, 1397, 1397, 1307, 1307, 1307, 1307,
1307, 1307, 1428, 1428, 1307, 1307, 1307, 1307, 1307, 1307,
1307, 1307, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,
1250, 1250, 1250, 1250, 1250, 1250, 1312, 1428, 1313, 1313,
1313, 1313, 1313, 1313, 1313, 1313, 1428, 1428, 1428, 1428,
1266, 125, 1267, 1267, 1267, 1267, 1267, 1267, 1312, 125,
1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1312, 1428,
1315, 1315, 1315, 1315, 1315, 1316, 1313, 1313, 176, 1262,
1262, 1262, 1262, 1262, 1262, 1262, 1262, 176, 1262, 1262,
1262, 1262, 1262, 1262, 1262, 1262, 176, 1262, 1262, 1262,
1262, 1262, 1262, 1317, 1318, 1319, 1317, 1317, 1317, 1317,
1317, 1266, 1428, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1266, 1428, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1320, 1321, 1322, 1320, 1320, 1320, 1320, 1320, 1273,
1428, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1275,
1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1337, 1337,
1337, 1337, 1337, 1337, 1337, 1337, 1338, 1338, 1338, 1338,
1338, 1339, 1336, 1336, 1340, 1428, 1341, 1341, 1341, 1341,
1341, 1341, 1341, 1341, 1340, 1428, 1342, 1342, 1342, 1342,
1342, 1342, 1342, 1342, 1340, 1428, 1343, 1343, 1343, 1343,
1343, 1344, 1341, 1341, 1345, 1428, 1346, 1346, 1346, 1346,
1346, 1346, 1346, 1346, 1345, 1428, 1347, 1347, 1347, 1347,
1347, 1347, 1347, 1347, 1345, 1428, 1348, 1348, 1348, 1348,
1348, 1349, 1346, 1346, 560, 1428, 1354, 1354, 1354, 1354,
1354, 1354, 1354, 1354, 1306, 1356, 1357, 1358, 1356, 1356,
1356, 1356, 1356, 1312, 1428, 1313, 1313, 1313, 1313, 1313,
1313, 1313, 1313, 1312, 1428, 1313, 1313, 1313, 1313, 1313,
1313, 1313, 1313, 1312, 1428, 1313, 1313, 1313, 1313, 1313,
1313, 176, 1359, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
176, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 176,
1361, 1361, 1361, 1361, 1361, 1362, 1359, 1359, 1363, 1428,
1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1363, 1428,
1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1363, 1428,
1366, 1366, 1366, 1366, 1366, 1367, 1364, 1364, 1336, 1336,
1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336,
1336, 1336, 1336, 1336, 1375, 1376, 1377, 1375, 1375, 1375,
1375, 1375, 1340, 1428, 1341, 1341, 1341, 1341, 1341, 1341,
1341, 1341, 1340, 1428, 1341, 1341, 1341, 1341, 1341, 1341,
1341, 1341, 1340, 1428, 1341, 1341, 1341, 1341, 1341, 1341,
1378, 1379, 1380, 1378, 1378, 1378, 1378, 1378, 1345, 1428,
1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1345, 1428,
1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1345, 1428,
1346, 1346, 1346, 1346, 1346, 1346, 176, 1384, 1384, 1384,
1384, 1384, 1384, 1384, 1384, 176, 1385, 1385, 1385, 1385,
1385, 1385, 1385, 1385, 176, 1386, 1386, 1386, 1386, 1386,
1387, 1384, 1384, 176, 1359, 1359, 1359, 1359, 1359, 1359,
1359, 1359, 176, 1359, 1359, 1359, 1359, 1359, 1359, 1359,
1359, 176, 1359, 1359, 1359, 1359, 1359, 1359, 1388, 1389,
1390, 1388, 1388, 1388, 1388, 1388, 1363, 1428, 1364, 1364,
1364, 1364, 1364, 1364, 1364, 1364, 1363, 1428, 1364, 1364,
1364, 1364, 1364, 1364, 1364, 1364, 1363, 1428, 1364, 1364,
1364, 1364, 1364, 1364, 1397, 1397, 1397, 1397, 1397, 1397,
1397, 1397, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398,
1399, 1399, 1399, 1399, 1399, 1400, 1397, 1397, 1401, 1428,
1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1401, 1428,
1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1401, 1428,
1404, 1404, 1404, 1404, 1404, 1405, 1402, 1402, 176, 1384,
1384, 1384, 1384, 1384, 1384, 1384, 1384, 176, 1384, 1384,
1384, 1384, 1384, 1384, 1384, 1384, 176, 1384, 1384, 1384,
1384, 1384, 1384, 1408, 1428, 1409, 1409, 1409, 1409, 1409,
1409, 1409, 1409, 1408, 1428, 1410, 1410, 1410, 1410, 1410,
1410, 1410, 1410, 1408, 1428, 1411, 1411, 1411, 1411, 1411,
1412, 1409, 1409, 1397, 1397, 1397, 1397, 1397, 1397, 1397,
1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1413,
1414, 1415, 1413, 1413, 1413, 1413, 1413, 1401, 1428, 1402,
1402, 1402, 1402, 1402, 1402, 1402, 1402, 1401, 1428, 1402,
1402, 1402, 1402, 1402, 1402, 1402, 1402, 1401, 1428, 1402,
1402, 1402, 1402, 1402, 1402, 1417, 1418, 1419, 1417, 1417,
1417, 1417, 1417, 1408, 1428, 1409, 1409, 1409, 1409, 1409,
1409, 1409, 1409, 1408, 1428, 1409, 1409, 1409, 1409, 1409,
1409, 1409, 1409, 1408, 1428, 1409, 1409, 1409, 1409, 1409,
1409, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1421,
1421, 1421, 1421, 1421, 1421, 1421, 1421, 1422, 1422, 1422,
1422, 1422, 1423, 1420, 1420, 1424, 1424, 1424, 1424, 1424,
1424, 1424, 1424, 1425, 1425, 1425, 1425, 1425, 1425, 1425,
1425, 1426, 1426, 1426, 1426, 1426, 1427, 1424, 1424, 1420,
1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420,
1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420,
1420, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424, 1424,
1424, 1424, 1424, 67, 67, 67, 67, 67, 67, 67,
67, 67, 67, 67, 21, 21, 21, 21, 21, 21,
21, 21, 21, 21, 21, 75, 75, 75, 75, 75,
75, 75, 75, 75, 75, 75, 82, 1428, 1428, 1428,
82, 82, 82, 1428, 82, 82, 82, 86, 86, 86,
86, 86, 86, 86, 86, 86, 86, 86, 88, 1428,
1428, 1428, 88, 88, 88, 1428, 88, 88, 88, 90,
1428, 1428, 1428, 90, 90, 90, 1428, 90, 90, 90,
92, 1428, 92, 1428, 92, 92, 92, 1428, 92, 92,
92, 124, 1428, 1428, 1428, 124, 124, 124, 1428, 124,
124, 124, 127, 1428, 1428, 1428, 127, 127, 127, 1428,
127, 127, 127, 129, 1428, 1428, 1428, 129, 129, 129,
1428, 129, 129, 129, 131, 1428, 131, 1428, 131, 131,
131, 1428, 131, 131, 131, 148, 1428, 148, 1428, 148,
148, 148, 1428, 148, 148, 148, 152, 1428, 152, 152,
152, 152, 152, 1428, 1428, 152, 152, 158, 158, 159,
1428, 159, 1428, 159, 159, 159, 159, 159, 159, 159,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
161, 166, 166, 166, 166, 166, 166, 166, 166, 166,
166, 166, 93, 1428, 93, 1428, 93, 93, 93, 1428,
93, 93, 93, 173, 173, 1428, 1428, 173, 177, 177,
1428, 1428, 1428, 177, 149, 1428, 149, 1428, 149, 149,
149, 1428, 149, 149, 149, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 223, 223, 1428, 1428,
223, 234, 234, 234, 1428, 1428, 234, 272, 272, 1428,
1428, 272, 273, 273, 1428, 1428, 273, 282, 282, 1428,
1428, 282, 288, 288, 288, 1428, 1428, 288, 322, 322,
1428, 1428, 322, 323, 323, 1428, 1428, 323, 332, 332,
332, 332, 1428, 1428, 332, 338, 338, 1428, 1428, 338,
339, 339, 1428, 1428, 339, 342, 1428, 1428, 1428, 342,
343, 343, 343, 1428, 1428, 343, 377, 377, 1428, 1428,
377, 378, 378, 1428, 1428, 378, 391, 391, 391, 1428,
1428, 391, 399, 399, 1428, 1428, 399, 400, 400, 1428,
1428, 400, 406, 406, 1428, 1428, 406, 411, 411, 411,
411, 1428, 1428, 411, 443, 443, 1428, 1428, 443, 444,
444, 1428, 1428, 444, 446, 446, 1428, 1428, 1428, 446,
447, 447, 447, 447, 1428, 1428, 447, 459, 459, 459,
459, 1428, 1428, 459, 465, 465, 1428, 1428, 465, 466,
466, 1428, 1428, 466, 475, 475, 1428, 1428, 475, 485,
485, 485, 1428, 1428, 485, 513, 513, 1428, 1428, 513,
514, 514, 1428, 1428, 514, 516, 516, 516, 1428, 1428,
516, 518, 518, 518, 1428, 1428, 518, 535, 535, 535,
1428, 1428, 535, 543, 543, 1428, 1428, 543, 544, 544,
1428, 1428, 544, 553, 1428, 553, 553, 1428, 1428, 553,
559, 559, 1428, 1428, 559, 570, 570, 570, 570, 1428,
1428, 570, 86, 86, 86, 86, 86, 86, 86, 86,
86, 86, 86, 597, 597, 1428, 1428, 597, 598, 598,
1428, 1428, 598, 600, 600, 1428, 1428, 1428, 600, 601,
601, 601, 1428, 1428, 601, 606, 606, 606, 606, 1428,
1428, 606, 621, 621, 621, 621, 1428, 1428, 621, 627,
627, 1428, 1428, 627, 628, 628, 1428, 1428, 628, 641,
641, 1428, 1428, 641, 652, 1428, 652, 652, 1428, 1428,
652, 663, 663, 663, 1428, 1428, 663, 86, 86, 86,
86, 86, 86, 86, 86, 86, 86, 86, 82, 1428,
1428, 1428, 82, 82, 82, 1428, 82, 82, 82, 673,
1428, 1428, 1428, 673, 673, 673, 1428, 673, 673, 673,
675, 1428, 1428, 1428, 675, 675, 675, 1428, 675, 675,
675, 124, 1428, 1428, 1428, 124, 124, 124, 1428, 124,
124, 124, 689, 689, 1428, 1428, 689, 690, 690, 1428,
1428, 690, 692, 692, 692, 1428, 1428, 692, 694, 694,
694, 1428, 1428, 694, 701, 701, 701, 1428, 1428, 701,
722, 722, 722, 1428, 1428, 722, 730, 730, 1428, 1428,
730, 731, 731, 1428, 1428, 731, 733, 1428, 1428, 1428,
733, 734, 1428, 734, 734, 1428, 1428, 734, 746, 1428,
746, 746, 1428, 1428, 746, 757, 757, 1428, 1428, 757,
767, 767, 767, 767, 1428, 1428, 767, 774, 774, 774,
774, 774, 774, 774, 774, 774, 774, 774, 82, 1428,
1428, 1428, 82, 82, 82, 1428, 82, 82, 82, 673,
1428, 1428, 1428, 673, 673, 673, 1428, 673, 673, 673,
675, 1428, 1428, 1428, 675, 675, 675, 1428, 675, 675,
675, 124, 1428, 1428, 1428, 124, 124, 124, 1428, 124,
124, 124, 786, 786, 1428, 1428, 786, 787, 787, 1428,
1428, 787, 789, 789, 1428, 1428, 1428, 789, 790, 790,
790, 1428, 1428, 790, 795, 795, 795, 795, 1428, 1428,
795, 801, 801, 801, 801, 1428, 1428, 801, 816, 816,
816, 816, 1428, 1428, 816, 822, 822, 1428, 1428, 822,
823, 823, 1428, 1428, 823, 825, 825, 1428, 1428, 825,
827, 827, 1428, 1428, 827, 844, 844, 1428, 1428, 844,
855, 1428, 855, 855, 1428, 1428, 855, 865, 865, 865,
1428, 1428, 865, 774, 774, 774, 774, 774, 774, 774,
774, 774, 774, 774, 124, 1428, 1428, 1428, 124, 124,
124, 1428, 124, 124, 124, 82, 1428, 1428, 1428, 82,
82, 82, 1428, 82, 82, 82, 880, 880, 1428, 1428,
880, 886, 886, 886, 1428, 1428, 886, 888, 888, 888,
1428, 1428, 888, 895, 895, 895, 1428, 1428, 895, 902,
902, 902, 1428, 1428, 902, 923, 923, 923, 1428, 1428,
923, 931, 931, 1428, 1428, 931, 932, 932, 1428, 1428,
932, 934, 1428, 1428, 1428, 934, 935, 935, 1428, 1428,
935, 940, 1428, 940, 940, 1428, 1428, 940, 955, 1428,
955, 955, 1428, 1428, 955, 966, 966, 1428, 1428, 966,
973, 973, 973, 973, 1428, 1428, 973, 124, 1428, 1428,
1428, 124, 124, 124, 1428, 124, 124, 124, 82, 1428,
1428, 1428, 82, 82, 82, 1428, 82, 82, 82, 987,
987, 1428, 1428, 987, 995, 995, 1428, 1428, 1428, 995,
996, 996, 996, 1428, 1428, 996, 997, 1428, 1428, 1428,
997, 998, 998, 998, 998, 1428, 1428, 998, 999, 1428,
1428, 1428, 999, 1001, 1001, 1001, 1001, 1428, 1428, 1001,
1002, 1428, 1428, 1428, 1002, 1004, 1004, 1004, 1004, 1428,
1428, 1004, 1005, 1428, 1428, 1428, 1005, 1016, 1016, 1016,
1016, 1428, 1428, 1016, 1017, 1428, 1428, 1428, 1017, 1019,
1019, 1428, 1428, 1019, 1020, 1020, 1428, 1428, 1020, 1022,
1022, 1428, 1428, 1022, 1024, 1024, 1428, 1428, 1024, 1031,
1031, 1428, 1428, 1031, 1052, 1052, 1428, 1428, 1052, 1063,
1428, 1063, 1063, 1428, 1428, 1063, 1069, 1069, 1069, 1428,
1428, 1069, 124, 1428, 1428, 1428, 124, 124, 124, 1428,
124, 124, 124, 82, 1428, 1428, 1428, 82, 82, 82,
1428, 82, 82, 82, 1087, 1428, 1087, 1087, 1428, 1428,
1087, 1088, 1088, 1428, 1428, 1088, 1091, 1091, 1428, 1428,
1428, 1091, 1092, 1092, 1092, 1428, 1428, 1092, 1093, 1093,
1428, 1428, 1428, 1093, 1094, 1094, 1094, 1428, 1428, 1094,
1095, 1095, 1428, 1428, 1428, 1095, 1096, 1096, 1096, 1428,
1428, 1096, 1097, 1097, 1428, 1428, 1428, 1097, 1098, 1098,
1098, 1428, 1428, 1098, 1099, 1099, 1428, 1428, 1428, 1099,
1114, 1114, 1114, 1428, 1428, 1114, 1115, 1115, 1428, 1428,
1428, 1115, 1116, 1116, 1428, 1428, 1116, 1117, 1117, 1428,
1428, 1117, 1119, 1428, 1428, 1428, 1119, 1120, 1120, 1428,
1428, 1120, 1125, 1428, 1125, 1125, 1428, 1428, 1125, 1131,
1428, 1131, 1131, 1428, 1428, 1131, 1146, 1428, 1146, 1146,
1428, 1428, 1146, 1156, 1156, 1428, 1428, 1156, 1163, 1163,
1163, 1163, 1428, 1428, 1163, 1164, 1428, 1428, 1428, 1164,
124, 1428, 1428, 1428, 124, 124, 124, 1428, 124, 124,
124, 82, 1428, 1428, 1428, 82, 82, 82, 1428, 82,
82, 82, 1177, 1177, 1428, 1428, 1177, 1178, 1178, 1428,
1428, 1428, 1178, 1179, 1179, 1428, 1428, 1428, 1179, 1180,
1180, 1428, 1428, 1428, 1180, 1181, 1181, 1428, 1428, 1428,
1181, 1182, 1182, 1428, 1428, 1428, 1182, 1183, 1183, 1428,
1428, 1428, 1183, 1190, 1190, 1428, 1428, 1428, 1190, 1191,
1191, 1428, 1428, 1191, 1197, 1197, 1428, 1428, 1197, 1199,
1199, 1428, 1428, 1199, 1206, 1206, 1428, 1428, 1206, 1213,
1213, 1428, 1428, 1213, 1234, 1234, 1428, 1428, 1234, 1242,
1428, 1242, 1242, 1428, 1428, 1242, 1248, 1248, 1248, 1428,
1428, 1248, 1249, 1249, 1428, 1428, 1428, 1249, 124, 1428,
1428, 1428, 124, 124, 124, 1428, 124, 124, 124, 82,
1428, 1428, 1428, 82, 82, 82, 1428, 82, 82, 82,
1256, 1256, 1428, 1428, 1428, 1256, 1257, 1257, 1428, 1428,
1428, 1257, 1258, 1258, 1428, 1428, 1428, 1258, 1259, 1259,
1428, 1428, 1428, 1259, 1260, 1260, 1428, 1428, 1428, 1260,
1261, 1261, 1428, 1428, 1428, 1261, 1271, 1271, 1428, 1428,
1428, 1271, 1272, 1272, 1428, 1428, 1272, 1280, 1428, 1428,
1428, 1280, 1281, 1281, 1428, 1428, 1281, 1282, 1428, 1428,
1428, 1282, 1283, 1428, 1283, 1283, 1428, 1428, 1283, 1284,
1428, 1428, 1428, 1284, 1286, 1428, 1286, 1286, 1428, 1428,
1286, 1287, 1428, 1428, 1428, 1287, 1289, 1428, 1289, 1289,
1428, 1428, 1289, 1290, 1428, 1428, 1428, 1290, 1301, 1428,
1301, 1301, 1428, 1428, 1301, 1302, 1428, 1428, 1428, 1302,
1304, 1304, 1428, 1428, 1304, 1311, 1311, 1428, 1428, 1428,
1311, 124, 1428, 1428, 1428, 124, 124, 124, 1428, 124,
124, 124, 1089, 1089, 1428, 1428, 1428, 1089, 1323, 1428,
1323, 1323, 1428, 1428, 1323, 1324, 1324, 1428, 1428, 1324,
1327, 1428, 1428, 1428, 1327, 1328, 1328, 1428, 1428, 1328,
1329, 1428, 1428, 1428, 1329, 1330, 1330, 1428, 1428, 1330,
1331, 1428, 1428, 1428, 1331, 1332, 1332, 1428, 1428, 1332,
1333, 1428, 1428, 1428, 1333, 1334, 1334, 1428, 1428, 1334,
1335, 1428, 1428, 1428, 1335, 1350, 1350, 1428, 1428, 1350,
1351, 1428, 1428, 1428, 1351, 1352, 1428, 1352, 1352, 1428,
1428, 1352, 1353, 1428, 1428, 1428, 1353, 1355, 1355, 1428,
1428, 1428, 1355, 1368, 1368, 1428, 1428, 1368, 1369, 1428,
1428, 1428, 1369, 1370, 1428, 1428, 1428, 1370, 1371, 1428,
1428, 1428, 1371, 1372, 1428, 1428, 1428, 1372, 1373, 1428,
1428, 1428, 1373, 1374, 1428, 1428, 1428, 1374, 1381, 1428,
1428, 1428, 1381, 1382, 1382, 1428, 1428, 1382, 1383, 1428,
1428, 1428, 1383, 1391, 1428, 1428, 1428, 1391, 1392, 1428,
1428, 1428, 1392, 1393, 1428, 1428, 1428, 1393, 1394, 1428,
1428, 1428, 1394, 1395, 1428, 1428, 1428, 1395, 1396, 1428,
1428, 1428, 1396, 1406, 1428, 1428, 1428, 1406, 1407, 1428,
1428, 1428, 1407, 1325, 1428, 1428, 1428, 1325, 1416, 1428,
1428, 1428, 1416, 13, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428
} ;
static yyconst short int yy_chk[10317] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 2, 195, 38, 195, 2, 26, 26, 26,
26, 26, 26, 26, 26, 27, 27, 27, 27, 27,
27, 38, 53, 53, 53, 53, 53, 53, 53, 53,
2, 2, 73, 73, 2, 81, 81, 1409, 2, 154,
154, 2, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 5, 6, 77, 40, 5, 6,
5, 6, 7, 7, 7, 24, 7, 5, 6, 24,
24, 39, 7, 8, 8, 8, 77, 8, 118, 121,
63, 66, 79, 8, 7, 7, 252, 24, 54, 54,
54, 54, 54, 54, 121, 8, 8, 63, 66, 39,
39, 252, 79, 39, 106, 7, 24, 39, 40, 106,
39, 106, 5, 6, 157, 157, 8, 9, 9, 9,
37, 9, 37, 37, 37, 37, 37, 37, 37, 37,
47, 1402, 118, 47, 47, 47, 47, 47, 47, 47,
47, 62, 305, 62, 62, 62, 62, 62, 62, 62,
62, 99, 99, 99, 99, 99, 99, 99, 99, 305,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 10, 10,
10, 83, 10, 83, 111, 83, 119, 83, 83, 111,
89, 83, 89, 123, 89, 222, 89, 89, 119, 123,
89, 109, 109, 83, 83, 83, 101, 101, 101, 101,
101, 101, 89, 89, 89, 120, 222, 145, 145, 191,
1384, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 11,
11, 11, 11, 11, 109, 122, 177, 51, 11, 11,
11, 51, 51, 120, 65, 177, 142, 122, 65, 65,
145, 142, 11, 142, 162, 191, 1382, 76, 76, 51,
76, 76, 214, 1368, 92, 146, 65, 76, 92, 92,
146, 258, 11, 12, 12, 12, 12, 12, 51, 112,
76, 1364, 12, 12, 12, 65, 92, 72, 72, 72,
185, 72, 258, 151, 162, 72, 12, 72, 151, 196,
76, 209, 214, 185, 163, 92, 163, 112, 112, 72,
72, 112, 194, 196, 209, 112, 12, 25, 112, 25,
25, 25, 25, 25, 25, 25, 25, 25, 194, 249,
72, 25, 25, 25, 25, 25, 211, 237, 95, 95,
95, 95, 95, 95, 95, 95, 163, 306, 25, 211,
25, 25, 25, 25, 25, 25, 30, 306, 192, 237,
30, 1359, 30, 192, 361, 30, 30, 95, 30, 30,
30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
361, 249, 30, 30, 30, 30, 30, 30, 30, 30,
30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
30, 30, 30, 30, 30, 30, 30, 30, 32, 32,
32, 32, 32, 32, 32, 32, 32, 218, 250, 250,
32, 32, 32, 32, 32, 100, 100, 100, 100, 100,
100, 100, 100, 138, 138, 138, 138, 138, 138, 32,
32, 32, 32, 32, 32, 36, 36, 36, 218, 36,
1355, 36, 36, 126, 1352, 36, 126, 126, 126, 126,
126, 126, 126, 126, 231, 231, 231, 36, 36, 36,
52, 254, 52, 52, 52, 52, 52, 52, 52, 52,
52, 234, 288, 1350, 52, 52, 52, 52, 52, 160,
234, 288, 131, 160, 243, 260, 131, 131, 293, 160,
243, 52, 254, 52, 52, 52, 52, 52, 52, 55,
266, 1346, 160, 55, 131, 55, 266, 260, 55, 55,
293, 55, 55, 55, 55, 55, 55, 55, 55, 55,
55, 55, 55, 131, 359, 55, 55, 55, 55, 55,
55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
55, 57, 57, 57, 57, 57, 57, 57, 57, 57,
1341, 359, 267, 57, 57, 57, 57, 57, 267, 268,
251, 133, 133, 133, 133, 133, 133, 133, 133, 304,
167, 167, 57, 57, 57, 57, 57, 57, 61, 61,
61, 251, 61, 332, 61, 61, 318, 91, 61, 91,
133, 91, 332, 91, 91, 474, 474, 91, 251, 268,
61, 61, 61, 227, 227, 227, 227, 227, 227, 91,
91, 91, 94, 167, 94, 300, 94, 318, 94, 94,
300, 315, 94, 125, 1334, 125, 315, 125, 304, 125,
125, 1332, 425, 125, 94, 94, 94, 96, 96, 96,
96, 96, 96, 96, 96, 125, 125, 125, 425, 96,
96, 96, 96, 96, 136, 136, 136, 136, 136, 136,
136, 136, 148, 351, 1330, 363, 148, 148, 96, 96,
96, 96, 96, 96, 103, 103, 103, 103, 103, 103,
103, 103, 276, 276, 148, 351, 103, 103, 103, 103,
103, 128, 276, 128, 316, 128, 363, 128, 128, 316,
439, 128, 354, 148, 501, 103, 103, 103, 103, 103,
103, 278, 278, 128, 128, 128, 130, 436, 130, 343,
130, 278, 130, 130, 354, 132, 130, 132, 343, 132,
439, 132, 132, 436, 501, 132, 355, 367, 130, 130,
130, 291, 291, 291, 291, 291, 291, 132, 132, 132,
134, 134, 134, 134, 134, 134, 134, 134, 355, 367,
1328, 428, 134, 134, 134, 134, 134, 137, 137, 137,
137, 137, 137, 137, 137, 327, 327, 327, 327, 327,
327, 134, 134, 134, 134, 134, 134, 139, 139, 139,
139, 139, 139, 139, 139, 337, 337, 345, 345, 139,
139, 139, 139, 139, 150, 337, 150, 345, 150, 428,
150, 150, 497, 497, 150, 347, 347, 1323, 139, 139,
139, 139, 139, 139, 1313, 347, 150, 150, 150, 161,
161, 168, 161, 161, 210, 168, 370, 360, 210, 161,
371, 168, 356, 1311, 210, 215, 215, 360, 215, 215,
372, 356, 161, 168, 168, 215, 210, 210, 370, 372,
216, 216, 371, 216, 216, 373, 566, 566, 215, 430,
216, 437, 161, 169, 373, 169, 169, 169, 169, 169,
169, 169, 169, 216, 430, 635, 635, 437, 215, 217,
217, 217, 217, 217, 217, 217, 217, 335, 335, 335,
335, 335, 335, 216, 169, 170, 391, 170, 170, 170,
170, 170, 170, 170, 170, 391, 417, 221, 217, 221,
221, 221, 221, 221, 221, 226, 226, 226, 226, 226,
226, 226, 226, 498, 1304, 498, 170, 171, 417, 171,
171, 171, 171, 171, 171, 171, 171, 228, 221, 228,
228, 228, 228, 228, 228, 228, 228, 230, 230, 230,
230, 230, 230, 230, 230, 230, 583, 1301, 171, 172,
411, 172, 172, 172, 172, 172, 172, 172, 172, 411,
1289, 583, 1286, 172, 172, 172, 172, 172, 253, 253,
253, 253, 253, 253, 253, 253, 404, 404, 404, 404,
404, 404, 172, 172, 172, 172, 172, 172, 174, 174,
174, 174, 174, 174, 174, 174, 174, 253, 429, 648,
648, 174, 174, 174, 174, 174, 257, 429, 257, 257,
257, 257, 257, 257, 414, 414, 414, 414, 414, 414,
174, 174, 174, 174, 174, 174, 176, 176, 176, 176,
176, 176, 176, 176, 176, 763, 763, 257, 176, 176,
176, 176, 176, 275, 275, 275, 275, 275, 275, 275,
275, 421, 423, 833, 833, 851, 851, 176, 176, 176,
176, 176, 176, 178, 178, 178, 178, 178, 178, 178,
178, 493, 1283, 421, 423, 178, 178, 178, 178, 178,
281, 281, 281, 281, 281, 281, 281, 281, 972, 972,
281, 380, 380, 493, 178, 178, 178, 178, 178, 178,
197, 380, 197, 197, 197, 197, 197, 197, 197, 197,
284, 284, 284, 284, 284, 284, 284, 284, 284, 290,
290, 290, 290, 290, 290, 290, 290, 994, 994, 591,
678, 197, 198, 469, 198, 198, 198, 198, 198, 198,
198, 198, 292, 469, 292, 292, 292, 292, 292, 292,
292, 292, 317, 317, 317, 317, 317, 317, 317, 317,
591, 678, 782, 198, 199, 446, 199, 199, 199, 199,
199, 199, 199, 199, 446, 382, 382, 873, 688, 688,
688, 317, 393, 393, 321, 382, 321, 321, 321, 321,
321, 321, 393, 782, 983, 199, 200, 447, 200, 200,
200, 200, 200, 200, 200, 200, 447, 688, 873, 1281,
200, 200, 200, 200, 200, 321, 326, 326, 326, 326,
326, 326, 326, 326, 506, 983, 1030, 1030, 1275, 200,
200, 200, 200, 200, 200, 202, 202, 202, 202, 202,
202, 202, 202, 395, 395, 1272, 506, 202, 202, 202,
202, 202, 328, 395, 328, 328, 328, 328, 328, 328,
328, 328, 1271, 416, 416, 1267, 202, 202, 202, 202,
202, 202, 219, 416, 219, 219, 219, 219, 219, 219,
219, 219, 329, 1262, 329, 329, 329, 329, 329, 329,
329, 329, 330, 459, 330, 330, 330, 330, 330, 330,
330, 330, 459, 219, 220, 471, 220, 220, 220, 220,
220, 220, 220, 220, 331, 471, 331, 331, 331, 331,
331, 331, 331, 331, 334, 334, 334, 334, 334, 334,
334, 334, 1037, 1037, 1077, 220, 225, 225, 225, 225,
225, 225, 225, 225, 225, 225, 225, 485, 1059, 1059,
225, 225, 225, 225, 225, 336, 485, 336, 336, 336,
336, 336, 336, 336, 336, 1077, 1162, 1162, 1261, 225,
225, 225, 225, 225, 225, 235, 235, 235, 235, 235,
235, 235, 235, 1260, 780, 780, 780, 235, 235, 235,
235, 235, 344, 344, 344, 344, 344, 344, 344, 344,
450, 450, 450, 450, 450, 450, 235, 235, 235, 235,
235, 235, 255, 780, 255, 255, 255, 255, 255, 255,
255, 255, 350, 350, 350, 350, 350, 350, 350, 350,
1259, 558, 350, 362, 362, 362, 362, 362, 362, 362,
362, 558, 1258, 255, 256, 516, 256, 256, 256, 256,
256, 256, 256, 256, 516, 576, 1257, 582, 582, 452,
452, 366, 362, 366, 366, 366, 366, 366, 366, 452,
582, 1205, 1205, 1212, 1212, 256, 269, 576, 269, 269,
269, 269, 269, 269, 269, 269, 462, 462, 462, 462,
462, 462, 366, 385, 385, 385, 385, 385, 385, 385,
385, 1219, 1219, 385, 1241, 1241, 1256, 269, 270, 1250,
270, 270, 270, 270, 270, 270, 270, 270, 386, 386,
386, 386, 386, 386, 386, 386, 388, 518, 388, 388,
388, 388, 388, 388, 388, 388, 518, 1279, 1279, 270,
271, 561, 271, 271, 271, 271, 271, 271, 271, 271,
389, 561, 389, 389, 389, 389, 389, 389, 389, 389,
390, 535, 390, 390, 390, 390, 390, 390, 1310, 1310,
535, 271, 274, 274, 274, 274, 274, 274, 274, 274,
274, 1249, 1242, 1234, 1230, 274, 274, 274, 274, 274,
392, 392, 392, 392, 392, 392, 392, 392, 478, 478,
478, 478, 478, 478, 274, 274, 274, 274, 274, 274,
277, 277, 277, 277, 277, 277, 277, 277, 578, 1225,
1213, 1206, 277, 277, 277, 277, 277, 398, 398, 398,
398, 398, 398, 398, 398, 1199, 1197, 398, 1191, 1190,
578, 277, 277, 277, 277, 277, 277, 279, 279, 279,
279, 279, 279, 279, 279, 279, 279, 279, 289, 289,
289, 289, 289, 289, 289, 289, 289, 289, 289, 1183,
1182, 1181, 289, 289, 289, 289, 289, 403, 403, 403,
403, 403, 403, 403, 403, 1180, 1179, 1178, 464, 464,
1177, 289, 289, 289, 289, 289, 289, 307, 464, 307,
307, 307, 307, 307, 307, 307, 307, 405, 563, 405,
405, 405, 405, 405, 405, 405, 405, 408, 563, 408,
408, 408, 408, 408, 408, 408, 408, 1173, 307, 308,
630, 308, 308, 308, 308, 308, 308, 308, 308, 409,
630, 409, 409, 409, 409, 409, 409, 409, 409, 410,
570, 410, 410, 410, 410, 410, 410, 410, 410, 570,
308, 309, 1169, 309, 309, 309, 309, 309, 309, 309,
309, 413, 413, 413, 413, 413, 413, 413, 413, 415,
600, 415, 415, 415, 415, 415, 415, 415, 415, 600,
1164, 1156, 309, 319, 601, 319, 319, 319, 319, 319,
319, 319, 319, 601, 1146, 1131, 438, 438, 438, 438,
438, 438, 438, 438, 442, 442, 442, 442, 442, 442,
442, 1125, 1120, 1119, 319, 320, 1117, 320, 320, 320,
320, 320, 320, 320, 320, 438, 449, 449, 449, 449,
449, 449, 449, 449, 442, 451, 606, 451, 451, 451,
451, 451, 451, 451, 451, 606, 320, 325, 325, 325,
325, 325, 325, 325, 325, 325, 325, 325, 621, 1116,
1115, 325, 325, 325, 325, 325, 453, 621, 453, 453,
453, 453, 453, 453, 453, 453, 1110, 1105, 1100, 1099,
325, 325, 325, 325, 325, 325, 333, 333, 333, 333,
333, 333, 333, 333, 333, 333, 333, 1097, 1095, 1093,
333, 333, 333, 333, 333, 454, 632, 454, 454, 454,
454, 454, 454, 454, 454, 1091, 632, 1089, 1088, 333,
333, 333, 333, 333, 333, 340, 340, 340, 340, 340,
340, 340, 340, 486, 486, 1087, 1063, 340, 340, 340,
340, 340, 455, 486, 455, 455, 455, 455, 455, 455,
455, 455, 1052, 1048, 1043, 1031, 340, 340, 340, 340,
340, 340, 346, 346, 346, 346, 346, 346, 346, 346,
488, 488, 1024, 1022, 346, 346, 346, 346, 346, 456,
488, 456, 456, 456, 456, 456, 456, 456, 456, 1020,
1019, 1017, 1005, 346, 346, 346, 346, 346, 346, 348,
348, 348, 348, 348, 348, 348, 348, 348, 348, 348,
364, 643, 364, 364, 364, 364, 364, 364, 364, 364,
457, 643, 457, 457, 457, 457, 457, 457, 457, 457,
458, 663, 458, 458, 458, 458, 458, 458, 458, 458,
663, 364, 365, 1002, 365, 365, 365, 365, 365, 365,
365, 365, 461, 461, 461, 461, 461, 461, 461, 461,
463, 645, 463, 463, 463, 463, 463, 463, 463, 463,
999, 645, 997, 365, 374, 374, 374, 374, 374, 374,
374, 374, 374, 468, 468, 468, 468, 468, 468, 468,
468, 477, 477, 477, 477, 477, 477, 477, 477, 995,
990, 987, 966, 962, 374, 375, 375, 375, 375, 375,
375, 375, 375, 375, 479, 955, 479, 479, 479, 479,
479, 479, 479, 479, 480, 480, 480, 480, 480, 480,
480, 480, 940, 935, 934, 375, 376, 376, 376, 376,
376, 376, 376, 376, 376, 482, 657, 482, 482, 482,
482, 482, 482, 482, 482, 483, 657, 483, 483, 483,
483, 483, 483, 483, 483, 933, 376, 381, 381, 381,
381, 381, 381, 381, 381, 519, 519, 932, 931, 381,
381, 381, 381, 381, 484, 519, 484, 484, 484, 484,
484, 484, 548, 548, 548, 548, 548, 548, 381, 381,
381, 381, 381, 381, 383, 383, 383, 383, 383, 383,
383, 383, 383, 383, 383, 394, 394, 394, 394, 394,
394, 394, 394, 919, 914, 909, 884, 394, 394, 394,
394, 394, 491, 491, 491, 491, 491, 491, 491, 491,
880, 861, 491, 855, 844, 840, 394, 394, 394, 394,
394, 394, 396, 396, 396, 396, 396, 396, 396, 396,
396, 396, 396, 402, 739, 402, 402, 402, 402, 402,
402, 402, 402, 402, 739, 835, 827, 402, 402, 402,
402, 402, 500, 500, 500, 500, 500, 500, 500, 500,
499, 825, 823, 822, 787, 786, 402, 402, 402, 402,
402, 402, 407, 407, 407, 407, 407, 407, 407, 407,
499, 500, 499, 499, 407, 407, 407, 407, 407, 692,
504, 504, 504, 504, 504, 504, 504, 774, 692, 757,
753, 499, 746, 407, 407, 407, 407, 407, 407, 412,
412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
504, 521, 521, 412, 412, 412, 412, 412, 734, 733,
751, 521, 525, 525, 525, 525, 525, 525, 525, 525,
751, 732, 412, 412, 412, 412, 412, 412, 431, 431,
431, 431, 431, 431, 431, 431, 431, 524, 524, 524,
524, 524, 524, 524, 524, 731, 527, 524, 527, 527,
527, 527, 527, 527, 527, 527, 730, 718, 431, 432,
432, 432, 432, 432, 432, 432, 432, 432, 528, 713,
528, 528, 528, 528, 528, 528, 528, 528, 529, 694,
529, 529, 529, 529, 529, 529, 708, 691, 694, 432,
433, 433, 433, 433, 433, 433, 433, 433, 433, 530,
530, 530, 530, 530, 530, 530, 530, 532, 701, 532,
532, 532, 532, 532, 532, 532, 532, 701, 690, 689,
433, 440, 440, 440, 440, 440, 440, 440, 440, 440,
533, 675, 533, 533, 533, 533, 533, 533, 533, 533,
534, 722, 534, 534, 534, 534, 534, 534, 673, 672,
722, 440, 441, 441, 441, 441, 441, 441, 441, 441,
441, 536, 536, 536, 536, 536, 536, 536, 536, 537,
537, 539, 539, 556, 556, 556, 556, 556, 556, 537,
671, 539, 441, 448, 448, 448, 448, 448, 448, 448,
448, 448, 448, 448, 670, 659, 652, 448, 448, 448,
448, 448, 542, 542, 542, 542, 542, 542, 542, 542,
641, 637, 542, 628, 627, 599, 448, 448, 448, 448,
448, 448, 460, 460, 460, 460, 460, 460, 460, 460,
460, 460, 460, 598, 597, 585, 460, 460, 460, 460,
460, 547, 547, 547, 547, 547, 547, 547, 547, 573,
573, 573, 573, 573, 573, 460, 460, 460, 460, 460,
460, 467, 467, 467, 467, 467, 467, 467, 467, 575,
575, 584, 580, 467, 467, 467, 467, 467, 549, 575,
549, 549, 549, 549, 549, 549, 549, 549, 559, 553,
545, 544, 467, 467, 467, 467, 467, 467, 470, 470,
470, 470, 470, 470, 470, 470, 611, 611, 543, 531,
470, 470, 470, 470, 470, 550, 611, 550, 550, 550,
550, 550, 550, 550, 550, 526, 626, 626, 515, 470,
470, 470, 470, 470, 470, 472, 626, 472, 472, 472,
472, 472, 472, 472, 472, 472, 476, 758, 476, 476,
476, 476, 476, 476, 476, 476, 476, 758, 514, 513,
476, 476, 476, 476, 476, 551, 760, 551, 551, 551,
551, 551, 551, 551, 551, 508, 760, 507, 496, 476,
476, 476, 476, 476, 476, 487, 487, 487, 487, 487,
487, 487, 487, 664, 664, 495, 494, 487, 487, 487,
487, 487, 552, 664, 552, 552, 552, 552, 552, 552,
552, 552, 481, 475, 466, 465, 487, 487, 487, 487,
487, 487, 489, 489, 489, 489, 489, 489, 489, 489,
489, 489, 489, 492, 492, 767, 445, 492, 444, 492,
443, 435, 492, 492, 767, 492, 492, 492, 492, 492,
492, 492, 492, 492, 492, 492, 492, 434, 427, 492,
492, 492, 492, 492, 492, 492, 492, 492, 492, 492,
492, 492, 492, 492, 492, 492, 492, 492, 492, 492,
492, 492, 492, 492, 492, 492, 492, 492, 492, 492,
492, 492, 492, 492, 492, 502, 502, 502, 502, 502,
502, 502, 502, 502, 555, 555, 555, 555, 555, 555,
555, 555, 557, 789, 557, 557, 557, 557, 557, 557,
557, 557, 789, 426, 420, 502, 503, 503, 503, 503,
503, 503, 503, 503, 503, 560, 560, 560, 560, 560,
560, 560, 560, 567, 790, 567, 567, 567, 567, 567,
567, 567, 567, 790, 666, 666, 503, 505, 505, 795,
419, 505, 406, 505, 666, 401, 505, 505, 795, 505,
505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
505, 400, 399, 505, 505, 505, 505, 505, 505, 505,
505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
505, 505, 505, 505, 505, 505, 505, 505, 505, 505,
505, 505, 505, 505, 505, 505, 505, 505, 505, 509,
828, 509, 509, 509, 509, 509, 509, 509, 509, 568,
828, 568, 568, 568, 568, 568, 568, 568, 568, 569,
801, 569, 569, 569, 569, 569, 569, 569, 569, 801,
509, 510, 387, 510, 510, 510, 510, 510, 510, 510,
510, 572, 572, 572, 572, 572, 572, 572, 572, 574,
830, 574, 574, 574, 574, 574, 574, 574, 574, 581,
830, 379, 510, 511, 816, 511, 511, 511, 511, 511,
511, 511, 511, 816, 596, 378, 596, 596, 596, 581,
377, 581, 581, 590, 590, 590, 590, 590, 590, 590,
590, 369, 368, 358, 511, 512, 357, 512, 512, 512,
512, 512, 512, 512, 512, 596, 604, 604, 604, 604,
604, 604, 590, 603, 603, 603, 603, 603, 603, 603,
603, 353, 352, 342, 341, 339, 512, 517, 517, 517,
517, 517, 517, 517, 517, 695, 695, 338, 324, 517,
517, 517, 517, 517, 605, 695, 605, 605, 605, 605,
605, 605, 605, 605, 323, 322, 314, 313, 517, 517,
517, 517, 517, 517, 520, 520, 520, 520, 520, 520,
520, 520, 312, 311, 310, 303, 520, 520, 520, 520,
520, 608, 608, 608, 608, 608, 608, 608, 608, 609,
609, 609, 609, 609, 609, 520, 520, 520, 520, 520,
520, 522, 522, 522, 522, 522, 522, 522, 522, 522,
522, 522, 538, 538, 538, 538, 538, 538, 538, 538,
697, 697, 302, 301, 538, 538, 538, 538, 538, 610,
697, 610, 610, 610, 610, 610, 610, 610, 610, 299,
298, 297, 296, 538, 538, 538, 538, 538, 538, 540,
540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
546, 846, 546, 546, 546, 546, 546, 546, 546, 546,
546, 846, 295, 286, 546, 546, 546, 546, 546, 612,
612, 612, 612, 612, 612, 612, 612, 612, 285, 283,
702, 702, 282, 546, 546, 546, 546, 546, 546, 554,
702, 554, 554, 554, 554, 554, 554, 554, 554, 554,
273, 272, 265, 554, 554, 554, 554, 554, 613, 613,
613, 613, 613, 613, 613, 613, 613, 264, 263, 262,
261, 259, 554, 554, 554, 554, 554, 554, 562, 562,
562, 562, 562, 562, 562, 562, 248, 247, 246, 245,
562, 562, 562, 562, 562, 614, 614, 614, 614, 614,
614, 614, 614, 614, 244, 242, 704, 704, 241, 562,
562, 562, 562, 562, 562, 564, 704, 564, 564, 564,
564, 564, 564, 564, 564, 564, 571, 571, 571, 571,
571, 571, 571, 571, 571, 571, 571, 865, 240, 239,
571, 571, 571, 571, 571, 615, 865, 615, 615, 615,
615, 615, 615, 615, 615, 238, 724, 724, 236, 571,
571, 571, 571, 571, 571, 586, 724, 586, 586, 586,
586, 586, 586, 586, 586, 616, 848, 616, 616, 616,
616, 616, 616, 616, 616, 617, 848, 617, 617, 617,
617, 617, 617, 617, 617, 233, 586, 587, 860, 587,
587, 587, 587, 587, 587, 587, 587, 618, 860, 618,
618, 618, 618, 618, 618, 618, 618, 619, 886, 619,
619, 619, 619, 619, 619, 619, 619, 886, 587, 588,
945, 588, 588, 588, 588, 588, 588, 588, 588, 620,
945, 620, 620, 620, 620, 620, 620, 620, 620, 623,
623, 623, 623, 623, 623, 623, 623, 232, 229, 224,
588, 589, 223, 589, 589, 589, 589, 589, 589, 589,
589, 624, 624, 624, 624, 624, 624, 625, 888, 625,
625, 625, 625, 625, 625, 625, 625, 888, 212, 208,
207, 206, 589, 592, 205, 592, 592, 592, 592, 592,
592, 592, 592, 636, 636, 636, 636, 636, 636, 636,
636, 638, 895, 638, 638, 638, 638, 638, 638, 638,
638, 895, 204, 203, 592, 593, 960, 593, 593, 593,
593, 593, 593, 593, 593, 639, 960, 639, 639, 639,
639, 639, 639, 639, 639, 640, 902, 640, 640, 640,
640, 640, 640, 201, 193, 902, 593, 594, 190, 594,
594, 594, 594, 594, 594, 594, 594, 642, 642, 642,
642, 642, 642, 642, 642, 649, 923, 649, 649, 649,
649, 649, 649, 649, 649, 923, 189, 188, 594, 595,
967, 595, 595, 595, 595, 595, 595, 595, 595, 650,
967, 650, 650, 650, 650, 650, 650, 650, 650, 651,
973, 651, 651, 651, 651, 651, 651, 651, 651, 973,
595, 602, 602, 602, 602, 602, 602, 602, 602, 602,
602, 602, 187, 186, 184, 602, 602, 602, 602, 602,
654, 654, 654, 654, 654, 654, 654, 654, 655, 655,
655, 655, 655, 655, 602, 602, 602, 602, 602, 602,
607, 607, 607, 607, 607, 607, 607, 607, 607, 607,
607, 183, 182, 181, 607, 607, 607, 607, 607, 656,
969, 656, 656, 656, 656, 656, 656, 656, 656, 180,
969, 179, 175, 607, 607, 607, 607, 607, 607, 622,
622, 622, 622, 622, 622, 622, 622, 622, 622, 622,
173, 166, 159, 622, 622, 622, 622, 622, 658, 658,
658, 658, 658, 658, 658, 658, 737, 737, 737, 737,
737, 737, 622, 622, 622, 622, 622, 622, 631, 631,
631, 631, 631, 631, 631, 631, 726, 726, 153, 149,
631, 631, 631, 631, 631, 660, 726, 660, 660, 660,
660, 660, 660, 660, 660, 147, 772, 772, 144, 631,
631, 631, 631, 631, 631, 633, 772, 633, 633, 633,
633, 633, 633, 633, 633, 633, 644, 644, 644, 644,
644, 644, 644, 644, 800, 800, 143, 141, 644, 644,
644, 644, 644, 661, 800, 661, 661, 661, 661, 661,
661, 661, 661, 135, 806, 806, 129, 644, 644, 644,
644, 644, 644, 646, 806, 646, 646, 646, 646, 646,
646, 646, 646, 646, 653, 989, 653, 653, 653, 653,
653, 653, 653, 653, 653, 989, 127, 124, 653, 653,
653, 653, 653, 662, 117, 662, 662, 662, 662, 662,
662, 749, 749, 749, 749, 749, 749, 653, 653, 653,
653, 653, 653, 665, 665, 665, 665, 665, 665, 665,
665, 116, 115, 114, 113, 665, 665, 665, 665, 665,
669, 669, 669, 669, 669, 669, 669, 669, 108, 107,
669, 105, 102, 98, 665, 665, 665, 665, 665, 665,
667, 667, 667, 667, 667, 667, 667, 667, 667, 667,
667, 674, 97, 674, 996, 674, 998, 674, 674, 991,
676, 674, 676, 996, 676, 998, 676, 676, 1001, 991,
676, 821, 821, 674, 674, 674, 683, 1001, 683, 683,
683, 821, 676, 676, 676, 677, 677, 677, 677, 677,
677, 677, 677, 93, 866, 866, 687, 687, 687, 687,
687, 687, 687, 687, 866, 90, 716, 683, 716, 716,
716, 716, 716, 716, 677, 679, 88, 679, 679, 679,
679, 679, 679, 679, 679, 687, 700, 700, 700, 700,
700, 700, 700, 700, 86, 85, 700, 84, 707, 707,
707, 707, 707, 707, 707, 707, 679, 680, 707, 680,
680, 680, 680, 680, 680, 680, 680, 709, 709, 709,
709, 709, 709, 709, 709, 709, 710, 710, 710, 710,
710, 710, 710, 710, 710, 82, 75, 69, 680, 681,
64, 681, 681, 681, 681, 681, 681, 681, 681, 711,
711, 711, 711, 711, 711, 711, 712, 712, 712, 712,
712, 712, 712, 712, 770, 770, 770, 770, 770, 770,
681, 682, 1025, 682, 682, 682, 682, 682, 682, 682,
682, 714, 1025, 714, 714, 714, 714, 714, 714, 714,
714, 715, 1004, 715, 715, 715, 715, 715, 715, 715,
715, 1004, 682, 684, 60, 684, 684, 684, 684, 684,
684, 684, 684, 717, 717, 717, 717, 717, 717, 717,
717, 719, 1016, 719, 719, 719, 719, 719, 719, 719,
719, 1016, 59, 58, 684, 685, 1027, 685, 685, 685,
685, 685, 685, 685, 685, 720, 1027, 720, 720, 720,
720, 720, 720, 720, 720, 721, 1069, 721, 721, 721,
721, 721, 721, 56, 50, 1069, 685, 686, 48, 686,
686, 686, 686, 686, 686, 686, 686, 723, 723, 723,
723, 723, 723, 723, 723, 729, 729, 729, 729, 729,
729, 729, 729, 46, 45, 729, 44, 1032, 686, 693,
693, 693, 693, 693, 693, 693, 693, 1032, 43, 42,
41, 693, 693, 693, 693, 693, 736, 736, 736, 736,
736, 736, 736, 736, 793, 793, 793, 793, 793, 793,
693, 693, 693, 693, 693, 693, 696, 696, 696, 696,
696, 696, 696, 696, 868, 868, 35, 34, 696, 696,
696, 696, 696, 738, 868, 738, 738, 738, 738, 738,
738, 738, 738, 33, 31, 28, 22, 696, 696, 696,
696, 696, 696, 698, 698, 698, 698, 698, 698, 698,
698, 698, 698, 698, 703, 703, 703, 703, 703, 703,
703, 703, 889, 889, 19, 18, 703, 703, 703, 703,
703, 740, 889, 740, 740, 740, 740, 740, 740, 740,
740, 17, 15, 14, 13, 703, 703, 703, 703, 703,
703, 705, 705, 705, 705, 705, 705, 705, 705, 705,
705, 705, 725, 725, 725, 725, 725, 725, 725, 725,
891, 891, 0, 0, 725, 725, 725, 725, 725, 741,
891, 741, 741, 741, 741, 741, 741, 741, 741, 0,
0, 0, 0, 725, 725, 725, 725, 725, 725, 727,
727, 727, 727, 727, 727, 727, 727, 727, 727, 727,
735, 1034, 735, 735, 735, 735, 735, 735, 735, 735,
735, 1034, 0, 0, 735, 735, 735, 735, 735, 742,
1092, 742, 742, 742, 742, 742, 742, 742, 742, 1092,
896, 896, 0, 735, 735, 735, 735, 735, 735, 743,
896, 743, 743, 743, 743, 743, 743, 743, 743, 744,
1054, 744, 744, 744, 744, 744, 744, 744, 744, 745,
1054, 745, 745, 745, 745, 745, 745, 745, 745, 747,
1056, 747, 747, 747, 747, 747, 747, 747, 747, 747,
1056, 0, 0, 747, 747, 747, 747, 747, 748, 748,
748, 748, 748, 748, 748, 748, 798, 798, 798, 798,
798, 798, 747, 747, 747, 747, 747, 747, 750, 0,
750, 750, 750, 750, 750, 750, 750, 750, 752, 752,
752, 752, 752, 752, 752, 752, 754, 1068, 754, 754,
754, 754, 754, 754, 754, 754, 755, 1068, 755, 755,
755, 755, 755, 755, 755, 755, 756, 0, 756, 756,
756, 756, 756, 756, 759, 759, 759, 759, 759, 759,
759, 759, 0, 0, 0, 0, 759, 759, 759, 759,
759, 764, 764, 764, 764, 764, 764, 764, 764, 764,
0, 0, 898, 898, 0, 759, 759, 759, 759, 759,
759, 761, 898, 761, 761, 761, 761, 761, 761, 761,
761, 761, 765, 765, 765, 765, 765, 765, 765, 765,
765, 766, 766, 766, 766, 766, 766, 766, 766, 766,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
768, 0, 0, 0, 768, 768, 768, 768, 768, 769,
769, 769, 769, 769, 769, 769, 769, 804, 804, 804,
804, 804, 804, 768, 768, 768, 768, 768, 768, 771,
1090, 771, 771, 771, 771, 771, 771, 771, 771, 776,
1090, 776, 776, 776, 776, 776, 776, 776, 776, 0,
0, 0, 779, 779, 779, 779, 779, 779, 779, 779,
781, 781, 781, 781, 781, 781, 781, 781, 0, 0,
776, 777, 0, 777, 777, 777, 777, 777, 777, 777,
777, 779, 819, 819, 819, 819, 819, 819, 785, 781,
785, 785, 785, 785, 785, 785, 858, 858, 858, 858,
858, 858, 777, 778, 0, 778, 778, 778, 778, 778,
778, 778, 778, 883, 883, 883, 883, 883, 883, 785,
792, 792, 792, 792, 792, 792, 792, 792, 938, 938,
938, 938, 938, 938, 778, 783, 1130, 783, 783, 783,
783, 783, 783, 783, 783, 794, 1130, 794, 794, 794,
794, 794, 794, 794, 794, 797, 797, 797, 797, 797,
797, 797, 797, 0, 0, 0, 783, 784, 1136, 784,
784, 784, 784, 784, 784, 784, 784, 799, 1136, 799,
799, 799, 799, 799, 799, 799, 799, 803, 803, 803,
803, 803, 803, 803, 803, 0, 0, 0, 784, 788,
788, 788, 788, 788, 788, 788, 788, 788, 1094, 0,
0, 788, 788, 788, 788, 788, 805, 1094, 805, 805,
805, 805, 805, 805, 805, 805, 0, 0, 0, 0,
788, 788, 788, 788, 788, 788, 791, 791, 791, 791,
791, 791, 791, 791, 791, 791, 791, 0, 0, 0,
791, 791, 791, 791, 791, 807, 807, 807, 807, 807,
807, 807, 807, 807, 0, 0, 0, 0, 0, 791,
791, 791, 791, 791, 791, 796, 796, 796, 796, 796,
796, 796, 796, 796, 796, 796, 0, 0, 0, 796,
796, 796, 796, 796, 808, 808, 808, 808, 808, 808,
808, 808, 808, 0, 0, 0, 0, 0, 796, 796,
796, 796, 796, 796, 802, 802, 802, 802, 802, 802,
802, 802, 802, 802, 802, 0, 0, 0, 802, 802,
802, 802, 802, 809, 809, 809, 809, 809, 809, 809,
809, 809, 0, 0, 903, 903, 0, 802, 802, 802,
802, 802, 802, 810, 903, 810, 810, 810, 810, 810,
810, 810, 810, 811, 1151, 811, 811, 811, 811, 811,
811, 811, 811, 812, 1151, 812, 812, 812, 812, 812,
812, 812, 812, 813, 1157, 813, 813, 813, 813, 813,
813, 813, 813, 814, 1157, 814, 814, 814, 814, 814,
814, 814, 814, 815, 0, 815, 815, 815, 815, 815,
815, 815, 815, 817, 817, 817, 817, 817, 817, 817,
817, 817, 817, 817, 0, 0, 0, 817, 817, 817,
817, 817, 818, 818, 818, 818, 818, 818, 818, 818,
0, 0, 0, 905, 905, 0, 817, 817, 817, 817,
817, 817, 820, 905, 820, 820, 820, 820, 820, 820,
820, 820, 826, 826, 826, 826, 826, 826, 826, 826,
0, 0, 0, 0, 826, 826, 826, 826, 826, 834,
834, 834, 834, 834, 834, 834, 834, 943, 943, 943,
943, 943, 943, 826, 826, 826, 826, 826, 826, 829,
829, 829, 829, 829, 829, 829, 829, 925, 925, 0,
0, 829, 829, 829, 829, 829, 836, 925, 836, 836,
836, 836, 836, 836, 836, 836, 0, 927, 927, 0,
829, 829, 829, 829, 829, 829, 831, 927, 831, 831,
831, 831, 831, 831, 831, 831, 831, 837, 1159, 837,
837, 837, 837, 837, 837, 837, 837, 838, 1159, 838,
838, 838, 838, 838, 838, 839, 839, 839, 839, 839,
839, 839, 839, 841, 1200, 841, 841, 841, 841, 841,
841, 841, 841, 842, 1200, 842, 842, 842, 842, 842,
842, 842, 842, 843, 0, 843, 843, 843, 843, 843,
843, 845, 845, 845, 845, 845, 845, 845, 845, 847,
847, 847, 847, 847, 847, 847, 847, 978, 978, 0,
0, 847, 847, 847, 847, 847, 852, 978, 852, 852,
852, 852, 852, 852, 852, 852, 0, 1000, 1000, 0,
847, 847, 847, 847, 847, 847, 849, 1000, 849, 849,
849, 849, 849, 849, 849, 849, 849, 853, 1202, 853,
853, 853, 853, 853, 853, 853, 853, 854, 1202, 854,
854, 854, 854, 854, 854, 854, 854, 856, 1207, 856,
856, 856, 856, 856, 856, 856, 856, 856, 1207, 0,
0, 856, 856, 856, 856, 856, 857, 857, 857, 857,
857, 857, 857, 857, 958, 958, 958, 958, 958, 958,
856, 856, 856, 856, 856, 856, 859, 0, 859, 859,
859, 859, 859, 859, 859, 859, 862, 862, 862, 862,
862, 862, 862, 862, 862, 863, 863, 863, 863, 863,
863, 863, 863, 863, 864, 864, 864, 864, 864, 864,
864, 867, 867, 867, 867, 867, 867, 867, 867, 0,
0, 0, 0, 867, 867, 867, 867, 867, 871, 871,
871, 871, 871, 871, 871, 871, 0, 0, 871, 0,
0, 0, 867, 867, 867, 867, 867, 867, 869, 869,
869, 869, 869, 869, 869, 869, 869, 869, 869, 872,
872, 872, 872, 872, 872, 872, 872, 0, 876, 0,
876, 876, 876, 876, 876, 876, 882, 882, 882, 882,
882, 882, 882, 882, 0, 0, 0, 0, 872, 874,
0, 874, 874, 874, 874, 874, 874, 874, 874, 876,
885, 1096, 885, 885, 885, 885, 885, 885, 885, 885,
1096, 0, 894, 894, 894, 894, 894, 894, 894, 894,
874, 875, 894, 875, 875, 875, 875, 875, 875, 875,
875, 901, 901, 901, 901, 901, 901, 901, 901, 0,
0, 901, 0, 0, 908, 908, 908, 908, 908, 908,
908, 908, 875, 877, 908, 877, 877, 877, 877, 877,
877, 877, 877, 910, 910, 910, 910, 910, 910, 910,
910, 910, 911, 911, 911, 911, 911, 911, 911, 911,
911, 0, 0, 0, 877, 878, 0, 878, 878, 878,
878, 878, 878, 878, 878, 912, 912, 912, 912, 912,
912, 912, 913, 913, 913, 913, 913, 913, 913, 913,
976, 976, 976, 976, 976, 976, 878, 879, 1209, 879,
879, 879, 879, 879, 879, 879, 879, 915, 1209, 915,
915, 915, 915, 915, 915, 915, 915, 916, 1098, 916,
916, 916, 916, 916, 916, 916, 916, 1098, 879, 881,
0, 881, 881, 881, 881, 881, 881, 881, 881, 881,
1114, 0, 0, 881, 881, 881, 881, 881, 917, 1114,
917, 917, 917, 917, 917, 917, 1041, 1041, 1041, 1041,
1041, 1041, 881, 881, 881, 881, 881, 881, 892, 892,
892, 892, 892, 892, 892, 892, 892, 892, 892, 899,
899, 899, 899, 899, 899, 899, 899, 899, 899, 899,
906, 906, 906, 906, 906, 906, 906, 906, 906, 906,
906, 918, 918, 918, 918, 918, 918, 918, 918, 920,
1214, 920, 920, 920, 920, 920, 920, 920, 920, 921,
1214, 921, 921, 921, 921, 921, 921, 921, 921, 922,
0, 922, 922, 922, 922, 922, 922, 924, 924, 924,
924, 924, 924, 924, 924, 928, 928, 928, 928, 928,
928, 928, 928, 928, 928, 928, 930, 930, 930, 930,
930, 930, 930, 930, 0, 0, 930, 936, 1216, 936,
936, 936, 936, 936, 936, 936, 936, 936, 1216, 0,
0, 936, 936, 936, 936, 936, 937, 937, 937, 937,
937, 937, 937, 937, 0, 0, 0, 1003, 1003, 0,
936, 936, 936, 936, 936, 936, 939, 1003, 939, 939,
939, 939, 939, 939, 939, 939, 941, 1236, 941, 941,
941, 941, 941, 941, 941, 941, 941, 1236, 0, 0,
941, 941, 941, 941, 941, 942, 942, 942, 942, 942,
942, 942, 942, 0, 0, 0, 1006, 1006, 0, 941,
941, 941, 941, 941, 941, 944, 1006, 944, 944, 944,
944, 944, 944, 944, 944, 946, 946, 946, 946, 946,
946, 946, 946, 947, 947, 947, 947, 947, 947, 947,
947, 948, 948, 948, 948, 948, 948, 948, 948, 949,
1238, 949, 949, 949, 949, 949, 949, 949, 949, 950,
1238, 950, 950, 950, 950, 950, 950, 950, 950, 951,
1247, 951, 951, 951, 951, 951, 951, 951, 951, 952,
1247, 952, 952, 952, 952, 952, 952, 952, 952, 953,
1274, 953, 953, 953, 953, 953, 953, 953, 953, 954,
1274, 954, 954, 954, 954, 954, 954, 954, 954, 956,
1276, 956, 956, 956, 956, 956, 956, 956, 956, 956,
1276, 0, 0, 956, 956, 956, 956, 956, 957, 957,
957, 957, 957, 957, 957, 957, 0, 0, 0, 1018,
1018, 0, 956, 956, 956, 956, 956, 956, 959, 1018,
959, 959, 959, 959, 959, 959, 959, 959, 961, 961,
961, 961, 961, 961, 961, 961, 963, 1285, 963, 963,
963, 963, 963, 963, 963, 963, 964, 1285, 964, 964,
964, 964, 964, 964, 964, 964, 965, 0, 965, 965,
965, 965, 965, 965, 968, 968, 968, 968, 968, 968,
968, 968, 0, 0, 0, 0, 968, 968, 968, 968,
968, 975, 975, 975, 975, 975, 975, 975, 975, 1066,
1066, 1066, 1066, 1066, 1066, 968, 968, 968, 968, 968,
968, 970, 0, 970, 970, 970, 970, 970, 970, 970,
970, 970, 974, 974, 974, 974, 974, 974, 974, 974,
974, 974, 974, 1163, 0, 0, 974, 974, 974, 974,
974, 977, 1163, 977, 977, 977, 977, 977, 977, 977,
977, 0, 1070, 1070, 0, 974, 974, 974, 974, 974,
974, 979, 1070, 979, 979, 979, 979, 979, 979, 979,
979, 0, 0, 1288, 982, 982, 982, 982, 982, 982,
982, 982, 986, 1288, 986, 986, 986, 986, 986, 986,
0, 0, 979, 980, 0, 980, 980, 980, 980, 980,
980, 980, 980, 982, 988, 988, 988, 988, 988, 988,
988, 988, 0, 986, 1007, 1007, 1007, 1007, 1007, 1007,
1007, 1007, 1007, 0, 980, 981, 0, 981, 981, 981,
981, 981, 981, 981, 981, 1008, 1008, 1008, 1008, 1008,
1008, 1008, 1008, 1008, 1009, 1009, 1009, 1009, 1009, 1009,
1009, 1009, 1009, 0, 0, 0, 981, 984, 1291, 984,
984, 984, 984, 984, 984, 984, 984, 1010, 1291, 1010,
1010, 1010, 1010, 1010, 1010, 1010, 1010, 1011, 1248, 1011,
1011, 1011, 1011, 1011, 1011, 1011, 1011, 1248, 984, 985,
1303, 985, 985, 985, 985, 985, 985, 985, 985, 1012,
1303, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1013,
0, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 0,
985, 992, 0, 992, 992, 992, 992, 992, 992, 992,
992, 992, 1014, 1305, 1014, 1014, 1014, 1014, 1014, 1014,
1014, 1014, 1015, 1305, 1015, 1015, 1015, 1015, 1015, 1015,
1015, 1015, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
0, 0, 0, 0, 1023, 1023, 1023, 1023, 1023, 1039,
1039, 1039, 1039, 1039, 1039, 1039, 1039, 1123, 1123, 1123,
1123, 1123, 1123, 1023, 1023, 1023, 1023, 1023, 1023, 1026,
1026, 1026, 1026, 1026, 1026, 1026, 1026, 0, 0, 0,
0, 1026, 1026, 1026, 1026, 1026, 1040, 1040, 1040, 1040,
1040, 1040, 1040, 1040, 0, 0, 0, 1072, 1072, 0,
1026, 1026, 1026, 1026, 1026, 1026, 1028, 1072, 1028, 1028,
1028, 1028, 1028, 1028, 1028, 1028, 1028, 1033, 1033, 1033,
1033, 1033, 1033, 1033, 1033, 0, 0, 0, 0, 1033,
1033, 1033, 1033, 1033, 1042, 1042, 1042, 1042, 1042, 1042,
1042, 1042, 1128, 1128, 1128, 1128, 1128, 1128, 1033, 1033,
1033, 1033, 1033, 1033, 1035, 0, 1035, 1035, 1035, 1035,
1035, 1035, 1035, 1035, 1035, 1044, 1307, 1044, 1044, 1044,
1044, 1044, 1044, 1044, 1044, 1045, 1307, 1045, 1045, 1045,
1045, 1045, 1045, 1045, 1045, 1046, 0, 1046, 1046, 1046,
1046, 1046, 1046, 1047, 1047, 1047, 1047, 1047, 1047, 1047,
1047, 1049, 1326, 1049, 1049, 1049, 1049, 1049, 1049, 1049,
1049, 1050, 1326, 1050, 1050, 1050, 1050, 1050, 1050, 1050,
1050, 1051, 0, 1051, 1051, 1051, 1051, 1051, 1051, 1053,
1053, 1053, 1053, 1053, 1053, 1053, 1053, 1055, 1055, 1055,
1055, 1055, 1055, 1055, 1055, 0, 0, 0, 0, 1055,
1055, 1055, 1055, 1055, 1060, 1060, 1060, 1060, 1060, 1060,
1060, 1060, 1134, 1134, 1134, 1134, 1134, 1134, 1055, 1055,
1055, 1055, 1055, 1055, 1057, 0, 1057, 1057, 1057, 1057,
1057, 1057, 1057, 1057, 1057, 1061, 1061, 1061, 1061, 1061,
1061, 1061, 1061, 1062, 1062, 1062, 1062, 1062, 1062, 1062,
1062, 1064, 1354, 1064, 1064, 1064, 1064, 1064, 1064, 1064,
1064, 1064, 1354, 0, 0, 1064, 1064, 1064, 1064, 1064,
1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1149, 1149,
1149, 1149, 1149, 1149, 1064, 1064, 1064, 1064, 1064, 1064,
1067, 0, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067,
1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073,
1073, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 0,
0, 1075, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076,
0, 1080, 0, 1080, 1080, 1080, 1080, 1080, 1080, 1081,
1081, 1081, 1081, 1081, 1081, 1081, 1081, 0, 0, 0,
0, 1076, 1078, 0, 1078, 1078, 1078, 1078, 1078, 1078,
1078, 1078, 1080, 0, 0, 0, 0, 0, 1081, 1082,
1082, 1082, 1082, 1082, 1082, 1082, 1082, 1155, 1155, 1155,
1155, 1155, 1155, 1078, 1079, 0, 1079, 1079, 1079, 1079,
1079, 1079, 1079, 1079, 0, 0, 0, 0, 1082, 1083,
1083, 1083, 1083, 1083, 1083, 1083, 1083, 1103, 1103, 1103,
1103, 1103, 1103, 1103, 1084, 1079, 1084, 1084, 1084, 1084,
1084, 1084, 1084, 1084, 0, 0, 0, 1085, 1083, 1085,
1085, 1085, 1085, 1085, 1085, 1085, 1085, 1086, 0, 1086,
1086, 1086, 1086, 1086, 1086, 1086, 1086, 1101, 1101, 1101,
1101, 1101, 1101, 1101, 1101, 1101, 1102, 1102, 1102, 1102,
1102, 1102, 1102, 1102, 1102, 1104, 1104, 1104, 1104, 1104,
1104, 1104, 1104, 1106, 0, 1106, 1106, 1106, 1106, 1106,
1106, 1106, 1106, 1107, 0, 1107, 1107, 1107, 1107, 1107,
1107, 1107, 1107, 1108, 0, 1108, 1108, 1108, 1108, 1108,
1108, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1111,
0, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1112,
0, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1113,
0, 1113, 1113, 1113, 1113, 1113, 1113, 1118, 1118, 1118,
1118, 1118, 1118, 1118, 1118, 1118, 0, 0, 0, 1118,
1118, 1118, 1118, 1118, 1122, 1122, 1122, 1122, 1122, 1122,
1122, 1122, 0, 0, 0, 1165, 1165, 0, 1118, 1118,
1118, 1118, 1118, 1118, 1121, 1165, 1121, 1121, 1121, 1121,
1121, 1121, 1121, 1121, 1121, 0, 0, 0, 1121, 1121,
1121, 1121, 1121, 1124, 0, 1124, 1124, 1124, 1124, 1124,
1124, 1124, 1124, 0, 0, 0, 0, 1121, 1121, 1121,
1121, 1121, 1121, 1126, 0, 1126, 1126, 1126, 1126, 1126,
1126, 1126, 1126, 1126, 0, 0, 0, 1126, 1126, 1126,
1126, 1126, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
1194, 1194, 1194, 1194, 1194, 1194, 1126, 1126, 1126, 1126,
1126, 1126, 1129, 0, 1129, 1129, 1129, 1129, 1129, 1129,
1129, 1129, 1132, 0, 1132, 1132, 1132, 1132, 1132, 1132,
1132, 1132, 1132, 0, 0, 0, 1132, 1132, 1132, 1132,
1132, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1223,
1223, 1223, 1223, 1223, 1223, 1132, 1132, 1132, 1132, 1132,
1132, 1135, 0, 1135, 1135, 1135, 1135, 1135, 1135, 1135,
1135, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1138,
1138, 1138, 1138, 1138, 1138, 1138, 1138, 1139, 1139, 1139,
1139, 1139, 1139, 1139, 1139, 1140, 0, 1140, 1140, 1140,
1140, 1140, 1140, 1140, 1140, 1141, 0, 1141, 1141, 1141,
1141, 1141, 1141, 1141, 1141, 1142, 0, 1142, 1142, 1142,
1142, 1142, 1142, 1142, 1142, 1143, 0, 1143, 1143, 1143,
1143, 1143, 1143, 1143, 1143, 1144, 0, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1145, 0, 1145, 1145, 1145,
1145, 1145, 1145, 1145, 1145, 1147, 0, 1147, 1147, 1147,
1147, 1147, 1147, 1147, 1147, 1147, 0, 0, 0, 1147,
1147, 1147, 1147, 1147, 1148, 1148, 1148, 1148, 1148, 1148,
1148, 1148, 1245, 1245, 1245, 1245, 1245, 1245, 1147, 1147,
1147, 1147, 1147, 1147, 1150, 0, 1150, 1150, 1150, 1150,
1150, 1150, 1150, 1150, 1153, 1153, 1153, 1153, 1153, 1153,
1153, 1153, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154,
1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 0, 0,
0, 0, 1158, 1158, 1158, 1158, 1158, 0, 0, 1166,
1166, 1166, 1166, 1166, 1166, 1166, 1166, 0, 0, 0,
0, 1158, 1158, 1158, 1158, 1158, 1158, 1160, 0, 1160,
1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1166, 1167,
1167, 1167, 1167, 1167, 1167, 1167, 1167, 1168, 1168, 1168,
1168, 1168, 1168, 1168, 1168, 1170, 1170, 1170, 1170, 1170,
1170, 1170, 1170, 0, 0, 0, 0, 0, 1167, 1171,
1171, 1171, 1171, 1171, 1171, 1176, 1168, 1176, 1176, 1176,
1176, 1176, 1176, 0, 1170, 1172, 1172, 1172, 1172, 1172,
1172, 1172, 1172, 0, 0, 0, 0, 1174, 1171, 1174,
1174, 1174, 1174, 1174, 1174, 1174, 1174, 1175, 0, 1175,
1175, 1175, 1175, 1175, 1175, 1175, 1175, 1184, 1184, 1184,
1184, 1184, 1184, 1184, 1184, 1184, 1185, 1185, 1185, 1185,
1185, 1185, 1185, 1185, 1185, 1186, 1186, 1186, 1186, 1186,
1186, 1186, 1186, 1186, 1187, 0, 1187, 1187, 1187, 1187,
1187, 1187, 1187, 1187, 1188, 0, 1188, 1188, 1188, 1188,
1188, 1188, 1188, 1188, 1189, 0, 1189, 1189, 1189, 1189,
1189, 1189, 1189, 1189, 1192, 0, 1192, 1192, 1192, 1192,
1192, 1192, 1192, 1192, 1192, 0, 0, 0, 1192, 1192,
1192, 1192, 1192, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
1193, 1339, 1339, 1339, 1339, 1339, 1339, 1192, 1192, 1192,
1192, 1192, 1192, 1196, 0, 1196, 1196, 1196, 1196, 1196,
1196, 1196, 1196, 1203, 0, 1203, 1203, 1203, 1203, 1203,
1203, 1203, 1203, 1203, 1210, 0, 1210, 1210, 1210, 1210,
1210, 1210, 1210, 1210, 1210, 1217, 0, 1217, 1217, 1217,
1217, 1217, 1217, 1217, 1217, 1217, 1221, 1221, 1221, 1221,
1221, 1221, 1221, 1221, 1222, 1222, 1222, 1222, 1222, 1222,
1222, 1222, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
1226, 0, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226,
1227, 0, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
1228, 0, 1228, 1228, 1228, 1228, 1228, 1228, 1229, 1229,
1229, 1229, 1229, 1229, 1229, 1229, 1231, 0, 1231, 1231,
1231, 1231, 1231, 1231, 1231, 1231, 1232, 0, 1232, 1232,
1232, 1232, 1232, 1232, 1232, 1232, 1233, 0, 1233, 1233,
1233, 1233, 1233, 1233, 1235, 1235, 1235, 1235, 1235, 1235,
1235, 1235, 1239, 0, 1239, 1239, 1239, 1239, 1239, 1239,
1239, 1239, 1239, 1243, 0, 1243, 1243, 1243, 1243, 1243,
1243, 1243, 1243, 1243, 0, 0, 0, 1243, 1243, 1243,
1243, 1243, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244,
1400, 1400, 1400, 1400, 1400, 1400, 1243, 1243, 1243, 1243,
1243, 1243, 1246, 0, 1246, 1246, 1246, 1246, 1246, 1246,
1246, 1246, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251,
1252, 1252, 1252, 1252, 1252, 1252, 1253, 0, 1253, 1253,
1253, 1253, 1253, 1253, 1253, 1253, 0, 0, 0, 0,
1270, 1251, 1270, 1270, 1270, 1270, 1270, 1270, 1254, 1252,
1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1255, 0,
1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1264, 1264, 1264,
1264, 1264, 1264, 1264, 1264, 1264, 1265, 1265, 1265, 1265,
1265, 1265, 1265, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
1266, 1268, 0, 1268, 1268, 1268, 1268, 1268, 1268, 1268,
1268, 1269, 0, 1269, 1269, 1269, 1269, 1269, 1269, 1269,
1269, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1277,
0, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1293, 1293,
1293, 1293, 1293, 1293, 1293, 1293, 1294, 1294, 1294, 1294,
1294, 1294, 1294, 1294, 1295, 0, 1295, 1295, 1295, 1295,
1295, 1295, 1295, 1295, 1296, 0, 1296, 1296, 1296, 1296,
1296, 1296, 1296, 1296, 1297, 0, 1297, 1297, 1297, 1297,
1297, 1297, 1297, 1297, 1298, 0, 1298, 1298, 1298, 1298,
1298, 1298, 1298, 1298, 1299, 0, 1299, 1299, 1299, 1299,
1299, 1299, 1299, 1299, 1300, 0, 1300, 1300, 1300, 1300,
1300, 1300, 1300, 1300, 1308, 0, 1308, 1308, 1308, 1308,
1308, 1308, 1308, 1308, 1308, 1312, 1312, 1312, 1312, 1312,
1312, 1312, 1312, 1314, 0, 1314, 1314, 1314, 1314, 1314,
1314, 1314, 1314, 1315, 0, 1315, 1315, 1315, 1315, 1315,
1315, 1315, 1315, 1316, 0, 1316, 1316, 1316, 1316, 1316,
1316, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1319,
1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1320, 0,
1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1321, 0,
1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1322, 0,
1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1337, 1337,
1337, 1337, 1337, 1337, 1337, 1337, 1338, 1338, 1338, 1338,
1338, 1338, 1338, 1338, 1340, 1340, 1340, 1340, 1340, 1340,
1340, 1340, 1342, 0, 1342, 1342, 1342, 1342, 1342, 1342,
1342, 1342, 1343, 0, 1343, 1343, 1343, 1343, 1343, 1343,
1343, 1343, 1344, 0, 1344, 1344, 1344, 1344, 1344, 1344,
1345, 1345, 1345, 1345, 1345, 1345, 1345, 1345, 1347, 0,
1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1348, 0,
1348, 1348, 1348, 1348, 1348, 1348, 1348, 1348, 1349, 0,
1349, 1349, 1349, 1349, 1349, 1349, 1356, 1356, 1356, 1356,
1356, 1356, 1356, 1356, 1356, 1357, 1357, 1357, 1357, 1357,
1357, 1357, 1357, 1357, 1358, 1358, 1358, 1358, 1358, 1358,
1358, 1358, 1358, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
1360, 1360, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361,
1361, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1363, 1363,
1363, 1363, 1363, 1363, 1363, 1363, 1365, 0, 1365, 1365,
1365, 1365, 1365, 1365, 1365, 1365, 1366, 0, 1366, 1366,
1366, 1366, 1366, 1366, 1366, 1366, 1367, 0, 1367, 1367,
1367, 1367, 1367, 1367, 1375, 1375, 1375, 1375, 1375, 1375,
1375, 1375, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1378, 0,
1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1379, 0,
1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1380, 0,
1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1385, 1385,
1385, 1385, 1385, 1385, 1385, 1385, 1385, 1386, 1386, 1386,
1386, 1386, 1386, 1386, 1386, 1386, 1387, 1387, 1387, 1387,
1387, 1387, 1387, 1388, 0, 1388, 1388, 1388, 1388, 1388,
1388, 1388, 1388, 1389, 0, 1389, 1389, 1389, 1389, 1389,
1389, 1389, 1389, 1390, 0, 1390, 1390, 1390, 1390, 1390,
1390, 1390, 1390, 1398, 1398, 1398, 1398, 1398, 1398, 1398,
1398, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1401,
1401, 1401, 1401, 1401, 1401, 1401, 1401, 1403, 0, 1403,
1403, 1403, 1403, 1403, 1403, 1403, 1403, 1404, 0, 1404,
1404, 1404, 1404, 1404, 1404, 1404, 1404, 1405, 0, 1405,
1405, 1405, 1405, 1405, 1405, 1408, 1408, 1408, 1408, 1408,
1408, 1408, 1408, 1410, 0, 1410, 1410, 1410, 1410, 1410,
1410, 1410, 1410, 1411, 0, 1411, 1411, 1411, 1411, 1411,
1411, 1411, 1411, 1412, 0, 1412, 1412, 1412, 1412, 1412,
1412, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1414,
1414, 1414, 1414, 1414, 1414, 1414, 1414, 1415, 1415, 1415,
1415, 1415, 1415, 1415, 1415, 1417, 1417, 1417, 1417, 1417,
1417, 1417, 1417, 1418, 1418, 1418, 1418, 1418, 1418, 1418,
1418, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1421,
1421, 1421, 1421, 1421, 1421, 1421, 1421, 1422, 1422, 1422,
1422, 1422, 1422, 1422, 1422, 1423, 1423, 1423, 1423, 1423,
1423, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1426,
1426, 1426, 1426, 1426, 1426, 1426, 1426, 1427, 1427, 1427,
1427, 1427, 1427, 1429, 1429, 1429, 1429, 1429, 1429, 1429,
1429, 1429, 1429, 1429, 1430, 1430, 1430, 1430, 1430, 1430,
1430, 1430, 1430, 1430, 1430, 1431, 1431, 1431, 1431, 1431,
1431, 1431, 1431, 1431, 1431, 1431, 1432, 0, 0, 0,
1432, 1432, 1432, 0, 1432, 1432, 1432, 1433, 1433, 1433,
1433, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 1434, 0,
0, 0, 1434, 1434, 1434, 0, 1434, 1434, 1434, 1435,
0, 0, 0, 1435, 1435, 1435, 0, 1435, 1435, 1435,
1436, 0, 1436, 0, 1436, 1436, 1436, 0, 1436, 1436,
1436, 1437, 0, 0, 0, 1437, 1437, 1437, 0, 1437,
1437, 1437, 1438, 0, 0, 0, 1438, 1438, 1438, 0,
1438, 1438, 1438, 1439, 0, 0, 0, 1439, 1439, 1439,
0, 1439, 1439, 1439, 1440, 0, 1440, 0, 1440, 1440,
1440, 0, 1440, 1440, 1440, 1441, 0, 1441, 0, 1441,
1441, 1441, 0, 1441, 1441, 1441, 1442, 0, 1442, 1442,
1442, 1442, 1442, 0, 0, 1442, 1442, 1443, 1443, 1444,
0, 1444, 0, 1444, 1444, 1444, 1444, 1444, 1444, 1444,
1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445,
1445, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446,
1446, 1446, 1447, 0, 1447, 0, 1447, 1447, 1447, 0,
1447, 1447, 1447, 1448, 1448, 0, 0, 1448, 1449, 1449,
0, 0, 0, 1449, 1450, 0, 1450, 0, 1450, 1450,
1450, 0, 1450, 1450, 1450, 1451, 1451, 1451, 1451, 1451,
1451, 1451, 1451, 1451, 1451, 1451, 1452, 1452, 0, 0,
1452, 1453, 1453, 1453, 0, 0, 1453, 1454, 1454, 0,
0, 1454, 1455, 1455, 0, 0, 1455, 1456, 1456, 0,
0, 1456, 1457, 1457, 1457, 0, 0, 1457, 1458, 1458,
0, 0, 1458, 1459, 1459, 0, 0, 1459, 1460, 1460,
1460, 1460, 0, 0, 1460, 1461, 1461, 0, 0, 1461,
1462, 1462, 0, 0, 1462, 1463, 0, 0, 0, 1463,
1464, 1464, 1464, 0, 0, 1464, 1465, 1465, 0, 0,
1465, 1466, 1466, 0, 0, 1466, 1467, 1467, 1467, 0,
0, 1467, 1468, 1468, 0, 0, 1468, 1469, 1469, 0,
0, 1469, 1470, 1470, 0, 0, 1470, 1471, 1471, 1471,
1471, 0, 0, 1471, 1472, 1472, 0, 0, 1472, 1473,
1473, 0, 0, 1473, 1474, 1474, 0, 0, 0, 1474,
1475, 1475, 1475, 1475, 0, 0, 1475, 1476, 1476, 1476,
1476, 0, 0, 1476, 1477, 1477, 0, 0, 1477, 1478,
1478, 0, 0, 1478, 1479, 1479, 0, 0, 1479, 1480,
1480, 1480, 0, 0, 1480, 1481, 1481, 0, 0, 1481,
1482, 1482, 0, 0, 1482, 1483, 1483, 1483, 0, 0,
1483, 1484, 1484, 1484, 0, 0, 1484, 1485, 1485, 1485,
0, 0, 1485, 1486, 1486, 0, 0, 1486, 1487, 1487,
0, 0, 1487, 1488, 0, 1488, 1488, 0, 0, 1488,
1489, 1489, 0, 0, 1489, 1490, 1490, 1490, 1490, 0,
0, 1490, 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1491,
1491, 1491, 1491, 1492, 1492, 0, 0, 1492, 1493, 1493,
0, 0, 1493, 1494, 1494, 0, 0, 0, 1494, 1495,
1495, 1495, 0, 0, 1495, 1496, 1496, 1496, 1496, 0,
0, 1496, 1497, 1497, 1497, 1497, 0, 0, 1497, 1498,
1498, 0, 0, 1498, 1499, 1499, 0, 0, 1499, 1500,
1500, 0, 0, 1500, 1501, 0, 1501, 1501, 0, 0,
1501, 1502, 1502, 1502, 0, 0, 1502, 1503, 1503, 1503,
1503, 1503, 1503, 1503, 1503, 1503, 1503, 1503, 1504, 0,
0, 0, 1504, 1504, 1504, 0, 1504, 1504, 1504, 1505,
0, 0, 0, 1505, 1505, 1505, 0, 1505, 1505, 1505,
1506, 0, 0, 0, 1506, 1506, 1506, 0, 1506, 1506,
1506, 1507, 0, 0, 0, 1507, 1507, 1507, 0, 1507,
1507, 1507, 1508, 1508, 0, 0, 1508, 1509, 1509, 0,
0, 1509, 1510, 1510, 1510, 0, 0, 1510, 1511, 1511,
1511, 0, 0, 1511, 1512, 1512, 1512, 0, 0, 1512,
1513, 1513, 1513, 0, 0, 1513, 1514, 1514, 0, 0,
1514, 1515, 1515, 0, 0, 1515, 1516, 0, 0, 0,
1516, 1517, 0, 1517, 1517, 0, 0, 1517, 1518, 0,
1518, 1518, 0, 0, 1518, 1519, 1519, 0, 0, 1519,
1520, 1520, 1520, 1520, 0, 0, 1520, 1521, 1521, 1521,
1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1522, 0,
0, 0, 1522, 1522, 1522, 0, 1522, 1522, 1522, 1523,
0, 0, 0, 1523, 1523, 1523, 0, 1523, 1523, 1523,
1524, 0, 0, 0, 1524, 1524, 1524, 0, 1524, 1524,
1524, 1525, 0, 0, 0, 1525, 1525, 1525, 0, 1525,
1525, 1525, 1526, 1526, 0, 0, 1526, 1527, 1527, 0,
0, 1527, 1528, 1528, 0, 0, 0, 1528, 1529, 1529,
1529, 0, 0, 1529, 1530, 1530, 1530, 1530, 0, 0,
1530, 1531, 1531, 1531, 1531, 0, 0, 1531, 1532, 1532,
1532, 1532, 0, 0, 1532, 1533, 1533, 0, 0, 1533,
1534, 1534, 0, 0, 1534, 1535, 1535, 0, 0, 1535,
1536, 1536, 0, 0, 1536, 1537, 1537, 0, 0, 1537,
1538, 0, 1538, 1538, 0, 0, 1538, 1539, 1539, 1539,
0, 0, 1539, 1540, 1540, 1540, 1540, 1540, 1540, 1540,
1540, 1540, 1540, 1540, 1541, 0, 0, 0, 1541, 1541,
1541, 0, 1541, 1541, 1541, 1542, 0, 0, 0, 1542,
1542, 1542, 0, 1542, 1542, 1542, 1543, 1543, 0, 0,
1543, 1544, 1544, 1544, 0, 0, 1544, 1545, 1545, 1545,
0, 0, 1545, 1546, 1546, 1546, 0, 0, 1546, 1547,
1547, 1547, 0, 0, 1547, 1548, 1548, 1548, 0, 0,
1548, 1549, 1549, 0, 0, 1549, 1550, 1550, 0, 0,
1550, 1551, 0, 0, 0, 1551, 1552, 1552, 0, 0,
1552, 1553, 0, 1553, 1553, 0, 0, 1553, 1554, 0,
1554, 1554, 0, 0, 1554, 1555, 1555, 0, 0, 1555,
1556, 1556, 1556, 1556, 0, 0, 1556, 1557, 0, 0,
0, 1557, 1557, 1557, 0, 1557, 1557, 1557, 1558, 0,
0, 0, 1558, 1558, 1558, 0, 1558, 1558, 1558, 1559,
1559, 0, 0, 1559, 1560, 1560, 0, 0, 0, 1560,
1561, 1561, 1561, 0, 0, 1561, 1562, 0, 0, 0,
1562, 1563, 1563, 1563, 1563, 0, 0, 1563, 1564, 0,
0, 0, 1564, 1565, 1565, 1565, 1565, 0, 0, 1565,
1566, 0, 0, 0, 1566, 1567, 1567, 1567, 1567, 0,
0, 1567, 1568, 0, 0, 0, 1568, 1569, 1569, 1569,
1569, 0, 0, 1569, 1570, 0, 0, 0, 1570, 1571,
1571, 0, 0, 1571, 1572, 1572, 0, 0, 1572, 1573,
1573, 0, 0, 1573, 1574, 1574, 0, 0, 1574, 1575,
1575, 0, 0, 1575, 1576, 1576, 0, 0, 1576, 1577,
0, 1577, 1577, 0, 0, 1577, 1578, 1578, 1578, 0,
0, 1578, 1579, 0, 0, 0, 1579, 1579, 1579, 0,
1579, 1579, 1579, 1580, 0, 0, 0, 1580, 1580, 1580,
0, 1580, 1580, 1580, 1581, 0, 1581, 1581, 0, 0,
1581, 1582, 1582, 0, 0, 1582, 1583, 1583, 0, 0,
0, 1583, 1584, 1584, 1584, 0, 0, 1584, 1585, 1585,
0, 0, 0, 1585, 1586, 1586, 1586, 0, 0, 1586,
1587, 1587, 0, 0, 0, 1587, 1588, 1588, 1588, 0,
0, 1588, 1589, 1589, 0, 0, 0, 1589, 1590, 1590,
1590, 0, 0, 1590, 1591, 1591, 0, 0, 0, 1591,
1592, 1592, 1592, 0, 0, 1592, 1593, 1593, 0, 0,
0, 1593, 1594, 1594, 0, 0, 1594, 1595, 1595, 0,
0, 1595, 1596, 0, 0, 0, 1596, 1597, 1597, 0,
0, 1597, 1598, 0, 1598, 1598, 0, 0, 1598, 1599,
0, 1599, 1599, 0, 0, 1599, 1600, 0, 1600, 1600,
0, 0, 1600, 1601, 1601, 0, 0, 1601, 1602, 1602,
1602, 1602, 0, 0, 1602, 1603, 0, 0, 0, 1603,
1604, 0, 0, 0, 1604, 1604, 1604, 0, 1604, 1604,
1604, 1605, 0, 0, 0, 1605, 1605, 1605, 0, 1605,
1605, 1605, 1606, 1606, 0, 0, 1606, 1607, 1607, 0,
0, 0, 1607, 1608, 1608, 0, 0, 0, 1608, 1609,
1609, 0, 0, 0, 1609, 1610, 1610, 0, 0, 0,
1610, 1611, 1611, 0, 0, 0, 1611, 1612, 1612, 0,
0, 0, 1612, 1613, 1613, 0, 0, 0, 1613, 1614,
1614, 0, 0, 1614, 1615, 1615, 0, 0, 1615, 1616,
1616, 0, 0, 1616, 1617, 1617, 0, 0, 1617, 1618,
1618, 0, 0, 1618, 1619, 1619, 0, 0, 1619, 1620,
0, 1620, 1620, 0, 0, 1620, 1621, 1621, 1621, 0,
0, 1621, 1622, 1622, 0, 0, 0, 1622, 1623, 0,
0, 0, 1623, 1623, 1623, 0, 1623, 1623, 1623, 1624,
0, 0, 0, 1624, 1624, 1624, 0, 1624, 1624, 1624,
1625, 1625, 0, 0, 0, 1625, 1626, 1626, 0, 0,
0, 1626, 1627, 1627, 0, 0, 0, 1627, 1628, 1628,
0, 0, 0, 1628, 1629, 1629, 0, 0, 0, 1629,
1630, 1630, 0, 0, 0, 1630, 1631, 1631, 0, 0,
0, 1631, 1632, 1632, 0, 0, 1632, 1633, 0, 0,
0, 1633, 1634, 1634, 0, 0, 1634, 1635, 0, 0,
0, 1635, 1636, 0, 1636, 1636, 0, 0, 1636, 1637,
0, 0, 0, 1637, 1638, 0, 1638, 1638, 0, 0,
1638, 1639, 0, 0, 0, 1639, 1640, 0, 1640, 1640,
0, 0, 1640, 1641, 0, 0, 0, 1641, 1642, 0,
1642, 1642, 0, 0, 1642, 1643, 0, 0, 0, 1643,
1644, 1644, 0, 0, 1644, 1645, 1645, 0, 0, 0,
1645, 1646, 0, 0, 0, 1646, 1646, 1646, 0, 1646,
1646, 1646, 1647, 1647, 0, 0, 0, 1647, 1648, 0,
1648, 1648, 0, 0, 1648, 1649, 1649, 0, 0, 1649,
1650, 0, 0, 0, 1650, 1651, 1651, 0, 0, 1651,
1652, 0, 0, 0, 1652, 1653, 1653, 0, 0, 1653,
1654, 0, 0, 0, 1654, 1655, 1655, 0, 0, 1655,
1656, 0, 0, 0, 1656, 1657, 1657, 0, 0, 1657,
1658, 0, 0, 0, 1658, 1659, 1659, 0, 0, 1659,
1660, 0, 0, 0, 1660, 1661, 0, 1661, 1661, 0,
0, 1661, 1662, 0, 0, 0, 1662, 1663, 1663, 0,
0, 0, 1663, 1664, 1664, 0, 0, 1664, 1665, 0,
0, 0, 1665, 1666, 0, 0, 0, 1666, 1667, 0,
0, 0, 1667, 1668, 0, 0, 0, 1668, 1669, 0,
0, 0, 1669, 1670, 0, 0, 0, 1670, 1671, 0,
0, 0, 1671, 1672, 1672, 0, 0, 1672, 1673, 0,
0, 0, 1673, 1674, 0, 0, 0, 1674, 1675, 0,
0, 0, 1675, 1676, 0, 0, 0, 1676, 1677, 0,
0, 0, 1677, 1678, 0, 0, 0, 1678, 1679, 0,
0, 0, 1679, 1680, 0, 0, 0, 1680, 1681, 0,
0, 0, 1681, 1682, 0, 0, 0, 1682, 1683, 0,
0, 0, 1683, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428, 1428,
1428, 1428, 1428, 1428, 1428, 1428
} ;
static yy_state_type yy_last_accepting_state;
static char *yy_last_accepting_cpos;
/* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed.
*/
#define REJECT reject_used_but_not_detected
#define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
#line 1 "toke.l"
#define INITIAL 0
#line 2 "toke.l"
/*
* Copyright (c) 1996, 1998-2005, 2007
* Todd C. Miller <Todd.Miller@courtesan.com>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Sponsored in part by the Defense Advanced Research Projects
* Agency (DARPA) and Air Force Research Laboratory, Air Force
* Materiel Command, USAF, under agreement number F39502-99-1-0512.
*/
#include <config.h>
#include <sys/types.h>
#include <sys/param.h>
#include <stdio.h>
#ifdef STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
# ifdef HAVE_STDLIB_H
# include <stdlib.h>
# endif
#endif /* STDC_HEADERS */
#ifdef HAVE_STRING_H
# include <string.h>
#else
# ifdef HAVE_STRINGS_H
# include <strings.h>
# endif
#endif /* HAVE_STRING_H */
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif /* HAVE_UNISTD_H */
#if defined(HAVE_MALLOC_H) && !defined(STDC_HEADERS)
# include <malloc.h>
#endif /* HAVE_MALLOC_H && !STDC_HEADERS */
#include <ctype.h>
#include "sudo.h"
#include "parse.h"
#include <gram.h>
#ifndef lint
__unused static const char rcsid[] = "$Sudo$";
#endif /* lint */
extern YYSTYPE yylval;
int sudolineno = 1;
char *sudoers;
static int sawspace = 0;
static int arg_len = 0;
static int arg_size = 0;
static int fill __P((char *, int));
static int fill_cmnd __P((char *, int));
static int fill_args __P((char *, int, int));
static int switch_buffer __P((char *));
extern void yyerror __P((const char *));
#define push_include(_p) (switch_buffer((_p)))
#define pop_include() (switch_buffer(NULL))
/* realloc() to size + COMMANDARGINC to make room for command args */
#define COMMANDARGINC 64
#ifdef TRACELEXER
#define LEXTRACE(msg) fputs(msg, stderr)
#else
#define LEXTRACE(msg)
#endif
#define YY_NO_UNPUT 1
/* XXX - convert GOTRUNAS to exclusive state (GOTDEFS cannot be) */
#define GOTRUNAS 1
#define GOTDEFS 2
#define GOTCMND 3
#define STARTDEFS 4
#define INDEFS 5
#line 3263 "lex.yy.c"
/* Macros after this point can all be overridden by user definitions in
* section 1.
*/
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
extern "C" int yywrap YY_PROTO(( void ));
#else
extern int yywrap YY_PROTO(( void ));
#endif
#endif
#ifndef YY_NO_UNPUT
static void yyunput YY_PROTO(( int c, char *buf_ptr ));
#endif
#ifndef yytext_ptr
static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
#endif
#ifdef YY_NEED_STRLEN
static int yy_flex_strlen YY_PROTO(( yyconst char * ));
#endif
#ifndef YY_NO_INPUT
#ifdef __cplusplus
static int yyinput YY_PROTO(( void ));
#else
static int input YY_PROTO(( void ));
#endif
#endif
#if defined(YY_STACK_USED) && YY_STACK_USED
static int yy_start_stack_ptr = 0;
static int yy_start_stack_depth = 0;
static int *yy_start_stack = 0;
#ifndef YY_NO_PUSH_STATE
static void yy_push_state YY_PROTO(( int new_state ));
#endif
#ifndef YY_NO_POP_STATE
static void yy_pop_state YY_PROTO(( void ));
#endif
#ifndef YY_NO_TOP_STATE
static int yy_top_state YY_PROTO(( void ));
#endif
#else
#define YY_NO_PUSH_STATE 1
#define YY_NO_POP_STATE 1
#define YY_NO_TOP_STATE 1
#endif
#ifdef YY_MALLOC_DECL
YY_MALLOC_DECL
#else
#ifdef __STDC__
#ifndef __cplusplus
#include <stdlib.h>
#endif
#else
/* Just try to get by without declaring the routines. This will fail
* miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
* or sizeof(void*) != sizeof(int).
*/
#endif
#endif
/* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE
#define YY_READ_BUF_SIZE 8192
#endif
/* Copy whatever the last rule matched to the standard output. */
#ifndef ECHO
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
#endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
* is returned in "result".
*/
#ifndef YY_INPUT
#define YY_INPUT(buf,result,max_size) \
if ( yy_current_buffer->yy_is_interactive ) \
{ \
int c = '*', n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
if ( c == '\n' ) \
buf[n++] = (char) c; \
if ( c == EOF && ferror( yyin ) ) \
YY_FATAL_ERROR( "input in flex scanner failed" ); \
result = n; \
} \
else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
&& ferror( yyin ) ) \
YY_FATAL_ERROR( "input in flex scanner failed" );
#endif
/* No semi-colon after return; correct usage is to write "yyterminate();" -
* we don't want an extra ';' after the "return" because that will cause
* some compilers to complain about unreachable statements.
*/
#ifndef yyterminate
#define yyterminate() return YY_NULL
#endif
/* Number of entries by which start-condition stack grows. */
#ifndef YY_START_STACK_INCR
#define YY_START_STACK_INCR 25
#endif
/* Report a fatal error. */
#ifndef YY_FATAL_ERROR
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
#endif
/* Default declaration of generated scanner - a define so the user can
* easily add parameters.
*/
#ifndef YY_DECL
#define YY_DECL int yylex YY_PROTO(( void ))
#endif
/* Code executed at the beginning of each rule, after yytext and yyleng
* have been set up.
*/
#ifndef YY_USER_ACTION
#define YY_USER_ACTION
#endif
/* Code executed at the end of each rule. */
#ifndef YY_BREAK
#define YY_BREAK break;
#endif
#define YY_RULE_SETUP \
if ( yyleng > 0 ) \
yy_current_buffer->yy_at_bol = \
(yytext[yyleng - 1] == '\n'); \
YY_USER_ACTION
YY_DECL
{
register yy_state_type yy_current_state;
register char *yy_cp, *yy_bp;
register int yy_act;
#line 108 "toke.l"
#line 3419 "lex.yy.c"
if ( yy_init )
{
yy_init = 0;
#ifdef YY_USER_INIT
YY_USER_INIT;
#endif
if ( ! yy_start )
yy_start = 1; /* first start state */
if ( ! yyin )
yyin = stdin;
if ( ! yyout )
yyout = stdout;
if ( ! yy_current_buffer )
yy_current_buffer =
yy_create_buffer( yyin, YY_BUF_SIZE );
yy_load_buffer_state();
}
while ( 1 ) /* loops until end-of-file is reached */
{
yy_cp = yy_c_buf_p;
/* Support of yytext. */
*yy_cp = yy_hold_char;
/* yy_bp points to the position in yy_ch_buf of the start of
* the current run.
*/
yy_bp = yy_cp;
yy_current_state = yy_start;
yy_current_state += YY_AT_BOL();
yy_match:
do
{
register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
yy_last_accepting_cpos = yy_cp;
}
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 1429 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
while ( yy_base[yy_current_state] != 10254 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
if ( yy_act == 0 )
{ /* have to back up */
yy_cp = yy_last_accepting_cpos;
yy_current_state = yy_last_accepting_state;
yy_act = yy_accept[yy_current_state];
}
YY_DO_BEFORE_ACTION;
do_action: /* This label is used only to access EOF actions. */
switch ( yy_act )
{ /* beginning of action switch */
case 0: /* must back up */
/* undo the effects of YY_DO_BEFORE_ACTION */
*yy_cp = yy_hold_char;
yy_cp = yy_last_accepting_cpos;
yy_current_state = yy_last_accepting_state;
goto yy_find_action;
case 1:
YY_RULE_SETUP
#line 109 "toke.l"
BEGIN STARTDEFS;
YY_BREAK
case 2:
YY_RULE_SETUP
#line 111 "toke.l"
{
BEGIN INDEFS;
LEXTRACE("DEFVAR ");
if (!fill(yytext, yyleng))
yyterminate();
return(DEFVAR);
}
YY_BREAK
case 3:
YY_RULE_SETUP
#line 120 "toke.l"
{
BEGIN STARTDEFS;
LEXTRACE(", ");
return(',');
} /* return ',' */
YY_BREAK
case 4:
YY_RULE_SETUP
#line 126 "toke.l"
{
LEXTRACE("= ");
return('=');
} /* return '=' */
YY_BREAK
case 5:
YY_RULE_SETUP
#line 131 "toke.l"
{
LEXTRACE("+= ");
return('+');
} /* return '+' */
YY_BREAK
case 6:
YY_RULE_SETUP
#line 136 "toke.l"
{
LEXTRACE("-= ");
return('-');
} /* return '-' */
YY_BREAK
case 7:
YY_RULE_SETUP
#line 141 "toke.l"
{
LEXTRACE("WORD(1) ");
if (!fill(yytext + 1, yyleng - 2))
yyterminate();
return(WORD);
}
YY_BREAK
case 8:
YY_RULE_SETUP
#line 148 "toke.l"
{
LEXTRACE("WORD(2) ");
if (!fill(yytext, yyleng))
yyterminate();
return(WORD);
}
YY_BREAK
case 9:
YY_RULE_SETUP
#line 157 "toke.l"
{
/* quoted fnmatch glob char, pass verbatim */
LEXTRACE("QUOTEDCHAR ");
if (!fill_args(yytext, 2, sawspace))
yyterminate();
sawspace = FALSE;
}
YY_BREAK
case 10:
YY_RULE_SETUP
#line 165 "toke.l"
{
/* quoted sudoers special char, strip backslash */
LEXTRACE("QUOTEDCHAR ");
if (!fill_args(yytext + 1, 1, sawspace))
yyterminate();
sawspace = FALSE;
}
YY_BREAK
case 11:
YY_RULE_SETUP
#line 173 "toke.l"
{
BEGIN INITIAL;
yyless(0);
return(COMMAND);
} /* end of command line args */
YY_BREAK
case 12:
YY_RULE_SETUP
#line 179 "toke.l"
{
LEXTRACE("ARG ");
if (!fill_args(yytext, yyleng, sawspace))
yyterminate();
sawspace = FALSE;
} /* a command line arg */
YY_BREAK
case 13:
YY_RULE_SETUP
#line 187 "toke.l"
{
char *cp, *ep;
++sudolineno;
/* pull out path from #include line */
cp = yytext + 9;
while (isblank((unsigned char) *cp))
cp++;
ep = cp;
while (*ep != '\0' && !isspace((unsigned char) *ep))
ep++;
*ep = '\0';
/* push current buffer and switch to include file */
if (!push_include(cp))
yyterminate();
LEXTRACE("INCLUDE\n");
return(COMMENT);
}
YY_BREAK
case 14:
YY_RULE_SETUP
#line 205 "toke.l"
{
int n;
for (n = 0; isblank((unsigned char)yytext[n]); n++)
continue;
n += 8;
BEGIN GOTDEFS;
switch (yytext[n++]) {
case ':':
yyless(n);
LEXTRACE("DEFAULTS_USER ");
return(DEFAULTS_USER);
case '>':
yyless(n);
LEXTRACE("DEFAULTS_RUNAS ");
return(DEFAULTS_RUNAS);
case '@':
yyless(n);
LEXTRACE("DEFAULTS_HOST ");
return(DEFAULTS_HOST);
case '!':
yyless(n);
LEXTRACE("DEFAULTS_CMND ");
return(DEFAULTS_CMND);
default:
LEXTRACE("DEFAULTS ");
return(DEFAULTS);
}
}
YY_BREAK
case 15:
YY_RULE_SETUP
#line 234 "toke.l"
{
int n;
for (n = 0; isblank((unsigned char)yytext[n]); n++)
continue;
if (!fill(yytext + n, yyleng - n))
yyterminate();
switch (yytext[n]) {
case 'H':
LEXTRACE("HOSTALIAS ");
return(HOSTALIAS);
case 'C':
LEXTRACE("CMNDALIAS ");
return(CMNDALIAS);
case 'U':
LEXTRACE("USERALIAS ");
return(USERALIAS);
case 'R':
LEXTRACE("RUNASALIAS ");
BEGIN GOTRUNAS;
return(RUNASALIAS);
}
}
YY_BREAK
case 16:
YY_RULE_SETUP
#line 257 "toke.l"
{
/* cmnd does not require passwd for this user */
LEXTRACE("NOPASSWD ");
return(NOPASSWD);
}
YY_BREAK
case 17:
YY_RULE_SETUP
#line 263 "toke.l"
{
/* cmnd requires passwd for this user */
LEXTRACE("PASSWD ");
return(PASSWD);
}
YY_BREAK
case 18:
YY_RULE_SETUP
#line 269 "toke.l"
{
LEXTRACE("NOEXEC ");
return(NOEXEC);
}
YY_BREAK
case 19:
YY_RULE_SETUP
#line 274 "toke.l"
{
LEXTRACE("EXEC ");
return(EXEC);
}
YY_BREAK
case 20:
YY_RULE_SETUP
#line 279 "toke.l"
{
LEXTRACE("SETENV ");
return(SETENV);
}
YY_BREAK
case 21:
YY_RULE_SETUP
#line 284 "toke.l"
{
LEXTRACE("NOSETENV ");
return(NOSETENV);
}
YY_BREAK
case 22:
YY_RULE_SETUP
#line 289 "toke.l"
{
/* netgroup */
if (!fill(yytext, yyleng))
yyterminate();
LEXTRACE("NETGROUP ");
return(NETGROUP);
}
YY_BREAK
case 23:
YY_RULE_SETUP
#line 297 "toke.l"
{
/* UN*X group */
if (!fill(yytext, yyleng))
yyterminate();
LEXTRACE("USERGROUP ");
return(USERGROUP);
}
YY_BREAK
case 24:
YY_RULE_SETUP
#line 305 "toke.l"
{
if (!fill(yytext, yyleng))
yyterminate();
LEXTRACE("NTWKADDR ");
return(NTWKADDR);
}
YY_BREAK
case 25:
YY_RULE_SETUP
#line 312 "toke.l"
{
if (!fill(yytext, yyleng))
yyterminate();
LEXTRACE("NTWKADDR ");
return(NTWKADDR);
}
YY_BREAK
case 26:
YY_RULE_SETUP
#line 319 "toke.l"
{
if (!fill(yytext, yyleng))
yyterminate();
LEXTRACE("NTWKADDR ");
return(NTWKADDR);
}
YY_BREAK
case 27:
YY_RULE_SETUP
#line 326 "toke.l"
{
if (!fill(yytext, yyleng))
yyterminate();
LEXTRACE("NTWKADDR ");
return(NTWKADDR);
}
YY_BREAK
case 28:
YY_RULE_SETUP
#line 333 "toke.l"
{
BEGIN GOTRUNAS;
LEXTRACE("RUNAS ");
return (RUNAS);
}
YY_BREAK
case 29:
YY_RULE_SETUP
#line 339 "toke.l"
{
if (strcmp(yytext, "ALL") == 0) {
LEXTRACE("ALL ");
return(ALL);
} else {
if (!fill(yytext, yyleng))
yyterminate();
LEXTRACE("ALIAS ");
return(ALIAS);
}
}
YY_BREAK
case 30:
YY_RULE_SETUP
#line 351 "toke.l"
{
/* username/uid that user can run command as */
if (!fill(yytext, yyleng))
yyterminate();
LEXTRACE("WORD(3) ");
return(WORD);
}
YY_BREAK
case 31:
YY_RULE_SETUP
#line 359 "toke.l"
{
BEGIN INITIAL;
}
YY_BREAK
case 32:
YY_RULE_SETUP
#line 363 "toke.l"
{
/* no command args allowed for Defaults!/path */
if (!fill_cmnd(yytext, yyleng))
yyterminate();
LEXTRACE("COMMAND ");
return(COMMAND);
}
YY_BREAK
case 33:
YY_RULE_SETUP
#line 371 "toke.l"
{
BEGIN GOTCMND;
LEXTRACE("COMMAND ");
if (!fill_cmnd(yytext, yyleng))
yyterminate();
} /* sudo -e */
YY_BREAK
case 34:
YY_RULE_SETUP
#line 378 "toke.l"
{
/* directories can't have args... */
if (yytext[yyleng - 1] == '/') {
LEXTRACE("COMMAND ");
if (!fill_cmnd(yytext, yyleng))
yyterminate();
return(COMMAND);
} else {
BEGIN GOTCMND;
LEXTRACE("COMMAND ");
if (!fill_cmnd(yytext, yyleng))
yyterminate();
}
} /* a pathname */
YY_BREAK
case 35:
YY_RULE_SETUP
#line 393 "toke.l"
{
/* a word */
if (!fill(yytext, yyleng))
yyterminate();
LEXTRACE("WORD(4) ");
return(WORD);
}
YY_BREAK
case 36:
YY_RULE_SETUP
#line 401 "toke.l"
{
LEXTRACE(", ");
return(',');
} /* return ',' */
YY_BREAK
case 37:
YY_RULE_SETUP
#line 406 "toke.l"
{
LEXTRACE("= ");
return('=');
} /* return '=' */
YY_BREAK
case 38:
YY_RULE_SETUP
#line 411 "toke.l"
{
LEXTRACE(": ");
return(':');
} /* return ':' */
YY_BREAK
case 39:
YY_RULE_SETUP
#line 416 "toke.l"
{
if (yyleng % 2 == 1)
return('!'); /* return '!' */
}
YY_BREAK
case 40:
YY_RULE_SETUP
#line 421 "toke.l"
{
BEGIN INITIAL;
++sudolineno;
LEXTRACE("\n");
return(COMMENT);
} /* return newline */
YY_BREAK
case 41:
YY_RULE_SETUP
#line 428 "toke.l"
{ /* throw away space/tabs */
sawspace = TRUE; /* but remember for fill_args */
}
YY_BREAK
case 42:
YY_RULE_SETUP
#line 432 "toke.l"
{
sawspace = TRUE; /* remember for fill_args */
++sudolineno;
LEXTRACE("\n\t");
} /* throw away EOL after \ */
YY_BREAK
case 43:
YY_RULE_SETUP
#line 438 "toke.l"
{
BEGIN INITIAL;
++sudolineno;
LEXTRACE("\n");
return(COMMENT);
} /* return comments */
YY_BREAK
case 44:
YY_RULE_SETUP
#line 445 "toke.l"
{
LEXTRACE("ERROR ");
return(ERROR);
} /* parse error */
YY_BREAK
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(GOTRUNAS):
case YY_STATE_EOF(GOTDEFS):
case YY_STATE_EOF(GOTCMND):
case YY_STATE_EOF(STARTDEFS):
case YY_STATE_EOF(INDEFS):
#line 450 "toke.l"
{
if (YY_START != INITIAL) {
BEGIN INITIAL;
LEXTRACE("ERROR ");
return(ERROR);
}
if (!pop_include())
yyterminate();
}
YY_BREAK
case 45:
YY_RULE_SETUP
#line 460 "toke.l"
ECHO;
YY_BREAK
#line 3998 "lex.yy.c"
case YY_END_OF_BUFFER:
{
/* Amount of text matched not including the EOB char. */
int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
/* Undo the effects of YY_DO_BEFORE_ACTION. */
*yy_cp = yy_hold_char;
YY_RESTORE_YY_MORE_OFFSET
if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
{
/* We're scanning a new file or input source. It's
* possible that this happened because the user
* just pointed yyin at a new source and called
* yylex(). If so, then we have to assure
* consistency between yy_current_buffer and our
* globals. Here is the right place to do so, because
* this is the first action (other than possibly a
* back-up) that will match for the new input source.
*/
yy_n_chars = yy_current_buffer->yy_n_chars;
yy_current_buffer->yy_input_file = yyin;
yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
}
/* Note that here we test for yy_c_buf_p "<=" to the position
* of the first EOB in the buffer, since yy_c_buf_p will
* already have been incremented past the NUL character
* (since all states make transitions on EOB to the
* end-of-buffer state). Contrast this with the test
* in input().
*/
if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
{ /* This was really a NUL. */
yy_state_type yy_next_state;
yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
yy_current_state = yy_get_previous_state();
/* Okay, we're now positioned to make the NUL
* transition. We couldn't have
* yy_get_previous_state() go ahead and do it
* for us because it doesn't know how to deal
* with the possibility of jamming (and we don't
* want to build jamming into it because then it
* will run more slowly).
*/
yy_next_state = yy_try_NUL_trans( yy_current_state );
yy_bp = yytext_ptr + YY_MORE_ADJ;
if ( yy_next_state )
{
/* Consume the NUL. */
yy_cp = ++yy_c_buf_p;
yy_current_state = yy_next_state;
goto yy_match;
}
else
{
yy_cp = yy_c_buf_p;
goto yy_find_action;
}
}
else switch ( yy_get_next_buffer() )
{
case EOB_ACT_END_OF_FILE:
{
yy_did_buffer_switch_on_eof = 0;
if ( yywrap() )
{
/* Note: because we've taken care in
* yy_get_next_buffer() to have set up
* yytext, we can now set up
* yy_c_buf_p so that if some total
* hoser (like flex itself) wants to
* call the scanner after we return the
* YY_NULL, it'll still work - another
* YY_NULL will get returned.
*/
yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
yy_act = YY_STATE_EOF(YY_START);
goto do_action;
}
else
{
if ( ! yy_did_buffer_switch_on_eof )
YY_NEW_FILE;
}
break;
}
case EOB_ACT_CONTINUE_SCAN:
yy_c_buf_p =
yytext_ptr + yy_amount_of_matched_text;
yy_current_state = yy_get_previous_state();
yy_cp = yy_c_buf_p;
yy_bp = yytext_ptr + YY_MORE_ADJ;
goto yy_match;
case EOB_ACT_LAST_MATCH:
yy_c_buf_p =
&yy_current_buffer->yy_ch_buf[yy_n_chars];
yy_current_state = yy_get_previous_state();
yy_cp = yy_c_buf_p;
yy_bp = yytext_ptr + YY_MORE_ADJ;
goto yy_find_action;
}
break;
}
default:
YY_FATAL_ERROR(
"fatal flex scanner internal error--no action found" );
} /* end of action switch */
} /* end of scanning one token */
} /* end of yylex */
/* yy_get_next_buffer - try to read in a new buffer
*
* Returns a code representing an action:
* EOB_ACT_LAST_MATCH -
* EOB_ACT_CONTINUE_SCAN - continue scanning from current position
* EOB_ACT_END_OF_FILE - end of file
*/
static int yy_get_next_buffer()
{
register char *dest = yy_current_buffer->yy_ch_buf;
register char *source = yytext_ptr;
register int number_to_move, i;
int ret_val;
if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
YY_FATAL_ERROR(
"fatal flex scanner internal error--end of buffer missed" );
if ( yy_current_buffer->yy_fill_buffer == 0 )
{ /* Don't try to fill the buffer, so this is an EOF. */
if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
{
/* We matched a single character, the EOB, so
* treat this as a final EOF.
*/
return EOB_ACT_END_OF_FILE;
}
else
{
/* We matched some text prior to the EOB, first
* process it.
*/
return EOB_ACT_LAST_MATCH;
}
}
/* Try to read more data. */
/* First move last chars to start of buffer. */
number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
for ( i = 0; i < number_to_move; ++i )
*(dest++) = *(source++);
if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
/* don't do the read, it's not guaranteed to return an EOF,
* just force an EOF
*/
yy_current_buffer->yy_n_chars = yy_n_chars = 0;
else
{
int num_to_read =
yy_current_buffer->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
{ /* Not enough room in the buffer - grow it. */
#ifdef YY_USES_REJECT
YY_FATAL_ERROR(
"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
#else
/* just a shorter name for the current buffer */
YY_BUFFER_STATE b = yy_current_buffer;
int yy_c_buf_p_offset =
(int) (yy_c_buf_p - b->yy_ch_buf);
if ( b->yy_is_our_buffer )
{
int new_size = b->yy_buf_size * 2;
if ( new_size <= 0 )
b->yy_buf_size += b->yy_buf_size / 8;
else
b->yy_buf_size *= 2;
b->yy_ch_buf = (char *)
/* Include room in for 2 EOB chars. */
yy_flex_realloc( (void *) b->yy_ch_buf,
b->yy_buf_size + 2 );
}
else
/* Can't grow it, we don't own it. */
b->yy_ch_buf = 0;
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR(
"fatal error - scanner input buffer overflow" );
yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
num_to_read = yy_current_buffer->yy_buf_size -
number_to_move - 1;
#endif
}
if ( num_to_read > YY_READ_BUF_SIZE )
num_to_read = YY_READ_BUF_SIZE;
/* Read in more data. */
YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
yy_n_chars, num_to_read );
yy_current_buffer->yy_n_chars = yy_n_chars;
}
if ( yy_n_chars == 0 )
{
if ( number_to_move == YY_MORE_ADJ )
{
ret_val = EOB_ACT_END_OF_FILE;
yyrestart( yyin );
}
else
{
ret_val = EOB_ACT_LAST_MATCH;
yy_current_buffer->yy_buffer_status =
YY_BUFFER_EOF_PENDING;
}
}
else
ret_val = EOB_ACT_CONTINUE_SCAN;
yy_n_chars += number_to_move;
yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
return ret_val;
}
/* yy_get_previous_state - get the state just before the EOB char was reached */
static yy_state_type yy_get_previous_state()
{
register yy_state_type yy_current_state;
register char *yy_cp;
yy_current_state = yy_start;
yy_current_state += YY_AT_BOL();
for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
{
register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
yy_last_accepting_cpos = yy_cp;
}
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 1429 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
}
return yy_current_state;
}
/* yy_try_NUL_trans - try to make a transition on the NUL character
*
* synopsis
* next_state = yy_try_NUL_trans( current_state );
*/
#ifdef YY_USE_PROTOS
static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
#else
static yy_state_type yy_try_NUL_trans( yy_current_state )
yy_state_type yy_current_state;
#endif
{
register int yy_is_jam;
register char *yy_cp = yy_c_buf_p;
register YY_CHAR yy_c = 1;
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
yy_last_accepting_cpos = yy_cp;
}
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 1429 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
yy_is_jam = (yy_current_state == 1428);
return yy_is_jam ? 0 : yy_current_state;
}
#ifndef YY_NO_UNPUT
#ifdef YY_USE_PROTOS
static void yyunput( int c, register char *yy_bp )
#else
static void yyunput( c, yy_bp )
int c;
register char *yy_bp;
#endif
{
register char *yy_cp = yy_c_buf_p;
/* undo effects of setting up yytext */
*yy_cp = yy_hold_char;
if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
{ /* need to shift things up to make room */
/* +2 for EOB chars. */
register int number_to_move = yy_n_chars + 2;
register char *dest = &yy_current_buffer->yy_ch_buf[
yy_current_buffer->yy_buf_size + 2];
register char *source =
&yy_current_buffer->yy_ch_buf[number_to_move];
while ( source > yy_current_buffer->yy_ch_buf )
*--dest = *--source;
yy_cp += (int) (dest - source);
yy_bp += (int) (dest - source);
yy_current_buffer->yy_n_chars =
yy_n_chars = yy_current_buffer->yy_buf_size;
if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
YY_FATAL_ERROR( "flex scanner push-back overflow" );
}
*--yy_cp = (char) c;
yytext_ptr = yy_bp;
yy_hold_char = *yy_cp;
yy_c_buf_p = yy_cp;
}
#endif /* ifndef YY_NO_UNPUT */
#ifdef __cplusplus
static int yyinput()
#else
static int input()
#endif
{
int c;
*yy_c_buf_p = yy_hold_char;
if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
{
/* yy_c_buf_p now points to the character we want to return.
* If this occurs *before* the EOB characters, then it's a
* valid NUL; if not, then we've hit the end of the buffer.
*/
if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
/* This was really a NUL. */
*yy_c_buf_p = '\0';
else
{ /* need more input */
int offset = yy_c_buf_p - yytext_ptr;
++yy_c_buf_p;
switch ( yy_get_next_buffer() )
{
case EOB_ACT_LAST_MATCH:
/* This happens because yy_g_n_b()
* sees that we've accumulated a
* token and flags that we need to
* try matching the token before
* proceeding. But for input(),
* there's no matching to consider.
* So convert the EOB_ACT_LAST_MATCH
* to EOB_ACT_END_OF_FILE.
*/
/* Reset buffer status. */
yyrestart( yyin );
/* fall through */
case EOB_ACT_END_OF_FILE:
{
if ( yywrap() )
return EOF;
if ( ! yy_did_buffer_switch_on_eof )
YY_NEW_FILE;
#ifdef __cplusplus
return yyinput();
#else
return input();
#endif
}
case EOB_ACT_CONTINUE_SCAN:
yy_c_buf_p = yytext_ptr + offset;
break;
}
}
}
c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
*yy_c_buf_p = '\0'; /* preserve yytext */
yy_hold_char = *++yy_c_buf_p;
yy_current_buffer->yy_at_bol = (c == '\n');
return c;
}
#ifdef YY_USE_PROTOS
void yyrestart( FILE *input_file )
#else
void yyrestart( input_file )
FILE *input_file;
#endif
{
if ( ! yy_current_buffer )
yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
yy_init_buffer( yy_current_buffer, input_file );
yy_load_buffer_state();
}
#ifdef YY_USE_PROTOS
void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
#else
void yy_switch_to_buffer( new_buffer )
YY_BUFFER_STATE new_buffer;
#endif
{
if ( yy_current_buffer == new_buffer )
return;
if ( yy_current_buffer )
{
/* Flush out information for old buffer. */
*yy_c_buf_p = yy_hold_char;
yy_current_buffer->yy_buf_pos = yy_c_buf_p;
yy_current_buffer->yy_n_chars = yy_n_chars;
}
yy_current_buffer = new_buffer;
yy_load_buffer_state();
/* We don't actually know whether we did this switch during
* EOF (yywrap()) processing, but the only time this flag
* is looked at is after yywrap() is called, so it's safe
* to go ahead and always set it.
*/
yy_did_buffer_switch_on_eof = 1;
}
#ifdef YY_USE_PROTOS
void yy_load_buffer_state( void )
#else
void yy_load_buffer_state()
#endif
{
yy_n_chars = yy_current_buffer->yy_n_chars;
yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
yyin = yy_current_buffer->yy_input_file;
yy_hold_char = *yy_c_buf_p;
}
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
#else
YY_BUFFER_STATE yy_create_buffer( file, size )
FILE *file;
int size;
#endif
{
YY_BUFFER_STATE b;
b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
b->yy_buf_size = size;
/* yy_ch_buf has to be 2 characters longer than the size given because
* we need to put in 2 end-of-buffer characters.
*/
b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
b->yy_is_our_buffer = 1;
yy_init_buffer( b, file );
return b;
}
#ifdef YY_USE_PROTOS
void yy_delete_buffer( YY_BUFFER_STATE b )
#else
void yy_delete_buffer( b )
YY_BUFFER_STATE b;
#endif
{
if ( ! b )
return;
if ( b == yy_current_buffer )
yy_current_buffer = (YY_BUFFER_STATE) 0;
if ( b->yy_is_our_buffer )
yy_flex_free( (void *) b->yy_ch_buf );
yy_flex_free( (void *) b );
}
#ifndef YY_ALWAYS_INTERACTIVE
#ifndef YY_NEVER_INTERACTIVE
#include <unistd.h>
#endif
#endif
#ifdef YY_USE_PROTOS
void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
#else
void yy_init_buffer( b, file )
YY_BUFFER_STATE b;
FILE *file;
#endif
{
int oerrno = errno;
yy_flush_buffer( b );
b->yy_input_file = file;
b->yy_fill_buffer = 1;
#if defined(YY_ALWAYS_INTERACTIVE) && YY_ALWAYS_INTERACTIVE
b->yy_is_interactive = 1;
#else
#if defined(YY_NEVER_INTERACTIVE) && YY_NEVER_INTERACTIVE
b->yy_is_interactive = 0;
#else
b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
#endif
#endif
errno = oerrno;
}
#ifdef YY_USE_PROTOS
void yy_flush_buffer( YY_BUFFER_STATE b )
#else
void yy_flush_buffer( b )
YY_BUFFER_STATE b;
#endif
{
if ( ! b )
return;
b->yy_n_chars = 0;
/* We always need two end-of-buffer characters. The first causes
* a transition to the end-of-buffer state. The second causes
* a jam in that state.
*/
b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
b->yy_buf_pos = &b->yy_ch_buf[0];
b->yy_at_bol = 1;
b->yy_buffer_status = YY_BUFFER_NEW;
if ( b == yy_current_buffer )
yy_load_buffer_state();
}
#ifndef YY_NO_SCAN_BUFFER
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
#else
YY_BUFFER_STATE yy_scan_buffer( base, size )
char *base;
yy_size_t size;
#endif
{
YY_BUFFER_STATE b;
if ( size < 2 ||
base[size-2] != YY_END_OF_BUFFER_CHAR ||
base[size-1] != YY_END_OF_BUFFER_CHAR )
/* They forgot to leave room for the EOB's. */
return 0;
b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
b->yy_buf_pos = b->yy_ch_buf = base;
b->yy_is_our_buffer = 0;
b->yy_input_file = 0;
b->yy_n_chars = b->yy_buf_size;
b->yy_is_interactive = 0;
b->yy_at_bol = 1;
b->yy_fill_buffer = 0;
b->yy_buffer_status = YY_BUFFER_NEW;
yy_switch_to_buffer( b );
return b;
}
#endif
#ifndef YY_NO_SCAN_STRING
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
#else
YY_BUFFER_STATE yy_scan_string( yy_str )
yyconst char *yy_str;
#endif
{
int len;
for ( len = 0; yy_str[len]; ++len )
;
return yy_scan_bytes( yy_str, len );
}
#endif
#ifndef YY_NO_SCAN_BYTES
#ifdef YY_USE_PROTOS
YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
#else
YY_BUFFER_STATE yy_scan_bytes( bytes, len )
yyconst char *bytes;
int len;
#endif
{
YY_BUFFER_STATE b;
char *buf;
yy_size_t n;
int i;
/* Get memory for full buffer, including space for trailing EOB's. */
n = len + 2;
buf = (char *) yy_flex_alloc( n );
if ( ! buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
for ( i = 0; i < len; ++i )
buf[i] = bytes[i];
buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
b = yy_scan_buffer( buf, n );
if ( ! b )
YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
/* It's okay to grow etc. this buffer, and we should throw it
* away when we're done.
*/
b->yy_is_our_buffer = 1;
return b;
}
#endif
#ifndef YY_NO_PUSH_STATE
#ifdef YY_USE_PROTOS
static void yy_push_state( int new_state )
#else
static void yy_push_state( new_state )
int new_state;
#endif
{
if ( yy_start_stack_ptr >= yy_start_stack_depth )
{
yy_size_t new_size;
yy_start_stack_depth += YY_START_STACK_INCR;
new_size = yy_start_stack_depth * sizeof( int );
if ( ! yy_start_stack )
yy_start_stack = (int *) yy_flex_alloc( new_size );
else
yy_start_stack = (int *) yy_flex_realloc(
(void *) yy_start_stack, new_size );
if ( ! yy_start_stack )
YY_FATAL_ERROR(
"out of memory expanding start-condition stack" );
}
yy_start_stack[yy_start_stack_ptr++] = YY_START;
BEGIN(new_state);
}
#endif
#ifndef YY_NO_POP_STATE
static void yy_pop_state()
{
if ( --yy_start_stack_ptr < 0 )
YY_FATAL_ERROR( "start-condition stack underflow" );
BEGIN(yy_start_stack[yy_start_stack_ptr]);
}
#endif
#ifndef YY_NO_TOP_STATE
static int yy_top_state()
{
return yy_start_stack[yy_start_stack_ptr - 1];
}
#endif
#ifndef YY_EXIT_FAILURE
#define YY_EXIT_FAILURE 2
#endif
#ifdef YY_USE_PROTOS
static void yy_fatal_error( yyconst char msg[] )
#else
static void yy_fatal_error( msg )
char msg[];
#endif
{
(void) fprintf( stderr, "%s\n", msg );
exit( YY_EXIT_FAILURE );
}
/* Redefine yyless() so it works in section 3 code. */
#undef yyless
#define yyless(n) \
do \
{ \
/* Undo effects of setting up yytext. */ \
yytext[yyleng] = yy_hold_char; \
yy_c_buf_p = yytext + n; \
yy_hold_char = *yy_c_buf_p; \
*yy_c_buf_p = '\0'; \
yyleng = n; \
} \
while ( 0 )
/* Internal utility routines. */
#ifndef yytext_ptr
#ifdef YY_USE_PROTOS
static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
#else
static void yy_flex_strncpy( s1, s2, n )
char *s1;
yyconst char *s2;
int n;
#endif
{
register int i;
for ( i = 0; i < n; ++i )
s1[i] = s2[i];
}
#endif
#ifdef YY_NEED_STRLEN
#ifdef YY_USE_PROTOS
static int yy_flex_strlen( yyconst char *s )
#else
static int yy_flex_strlen( s )
yyconst char *s;
#endif
{
register int n;
for ( n = 0; s[n]; ++n )
;
return n;
}
#endif
#ifdef YY_USE_PROTOS
static void *yy_flex_alloc( yy_size_t size )
#else
static void *yy_flex_alloc( size )
yy_size_t size;
#endif
{
return (void *) malloc( size );
}
#ifdef YY_USE_PROTOS
static void *yy_flex_realloc( void *ptr, yy_size_t size )
#else
static void *yy_flex_realloc( ptr, size )
void *ptr;
yy_size_t size;
#endif
{
/* The cast to (char *) in the following accommodates both
* implementations that use char* generic pointers, and those
* that use void* generic pointers. It works with the latter
* because both ANSI C and C++ allow castless assignment from
* any pointer type to void*, and deal with argument conversions
* as though doing an assignment.
*/
return (void *) realloc( (char *) ptr, size );
}
#ifdef YY_USE_PROTOS
static void yy_flex_free( void *ptr )
#else
static void yy_flex_free( ptr )
void *ptr;
#endif
{
free( ptr );
}
#if defined(YY_MAIN) && YY_MAIN
int main()
{
yylex();
return 0;
}
#endif
#line 460 "toke.l"
static int
fill(s, len)
char *s;
int len;
{
int i, j;
yylval.string = (char *) malloc(len + 1);
if (yylval.string == NULL) {
yyerror("unable to allocate memory");
return(FALSE);
}
/* Copy the string and collapse any escaped characters. */
for (i = 0, j = 0; i < len; i++, j++) {
if (s[i] == '\\' && i != len - 1)
yylval.string[j] = s[++i];
else
yylval.string[j] = s[i];
}
yylval.string[j] = '\0';
return(TRUE);
}
static int
fill_cmnd(s, len)
char *s;
int len;
{
arg_len = arg_size = 0;
yylval.command.cmnd = (char *) malloc(++len);
if (yylval.command.cmnd == NULL) {
yyerror("unable to allocate memory");
return(FALSE);
}
/* copy the string and NULL-terminate it (escapes handled by fnmatch) */
(void) strlcpy(yylval.command.cmnd, s, len);
yylval.command.args = NULL;
return(TRUE);
}
static int
fill_args(s, len, addspace)
char *s;
int len;
int addspace;
{
int new_len;
char *p;
if (yylval.command.args == NULL) {
addspace = 0;
new_len = len;
} else
new_len = arg_len + len + addspace;
if (new_len >= arg_size) {
/* Allocate more space than we need for subsequent args */
while (new_len >= (arg_size += COMMANDARGINC))
;
p = yylval.command.args ?
(char *) realloc(yylval.command.args, arg_size) :
(char *) malloc(arg_size);
if (p == NULL) {
efree(yylval.command.args);
yyerror("unable to allocate memory");
return(FALSE);
} else
yylval.command.args = p;
}
/* Efficiently append the arg (with a leading space if needed). */
p = yylval.command.args + arg_len;
if (addspace)
*p++ = ' ';
if (strlcpy(p, s, arg_size - (p - yylval.command.args)) != len) {
yyerror("fill_args: buffer overflow"); /* paranoia */
return(FALSE);
}
arg_len = new_len;
return(TRUE);
}
struct sudoers_state {
YY_BUFFER_STATE bs;
char *path;
int lineno;
};
#define MAX_SUDOERS_DEPTH 128
#define SUDOERS_STACK_INCREMENT 16
static int
switch_buffer(path)
char *path;
{
static size_t stacksize, depth;
static struct sudoers_state *state;
static int keepopen;
FILE *fp;
if (path != NULL) {
/* push current state */
if ((path = strdup(path)) == NULL) {
yyerror("unable to allocate memory");
return(FALSE);
}
if (depth >= stacksize) {
if (depth > MAX_SUDOERS_DEPTH) {
yyerror("too many levels of includes");
return(FALSE);
}
stacksize += SUDOERS_STACK_INCREMENT;
state = (struct sudoers_state *) realloc(state,
sizeof(state) * stacksize);
if (state == NULL) {
yyerror("unable to allocate memory");
return(FALSE);
}
}
if ((fp = open_sudoers(path, &keepopen)) == NULL) {
yyerror(path);
return(FALSE);
}
state[depth].bs = YY_CURRENT_BUFFER;
state[depth].path = sudoers;
state[depth].lineno = sudolineno;
depth++;
sudolineno = 1;
sudoers = path;
yy_switch_to_buffer(yy_create_buffer(fp, YY_BUF_SIZE));
} else {
/* pop */
if (depth == 0)
return(FALSE);
depth--;
if (!keepopen)
fclose(YY_CURRENT_BUFFER->yy_input_file);
yy_delete_buffer(YY_CURRENT_BUFFER);
yy_switch_to_buffer(state[depth].bs);
efree(sudoers);
sudoers = state[depth].path;
sudolineno = state[depth].lineno;
keepopen = FALSE;
}
return(TRUE);
}