Blob Blame History Raw
#line 2 "src/conf_lex.c"

#line 4 "src/conf_lex.c"

#define  YY_INT_ALIGNED short int

/* A lexical scanner generated by flex */

#define yy_create_buffer conf_create_buffer
#define yy_delete_buffer conf_delete_buffer
#define yy_flex_debug conf_flex_debug
#define yy_init_buffer conf_init_buffer
#define yy_flush_buffer conf_flush_buffer
#define yy_load_buffer_state conf_load_buffer_state
#define yy_switch_to_buffer conf_switch_to_buffer
#define yyin confin
#define yyleng confleng
#define yylex conflex
#define yylineno conflineno
#define yyout confout
#define yyrestart confrestart
#define yytext conftext
#define yywrap confwrap
#define yyalloc confalloc
#define yyrealloc confrealloc
#define yyfree conffree

#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 6
#define YY_FLEX_SUBMINOR_VERSION 0
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif

/* First, we deal with  platform-specific or compiler-specific issues. */

/* begin standard C headers. */
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <stdlib.h>

/* end standard C headers. */

/* flex integer type definitions */

#ifndef FLEXINT_H
#define FLEXINT_H

/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */

#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L

/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
 * if you want the limit (max/min) macros for int types. 
 */
#ifndef __STDC_LIMIT_MACROS
#define __STDC_LIMIT_MACROS 1
#endif

#include <inttypes.h>
typedef int8_t flex_int8_t;
typedef uint8_t flex_uint8_t;
typedef int16_t flex_int16_t;
typedef uint16_t flex_uint16_t;
typedef int32_t flex_int32_t;
typedef uint32_t flex_uint32_t;
#else
typedef signed char flex_int8_t;
typedef short int flex_int16_t;
typedef int flex_int32_t;
typedef unsigned char flex_uint8_t; 
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;

/* Limits of integral types. */
#ifndef INT8_MIN
#define INT8_MIN               (-128)
#endif
#ifndef INT16_MIN
#define INT16_MIN              (-32767-1)
#endif
#ifndef INT32_MIN
#define INT32_MIN              (-2147483647-1)
#endif
#ifndef INT8_MAX
#define INT8_MAX               (127)
#endif
#ifndef INT16_MAX
#define INT16_MAX              (32767)
#endif
#ifndef INT32_MAX
#define INT32_MAX              (2147483647)
#endif
#ifndef UINT8_MAX
#define UINT8_MAX              (255U)
#endif
#ifndef UINT16_MAX
#define UINT16_MAX             (65535U)
#endif
#ifndef UINT32_MAX
#define UINT32_MAX             (4294967295U)
#endif

#endif /* ! C99 */

#endif /* ! FLEXINT_H */

#ifdef __cplusplus

/* The "const" storage-class-modifier is valid. */
#define YY_USE_CONST

#else	/* ! __cplusplus */

/* C99 requires __STDC__ to be defined as 1. */
#if defined (__STDC__)

#define YY_USE_CONST

#endif	/* defined (__STDC__) */
#endif	/* ! __cplusplus */

#ifdef YY_USE_CONST
#define yyconst const
#else
#define yyconst
#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 confrestart(confin  )

#define YY_END_OF_BUFFER_CHAR 0

/* Size of default input buffer. */
#ifndef YY_BUF_SIZE
#ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k.
 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
 * Ditto for the __ia64__ case accordingly.
 */
#define YY_BUF_SIZE 32768
#else
#define YY_BUF_SIZE 16384
#endif /* __ia64__ */
#endif

/* The state buf must be large enough to hold one state per character in the main buffer.
 */
#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))

#ifndef YY_TYPEDEF_YY_BUFFER_STATE
#define YY_TYPEDEF_YY_BUFFER_STATE
typedef struct yy_buffer_state *YY_BUFFER_STATE;
#endif

#ifndef YY_TYPEDEF_YY_SIZE_T
#define YY_TYPEDEF_YY_SIZE_T
typedef size_t yy_size_t;
#endif

extern yy_size_t confleng;

extern FILE *confin, *confout;

#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2

    #define YY_LESS_LINENO(n)
    #define YY_LINENO_REWIND_TO(ptr)
    
/* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \
	do \
		{ \
		/* Undo effects of setting up conftext. */ \
        int yyless_macro_arg = (n); \
        YY_LESS_LINENO(yyless_macro_arg);\
		*yy_cp = (yy_hold_char); \
		YY_RESTORE_YY_MORE_OFFSET \
		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
		YY_DO_BEFORE_ACTION; /* set up conftext again */ \
		} \
	while ( 0 )

#define unput(c) yyunput( c, (yytext_ptr)  )

#ifndef YY_STRUCT_YY_BUFFER_STATE
#define YY_STRUCT_YY_BUFFER_STATE
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;

    int yy_bs_lineno; /**< The line count. */
    int yy_bs_column; /**< The column count. */
    
	/* 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 confrestart()), so that the user can continue scanning by
	 * just pointing confin at a new input file.
	 */
#define YY_BUFFER_EOF_PENDING 2

	};
#endif /* !YY_STRUCT_YY_BUFFER_STATE */

/* Stack of input buffers. */
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */

/* 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".
 *
 * Returns the top of the stack, or NULL.
 */
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
                          : NULL)

/* Same as previous macro, but useful when we know that the buffer stack is not
 * NULL or when we need an lvalue. For internal use only.
 */
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]

/* yy_hold_char holds the character lost when conftext is formed. */
static char yy_hold_char;
static int yy_n_chars;		/* number of characters read into yy_ch_buf */
yy_size_t confleng;

/* Points to current character in buffer. */
static char *yy_c_buf_p = (char *) 0;
static int yy_init = 0;		/* whether we need to initialize */
static int yy_start = 0;	/* start state number */

/* Flag which is used to allow confwrap()'s to do buffer switches
 * instead of setting up a fresh confin.  A bit of a hack ...
 */
static int yy_did_buffer_switch_on_eof;

void confrestart (FILE *input_file  );
void conf_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
YY_BUFFER_STATE conf_create_buffer (FILE *file,int size  );
void conf_delete_buffer (YY_BUFFER_STATE b  );
void conf_flush_buffer (YY_BUFFER_STATE b  );
void confpush_buffer_state (YY_BUFFER_STATE new_buffer  );
void confpop_buffer_state (void );

static void confensure_buffer_stack (void );
static void conf_load_buffer_state (void );
static void conf_init_buffer (YY_BUFFER_STATE b,FILE *file  );

#define YY_FLUSH_BUFFER conf_flush_buffer(YY_CURRENT_BUFFER )

YY_BUFFER_STATE conf_scan_buffer (char *base,yy_size_t size  );
YY_BUFFER_STATE conf_scan_string (yyconst char *yy_str  );
YY_BUFFER_STATE conf_scan_bytes (yyconst char *bytes,yy_size_t len  );

void *confalloc (yy_size_t  );
void *confrealloc (void *,yy_size_t  );
void conffree (void *  );

#define yy_new_buffer conf_create_buffer

#define yy_set_interactive(is_interactive) \
	{ \
	if ( ! YY_CURRENT_BUFFER ){ \
        confensure_buffer_stack (); \
		YY_CURRENT_BUFFER_LVALUE =    \
            conf_create_buffer(confin,YY_BUF_SIZE ); \
	} \
	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
	}

#define yy_set_bol(at_bol) \
	{ \
	if ( ! YY_CURRENT_BUFFER ){\
        confensure_buffer_stack (); \
		YY_CURRENT_BUFFER_LVALUE =    \
            conf_create_buffer(confin,YY_BUF_SIZE ); \
	} \
	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
	}

#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)

/* Begin user sect3 */

typedef unsigned char YY_CHAR;

FILE *confin = (FILE *) 0, *confout = (FILE *) 0;

typedef int yy_state_type;

extern int conflineno;

int conflineno = 1;

extern char *conftext;
#ifdef yytext_ptr
#undef yytext_ptr
#endif
#define yytext_ptr conftext

static yy_state_type yy_get_previous_state (void );
static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
static int yy_get_next_buffer (void );
#if defined(__GNUC__) && __GNUC__ >= 3
__attribute__((__noreturn__))
#endif
static void yy_fatal_error (yyconst char msg[]  );

/* Done after the current pattern has been matched and before the
 * corresponding action - sets up conftext.
 */
#define YY_DO_BEFORE_ACTION \
	(yytext_ptr) = yy_bp; \
	confleng = (size_t) (yy_cp - yy_bp); \
	(yy_hold_char) = *yy_cp; \
	*yy_cp = '\0'; \
	(yy_c_buf_p) = yy_cp;

#define YY_NUM_RULES 59
#define YY_END_OF_BUFFER 60
/* This struct is not used in this scanner,
   but its presence is necessary. */
struct yy_trans_info
	{
	flex_int32_t yy_verify;
	flex_int32_t yy_nxt;
	};
static yyconst flex_int16_t yy_accept[2848] =
    {   0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,   60,   58,   32,   33,    1,   57,
       58,   32,   58,    1,    6,    4,   58,   58,    6,    6,
        6,    6,    6,    6,    6,    6,   32,   10,    9,   11,
        8,   12,    9,    9,   32,    6,   11,    8,   12,    6,
        9,    6,    6,    6,    6,    6,    6,    6,    6,   13,
        6,    6,    6,    6,    6,    6,    6,    6,    6,   32,
       15,   14,   14,   32,   14,   14,    6,    4,   14,   14,
        6,    6,    6,    6,    6,    6,    6,    6,   23,    6,

        6,    6,    6,    6,    6,    6,    6,    6,   31,    1,
       31,   31,   31,    1,    6,    4,   31,   31,    6,    6,
        6,    6,    6,    6,    6,    6,   32,    7,   32,    7,
       56,   56,   56,   56,   56,   56,   56,   56,    6,    4,
       56,   56,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,   26,   26,    6,   26,    6,    6,
        6,    6,    6,    6,    6,    6,   49,   49,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,   32,    1,
       57,    0,    0,   32,    0,    6,    4,    0,    0,    6,
        6,    6,    6,    6,    6,    6,    6,    5,    1,    1,

        6,    4,    4,    4,    3,    0,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,   32,   10,    9,    9,
        9,    9,   32,    6,    6,    9,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    9,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,   13,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,   32,
       15,   14,   14,   32,   14,    5,   14,    6,    4,    4,
        4,    3,   14,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,   23,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,   31,    1,   31,   31,   31,

        5,    1,    1,    6,    4,    4,    4,    3,   31,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,   32,
        7,    7,   32,    7,    7,   56,   56,   56,   55,   56,
       56,   56,    5,   56,    6,    4,    4,    4,    3,   56,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,   26,   26,    6,   26,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,   49,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        0,    0,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    5,    5,    5,    1,    4,    4,    4,    4,

        3,    3,    3,    0,    0,    0,    0,    0,    0,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    5,    5,    5,   14,    4,    4,    4,    4,
        3,    3,    3,   14,   14,   14,   14,   14,   14,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,   31,    5,    5,    5,    1,    4,    4,    4,    4,

        3,    3,    3,   31,   31,   31,   31,   31,   31,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
       56,   56,   54,    5,    5,    5,   56,    4,    4,    4,
        4,    3,    3,    3,   56,   56,   56,   56,   56,   56,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    0,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    5,    5,
        5,    5,    1,    4,    3,    3,    3,    3,    0,    0,

        0,    0,    0,    0,    0,    0,    0,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    5,    5,    5,    5,    4,    3,    3,    3,    3,
       14,   14,   14,   14,   14,   14,   14,   14,   14,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    5,    5,    5,    5,    1,    4,    3,    3,    3,

        3,   31,   31,   31,   31,   31,   31,   31,   31,   31,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,   56,    5,    5,    5,    5,    4,    3,    3,    3,
        3,   56,   56,   56,   56,   56,   56,   56,   56,   56,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    0,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    5,    1,    4,    3,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    2,

        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    5,    4,    3,   14,   14,   14,
       14,   14,   14,   14,   14,   14,   14,    2,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        5,    1,    4,    3,   31,   31,   31,   31,   31,   31,
       31,   31,   31,   31,    2,    6,    6,    6,    6,    6,

        6,    6,    6,    6,    6,    6,    5,    4,    3,   56,
       56,   56,   56,   56,   56,   56,   56,   56,   56,    2,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    0,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    5,    1,    2,    3,    0,    0,    0,   20,    0,
        0,    0,    0,    0,    0,    0,    0,    2,    2,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,

        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    5,    2,    3,   14,   14,   14,   14,
       14,   14,   14,   14,   14,   14,   14,   14,    2,    2,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    5,    1,    2,    3,   31,   31,   31,   20,
       31,   31,   31,   31,   31,   31,   31,   31,    2,    2,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    5,    2,    3,   56,   56,   56,   20,   56,   56,

       56,   56,   56,   56,   56,   56,    2,    2,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    0,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    2,
        1,    1,    2,    2,    2,    2,    0,    0,    0,    0,
       21,   19,    0,    0,    0,    0,   17,    2,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,

        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    2,    2,    2,    2,    2,   14,   14,   14,
       14,   14,   14,   14,   14,   14,   14,   14,    2,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    2,    1,    1,    2,    2,    2,    2,   31,   31,
       31,   31,   21,   19,   31,   31,   31,   31,   17,    2,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    2,    2,    2,    2,    2,   56,   56,   56,   56,
       21,   19,   56,   56,   56,   56,   17,    2,    6,    6,

        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    0,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    2,    2,    2,
        1,    2,    2,    2,    2,    2,    2,    2,    0,    0,
       16,    0,   24,   18,    0,    0,    2,    6,    6,    6,
        0,   39,    6,    0,   52,    6,    6,    6,    6,    6,
        6,    6,    0,   42,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,

        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
       14,   14,   14,   14,   14,   14,   14,   14,    2,    6,
        6,    6,   14,    6,   14,    6,    6,    6,    6,    6,
        6,    6,   14,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    2,    2,    2,    1,
        2,    2,    2,    2,    2,    2,    2,   31,   31,   16,
       31,   24,   18,   31,   31,    2,    6,    6,    6,   31,
        6,   31,    6,    6,    6,    6,    6,    6,    6,   31,
        6,    2,    2,    2,    2,    2,    2,    2,    2,    2,

        2,   56,   56,   16,   56,   24,   18,   56,   56,    2,
        6,    6,    6,   39,    6,   52,    6,    6,    6,    6,
        6,    6,    6,   42,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    0,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    2,    2,    2,    2,    1,    2,    2,    2,
        2,    2,    0,    0,   27,    0,   25,   30,    2,    6,
        6,    0,   34,    6,   39,    6,   52,    6,    6,    6,
        6,    6,    6,    6,   42,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,

        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    2,    2,    2,    2,    2,    2,    2,    2,
        2,   14,   14,   14,   14,   14,   14,    2,    6,    6,
       14,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    2,    2,    2,    2,    1,    2,    2,
        2,    2,    2,   31,   31,   27,   31,   25,   30,    2,
        6,    6,   31,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    2,    2,    2,    2,    2,    2,    2,

        2,    2,   56,   56,   27,   56,   25,   30,    2,    6,
        6,   34,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    2,    1,    2,
        2,    0,   22,    0,    2,    6,    6,   34,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,

        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        2,    2,    2,   14,   14,   14,    2,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    2,    1,    2,    2,   31,
       22,   31,    2,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    2,    2,    2,
       56,   22,   56,    2,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,

        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    2,    1,    2,    2,
        0,    0,    6,    6,    6,    6,    6,    6,    0,   50,
        6,    6,    6,    6,    0,   44,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    2,
        2,    2,   14,   14,    6,    6,    6,    6,    6,    6,
       14,    6,    6,    6,    6,   14,    6,    6,    6,    6,

        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    2,    1,    2,    2,   31,   31,    6,    6,
        6,    6,    6,    6,   31,    6,    6,    6,    6,   31,
        6,    6,    6,    2,    2,    2,   56,   56,    6,    6,
        6,    6,    6,    6,   50,    6,    6,    6,    6,   44,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    2,
        2,    0,   29,    6,    6,    6,    6,    6,    6,   50,
        6,    6,    6,    6,   44,    0,   51,    6,    6,    6,

        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    2,    2,   14,   14,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
       14,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    2,    2,   31,   29,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,   31,
        6,    6,    2,    2,   56,   29,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,   51,    6,    6,    6,

        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    0,    6,    6,    6,    6,    0,   36,
        0,   35,    6,    6,    6,    0,   47,   51,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
       14,    6,    6,    6,    6,   14,   14,    6,    6,    6,
       14,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,   31,    6,    6,    6,    6,   31,   31,    6,

        6,    6,   31,    6,    6,   56,    6,    6,    6,    6,
       36,   35,    6,    6,    6,   47,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,   28,    6,    6,    6,
        6,   36,   35,    0,   46,    6,    6,   47,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,   14,    6,    6,    6,    6,
       14,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,   28,    6,    6,    6,    6,   31,    6,

        6,    6,    6,   28,    6,    6,    6,    6,   46,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        0,   53,    6,    0,   37,   46,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,   14,    6,   14,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,   31,    6,   31,    6,    6,
        6,    6,    6,   53,    6,   37,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,

        6,    6,    6,   53,    6,   37,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,

        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    0,   40,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,   14,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,   31,    6,    6,    6,    6,    6,   40,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,   40,    0,   38,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,

        6,    6,    6,    6,   14,    6,    6,    6,    6,    6,
        6,    6,    6,   31,    6,    6,    6,    6,   38,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,   38,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        0,   45,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,   14,    6,    6,    6,    6,
        6,    6,   31,    6,    6,    6,   45,    6,    6,    6,

        6,    6,    6,    6,    0,   41,    0,   43,   45,    6,
        6,    6,    6,    6,    6,   14,   14,    6,    6,   31,
       31,    6,   41,   43,    6,    6,    6,   41,   43,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    0,
       48,    6,   14,   31,   48,   48,    0
    } ;

static yyconst YY_CHAR 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,    4,    5,    1,    6,    7,    8,    7,    7,    7,
        7,    7,    9,   10,   11,    7,   12,   13,   14,   15,
       16,   16,   16,   17,   16,   16,   16,    7,    7,    7,
       18,   19,    7,   20,   21,   21,   21,   21,   21,   21,
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
       21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
        7,   22,    7,    7,   23,    7,   24,   25,   26,   27,

       28,   29,   30,   31,   32,   21,   33,   34,   35,   36,
       37,   38,   39,   40,   41,   42,   43,   44,   45,   46,
       47,   48,   49,    7,   50,    7,    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,    7,    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,    8,    8,    1,    1,    1,

        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    8,    1,    1,    1,    1,    1,    8,
        1,    1,    8,    1,    1,    1,    1,    8,    8,    1,
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
        1,    1,    1,    1,    1,    8,    1,    1,    1,    1,
        1,    8,    1,    1,    1
    } ;

static yyconst YY_CHAR yy_meta[51] =
    {   0,
        1,    2,    3,    2,    4,    1,    4,    5,    4,    4,
        6,    4,    5,    5,    5,    5,    5,    4,    7,    4,
        5,    4,    5,    5,    5,    5,    5,    5,    5,    5,
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
        5,    5,    5,    5,    5,    5,    5,    5,    4,    4
    } ;

static yyconst flex_uint16_t yy_base[3227] =
    {   0,
        0,   50,  100,    0,  150,  200,  250,  300,  350,  400,
      450,  500,  550,  600,   11,   12,    0,    0,  650,  700,
      750,  800,  850,  900,12111,17416,   19,17416,    0,    0,
    12083,  950,    5,12073, 1000,  122,   12,12066, 1050,    0,
        7,   87,    8,    1,   12,   15, 1099,17416,  117,17416,
    17416,17416,  124, 1115, 1132, 1182,12054,12048,12046,    0,
     1232,12039,12027,12039,   68,  230,12000,12014,11992,    0,
     1282, 1332,    9,   91,  237,  238,  103,  119,  247,  276,
    17416,    0, 1378,  279,  372,  472, 1428,  572,  478,  578,
     1478,   88,  250,  337,  258,  332,  261,  264,    0, 1528,

     1578,  345,  267,  339,  360,  338,  266,  272,    0,  387,
     1628,  461,  473,  561, 1678,  772,  573,  761, 1728,  357,
      369,  740,  460,  440,  370,  463,  773,  492,  780, 1011,
        0, 1774, 1820,  343,  543,   19, 1023, 1038, 1870, 1073,
     1084, 1104, 1920,  560,  540,  563,  745,  753, 1000,  545,
        2,  761,  771,  988,12004,    0, 1970, 2020, 2070,  995,
     1010, 1041, 1045, 1004, 1020, 1039,    0, 1282, 2120, 2170,
    11988,11938,11947,  993,  430,11910,11916,11912, 1062,    0,
        0,11904,11901,    0, 1033, 2219, 1305, 1071,11891,11873,
    11794,11742, 1044,  730,11630,11625,11585, 1355,11574,11566,

     2264, 1364, 1372, 1400, 1450, 1474,11530,11515,11494,11457,
    11436, 1071,11399,11341,11301,11205, 2313,17416, 2329,    0,
     1299, 1307, 2346, 2395,    0, 2440,11096,11054,11029, 1300,
      980,10900,10890,10869, 2490,    0,    0,10837,10737,10700,
    10687,10610, 1085,10544,10433,10404,10378,    0, 2540, 2590,
     1044, 1311,  749, 1088, 1329, 1312,  556, 1087, 1295, 1405,
    17416,    0, 2636, 1408, 1456, 1550, 1506, 2686, 1601, 1610,
     1650, 1700, 2736, 2785, 1274, 1330, 1379, 1285, 1365, 1380,
      561, 1381, 1384,    0, 2835, 2885, 1294, 1337, 1389, 1328,
     1415, 1408, 1091, 1385, 1421,    0, 1391, 2935, 1461, 1471,

     1751, 1491, 1501, 2985, 1760, 1768, 1796, 1806, 3034, 3083,
     1430, 1402, 1434, 1435, 1515, 1479, 1480, 1452, 1484, 1518,
     1540, 1541, 1553, 1556, 1561,    0, 3129, 3175,10340, 1064,
      430, 1616, 1813, 1656, 3225, 1844, 1892, 1943, 1992, 3275,
     3324, 1525, 1532,10290, 1530, 1541,10252, 1575, 1557, 1558,
     1552, 1485, 1585, 1053,10215,    0, 3374, 3424, 3474, 1572,
     1607, 1608, 1592, 1627, 1629, 1609, 1633, 1634, 1695, 3524,
    10082,10032,10002, 9955, 9936, 1405, 9904, 9736, 9684, 9669,
     1644, 1835, 3573, 1635, 1652, 1658, 1673, 1687, 1680, 1681,
     1641, 1702, 2042, 2093, 2142, 1711, 2228, 2234, 2286, 2298,

     2404, 2410, 2562, 1671, 1731, 1729, 1775, 1579, 3618, 3668,
     3718, 1695, 1715, 1738, 1746, 1762, 1780, 1808,  466, 1533,
     3768, 1707, 1771, 1689, 1769, 1815, 1817, 1786, 1818, 1825,
     3818, 1862, 1833, 1860, 1436, 1262, 1824, 1845, 1872, 1811,
     1850, 3868, 3918, 1873, 1870, 1871, 1875, 1881, 1886, 1876,
     1630, 1872, 2612, 2629, 2658, 1953, 2708, 2719, 2725, 2747,
     2807, 2857, 2907, 2003, 2108, 3007, 3013, 2048, 3968, 4018,
     4068, 1912, 1894, 1905, 1919, 1921, 1922, 1927, 1958, 1932,
     4118, 4168, 1962, 1923, 1968, 1970, 1966, 1971, 1949, 2008,
     1972, 2014, 2957, 3024, 3049, 2053, 3105, 3122, 3151, 3161,

     3168, 3197, 3247, 2063, 2083, 2276, 2305, 2114, 4218, 4268,
     4318, 1986, 1924, 2007, 2006, 2022, 1999, 2031, 2075, 2057,
     4364, 4410, 9613, 3258, 3264, 3286, 2568, 3292, 3346, 3396,
     3446, 3496, 3582, 3588, 3407, 3656, 4344, 3706, 2664, 4460,
     4510, 4560, 2029, 2076, 2094, 2069, 2106, 2112, 2116, 2122,
     2124, 2130, 2125, 9552, 4610, 4660, 2032, 2198, 2127, 2226,
     2131, 2215, 2138, 2197, 2222, 4710, 2224, 2238, 2229, 2256,
     1894, 2205, 2280, 2258, 2266, 2262, 2205, 4760, 4810, 2077,
     2268, 2380, 2294, 2391, 2295, 2266, 2311, 2398, 3643, 3693,
     3742, 3891, 4860, 4910, 3940, 3990, 4041, 4090, 2403, 2143,

     2409, 1590, 2528, 2584, 2411, 2534, 4960, 5010, 5060, 2546,
     2535, 2533, 2511, 2543, 2553, 2555, 2549, 2575, 5110, 2596,
     2315, 2534, 2379, 2580, 2282, 2600, 2570, 2378, 2614, 5160,
     2590, 1344, 2591, 2621, 2625, 2633, 2640, 2647, 2616, 2658,
     5210, 5260, 2647, 2669, 2679, 2596, 2642, 2690, 2692, 2718,
     2711, 4142, 4192, 4240, 4291, 5310, 4350, 4357, 4386, 4396,
     2863, 4433, 2919, 4101, 3906, 5360, 4056, 4306, 5396, 5446,
     5496, 2727, 2722, 2739, 2657, 2726, 2742, 2746, 2740, 2750,
     5546, 5596, 2751, 2743, 2761, 2756, 2770, 2783, 2788, 2784,
     2791, 4482, 4533, 4582, 4633, 5646, 5696, 4784, 4682, 4834,

     4882, 2846, 2829, 2797, 2858, 2910, 2929, 2896, 2948, 5746,
     5796, 5846, 2793, 2790, 2848, 2840, 2792, 2878, 2806, 2819,
     2883, 5892, 4932, 4982, 5032, 5082, 5942, 5232, 5282, 5332,
     5343, 2968, 5349, 4448, 4151, 4548, 5992, 4648, 5372, 6028,
     6078, 6128, 2843, 2687, 2886, 2894, 2896, 2841, 2939, 2919,
     2941, 2944, 6178, 6228, 2968, 2974, 2978, 2989, 2984, 2997,
     3008, 2986, 3016, 6278, 3020, 3025, 3024, 3026, 3032, 3042,
     3043, 3041, 3047, 3056, 6328, 6378, 3066, 3072, 3076, 3080,
     3081, 3097, 3111, 3082, 3114, 6428, 6478, 6528, 6578, 2712,
     1748, 3098, 3130, 3136, 3172, 2944, 3184, 2683, 3182, 9506,

     6628, 6678, 3136, 2647, 2953, 3159, 3134, 3175, 3176, 3177,
     2972, 6728, 2838, 3187, 3044, 2710, 3172, 3060, 3197, 3204,
     3079, 3216, 6778, 3220, 3217, 3218, 3234, 9474, 3221, 3184,
     3245, 3201, 3246, 6828, 6878, 3267, 3147, 3274, 3279, 3269,
     3275, 3280, 3291, 3292, 6928, 6978, 7028, 3457, 4793, 3951,
     5384, 5868, 5421, 3996, 5878, 4201, 5434, 3751, 7078, 7128,
     3293, 3309, 3324, 3308, 3285, 3319, 3323, 3326, 3332, 7178,
     7228, 3331, 3341, 3360, 3335, 3340, 3361, 3365, 3347, 3374,
     7278, 7328, 7378, 7428, 3417, 3449, 3639, 3436, 3961, 3437,
     3468, 3578, 3630, 3499, 3502, 7478, 7528, 3382, 3387, 3380,

     3425, 3390, 3384, 3469, 3430, 3480, 7578, 7628, 7678, 4251,
     5468, 4493, 5521, 5965, 5534, 4888, 5888, 4593, 5571, 4693,
     7728, 7778, 3487, 3484, 3549, 3483, 3591, 3457, 3566, 3571,
     3612, 7828, 7878, 3491, 3618, 3624, 3652, 3663, 3557, 3586,
     3625, 3626, 7928, 3672, 3655, 3674, 3679, 3676, 3673, 3713,
     7978, 8028, 3726, 3670, 3704, 3702, 3719, 3721, 3841, 3724,
     3733, 8078, 9454, 5618, 8128, 2946, 3856, 3061, 9423, 3863,
     3425, 3462, 3611, 3738, 3252, 3017, 3876, 9352, 9249, 8178,
     8228, 3859, 3337, 3876, 3883, 9170, 3862, 3911, 3875, 3881,
     8278, 3902, 3911, 3917, 3922, 9123, 3914, 3877, 3921, 3574,

     3939, 8328, 9122, 3941, 3972, 3978, 3893, 9097, 3981, 3982,
     3983, 3985, 8378, 8428, 4003, 4008, 3984, 4011, 9076, 3992,
     4016, 4023, 4027, 8478, 5668, 8528, 4938, 4843, 4988, 5038,
     5584, 5720, 5770, 5479, 5821, 5238, 5674, 5834, 5093, 5293,
     8578, 8628, 4030, 4029, 4041, 4060, 9036, 4061, 4072, 4031,
     4083, 8678, 8728, 4058, 4062, 4090, 4070, 8993, 4086, 4122,
     4111, 4128, 8778, 4112, 5980, 8828, 4129, 4211, 4180, 4156,
     4206, 4280, 4312, 4261, 4181, 4387, 4246, 4407, 4241, 4301,
     8878, 8928, 4140, 4172, 4136, 4112, 8946, 4166, 4224, 4211,
     4231, 8978, 6002, 9028, 5920, 5629, 6050, 5930, 6100, 6152,

     6202, 6111, 6253, 6056, 6350, 6402, 6356, 6450, 9078, 9128,
     4210, 4271, 4276, 4311, 8863, 4320, 4253, 4316, 4334, 9178,
     9228, 4312, 4358, 4281, 4372, 8822, 4400, 4371, 4373, 4403,
     9278, 4402, 4418, 4410, 8593, 4419, 4435, 3125, 9328, 9378,
     4432, 4458, 4421, 4451, 8470, 4452, 4464, 4470, 4477, 6500,
     8445, 8311, 6550, 6600, 6650, 6700, 4483, 4384, 4498, 4470,
     8204, 8125, 1489, 4507, 4503, 4184, 8098, 4427, 9428, 9478,
     4287, 4559, 4464, 4587, 4764, 4496, 4494, 4659, 2756, 9528,
     7963, 4533, 4518, 4523, 4520, 7901, 4550, 4553, 4564, 4570,
     9578, 4582, 4314, 4640, 4510, 4759, 5064, 4597, 4559, 4783,

     4577, 9628, 9678, 4580, 4833, 4599, 4869, 5264, 4612, 4597,
     4887, 4649, 6850, 6900, 6950, 7000, 7050, 7100, 7153, 7166,
     6456, 6506, 6556, 6611, 7202, 7250, 7304, 6656, 6856, 9728,
     9778, 4647, 4919, 4648, 4931, 5350, 4662, 4598, 4969, 4652,
     9828, 9878, 4740, 4981, 4661, 4987, 5600, 4748, 4603, 5019,
     4663, 7350, 4821, 4848, 7400, 7450, 7500, 7550, 5053, 5073,
     5221, 5253, 5233, 5243, 5337, 5338, 5422, 5417, 5323, 5490,
     9928, 9978, 4774, 5366, 4664, 5416, 5698, 4798, 4783, 5469,
     4749, 7600, 7650, 7700, 7750, 7800, 7850, 7316, 7903, 6956,
     6711, 6911, 7011, 8002, 7261, 8066, 7056, 7356,10028,10078,

     4830, 5473, 4737, 5475, 5748, 4857, 4809, 5486, 4831,10128,
    10178, 4899, 5525, 4761, 5619, 5785, 4913, 4849, 5655, 4852,
    10228, 5023, 5556, 4870, 5608, 4823,10278,10328, 4949, 5667,
     4862, 5675, 5982, 5046, 4859, 5716, 4902, 8051, 8100, 8150,
     4875, 8203, 8252, 8401, 8451, 8500, 8550, 8601, 4980, 4238,
     7839, 5207, 7661, 7579, 4956, 4925,10378,10428,10478, 5765,
     5391, 5273, 4553, 5413, 5281, 4923, 7548, 4920, 4975, 4928,
     4337, 7483, 5563, 5409, 4968,10528, 5004, 5015, 5471, 4960,
     5576, 6130, 5040, 5183, 5763, 5227,10578, 4119, 5766, 5006,
     5061, 5059, 5276, 5288, 5258, 5227, 5290, 5299,10628,10678,

     5816, 5007, 5404, 7343, 5070, 5328, 5431, 5503, 7315, 5506,
     8651, 8701, 8751, 8800, 8850, 8901, 8951, 9000, 9050, 9101,
     8216, 8416, 7106, 7406, 7456, 7506, 7561, 8466,10728,10778,
    10828, 5858, 7606, 5340, 7656, 5415, 7295, 5220, 5433, 5531,
     5550, 7275, 7706, 5565,10878,10928, 5955, 5483, 5585, 7217,
     5456, 5533, 5601, 5632, 7116, 5654, 9151, 9201, 9251, 5857,
     9353, 9402, 9450, 9501, 9650, 9701, 9750, 5759, 5817, 5708,
     5975, 5734, 5925, 5985, 5935,10978,11028,11078, 6013, 5970,
     5634, 6041, 5659, 7017, 5514, 5661, 5614, 5663, 6936, 6051,
     5704, 9801, 9850, 9901, 9950,10001,10050,10101,10150,10201,

    10300, 8616, 8666, 7756, 7856, 7811, 8106, 8161, 8716,11128,
    11178,11228, 6045, 8261, 5701, 8506, 5685, 6753, 5559, 5734,
     5699, 5802, 6698, 8556, 5889,11278,11328, 6147, 5766, 5754,
     6677, 5656, 5783, 5843, 5929, 6645, 5948,11378, 6187, 5847,
    11428,11478, 6189, 5832, 5992, 6546, 5705, 5885, 5890, 6036,
     6373, 6039,10353,10402,10450,10501,11528,11578,10650,10701,
    10750,10800, 5981, 5193, 6343, 4628, 6216, 6154,11628,11678,
    11728, 5995, 5517, 6071, 5739, 5845, 5903, 6034, 5893, 6063,
     6078, 6082, 6104, 6019, 6101, 6069,11778, 6044, 6145, 6076,
     5587, 6096, 6095, 6098, 5523, 6147, 6139, 6172,11828, 5930,

     6189, 6124, 6160, 6167, 6185, 6129, 6207, 6217, 5945, 6046,
    11878,11928, 6227, 6176, 6203, 6216, 6225, 6213, 6228, 6234,
     6313, 6319,10853,10902,10951,11000,11978,11050,11101,11150,
    11200, 8766, 8806, 8856, 8916, 8961, 9006,12028,12078,12128,
     9056, 6331, 6229, 6235, 6230, 6305, 6329, 6309, 6333, 6351,
     6352,12178,12228, 6375, 6365, 6354, 6374, 6373, 6385, 6332,
     6386, 6379, 6401,11253,11302,11351,11450,12278,12328,11503,
    11552,11600,11650, 6571, 6441, 6451, 6539, 6461, 6471,12378,
    12428,12478, 6501, 6529, 6381, 6427, 6402, 6459, 6432, 6452,
     6477, 6471, 6491,11700,11750,11900,11950,12528,12000,12050,

    12100,12150, 9456, 9111, 9161, 9216, 9261, 9361,12578,12628,
    12678, 9411, 6631, 6473, 6478, 6483, 6509, 6484, 6502, 6523,
     6521, 6541,12728,12778, 6831, 6552, 6569, 6553, 6531, 6567,
     6571, 6584, 6563, 6596,12828,12878,12928, 6929, 6581, 6585,
     6601, 6578, 6629, 6641, 6634, 6619, 6663,12978,13028,13078,
    13128, 6400, 6074, 6191, 6024,13178,13228, 6687, 6622, 5259,
     6651, 6845, 5897, 6669, 6658, 6303, 6877, 6340, 6433, 5969,
    13278, 6674, 6807, 6676, 6684, 6681, 6609, 6689, 6839, 6829,
     6818, 6868,13328, 6825, 6865, 6841, 5799, 6907, 6882, 6885,
     6887, 6908, 6941, 6880, 6929, 6927,13378,13428, 6967, 6945,

     6962, 6977, 6982, 6950, 6930, 6983, 7003, 6903, 6973, 5852,
    13478,13528,13578, 9656, 9511, 9711, 9756,13628,13678, 7022,
     7014, 7000, 7077, 7033, 6995, 7028, 7045, 7095, 7025, 7068,
     5580,13728,13778, 7122, 7064, 7050, 7158, 7075, 7090, 7080,
     7083, 7201, 7110, 7119, 5483,13828,13878,13928,13978, 7189,
     7216, 7239, 7253,14028,14078, 7175, 7124, 7100, 7203, 7125,
     7101, 7134, 7133, 7208, 7220, 7169, 5389,14128,14178,14228,
     9856, 9811, 9911, 9956,14278,14328, 7233, 7173, 7170, 7268,
     7266, 7252, 7227, 7271, 7345, 7270, 7278, 5340,14378,14428,
     7326, 7273, 7272, 7351, 7333, 7301, 7304, 7353, 7395, 7280,

     7377, 5235, 7325, 6853, 7426, 7381, 7079, 7427, 7383, 7035,
     7255, 7415, 7455, 7379, 2862, 6985,14478, 5206,12200,14528,
     6816, 7394, 7332, 7334, 3362, 7026, 7350, 7182, 7445, 7249,
      107, 7462, 7375, 7433, 7501, 7489, 7495, 7430, 7445, 7482,
     7483, 7518, 7514, 7488, 7539, 7531, 5443, 7534, 7533, 7601,
     7479, 7529, 7551, 7541, 7559, 7582, 7579, 7580, 7581, 6435,
     7609, 7577, 7611, 7657, 7410, 7584, 7623, 7627, 7622, 7553,
     7624, 7625, 1892, 7654, 7633, 7651, 7695, 7450, 7662,14578,
    12250,14628,10716,10011, 7673, 7683, 7684, 7675, 7678, 7700,
    10056, 7630, 7712, 7723, 7725,10111, 7727, 7718, 7714, 7754,

     7762, 7764, 7732, 7730, 7751, 7680, 7775, 7769, 7777, 7845,
     7780, 7795,14678, 7821,12300,14728, 7891, 7841, 7812, 7823,
     7840, 7827, 7858, 7833, 7989, 7785, 7869, 7872, 7873, 7990,
     7977, 7783, 7825,14778,12350,14828,10866,10156, 7884, 7885,
     7972, 7877, 7861, 7880,10211, 8000, 7970, 7976, 7978,10306,
     8003, 7995, 8002, 8010, 8013, 8033, 7982, 7960, 8020, 8050,
     8024, 8035, 8053, 8095, 8028, 8062, 8079, 8083, 7985, 8074,
     7424, 8101, 2566, 8085, 5123, 8102, 8151, 8118, 8084,12400,
    12450, 7749, 4935, 8123, 8116, 7601, 8120, 8190, 8208, 8101,
      349, 8132, 8158, 8390, 8172, 8237, 8191, 8169, 8133, 7509,

     7859, 8179, 8224, 8225, 8226, 5012, 8031, 8181, 8229, 8377,
     8140, 8357, 8179, 8239, 8058, 8235, 8407, 8440, 8185, 4866,
     8365, 8441, 8382, 8210, 8350, 8372, 8420, 8374, 8458, 8477,
     5307, 8385, 8428, 8501, 8425, 8419,12500,12550,10361,10411,
     8473, 8474, 8480, 8423, 8527, 8545, 6975, 8482, 8525, 8551,
    10456, 8500, 8524, 8558, 8476, 8502, 8451, 8563, 8608, 7376,
     8530, 8533, 8640, 8567, 8574,12600,12650, 8711, 8591, 8578,
     8569, 8590, 8584, 8658, 8708, 8624, 8620, 8628, 8758, 8689,
     8670, 8625,12700,12750,10661,10511, 8623, 8667, 8622, 8634,
     8777, 8801, 8678, 8720, 8717, 8851,10756, 8700, 8675, 8723,

     8719, 8751, 8725, 8863, 8890, 8752, 8775, 8783, 8908, 8701,
     8780, 8777, 8754, 8813, 4808, 8855, 8952, 7152, 8831, 8735,
     8954, 8801, 8826, 8844, 8503, 8827, 8858, 4734, 8956, 8871,
     8991, 8905, 8950, 8878, 8901, 8995, 8939, 8999, 8874, 8952,
     8808, 8538, 8982, 8876, 9051, 9057, 9001, 8879, 8986, 9090,
     8940, 4665, 8990, 9007, 9010, 9008, 9077, 8997, 9030, 9029,
     4572, 8673, 8925, 9032, 4516, 9100, 9065, 9068, 9030, 9085,
    10806, 9081, 9108, 9033, 4450,10911,10961, 9150, 9115, 9101,
    11006, 9123, 9135, 9125, 9134, 9075, 4416, 9168, 9133, 9169,
     9158, 9170, 9211, 9173, 9183, 9208, 4352, 9240, 9252, 9327,

     9167, 9235, 9340, 9223, 9227,11056, 9233, 9234, 9308, 4255,
    11111,11156, 9352, 9184, 9330,11206, 9300, 9335, 9325, 9350,
     9364, 4059, 9403, 9333, 9369, 9373, 9377, 9383, 9405, 9385,
     9354, 9455, 9324, 9396, 9413, 9421, 4045, 9440, 9627, 9458,
     9645, 9422, 9471, 9488, 9490, 8383, 9473, 9500, 9612, 8782,
     9431, 9432, 3950, 9430, 9690, 9481, 9620, 9483, 9490, 9641,
     9677, 9631, 9702, 9639, 9633, 9680, 9659, 9678, 9700, 9714,
     9745, 9718, 9725, 9734, 9733,11261, 9703, 9763, 9765, 9845,
    11311, 9767, 9773, 9769, 9777, 9750, 9863, 9783, 9945, 9814,
     9825, 9795, 9827, 9841, 9803, 9963, 9865,10002, 9871, 9867,

     9873, 9869, 9833,11361, 9895,10045, 9883,10063,11456, 9868,
     9914, 9923, 9884, 9903,10102, 9933,10163, 9918, 9967, 9984,
     9934, 9676,10055, 9996,10155,10015,10025, 9186, 9604,10070,
    10090, 9989, 9778,10145, 9990,10041, 9950, 3620,10073, 9975,
    10101,10157, 9733,10190, 9991, 9836,10036, 8909,10137,10084,
    10041,10059, 9937,10108,10112, 9878, 9978, 9801,10127,10165,
    10170,11511,10050,11561,10168,10104,10253,10178,10262,10251,
    10272,10284,10277,10273,10282,10340,10274,10341,10308,10351,
    10323,10300,10327,11606,10311,11656,10335,10354,10358,10369,
    10378,10329,10368,10379,10373,10375,10396,10176,10170, 7703,

    10413,10184,10280,10105,10402,10441,10423,10430, 3909,10432,
    10434,10407,10451, 6908,10464,10431, 9637,10140,10389,10475,
    10460,10477,10454,10484,10604,10452, 3843,10481,10479,10617,
    10612,10602, 3780,10485,10618,10625,10628,10632, 3700,10635,
    10654,10633,10660,10675, 3660,10653,10671,10685,10678,10684,
     3540,10708,10674,10690,10712,10714, 3426,10726, 9755,10741,
    10729,10734,10751,10631,10730,10768,10483, 3299,10801, 3215,
    10731,10751,10779,10764,10780,10783, 3157,10790,10807,10810,
    10827,10819,10824,10822,10828, 3090,10858, 2981,10840,10825,
    10869, 2891,10903, 2802,10860,10882,10875, 2677,10950, 2595,

    10885,10918,10900, 2452,10954, 2402,10908,10933,10925, 2363,
    10995, 2280,10935,10976,10934, 2037,11001, 1976,10880,10924,
    10975,10851,11005,10952,10980,11000,10762,11020,11045,11039,
    11051,11032,10959,11038,10990,11090,11060, 1951,10789,10984,
    11047,11137,11070,11069,11077,11095,11145,11125,11102,11112,
    11140,11706,11195,11127,11150,11162,11151,11201,11175,11190,
    11183,11217,11191,11268,11210,11219,11220,11225,11756,11301,
    11230,11229,11260,11250,11303,11080,11270,11084,11271,11427,
    11027,11176,11227,11317,11316,11350,11341,11340,11325,11110,
    11418,11451,11289,11131,11309,11330,11277,11402,11422,11424,

    11454,11432,11451,11460,11906,11462,11469,11477,11479,11485,
    11500,11502,11518,11553,11508,11527,11529,11534,11956,11554,
    11551,11572,11574,11329,11127,11181,11419,11558,11252,11601,
    11576,11504,11479,11589,11601,11624,11610,11447,11607,11407,
    11604,11275,11677,11622,11620,11645,11701,11626,11630,11650,
    11877,11651,11658,11670,11901,11673,11676,11700,11945,11702,
    11714,11712,11951,11722,11521,11685,11727,11581,11977,11990,
    11905,11761,11733,11726,11868,11989,11681,11927,11987,11735,
    11995,12040,11853,12051,12053,12106,11874,12058,12101,11876,
    12140,12145,11939,11924,12151,12153,12206,11926,12158,12201,

    11933,12005,12055, 1766,11999,12006,12105,12021,12071, 1704,
    12156,12227,11851,12019, 1364,12306,12356, 1306, 1194,12139,
    12191, 1144,12406,12456,  997,  962,11971,12111,12141,12240,
    12026,12237,12245,12295,12301,12327,12345,12351,12255,12205,
    12249,12239,12506,12289,12556,12256,17416,14878,14885,14892,
    14899,14906,14913,14920,  948,14927,14934,14941,14948,14954,
    14957,  791,14964,14968,14972,14979,14986,14993,  759,15000,
    15007,15014,15021,15028,15035,15042,15049,15053,15057,15064,
    15071,15078,15081,15083,15089,15096,  553,  292,15103,15110,
    15117,15124,15131,15138,15145,15151,15154,  260,15161,15165,

    15169,15176,15183,15190,15197,15204,15211,   43,15218,15225,
    15232,15239,15246,15253,15260,15267,15274,15281,15288,15292,
    15296,15303,15310,15317,15324,15331,15338,15341,15343,15349,
    15356,    3,15363,15370,15377,15384,15391,15398,15405,15412,
    15419,15426,15433,15440,15447,15454,15461,15468,15475,15482,
    15489,15496,15503,15510,15517,15524,15531,15538,15545,15552,
    15559,15566,15570,15577,15584,15591,15598,15605,15612,15619,
    15626,15633,15640,15647,15654,15661,15668,15675,15682,15689,
    15696,15703,15710,15717,15724,15731,15738,15745,15752,15759,
    15766,15773,15780,15787,15794,15801,15808,15815,15822,15829,

    15836,15843,15847,15854,15861,15868,15875,15882,15889,15896,
    15903,15910,15917,15924,15931,15938,15945,15952,15959,15966,
    15973,15980,15987,15994,16001,16008,16015,16022,16029,16036,
    16043,16050,16057,16064,16071,16078,16085,16092,16099,16106,
    16113,16120,16127,16134,16141,16148,16155,16162,16169,16176,
    16183,16190,16197,16204,16211,16218,16225,16232,16239,16246,
    16253,16260,16267,16274,16281,16288,16295,16302,16309,16316,
    16323,16330,16337,16344,16351,16358,16365,16372,16379,16386,
    16393,16400,16407,16414,16421,16428,16435,16442,16449,16456,
    16463,16470,16477,16484,16491,16498,16505,16512,16519,16526,

    16533,16540,16547,16554,16561,16568,16575,16582,16589,16596,
    16603,16610,16617,16624,16631,16638,16645,16652,16659,16666,
    16673,16680,16687,16694,16701,16708,16715,16722,16729,16736,
    16743,16750,16757,16764,16771,16778,16785,16792,16799,16806,
    16813,16820,16827,16834,16841,16848,16855,16862,16869,16876,
    16883,16890,16897,16904,16911,16918,16925,16932,16939,16946,
    16953,16960,16967,16974,16981,16988,16995,17002,17009,17016,
    17023,17030,17037,17044,17051,17058,17065,17072,17079,17086,
    17093,17100,17107,17114,17121,17128,17135,17142,17149,17156,
    17163,17170,17177,17184,17191,17198,17205,17212,17219,17226,

    17233,17240,17247,17254,17261,17268,17275,17282,17289,17296,
    17303,17310,17317,17324,17331,17338,17345,17352,17359,17366,
    17373,17380,17387,17394,17401,17408
    } ;

static yyconst flex_int16_t yy_def[3227] =
    {   0,
     2848, 2847, 2848,    2, 2847, 2847, 2849, 2847, 2850, 2847,
     2851, 2847, 2852, 2847,    3,    2,    3,    2, 2847, 2847,
     2853, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2854, 2855,
     2856, 2847, 2856, 2857, 2858, 2859, 2856, 2856, 2858,   39,
       39,   39,   39,   39,   39,   39, 2860, 2847, 2861, 2847,
     2847, 2847, 2861, 2860, 2847, 2847, 2856, 2856, 2856,   56,
     2847,   56,   56,   56,   56,   56,   56,   56,   56, 2862,
     2863, 2863,   72,   72,   72,   72,   72,   72,   72, 2847,
     2847, 2864, 2865,   32, 2866, 2866, 2867, 2868, 2866, 2866,
     2867,   91,   91,   91,   91,   91,   91,   91, 2869, 2870,

     2870,  101,  101,  101,  101,  101,  101,  101, 2871, 2872,
     2873, 2874, 2874, 2875, 2876, 2877, 2874, 2874, 2876,  119,
      119,  119,  119,  119,  119,  119, 2847, 2847,   32, 2856,
     2878, 2879, 2879,  133,  133,  133, 2880, 2880, 2881, 2882,
     2880, 2880, 2881,  143,  143,  143,  143,  143,  143,  143,
      143,  143,  143,  143, 2883, 2884, 2885, 2886, 2885,  159,
      159,  159,  159,  159,  159,  159, 2887, 2888, 2889, 2847,
      170,  170,  170,  170,  170,  170,  170,  170, 2847, 2890,
     2887, 2856, 2856,   32, 2856,   32, 2891, 2856, 2856,  186,
      186,  186,  186,  186,  186,  186,  186, 2892, 2893, 2893,

     2889, 2891, 2891, 2894, 2895, 2856,  201,  201,  201,  201,
      201,  201,  201,  201,  201,  201, 2896, 2847, 2896,  219,
     2897, 2897, 2847,  223,  224, 2847,  224,  224,  224,  224,
      224,  224,  224,  224, 2847,  235,  226,  235,  235,  235,
      235,  235,  235,  235,  235,  235,  235, 2898, 2899, 2899,
      250,  250,  250,  250,  250,  250,  250,  250,  250, 2847,
     2847, 2900, 2901,   32, 2902, 2903, 2902, 2904, 2905, 2905,
     2906, 2907, 2902, 2904,  274,  274,  274,  274,  274,  274,
      274,  274,  274, 2908, 2909, 2909,  286,  286,  286,  286,
      286,  286,  286,  286,  286, 2910, 2911, 2912, 2913, 2913,

     2914, 2915, 2915, 2916, 2917, 2917, 2918, 2919, 2913, 2916,
      310,  310,  310,  310,  310,  310,  310,  310,  310, 2847,
     2847, 2847,   32, 2856, 2856, 2920, 2921, 2921,  328,  328,
      328, 2922, 2923, 2922, 2924, 2925, 2925, 2926, 2927, 2922,
     2924,  341,  341,  341,  341,  341,  341,  341,  341,  341,
      341,  341,  341,  341, 2928, 2929, 2930, 2931, 2930,  359,
      359,  359,  359,  359,  359,  359,  359,  359, 2932, 2847,
      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
     2856, 2856,   32,  383,  383,  383,  383,  383,  383,  383,
      383,  383, 2933, 2933, 2934, 2935, 2936, 2936, 2936, 2937,

     2938, 2938, 2939, 2856, 2856, 2856, 2856, 2856, 2940, 2941,
     2941,  411,  411,  411,  411,  411,  411,  411,  411,  411,
     2847,  421,  421,  421,  421,  421,  421,  421,  421,  421,
     2847,  431,  431,  431,  431,  431,  431,  431,  431,  431,
      431, 2942, 2942,  443,  443,  443,  443,  443,  443,  443,
      443,  443, 2943, 2943, 2944, 2945, 2946, 2946, 2946, 2947,
     2948, 2948, 2949, 2945, 2945, 2945, 2945, 2945, 2950, 2951,
     2951,  471,  471,  471,  471,  471,  471,  471,  471,  471,
     2952, 2952,  482,  482,  482,  482,  482,  482,  482,  482,
      482, 2953, 2954, 2954, 2955, 2956, 2957, 2957, 2957, 2958,

     2959, 2959, 2960, 2953, 2953, 2953, 2953, 2953, 2961, 2962,
     2962,  511,  511,  511,  511,  511,  511,  511,  511,  511,
     2963, 2963,  522, 2964, 2964, 2965, 2966, 2967, 2967, 2967,
     2968, 2969, 2969, 2970, 2966, 2966, 2966, 2966, 2966, 2971,
     2972, 2972,  542,  542,  542,  542,  542,  542,  542,  542,
      542,  542,  542,  542, 2973, 2973,  556,  556,  556,  556,
      556,  556,  556,  556,  556, 2847,  566,  566,  566,  566,
      566,  566,  566,  566,  566,  566, 2974, 2975, 2975,  579,
      579,  579,  579,  579,  579,  579,  579,  579, 2976, 2976,
     2976, 2977, 2978, 2979, 2980, 2980, 2980, 2981, 2974, 2974,

     2974, 2974, 2974, 2974, 2974, 2974, 2982, 2983, 2983,  609,
      609,  609,  609,  609,  609,  609,  609,  609, 2847,  619,
      619,  619,  619,  619,  619,  619,  619,  619,  619, 2847,
      630,  630,  630,  630,  630,  630,  630,  630,  630,  630,
     2984, 2984,  642,  642,  642,  642,  642,  642,  642,  642,
      642, 2985, 2985, 2985, 2986, 2987, 2988, 2988, 2988, 2989,
     2990, 2990, 2990, 2990, 2990, 2990, 2990, 2990, 2991, 2992,
     2992,  671,  671,  671,  671,  671,  671,  671,  671,  671,
     2993, 2993,  682,  682,  682,  682,  682,  682,  682,  682,
      682, 2994, 2994, 2994, 2995, 2996, 2997, 2998, 2998, 2998,

     2999, 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3001,
     3002, 3002,  712,  712,  712,  712,  712,  712,  712,  712,
      712, 3003, 3004, 3004, 3004, 3005, 3006, 3007, 3007, 3007,
     3008, 3009, 3009, 3009, 3009, 3009, 3009, 3009, 3009, 3010,
     3011, 3011,  742,  742,  742,  742,  742,  742,  742,  742,
      742,  742, 3012, 3012,  754,  754,  754,  754,  754,  754,
      754,  754,  754, 2847,  764,  764,  764,  764,  764,  764,
      764,  764,  764, 3013, 3014, 3014,  776,  776,  776,  776,
      776,  776,  776,  776,  776, 3015, 3016, 3017, 3018, 3013,
     3013, 3013, 3013, 3013, 3013, 3013, 3013, 3013, 3013, 3019,

     3020, 3020,  802,  802,  802,  802,  802,  802,  802,  802,
      802, 2847,  812,  812,  812,  812,  812,  812,  812,  812,
      812,  812, 2847,  823,  823,  823,  823,  823,  823,  823,
      823,  823,  823, 3021, 3021,  835,  835,  835,  835,  835,
      835,  835,  835,  835, 3022, 3023, 3024, 3025, 3025, 3025,
     3025, 3025, 3025, 3025, 3025, 3025, 3025, 3026, 3027, 3027,
      860,  860,  860,  860,  860,  860,  860,  860,  860, 3028,
     3028,  871,  871,  871,  871,  871,  871,  871,  871,  871,
     3029, 3030, 3031, 3032, 3033, 3033, 3033, 3033, 3033, 3033,
     3033, 3033, 3033, 3033, 3034, 3035, 3035,  897,  897,  897,

      897,  897,  897,  897,  897,  897, 3036, 3037, 3038, 3039,
     3039, 3039, 3039, 3039, 3039, 3039, 3039, 3039, 3039, 3040,
     3041, 3041,  922,  922,  922,  922,  922,  922,  922,  922,
      922, 3042, 3042,  933,  933,  933,  933,  933,  933,  933,
      933,  933, 2847,  943,  943,  943,  943,  943,  943, 3013,
     3043, 3043,  952,  952,  952,  952,  952,  952,  952,  952,
      952, 3044, 3045, 3046, 3047, 3013, 3013, 3013, 3013, 3013,
     3013, 3013, 3013, 3013, 3013, 3013, 3013, 3048, 3048, 3049,
     3049,  981,  981,  981,  981,  981,  981,  981,  981,  981,
     2847,  991,  991,  991,  991,  991,  991,  991,  991,  991,

      991, 2847, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     1002, 1002, 3050, 3050, 1014, 1014, 1014, 1014, 1014, 1014,
     1014, 1014, 1014, 3051, 3052, 3053, 3054, 3054, 3054, 3054,
     3054, 3054, 3054, 3054, 3054, 3054, 3054, 3054, 3055, 3055,
     3056, 3056, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
     1042, 3057, 3057, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
     1053, 1053, 3058, 3059, 3060, 3061, 3062, 3062, 3062, 3062,
     3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3063, 3063,
     3064, 3064, 1082, 1082, 1082, 1082, 1082, 1082, 1082, 1082,
     1082, 3065, 3066, 3067, 3068, 3068, 3068, 3068, 3068, 3068,

     3068, 3068, 3068, 3068, 3068, 3068, 3069, 3069, 3070, 3070,
     1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 3071,
     3071, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
     2847, 1131, 1131, 1131, 1131, 1131, 1131, 3013, 3072, 3072,
     1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 3073,
     3074, 3074, 3075, 3075, 3076, 3077, 3013, 3013, 3013, 3013,
     3013, 3013, 3013, 3013, 3013, 3013, 3013, 3078, 3079, 3079,
     1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 2847,
     1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180,
     2847, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,

     1191, 3080, 3080, 1203, 1203, 1203, 1203, 1203, 1203, 1203,
     1203, 1203, 3081, 3082, 3082, 3083, 3084, 3085, 3085, 3085,
     3085, 3085, 3085, 3085, 3085, 3085, 3085, 3085, 3086, 3087,
     3087, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231,
     3088, 3088, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
     1242, 3089, 3090, 3090, 3091, 3091, 3092, 3093, 3094, 3094,
     3094, 3094, 3094, 3094, 3094, 3094, 3094, 3094, 3094, 3095,
     3096, 3096, 1272, 1272, 1272, 1272, 1272, 1272, 1272, 1272,
     1272, 3097, 3098, 3098, 3099, 3100, 3101, 3101, 3101, 3101,
     3101, 3101, 3101, 3101, 3101, 3101, 3101, 3102, 3103, 3103,

     1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 3104,
     3104, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311,
     2847, 1321, 1321, 1321, 1321, 3013, 3105, 3105, 1328, 1328,
     1328, 1328, 1328, 1328, 1328, 1328, 1328, 3106, 3106, 3107,
     3108, 3109, 3109, 3109, 3110, 3111, 3111, 3112, 3013, 3013,
     3013, 3013, 3013, 3013, 3013, 3013, 3113, 3114, 3114, 1359,
     3013, 3013, 1359, 3013, 3013, 1359, 1359, 1359, 1359, 1359,
     1359, 1359, 3013, 3013, 1359, 2847, 1376, 1376, 1376, 1376,
     1376, 1376, 1376, 1376, 1376, 1376, 2847, 1387, 1387, 1387,
     1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 3115, 3115,

     1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400,
     3116, 3116, 3117, 3118, 3118, 3118, 3119, 3120, 3120, 3121,
     3122, 3122, 3122, 3122, 3122, 3122, 3122, 3122, 3123, 3124,
     3124, 1431, 3122, 1431, 3122, 1431, 1431, 1431, 1431, 1431,
     1431, 1431, 3122, 1431, 3125, 3125, 1446, 1446, 1446, 1446,
     1446, 1446, 1446, 1446, 1446, 1446, 3126, 3126, 3127, 3128,
     3129, 3129, 3129, 3130, 3131, 3131, 3132, 3133, 3133, 3133,
     3133, 3133, 3133, 3133, 3133, 3134, 3135, 3135, 1478, 3133,
     1478, 3133, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 3133,
     1478, 3136, 3136, 3137, 3138, 3138, 3138, 3139, 3140, 3140,

     3141, 3142, 3142, 3142, 3142, 3142, 3142, 3142, 3142, 3143,
     3144, 3144, 1512, 3142, 1512, 3142, 1512, 1512, 1512, 1512,
     1512, 1512, 1512, 3142, 1512, 3145, 3145, 1527, 1527, 1527,
     1527, 1527, 1527, 1527, 1527, 1527, 1527, 2847, 1538, 3146,
     3147, 3147, 1542, 1542, 1542, 1542, 1542, 1542, 1542, 1542,
     1542, 1542, 3148, 3148, 3148, 3149, 3150, 3151, 3152, 3152,
     3152, 3153, 3146, 3146, 3146, 3146, 3146, 3146, 3154, 3155,
     3155, 3146, 3146, 1571, 3146, 1571, 3146, 1571, 1571, 1571,
     1571, 1571, 1571, 1571, 3146, 1571, 2847, 1587, 1587, 1587,
     1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 2847, 1599,

     1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
     3156, 3156, 1612, 1612, 1612, 1612, 1612, 1612, 1612, 1612,
     1612, 1612, 3157, 3157, 3157, 3158, 3159, 3160, 3160, 3160,
     3161, 3162, 3162, 3162, 3162, 3162, 3162, 3163, 3164, 3164,
     3162, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640,
     1640, 3165, 3165, 1653, 1653, 1653, 1653, 1653, 1653, 1653,
     1653, 1653, 1653, 3166, 3166, 3166, 3167, 3168, 3169, 3170,
     3170, 3170, 3171, 3172, 3172, 3172, 3172, 3172, 3172, 3173,
     3174, 3174, 3172, 1682, 1682, 1682, 1682, 1682, 1682, 1682,
     1682, 1682, 1682, 3175, 3175, 3175, 3176, 3177, 3178, 3178,

     3178, 3179, 3180, 3180, 3180, 3180, 3180, 3180, 3181, 3182,
     3182, 3180, 1711, 1711, 1711, 1711, 1711, 1711, 1711, 1711,
     1711, 1711, 3183, 3183, 1724, 1724, 1724, 1724, 1724, 1724,
     1724, 1724, 1724, 1724, 2847, 3184, 3184, 1737, 1737, 1737,
     1737, 1737, 1737, 1737, 1737, 1737, 1737, 3185, 3186, 3187,
     3188, 3189, 3189, 3189, 3190, 3191, 3191, 3189, 1757, 1757,
     1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
     2847, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771,
     1771, 1771, 2847, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
     1783, 1783, 1783, 1783, 1783, 1783, 3192, 3192, 1798, 1798,

     1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798,
     3193, 3194, 3195, 3196, 3196, 3196, 3197, 3198, 3198, 1819,
     1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819,
     1819, 3199, 3199, 1833, 1833, 1833, 1833, 1833, 1833, 1833,
     1833, 1833, 1833, 1833, 1833, 3200, 3201, 3202, 3203, 3204,
     3204, 3204, 3205, 3206, 3206, 1855, 1855, 1855, 1855, 1855,
     1855, 1855, 1855, 1855, 1855, 1855, 1855, 3207, 3208, 3209,
     3180, 3180, 3180, 3210, 3211, 3211, 1876, 1876, 1876, 1876,
     1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 3212, 3212,
     1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,

     1890, 1890, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737,
     1737, 1737, 1737, 1737, 1737, 1737, 3185, 3213, 3214, 3188,
     3189, 3189, 1757, 1757, 1757, 1757, 1757, 1757, 3189, 3189,
     1757, 1757, 1757, 1757, 3189, 3189, 1757, 1757, 1757, 1771,
     1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771,
     1771, 1771, 1771, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
     1783, 1783, 1783, 1783, 1783, 1783, 1798, 1798, 1798, 1798,
     1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 3193,
     3215, 3195, 3196, 3196, 1819, 1819, 1819, 1819, 1819, 1819,
     3196, 1819, 1819, 1819, 1819, 3196, 1819, 1819, 1819, 1833,

     1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833,
     1833, 1833, 3200, 3216, 3217, 3203, 3204, 3204, 1855, 1855,
     1855, 1855, 1855, 1855, 3204, 1855, 1855, 1855, 1855, 3204,
     1855, 1855, 1855, 3207, 3218, 3209, 3180, 3180, 1876, 1876,
     1876, 1876, 1876, 1876, 3180, 1876, 1876, 1876, 1876, 3180,
     1876, 1876, 1876, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
     1890, 1890, 1890, 1890, 1890, 1890, 1737, 1737, 1737, 1737,
     1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 3219,
     3220, 3189, 3189, 1757, 1757, 1757, 1757, 1757, 1757, 3189,
     1757, 1757, 1757, 1757, 3189, 3189, 3189, 1757, 1757, 1771,

     1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771,
     1771, 1771, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
     1783, 1783, 1783, 1783, 1798, 1798, 1798, 1798, 1798, 1798,
     1798, 1798, 1798, 1798, 1798, 1798, 3221, 3222, 3196, 3196,
     1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819, 1819,
     3196, 1819, 1819, 1833, 1833, 1833, 1833, 1833, 1833, 1833,
     1833, 1833, 1833, 1833, 1833, 3223, 3224, 3204, 3204, 1855,
     1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 3204,
     1855, 1855, 3225, 3226, 3180, 3180, 1876, 1876, 1876, 1876,
     1876, 1876, 1876, 1876, 1876, 1876, 3180, 1876, 1876, 1890,

     1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
     1890, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737,
     1737, 1737, 1737, 3189, 1757, 1757, 1757, 1757, 3189, 3189,
     3189, 3189, 1757, 1757, 1757, 3189, 3189, 3189, 1757, 1757,
     1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771,
     1771, 1771, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
     1783, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798, 1798,
     3196, 1819, 1819, 1819, 1819, 3196, 3196, 1819, 1819, 1819,
     3196, 1819, 1819, 1833, 1833, 1833, 1833, 1833, 1833, 1833,
     1833, 1833, 3204, 1855, 1855, 1855, 1855, 3204, 3204, 1855,

     1855, 1855, 3204, 1855, 1855, 3180, 1876, 1876, 1876, 1876,
     3180, 3180, 1876, 1876, 1876, 3180, 1876, 1876, 1890, 1890,
     1890, 1890, 1890, 1890, 1890, 1890, 1890, 1737, 1737, 1737,
     1737, 1737, 1737, 1737, 1737, 1737, 3189, 1757, 1757, 1757,
     1757, 3189, 3189, 3189, 3189, 1757, 1757, 3189, 1757, 1757,
     1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1783,
     1783, 1783, 1783, 1783, 1783, 1783, 1783, 1798, 1798, 1798,
     1798, 1798, 1798, 1798, 1798, 3196, 1819, 1819, 1819, 1819,
     3196, 1819, 1819, 1819, 1819, 1833, 1833, 1833, 1833, 1833,
     1833, 1833, 1833, 3204, 1855, 1855, 1855, 1855, 3204, 1855,

     1855, 1855, 1855, 3180, 1876, 1876, 1876, 1876, 3180, 1876,
     1876, 1876, 1876, 1890, 1890, 1890, 1890, 1890, 1890, 1890,
     1890, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1757,
     3189, 3189, 1757, 3189, 3189, 3189, 1757, 1757, 1757, 1757,
     1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1783, 1783,
     1783, 1783, 1783, 1783, 1798, 1798, 1798, 1798, 1798, 1798,
     1819, 3196, 1819, 3196, 1819, 1819, 1819, 1819, 1833, 1833,
     1833, 1833, 1833, 1833, 1855, 3204, 1855, 3204, 1855, 1855,
     1855, 1855, 1876, 3180, 1876, 3180, 1876, 1876, 1876, 1876,
     1890, 1890, 1890, 1890, 1890, 1890, 1737, 1737, 1737, 1737,

     1737, 1737, 1757, 3189, 1757, 3189, 1757, 1757, 1757, 1757,
     1771, 1771, 1771, 1771, 1771, 1771, 1783, 1783, 1783, 1783,
     1783, 1783, 1798, 1798, 1798, 1798, 1798, 1798, 1819, 1819,
     1819, 1819, 1819, 1819, 1833, 1833, 1833, 1833, 1833, 1833,
     1855, 1855, 1855, 1855, 1855, 1855, 1876, 1876, 1876, 1876,
     1876, 1876, 1890, 1890, 1890, 1890, 1890, 1890, 1737, 1737,
     1737, 1737, 1737, 1737, 1757, 1757, 1757, 1757, 1757, 1757,
     1771, 1771, 1771, 1771, 1771, 1771, 1783, 1783, 1783, 1783,
     1783, 1783, 1798, 1798, 1798, 1798, 1798, 1798, 1819, 1819,
     1819, 1819, 1819, 1819, 1833, 1833, 1833, 1833, 1833, 1833,

     1855, 1855, 1855, 1855, 1855, 1855, 1876, 1876, 1876, 1876,
     1876, 1876, 1890, 1890, 1890, 1890, 1890, 1890, 1737, 1737,
     1737, 1737, 1737, 1737, 1757, 1757, 1757, 1757, 3189, 3189,
     1757, 1771, 1771, 1771, 1771, 1771, 1771, 1783, 1783, 1783,
     1783, 1783, 1798, 1798, 1798, 1798, 1798, 1819, 1819, 1819,
     1819, 3196, 1819, 1833, 1833, 1833, 1833, 1833, 1855, 1855,
     1855, 1855, 3204, 1855, 1876, 1876, 1876, 1876, 3180, 1876,
     1890, 1890, 1890, 1890, 1890, 1737, 1737, 1737, 1737, 1737,
     1757, 1757, 1757, 1757, 3189, 3189, 3189, 1771, 1771, 1771,
     1771, 1771, 1783, 1783, 1783, 1783, 1798, 1798, 1798, 1798,

     1819, 1819, 1819, 1819, 3196, 1833, 1833, 1833, 1833, 1855,
     1855, 1855, 1855, 3204, 1876, 1876, 1876, 1876, 3180, 1890,
     1890, 1890, 1890, 1737, 1737, 1737, 1737, 1757, 1757, 1757,
     1757, 3189, 1771, 1771, 1771, 1771, 1783, 1783, 1783, 1783,
     1798, 1798, 1798, 1798, 1819, 1819, 1819, 1819, 1833, 1833,
     1833, 1833, 1855, 1855, 1855, 1855, 1876, 1876, 1876, 1876,
     1890, 1890, 1890, 1890, 1737, 1737, 1737, 1737, 1757, 1757,
     3189, 3189, 1757, 1771, 1771, 1771, 1771, 1783, 1783, 1783,
     1798, 1798, 1798, 1819, 1819, 3196, 1819, 1833, 1833, 1833,
     1855, 1855, 3204, 1855, 1876, 1876, 3180, 1876, 1890, 1890,

     1890, 1737, 1737, 1737, 3189, 3189, 3189, 3189, 3189, 1757,
     1771, 1771, 1771, 1783, 1798, 3196, 3196, 1819, 1833, 3204,
     3204, 1855, 3180, 3180, 1876, 1890, 1737, 3189, 3189, 1757,
     1771, 1783, 1798, 1819, 1833, 1855, 1876, 1890, 1737, 3189,
     3189, 1771, 3196, 3204, 3180, 3189,    0, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847
    } ;

static yyconst flex_uint16_t yy_nxt[17467] =
    {   0,
       26,   27,   28,   27,   26,   29,   26,  369,   26,   26,
       26,   26,  127,  129,  127,  129,  198,   26,   26,   26,
      179,   26,  179,  205,  183,  201,  201,  335,  128,  130,
      209,  183,  201,  201,  249,  212,  208,  201,  216,  215,
      201,  351,  327,  214,  213,  251,  331,  284,   26,   26,
       31,   32,   28,   32,   33,   34,   31,   35,   31,   31,
       31,   36,   35,   35,   35,   35,   35,   37,   31,   38,
       35,   31,   35,   39,   35,   40,   41,   35,   35,   42,
       35,   35,   35,   35,   35,   35,   35,   35,   35,   43,
       44,   35,   35,   45,   46,   35,   35,   35,   31,   31,

       26,   27,   28,   27,   26,   29,   26,  241,   26,   26,
       26,   26,  201,  268,  252,  242,  249,   26,   26,   26,
     2091,   26,  182,  182,  275,  182,  210,  182,  249,  222,
      222,  222,  222,  222,  211,  219,  222,  222,  222,  222,
      222,  203,  219,  204,  249,  257,  258,  201,   26,   26,
       26,   47,   48,   47,   26,   29,   26,   49,   50,   51,
       52,   26,   53,   53,   53,   53,   53,   26,   54,   26,
       49,   26,   49,   49,   49,   49,   49,   49,   49,   49,
       49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
       49,   49,   49,   49,   49,   49,   49,   49,   26,   26,

       31,   55,   48,   55,   33,   34,   31,   56,   57,   58,
       59,   36,   60,   60,   60,   60,   60,   37,   61,   38,
       56,   31,   56,   62,   56,   63,   64,   56,   56,   65,
       56,   56,   56,   56,   56,   56,   56,   56,   56,   66,
       67,   56,   56,   68,   69,   56,   56,   56,   31,   31,
       26,   27,   28,   27,   26,   29,   26,  243,   26,   26,
       26,   26,  249,  249,  248,  255,  244,   26,   26,   26,
      259,   26,  249,  276,  256,  268,  253,  260,  261,  260,
      264,  261,  264,  268,  254,  279,  268,  283,  282,  268,
      288,  285,  285,  294,  280,  295,  369,  285,   26,   26,

       31,   32,   28,   32,   33,   34,   31,   71,   31,   31,
       31,   36,   71,   71,   71,   71,   71,   37,   31,   38,
       71,   31,   71,   72,   71,   73,   74,   71,   71,   75,
       71,   71,   71,   71,   71,   71,   71,   71,   71,   76,
       77,   71,   71,   78,   79,   71,   71,   71,   31,   31,
       26,   80,   81,   80,   82,   29,   82,  268,   82,   82,
       82,   82,  268,  285,  285, 2233,  327,   82,   82,   82,
      285,   82,  182,  182,  281,  182,  277,  182,  289,  329,
      293,  287,  304,  266,  278,  285,  290,  291,  180,  201,
      180,  267,  312,  311,  304,  304,  292,  318,   82,   82,

       31,   84,   81,   84,   85,   34,   86,   87,   86,   86,
       86,   88,   87,   87,   87,   87,   87,   89,   86,   90,
       87,   86,   87,   91,   87,   92,   93,   87,   87,   94,
       87,   87,   87,   87,   87,   87,   87,   87,   87,   95,
       96,   87,   87,   97,   98,   87,   87,   87,   86,   86,
       26,   27,   28,   27,   26,   29,   26,  376,   26,   26,
       26,   26,  182,  327,  182,  304,  377,   26,   26,   26,
      523,   26,  182,  182,  182,  182,  182,  182,  182,  182,
      300,  182,  317,  182,  301,  304,  319,  315,  304,  272,
      617,  267,  300,  322,  201,  322,  316,  267,   26,   26,

       31,   32,   28,   32,   33,   34,   31,  100,   31,   31,
       31,   36,  100,  100,  100,  100,  100,   37,   31,   38,
      100,   31,  100,  101,  100,  102,  103,  100,  100,  104,
      100,  100,  100,  100,  100,  100,  100,  100,  100,  105,
      106,  100,  100,  107,  108,  100,  100,  100,   31,   31,
      109,   27,   28,   27,  109,  110,  109,  181,  109,  109,
      109,  109,  199,  343,  199,  335,  327,  109,  109,  109,
      335,  109,  182,  182,  182,  182,  182,  182,  182,  182,
      303,  182,  330,  182,  308,  335,  344,  350,  335,  249,
      450,  270,  300,  271,  268,  478,  342,  273,  109,  109,

      112,   32,   28,   32,  113,  114,  112,  115,  112,  112,
      112,  116,  115,  115,  115,  115,  115,  117,  112,  118,
      115,  112,  115,  119,  115,  120,  121,  115,  115,  122,
      115,  115,  115,  115,  115,  115,  115,  115,  115,  123,
      124,  115,  115,  125,  126,  115,  115,  115,  112,  112,
       26,   27,   28,   27,  131,   29,  131,  132,  131,  131,
      131,  131,  132,  132,  132,  132,  132,  131,  131,  131,
      132,  131,  132,  132,  132,  132,  132,  132,  133,  132,
      132,  132,  132,  132,  132,  134,  132,  132,  132,  132,
      132,  135,  132,  132,  132,  132,  136,  132,  131,  131,

       31,   32,   28,   32,  137,   34,  138,  139,  138,  138,
      138,  140,  139,  139,  139,  139,  139,  141,  138,  142,
      139,  138,  139,  143,  139,  144,  145,  139,  146,  147,
      139,  139,  139,  139,  139,  148,  139,  139,  139,  149,
      150,  151,  139,  152,  153,  139,  154,  139,  138,  138,
       26,   27,   28,   27,   26,   29,   26,  388,   26,   26,
      156,   26,  182,  284,  182,  304,  389,   26,   26,   26,
      335,   26,  299,  182,  320,  182,  320,  299,  335,  313,
      309,  323,  249,  323,  345,  445,  335,  314,  352,  347,
      321,  306,  346,  307,  353,  248,  335,  324,   26,   26,

       31,   32,   28,   32,   33,   34,   31,  157,   31,   31,
      158,   36,  157,  157,  157,  157,  157,   37,   31,   38,
      157,   31,  157,  159,  157,  160,  161,  157,  157,  162,
      157,  157,  157,  157,  157,  157,  157,  157,  157,  163,
      164,  157,  157,  165,  166,  157,  157,  157,   31,   31,
       26,   27,   28,   27,   26,   29,   26,   30,   26,   26,
       26,   26,  167,   30,   30,   30,   30,   26,   26,   26,
      168,   26,   30,  168,  168,  168,  168,  168,  168,  168,
      168,  168,  168,  168,  168,  168,  168,  168,  168,  168,
      168,  168,  168,  168,  168,  168,  168,  168,   26,   26,

       31,   32,   28,   32,   33,   34,   31,   35,   31,   31,
       31,   36,  169,   35,   35,   35,   35,   37,   31,   38,
      170,   31,   35,  171,  170,  172,  173,  170,  170,  174,
      170,  170,  170,  170,  170,  170,  170,  170,  170,  175,
      176,  170,  170,  177,  178,  170,  170,  170,   31,   31,
      182,  184,  181,  184,  185,  182,  182,  186,  182,  182,
      182,  187,  186,  186,  186,  186,  186,  188,  182,  189,
      186,  182,  186,  190,  186,  191,  192,  186,  186,  193,
      186,  186,  186,  186,  186,  186,  186,  186,  186,  194,
      195,  186,  186,  196,  197,  186,  186,  186,  182,  182,

      182,  182, 2838,  182,  182,  182,  182,  426,  182,  182,
      182,  182,  325,  335,  325,  354,  427,  182,  182,  183,
      357,  182,  205,  182,  182,  335,  182,  348,  182,  357,
      183,  360,  374,  361,  333,  357,  349, 2837,  182,  182,
      375,  182,  334,  182,  198,  357,  366,  367,  182,  182,
      182,  182,  183,  182,  182,  182,  182,  334,  182,  182,
      182,  182,  368,  179,  357,  179,  357,  182,  182,  183,
      357,  182,  364,  182,  182,  207,  182,  249,  182,  443,
      362,  365,  205,  386,  182,  182,  335,  182,  363,  182,
      183,  387,  337,  554,  338,  339,  415,  327,  182,  182,

      217,  218,  217,  334,  182,  182,  522,  182,  416,  182,
      436,  220,  220,  220,  220,  220, 2847, 2847, 2847,  446,
      249,  249,  437,  340,  285,  489,  451,  220,  220,  220,
      220,  220,  182,  223,  218,  223,  185,  182,  182,  224,
      182,  182,  182,  187,  225,  225,  225,  225,  225,  188,
      226,  189,  224,  182,  224,  227,  224,  228,  229,  224,
      224,  230,  224,  224,  224,  224,  224,  224,  224,  224,
      224,  231,  232,  224,  224,  233,  234,  224,  224,  224,
      182,  182,  182,  182, 2836,  182,  182,  182,  182,  235,
      182,  182,  182,  182,  236,  236,  236,  236,  236,  182,

      226,  183,  235,  182,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
      182,  182,  182,  182, 2835,  182,  182,  182,  182,  226,
      182,  182,  182,  182,  237,  237,  237,  237,  237,  182,
      226,  183,  226,  182,  226,  226,  226,  226,  226,  226,
      226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
      226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
      182,  182,  182,  182,  235,  182,  182,  182,  182,  181,
      182,  182,  182,  182,  181,  181,  181,  181,  181,  182,

      182,  183,  635,  182,  181,  182,  182,  268,  182,  471,
      182,  222,  222,  222,  222,  222,  474,  219,  268,  222,
      222,  222,  222,  222,  203,  219,  204,  285,  249,  482,
      182,  182,  182,  182,  452,  182,  182,  182,  182,  424,
      182,  182,  182,  182,  249,  249, 2834,  425,  449,  182,
      182,  183,  444,  182,  447,  182,  182,  250,  182,  485,
      182,  285,  249,  268,  182,  182,  448,  182,  825,  182,
      285,  472,  182,  182,  394,  182,  395,  182,  483,  235,
      182,  182,  262,  203,  262,  204,  262,  262,  262,  262,
      475,  397,  180,  204,  180,  262,  262,  262,  268,  262,

      202,  202,  476,  202, 2833,  202,  260,  261,  260,  264,
      261,  264,  268,  268,  268,  473,  477,  268,  285,  399,
      479,  400,  285,  480,  490,  484,  262,  262,  182,  182,
      571,  182,  265,  182,  265,  304,  265,  265,  265,  265,
      486,  285,  572,  512,  488,  265,  265,  267,  285,  265,
      182,  182,  487,  182,  285,  182,  182,  182,  235,  182,
      491,  182,  182,  304,  182,  511,  514,  304,  304,  402,
      513,  403,  182,  634,  182,  267,  265,  265,  182,  182,
      300,  182,  265,  182,  265,  304,  265,  265,  265,  265,
      492,  519,  199,  381,  199,  265,  265,  267,  404,  265,

      405,  406,  199,  274,  199,  407,  182,  182,  183,  182,
      303,  182,  304,  304,  518,  517,  408,  304,  335,  320,
      496,  320,  409,  520,  552,  456,  265,  265,  182,  182,
     1353,  182,  182,  182,  182,  321,  182,  182,  182,  182,
      515,  322,  322,  322,  322,  182,  182,  183,  304,  182,
      182,  182,  516,  182,  323,  182,  323,  325,  335,  325,
      542,  201,  325,  335,  325,  335,  545,  205,  618,  454,
      324,  455,  546,  543,  335,  183,  182,  182,  182,  182,
      183,  182,  182,  182,  182,  335,  182,  182,  182,  182,
      335,  335,  550,  549,  551,  182,  182,  183,  183,  182,

      547,  182,  182,  286,  182,  357,  182,  556,  335,  183,
      182,  182,  548,  182,  606,  182,  182,  182,  335,  182,
      270,  182,  271,  559,  553,  357,  182,  182,  296,  457,
      793,  271,  296,  296,  296,  334,  296,  296,  296,  296,
      357,  357,  357,  563,  558,  296,  296,  296,  557,  296,
      202,  202,  560,  202,  650,  202,  182,  182,  249,  182,
      357,  182,  357,  381,  561,  562,  357,  357,  186,  459,
      579,  460,  564,  565,  186,  527,  296,  296,  299,  182,
      587,  182,  299,  299,  299,  186,  299,  299,  299,  299,
      183,  186,  409,  580,  581,  299,  299,  300,  599,  299,

      182,  182,  181,  182,  582,  182,  186,  181,  181,  181,
      181,  181,  583,  186,  186,  586,  585,  181,  610,  462,
      186,  463,  224,  201,  584,  622,  299,  299,  299,  182,
      396,  182,  299,  299,  299,  186,  299,  299,  299,  299,
      224,  588,  620,  201, 2830,  299,  299,  300,  183,  299,
      183,  299,  182,  310,  182,  600,  299,  611,  601,  593,
      299,  182,  602,  182,  603,  299,  201,  183,  299,  182,
      494,  182,  495,  299,  201,  612,  299,  299,  326,  306,
      326,  307,  326,  326,  326,  326,  613,  497,  967,  307,
      201,  326,  326,  326,  183,  326,  305,  202,  614,  202,

      623,  305,  224,  604,  224, 2827,  299,  182,  201,  182,
      605,  299,  621,  182,  182,  499,  182,  500,  182,  224,
      627,  615,  326,  326,  326,  502,  326,  503,  326,  326,
      326,  326,  525,  235,  526,  639,  201,  326,  326,  326,
      624,  326,  616,  328,  182,  182,  235,  182,  224,  182,
      224,  224,  625,  626,  381,  235,  632,  628,  224,  577,
      636,  405,  406,  337,  629,  338,  407,  235,  326,  326,
      182,  182,  235,  182,  332,  182,  332,  408,  332,  332,
      332,  332,  235,  409,  235,  640,  637,  332,  332,  334,
      631,  332,  182,  182,  235,  182,  643,  182,  249,  249,

      249,  249,  633,  249,  249, 2131,  638,  651,  645,  249,
      649,  528,  644,  338,  249,  646,  201,  647,  332,  332,
      182,  182,  268,  182,  332,  182,  332,  648,  332,  332,
      332,  332,  249,  268,  768,  672,  673,  332,  332,  334,
      268,  332,  674,  202,  202,  341,  202,  268,  202,  268,
      268,  285,  304,  182,  182,  268,  182,  676,  182,  675,
      268,  678,  530,  677,  531,  684,  714,  680,  332,  332,
      182,  182,  456,  182,  182,  182,  182,  285,  182,  182,
      358,  182,  679,  689, 2693,  683,  268,  182,  182,  183,
      285,  182,  182,  182,  285,  182,  285,  182,  285,  285,

      285,  469,  687,  182,  182,  685,  182,  691,  182,  713,
      686,  533,  688,  534,  304,  182, 2675,  182,  182,  182,
      182,  182,  267,  182,  182,  182,  182,  304,  182,  182,
      661,  182,  690,  492,  304,  304,  285,  182,  182,  183,
      718,  182,  182,  182,  715,  182,  716,  182,  182,  182,
      304,  182,  743,  182,  199,  755,  199,  335,  717,  304,
      357,  394,  509,  395,  182,  719,  182,  267,  182,  182,
      182,  182,  496,  182,  182,  182,  182, 2674,  182,  182,
      358,  182,  300,  668,  182,  304,  182,  182,  182,  183,
      702,  182,  721,  182,  182,  359,  182,  335,  182,  720,

      777,  696,  300,  304,  335,  186,  746,  703,  182,  182,
      704,  182,  589,  182,  395,  182,  744,  182,  182,  182,
      182,  182,  335,  182,  182,  182,  182,  267,  182,  182,
      182,  182,  662,  300,  335,  663,  745,  182,  182,  183,
      335,  182,  393,  393,  335,  393,  747,  393,  748,  709,
      335,  554,  335,  335,  751,  357,  750,  749,  335,  357,
      752,  591,  183,  592,  757,  791,  357,  759,  182,  182,
      182,  182,  761,  182,  182,  182,  182,  201,  182,  182,
      182,  182,  201,  201,  201,  201,  201,  182,  182,  183,
      370,  182,  201,  370,  370,  370,  370,  370,  370,  370,

      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  370,  370,  182,  182,
      182,  762,  182,  182,  183,  357,  357,  201,  182,  182,
      182,  182,  774,  182,  182,  182,  182,  182,  183,  182,
      756,  769,  186,  357,  186,  186,  201,  397,  186,  204,
      357,  201,  764,  203,  357,  204,  760,  763,  186,  186,
      201,  765,  186,  186,  182,  182,  758,  182,  182,  182,
      182,  766,  182,  182,  182,  182,  594,  182,  201,  182,
      201,  182,  182,  183,  201,  182,  182,  182,  201,  182,
      772,  182,  771,  767,  186,  300,  186,  773,  202,  202,

      783,  202,  201,  202,  224,  397,  182,  204,  182,  705,
      778,  706,  182,  182,  217,  218,  217,  399,  818,  400,
     2670,  770,  186,  186,  300,  220,  220,  220,  220,  220,
     2847, 2847, 2847,  707,  780,  784,  782,  224,  814,  186,
      708,  220,  220,  220,  220,  220,  182,  223,  218,  223,
      185,  182,  182,  224,  182,  182,  182,  187,  225,  225,
      225,  225,  225,  188,  226,  189,  224,  182,  224,  227,
      224,  228,  229,  224,  224,  230,  224,  224,  224,  224,
      224,  224,  224,  224,  224,  231,  232,  224,  224,  233,
      234,  224,  224,  224,  182,  182,  182, 2847,  182,  182,

      224,  224,  821, 2668,  182,  182,  182,  182,  186,  182,
      182,  182,  182,  182,  183,  182,  816,  779,  224,  186,
      224,  224,  183,  402,  224,  403,  186,  781,  183,  595,
      183,  403,  790,  785,  224,  224,  798,  792,  224,  224,
      182,  182, 2664,  182,  182,  182,  182,  226,  182,  182,
      182,  182,  237,  237,  237,  237,  237,  182,  226,  183,
      226,  182,  226,  226,  226,  226,  226,  226,  226,  226,
      226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
      226,  226,  226,  226,  226,  226,  226,  226,  182,  182,
      182,  182, 2662,  182,  182,  182,  182,  235,  182,  182,

      182,  182,  236,  236,  236,  236,  236,  182,  226,  183,
      235,  182,  235,  235,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235,  235,  235,  235,  235,  182,  182,
      182,  182,  201,  182,  182,  182,  182,  183,  182,  182,
      182,  182,  806,  183,  794,  805,  224,  182,  182,  183,
      799,  182,  401,  401,  201,  401,  201,  401,  182,  182,
      803,  182,  804,  182,  201,  808,  815,  201,  809, 2218,
      201,  597,  807,  598,  201,  810,  201,  527,  182,  182,
      182,  182,  224,  182,  182,  182,  182,  811,  182,  182,

      182,  182,  224,  183,  820,  186,  201,  182,  182,  183,
      795,  182,  182,  182,  796,  182,  540,  182,  224,  797,
      817,  824,  224,  442,  813,  235,  235,  249,  826,  182,
      182,  454,  182,  455,  182, 2658,  224,  839,  182,  182,
      262,  819,  262,  827,  262,  262,  262,  262,  652,  822,
      455,  235,  832,  262,  262,  262,  235,  262,  393,  393,
      235,  393,  830,  393,  182,  182,  828,  182,  235,  182,
      831,  836,  829,  249,  983,  235,  201,  654,  249,  655,
      833,  840,  235,  334,  262,  262,  182,  182,  268,  182,
      265,  182,  265,  235,  265,  265,  265,  265,  864,  739,

      249,  838,  183,  265,  265,  267,  837,  265,  182,  182,
      249,  182,  841,  182,  347,  842,  976, 2657,  335,  182,
      182,  249,  182,  249,  182,  182,  182,  457,  182,  271,
      182,  183,  995,  844,  265,  265,  182,  182,  270,  182,
      271,  182,  249,  966,  457,  224,  271,  202,  202,  249,
      202,  861,  202,  268,  843,  456,  656,  268,  268,  862,
      464,  863,  465,  466,  866,  865,  459,  467,  460,  867,
      268,  268,  869,  268,  285,  872,  868,  268,  468, 1375,
      873,  268,  285,  874,  469,  182,  182,  285,  182,  265,
      182,  265,  285,  265,  265,  265,  265,  875,  182,  201,

      182,  285,  265,  265,  267,  877,  265,  182,  182,  876,
      182,  878,  182,  880,  285,  285,  300,  898,  470,  285,
      879,  304,  285,  304,  304,  887,  462,  899,  463,  904,
      182,  902,  182,  265,  265,  182,  182,  304,  182,  182,
      182,  182, 2653,  182,  182,  182,  182,  182,  300,  182,
      304,  886,  182,  182,  183,  905,  182,  182,  182,  182,
      182,  182,  182,  182,  182,  300,  182,  923,  182,  992,
      900,  304,  335,  224,  335,  885,  657,  300,  463,  304,
      927,  901,  267,  182,  182,  182,  182, 2078,  182,  182,
      182,  182,  848,  182,  182,  182,  182,  182,  888,  182,

      903,  186,  182,  182,  183,  906,  182,  401,  401,  304,
      401,  182,  401,  182,  304,  300,  925,  335,  481,  182,
      182,  893,  182,  924,  182,  335,  659,  335,  660,  300,
      182, 2651,  182,  182,  182,  296,  889,  926,  267,  296,
      296,  296,  929,  296,  296,  296,  296,  850,  300,  182,
      335,  182,  296,  296,  296,  890,  296,  299,  182,  891,
      182,  928,  299,  183,  892,  183,  931,  300,  182,  182,
      335,  182,  335,  182,  894,  335,  494,  930,  495,  984,
      973, 1157,  201,  296,  296,  299,  182,  334,  182,  299,
      299,  299,  934,  299,  299,  299,  299,  910,  990,  357,

      936,  201,  299,  299,  300,  357,  299,  182,  182,  357,
      182,  935,  182,  182,  182,  357,  182,  357,  182,  939,
      357, 2647,  941,  938,  299,  182,  267,  182,  357,  299,
      937,  940,  267,  299,  299,  182,  183,  182,  942,  357,
      664,  666,  665,  692,  944,  495,  805,  357,  667,  493,
      393,  370,  393,  492,  493,  370,  370,  370,  504, 1166,
      505,  506,  945,  370,  808,  507,  948,  946,  694,  811,
      695,  947,  370,  370,  370,  183,  508,  949,  370,  224,
      183,  994,  509,  299,  182,  950,  182,  299,  299,  299,
      953,  299,  299,  299,  299,  224, 1159,  186,  955,  997,

      299,  299,  300,  186,  299,  299,  182,  186,  182,  954,
      299,  186,  186,  186,  224, 1000,  510,  183,  960,  958,
      957,  956,  299,  182,  497,  182,  307,  299,  186,  968,
     2646,  299,  299,  326,  959,  326,  961,  326,  326,  326,
      326,  306,  186,  307,  183,  186,  326,  326,  326,  183,
      326,  299,  182,  697,  182,  183,  299,  969,  970,  982,
     1326,  305,  202,  201,  202,  201,  305,  971,  299,  182,
      497,  182,  307,  299, 1016,  986,  249,  326,  326,  326,
      499,  326,  500,  326,  326,  326,  326,  502,  201,  503,
     2638,  183,  326,  326,  326,  985,  326,  299,  182,  972,

      182,  183,  299,  183,  201,  201,  201,  224,  521,  977,
      974,  993,  987,  996,  975,  988,  698,  989,  503,  998,
      235, 1009,  224,  326,  326,  182,  182,  999,  182,  332,
      182,  332,  224,  332,  332,  332,  332,  235, 1001,  224,
     1004, 1011,  332,  332,  334, 1005,  332,  501,  401, 1003,
      401,  224,  501,  235,  235, 2631,  235,  235,  182,  182,
     1006,  182, 1008,  182,  182,  182,  700,  182,  701,  182,
      235,  183, 1012,  332,  332,  182,  182,  525,  182,  526,
      182,  235,  235,  723, 1010,  526,  393,  393, 1165,  393,
     1015,  393,  182,  182,  527,  182,  249,  182,  249,  535,

     1017,  536,  537,  249,  249,  725,  538,  726,  249,  249,
     1019,  528, 1020,  338,  268, 1018, 1043,  539, 1023, 1021,
      249,  249,  268,  540,  182,  182, 1047,  182,  332,  182,
      332, 1022,  332,  332,  332,  332, 1044,  268,  268, 2628,
      727,  332,  332,  334, 1046,  332,  182,  182,  268,  182,
     1045,  182,  268,  268, 1054,  268, 1048,  541, 1051,  201,
      285,  268, 1049, 1172,  285,  337, 1050,  338, 1055,  285,
      285, 1057,  332,  332,  182,  182,  285,  182,  182,  182,
      182, 1058,  182,  182,  358,  182, 1056, 1061, 2086,  285,
      285,  182,  182,  183,  285,  182,  182,  182, 1059,  182,

     1062,  182,  201,  285, 1060, 1083, 1085,  182,  182,  304,
      182,  304,  182,  304, 1084,  528,  304,  338,  182,  304,
      182, 1088,  182,  182,  182,  182,  334,  182,  182,  182,
      182, 1087,  182,  182,  732,  182,  300,  182,  182,  182,
      182,  182,  182,  183,  183,  182,  202,  202, 1067,  202,
      182,  202,  182, 1161,  304,  300,  300,  182,  182,  304,
      182, 1086,  182, 1070, 1073,  530, 2617,  531,  300,  182,
     1090,  182,  182,  182,  182,  182,  267,  182,  182,  182,
      182,  183,  182,  182,  358,  182,  335,  300, 1027, 1068,
     1162,  182,  182,  183, 1116,  182,  182,  182,  304,  182,

      182,  182,  182,  978, 1074,  978, 1091,  555, 1089,  304,
     1111, 1112,  335,  335, 1122,  533,  335,  534,  300, 1114,
      357, 1080,  182,  182,  182,  182, 1078,  182,  182,  182,
      182,  201,  182,  182,  182,  182,  201,  201,  201,  201,
      201,  182,  182,  183,  370,  182,  201,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  182,  182,  182, 1113,  182,  182,  335,  182,
     2611,  182,  182,  182,  182,  182,  357,  182,  401,  401,
      182,  401,  183,  401, 1127,  335,  186,  300,  186,  186,

      335,  728,  186,  534, 1075, 1117,  578,  730, 1076,  731,
      224, 1118,  186,  186, 1189,  357,  186,  186,  182,  182,
      335,  182,  182,  182,  182, 1128,  182,  182,  182,  182,
      183,  182, 1115,  182, 2508,  182,  182,  183, 1119,  182,
      182,  335,  182,  182,  182, 1123,  182,  357,  182,  300,
     1124, 1163, 1130,  357,  357,  357,  182,  182,  300,  182,
      201,  182,  589, 1077,  395, 1129,  182,  182,  182,  182,
     1069,  182,  182,  182,  182,  334,  182,  182,  182,  182,
      733,  357, 1133,  734,  370,  182,  182,  183, 1125,  182,
      608,  786,  357,  182,  182, 1132,  182, 1142,  182,  186,

     2605,  370,  370,  370, 1126,  370,  182,  182,  370,  182,
     1134,  182,  394, 1137,  395, 1136,  182,  182,  182,  182,
     1135,  182,  182,  182,  182,  334,  182,  182,  182,  182,
     1143,  186,  183,  186,  737,  182,  182,  183, 1144,  182,
     2599,  738,  182,  182, 1138,  182,  609,  182,  186, 1141,
      186,  978,  978,  186,  978,  186,  978,  183, 1146, 1149,
     1145,  589,  186,  395, 1148, 1164,  182,  182,  182,  182,
     1040,  182,  182,  182,  182,  224,  182,  182,  182,  182,
      225,  225,  225,  225,  225,  182,  226,  183,  224,  182,
      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,

      224,  619,  224,  224,  224,  224,  224,  224,  224,  224,
      224,  224,  224,  224,  224,  224,  182,  182,  182,  182,
     2593,  182,  182,  182,  182,  235,  182,  182,  182,  182,
      236,  236,  236,  236,  236,  182,  226,  183,  235,  182,
      630,  235,  235,  235,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235,  235,  235,  182,  182,  182,  182,
      186,  182,  182,  182,  182,  183,  182,  182,  182,  182,
     1147,  201,  183, 2587,  201,  182,  182,  183, 1160,  182,
      641,  393,  393, 1158,  393,  183,  393,  201,  201, 1171,

     1173, 1176, 1178,  201, 1167,  201,  182,  182, 1179,  182,
      591,  182,  592,  224, 1187,  235,  182,  182,  182,  182,
     1174,  182,  182,  182,  182,  267,  182,  182,  182,  182,
     1196, 1181,  852,  201, 1182,  182,  182,  183,  224,  182,
      182,  182, 1177,  182, 1183,  182,  642,  224, 1184, 2569,
      224,  182,  182,  224,  182, 1186,  182,  224,  224,  595,
     1188,  403,  182,  235,  182, 1190,  182,  182,  182,  182,
      267,  182,  265,  182,  265,  224,  265,  265,  265,  265,
      300, 1193, 1029, 1071, 2443,  265,  265,  267,  789,  265,
      182,  182, 1072,  182,  235,  182,  182,  182, 1194,  182,

      235,  182, 1195,  235,  235,  235,  249,  235, 1206,  402,
     1200,  403, 1201, 1199,  249,  267,  265,  265,  182,  182,
     1198,  182,  265,  182,  265,  249,  265,  265,  265,  265,
      249, 1209, 1034,  249, 1205,  265,  265,  267,  249,  265,
      670,  182,  182, 1204,  182,  249,  182, 1210, 1207,  249,
     1211,  268,  268,  268, 1212, 1233,  182,  182, 1239,  182,
      595,  182,  403,  268,  183, 1234,  265,  265,  182,  182,
     1232,  182,  265,  182,  265,  267,  265,  265,  265,  265,
      285,  856,  268,  268,  285,  265,  265,  267, 1244,  265,
      401,  401,  285,  401,  268,  401,  671, 1235, 1243, 2417,

     1237,  182,  182, 1238,  182,  268,  182, 1246,  285,  597,
     1240,  598,  285, 1151, 1245, 1151,  265,  265,  182,  182,
      267,  182,  182,  182,  182, 1248,  182,  182,  182,  182,
      182, 1254,  182,  285,  304,  182,  182,  183, 1250,  182,
      681,  851,  182,  182,  285,  182, 1600,  182,  300, 1276,
      285,  182,  182, 1249,  182, 1251,  182,  182,  304,  182,
     1275,  652,  304,  455, 1259,  235,  182,  182,  182,  182,
      334,  182,  182,  182,  182,  300,  182,  182,  182,  182,
     1273,  182,  182,  182,  182,  182,  182,  183,  304,  182,
      845,  913,  182,  182,  304,  182,  682,  182, 1274,  300,

      300,  182,  182,  183,  182, 1278,  182,  182, 1266,  182,
     1356,  454,  182,  455,  182, 1261,  182,  182,  299,  182,
      267,  182,  299,  299,  299,  300,  299,  299,  299,  299,
      300, 1262,  335,  304, 1037,  299,  299,  300, 1280,  299,
      182,  182,  978,  182,  978,  182,  304,  182, 1260,  182,
     1301,  182,  182,  304,  182, 1279,  182,  183, 1281,  652,
     1080,  455,  182, 1565,  182,  300,  299,  299,  299,  182,
      334,  182,  299,  299,  299,  335,  299,  299,  299,  299,
      300,  182, 1095,  182, 1307,  299,  299,  300, 1268,  299,
      711,  393,  393,  335,  393, 2408,  393, 1302,  335,  300,

     1303, 1265,  978,  357,  978, 1314,  182,  182, 1263,  182,
      654,  182,  655,  182, 1360,  182,  299,  299,  299,  182,
     1270,  182,  299,  299,  299,  267,  299,  299,  299,  299,
      201,  300,  857,  335,  357,  299,  299,  300,  335,  299,
     1264, 1389,  335, 1308,  182,  182,  712,  182, 1304,  182,
      182,  182, 1312,  182,  235,  182,  335,  182,  182, 1306,
      182, 1309,  182,  334,  201, 1583,  299,  299,  326,  657,
      326,  463,  326,  326,  326,  326,  462,  735,  463,  736,
      357,  326,  326,  326, 1313,  326,  182,  182,  182,  182,
      182,  182, 2398,  357,  357,  357,  401,  401,  847,  401,

     1319,  401, 1318,  183,  722,  657,  300,  463,  182, 1315,
      182, 1350,  326,  326,  326,  659,  326,  660,  326,  326,
      326,  326,  357, 1267,  201,  357,  300,  326,  326,  326,
     1320,  326,  201,  182,  182, 1269,  182,  523,  182, 1317,
      201,  201, 1321,  186, 1322, 1331, 1168, 1323,  182,  182,
     1324,  182,  267,  182,  186,  849, 2389,  201,  326,  326,
      182,  182, 1325,  182,  332,  182,  332,  334,  332,  332,
      332,  332, 1329,  186,  186, 1357,  912,  332,  332,  334,
      186,  332,  299,  182, 1330,  182,  186,  299, 1332,  183,
     2380, 1334,  186,  182,  182, 1335,  182, 1336,  182,  186,

     1363,  692,  183,  495, 1337, 1349, 1352,  201,  332,  332,
      182,  182,  334,  182,  332,  182,  332,  183,  332,  332,
      332,  332,  183, 1371, 1097, 1351,  183,  332,  332,  334,
      881,  332,  741,  299,  182, 1354,  182,  201,  299,  201,
      224, 1372,  224, 1355, 1379,  224, 1390, 1380,  182,  182,
      235,  182,  494,  182,  495,  224, 2371, 1381,  332,  332,
      182,  182, 1361,  182,  332,  182,  332,  334,  332,  332,
      332,  332,  224, 1378,  914,  224, 1362,  332,  332,  334,
      201,  332,  299,  182, 1384,  182,  224,  299,  742, 1383,
     1364, 1385,  224,  182,  182, 1576,  182, 1386,  182,  235,

     1398,  692,  201,  495, 1365, 2367, 1397, 1401,  332,  332,
      182,  182,  334,  182,  182,  182,  182,  235,  182,  182,
      358,  182,  235,  249, 1396, 1388, 1105,  182,  182,  183,
      201,  182,  753,  493,  393, 1402,  393,  235,  493, 1408,
      249,  268,  249, 1361, 1409, 1442,  285,  183,  182,  182,
     1455,  182,  694,  182,  695,  249, 1754, 1362,  182,  182,
      182,  182, 1373,  182,  182,  182,  182,  334,  182,  182,
      358,  182, 1410,  918, 1432, 1444, 1374,  182,  182,  183,
      235,  182,  299,  182, 1434,  182, 1456,  299,  754, 1441,
      268,  268,  249,  978,  978,  268,  978, 1448,  978, 2359,

     1481,  502,  201,  503,  285,  268,  285,  304,  182,  182,
      182,  182, 1108,  182,  182,  182,  182,  201,  182,  182,
      182,  182,  201,  201,  201,  201,  201,  182,  182,  183,
      370,  182,  608,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  370,  370,  182,  182,
      182,  182, 1364,  182,  182,  182,  182, 1447,  182,  182,
      182,  182, 1491, 1515, 2341, 1454, 1365,  182,  182,  183,
      335,  182,  775,  285,  299,  182, 1373,  182, 1366,  299,
     1367,  285,  304,  182,  182, 1368,  182, 1529,  182,  235,

     1374, 1479, 1369,  698,  357,  503, 1370,  201,  182,  182,
      182,  182,  267,  182,  182,  182,  182,  304,  182,  182,
      182,  182, 1151,  235, 1151, 1488,  304,  182,  182,  183,
     1489,  182,  884, 1028,  299,  182, 1361,  182,  776,  299,
     1254,  304,  183,  182,  182, 1540,  182, 2331,  182, 1151,
     1362, 1151,  335,  698, 1525,  503, 1523, 1513,  182,  182,
      199,  199,  267,  199,  199,  199,  199, 1460,  199,  199,
      199,  199, 1364,  335,  335, 1537,  249,  199,  199,  200,
     1219,  199,  501,  401, 1522,  401, 1365,  501,  182,  182,
     1373,  182,  357,  182, 1341,  357, 1536,  370, 1544, 2258,

      335,  700,  186,  701, 1374,  186, 1551,  334,  199,  199,
      182,  182,  249,  182,  202,  182,  202, 1539,  202,  202,
      202,  202, 1361, 1557, 1102, 1552, 1528,  202,  202,  203,
      249,  204,  182,  182, 1364,  182, 1433,  182,  182,  182,
     1535,  182,  357,  182,  183,  186, 1578,  201, 1435, 1580,
      201,  723, 1568,  526,  183,  201,  357,  267,  202,  202,
      182,  182,  268,  182,  182,  182,  182, 1582,  182,  182,
      182,  182, 1373, 1218,  268,  183, 1543,  182,  182,  183,
      907,  182,  182,  182, 1361,  182, 1443,  182,  182,  182,
     1364,  182,  186,  182, 1586,  201, 1590, 1567, 1362,  183,

      224,  525,  201,  526, 1365, 1563, 1564,  267,  182,  800,
      182,  182,  268,  182,  182,  182,  182, 1581,  182,  182,
      182,  182, 1373, 1220,  285, 2247, 1361,  182,  182,  183,
      285,  182,  182,  182,  249,  182, 1374,  182,  182,  182,
     1362,  182, 1589,  182,  224,  801,  224, 1588, 1602, 1614,
      370,  723,  235,  526,  182,  224,  182,  267,  182,  182,
      182,  182,  285,  182,  182,  182,  182, 1596,  182,  182,
      182,  182,  300, 1550,  182, 1468,  182,  182,  182,  183,
      224,  182,  393,  393, 1603,  393, 1604,  393, 1391,  186,
     1392,  802,  300,  978,  978, 1393,  978,  249,  978, 1617,

     1469,  725, 1394,  726,  235,  235, 1395,  235,  182,  182,
      182,  182, 1040,  182,  182,  182,  182,  224,  182,  182,
      182,  182,  225,  225,  225,  225,  225,  182,  226,  183,
      224,  182,  812,  224,  224,  224,  224,  224,  224,  224,
      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
      224,  224,  224,  224,  224,  224,  224,  224,  182,  182,
      182,  182, 2220,  182,  182,  182,  182,  235,  182,  182,
      182,  182,  236,  236,  236,  236,  236,  182,  226,  183,
      235,  182,  235,  235,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235,  235,  823,  235,  235,  235,  235,

      235,  235,  235,  235,  235,  235,  235,  235,  182,  182,
      182,  182,  183,  182,  182,  182,  182, 1753,  182,  182,
      182,  182,  182,  224,  182, 1152,  183,  182,  182,  183,
     1597,  182,  182,  182,  182,  182,  182,  182,  182,  182,
      300,  182, 1566,  182,  182,  834,  182,  268, 1470, 1646,
     1598,  728,  300,  534,  182, 1608,  182,  267,  182,  182,
      182,  182,  300,  182,  182,  182,  182,  224,  182,  182,
      182,  182,  300,  235, 1226, 2066, 1575,  182,  182,  183,
      909,  182,  182,  182, 1577,  182, 1927,  182, 1403, 1471,
     1404,  835,  183,  978,  978, 1405,  978, 1607,  978,  201,

      183,  533, 1406,  534,  235, 1605, 1407,  249,  182,  182,
      182,  182, 1229,  182,  269,  182,  269, 1609,  269,  269,
      269,  269,  235, 2266,  182, 1610,  182,  269,  269,  270,
     1606,  271,  182,  182,  235,  182,  235,  182,  182,  182,
      182,  182,  300,  401,  401,  235,  401,  249,  401,  182,
      182,  728,  182,  534,  182,  249,  300,  300,  269,  269,
      182,  182,  730,  182,  731,  182, 1473,  268,  334, 1361,
     1618,  911,  182,  182, 1436,  182, 1437,  182, 1472,  267,
     2053, 1438, 1643, 1480,  182,  182,  853,  182, 1439,  182,
      854,  334, 1440,  268, 1361,  855,  182,  182,  919,  182,

      265,  182,  265,  267,  265,  265,  265,  265, 1362,  304,
      183, 1030, 1585,  265,  265,  267, 1364,  265,  182, 1364,
      182,  182,  182,  182,  182,  182,  182, 1615,  183, 2033,
     1365,  249,  183, 1482,  182,  182,  300,  182, 1644,  182,
      267,  300,  268, 1475,  265,  858,  182,  182, 1033,  182,
      265,  182,  265,  267,  265,  265,  265,  265,  249,  304,
      268, 1038, 1474,  265,  265,  267, 2107,  265,  182,  182,
     1619,  182, 1373,  182, 1361, 1647, 1361,  224, 1364,  182,
      182,  859,  182,  285,  182, 1658, 1490,  334, 1362, 1373,
     1514,  978, 1516,  978,  265,  265,  182,  182,  267,  182,

      265,  182,  265, 1524,  265,  265,  265,  265, 1096, 1270,
      285,  224,  304,  265,  265,  267,  335,  265,  335, 1224,
     1758,  182,  182, 2012,  182, 1655,  182,  860, 1361,  335,
      249, 1620, 1622,  249,  182,  182,  183,  182, 1476,  182,
      334,  304, 1362, 1688,  265,  265,  182,  182, 1098,  182,
      182,  182,  182,  334,  182,  182,  182,  182,  268, 1364,
      285, 1101, 1779,  182,  182,  183, 1373,  182,  357,  224,
     1648,  182,  182, 1365,  182, 1659,  182,  268, 1649, 1364,
     1374,  870,  183,  370,  182,  182,  335,  182, 1717,  182,
      334, 1651,  268, 1365,  182,  182,  182,  182, 1106,  182,

      182,  182,  182,  267,  182,  182,  182,  182, 1656, 1221,
     1775, 1373,  285,  182,  182,  183,  224,  182,  978,  978,
     1999,  978, 1364,  978, 1449, 1374, 1450,  871,  285,  182,
      182, 1451,  182,  224,  182,  370, 1365, 1154, 1452, 1155,
     1660,  304, 1453,  285,  182,  182,  302,  199,  334,  199,
      302,  302,  302, 1690,  302,  302,  302,  302, 1373,  285,
     1661,  304,  357,  302,  302,  303, 1288,  302,  978,  978,
     1361,  978, 1374,  978,  182,  182, 1685,  182, 1364,  182,
     1663,  285, 1686,  357, 1362, 1729,  304, 1215,  304, 1216,
      304, 1691, 1365,  267,  302,  302,  299,  182,  357,  182,

      305,  299,  305, 1689,  305,  305,  305,  305, 1715,  182,
      186,  182,  335,  305,  305,  306, 1227,  307,  186, 1373,
      182,  182, 1483,  182, 1484,  182,  335,  300,  335, 1485,
     1693,  304,  186, 1374, 1742,  182, 1486,  182, 1719,  267,
     1487,  304, 1575, 1714,  305,  305,  299,  182, 1222,  182,
      299,  299,  299,  300,  299,  299,  299,  299,  183,  186,
      182,  335,  182,  299,  299,  300, 1373,  299, 1572, 1572,
      182,  182, 1517,  182, 1518,  182, 1718, 1727,  300, 1519,
     1374,  357, 1573, 1573, 1674, 1675, 1520, 1574, 1601,  267,
     1521,  335,  201,  357,  299,  895,  299,  182, 1223,  182,

      299,  299,  299,  224,  299,  299,  299,  299, 1726, 1530,
      357, 1531,  235,  299,  299,  300, 1532,  299,  182, 1572,
      182,  182,  182, 1533,  182, 1730,  182, 1534,  357,  335,
     1720,  896,  235, 1573,  182,  182,  300,  182, 1613,  182,
      267, 1959, 1676,  249,  299,  299,  299,  182, 1225,  182,
      299,  299,  299,  267,  299,  299,  299,  299, 1151,  186,
     1151, 1572, 1228,  299,  299,  300,  183,  299,  182,  182,
      357,  182, 1563,  182, 1739, 1641, 1460,  897,  182,  182,
     1642,  182, 1731,  182,  201,  268, 1762,  267,  182,  182,
     1031,  182, 1979,  182,  299,  299,  326,  267,  326, 1032,

      326,  326,  326,  326, 1035, 1668, 1577,  334, 1036,  326,
      326,  326,  186,  326, 1103, 1722,  335,  186, 1104,  329,
      182,  182,  183,  182, 1931,  182,  182, 1743,  182, 1744,
      182,  182,  201,  182, 1764,  182,  182,  201,  182,  334,
      326,  326,  182,  182,  300,  182,  336,  182,  336,  334,
      336,  336,  336,  336,  300, 1287,  357, 1732, 1572,  336,
      336,  337, 1679,  338,  235,  182,  182, 1795,  182, 1784,
      182,  182, 1573, 1575, 1734,  357,  182, 1654,  182,  235,
     1079,  978,  285,  978,  334, 1079,  182, 1099,  182,  300,
      336,  336,  182,  182,  300,  182, 1100,  182, 1572, 1256,

      183, 1257,  978,  978,  300,  978, 1545,  978, 1546, 1939,
     1677,  334, 1573, 1547,  183, 1740, 1572, 1752,  915,  186,
     1548, 1284,  916, 1285, 1549,  186, 1678,  917,  182,  182,
     1683,  182,  332,  182,  332, 1684,  332,  332,  332,  332,
      304, 1769,  182,  979, 1577,  332,  332,  334, 1572,  332,
      182,  182,  182,  182, 1585,  182,  182,  182,  201,  182,
      300,  182, 1712,  186, 1745, 1747,  186, 1713, 1796,  334,
      300, 1772,  335,  201, 1763,  334,  332,  920,  182,  182,
      235,  182,  332,  182,  332, 1289,  332,  332,  332,  332,
      224, 1770, 1295,  183, 1759,  332,  332,  334, 1765,  332,

      182,  182,  201,  182, 1585,  182, 1760, 1761,  201, 1766,
      201,  182,  182,  921,  182, 1767,  182,  201, 1774,  334,
      183,  201,  224, 1776, 1777, 1290,  332,  332,  182,  182,
      334,  182,  332,  182,  332, 1768,  332,  332,  332,  332,
     1778,  224,  224,  201,  224,  332,  332,  334, 1572,  332,
     1572, 1293,  182,  182, 1591,  182, 1592,  182,  235,  922,
     1792, 1593, 1573,  235, 1573, 1788, 1781, 1773, 1594, 1725,
      224,  334, 1595,  183,  357, 1780,  332,  332,  182,  182,
     1291,  182,  182,  182,  182,  224,  182,  182,  358,  182,
      182,  224, 1572,  224,  235,  182,  182,  183, 1782,  182,

     1789,  235,  182,  182,  182,  182, 1573,  182, 1790,  201,
      183, 1738, 1785,  932, 1735,  249,  186, 1802,  224,  235,
     1791,  334, 1922,  235, 1786, 1787,  182,  182,  182,  182,
     1292,  182,  182,  182,  182,  183,  182,  182,  358,  182,
     1793,  235,  249, 1803, 1806,  182,  182,  183, 1794,  182,
     1799,  235,  249,  182,  182,  249,  182, 1804,  182,  933,
     1805, 1807, 1800, 1801,  249, 1808,  249,  249,  268,  268,
     1823, 1825,  334,  249,  268, 1824,  182,  182,  182,  182,
     1294,  182,  182,  182,  182,  201,  182,  182,  182,  182,
      201,  201,  201,  201,  201,  182,  182,  183,  370,  182,

      201,  370,  370,  370,  370,  370,  370,  370,  370,  943,
      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  182,  182,  182,  182,
     1934,  182,  182,  182,  182, 1809,  182,  182,  182,  182,
     1826, 1810, 1828,  201,  268,  182,  182,  183,  268,  182,
      182,  182,  249,  182, 1820,  182,  978,  978,  249,  978,
     1827,  978,  183,  951, 1829, 1842, 1821, 1822,  268,  334,
      268,  285,  268, 1830, 1831, 1108,  182,  182,  182,  182,
      201,  182,  182,  182,  182, 1937,  182,  182,  182,  182,
      268,  268, 1296,  285, 1838,  182,  182,  183, 1834,  182,

     1746, 1844,  182,  182,  285,  182, 1837,  182, 1840,  952,
     1835, 1836,  285,  285,  285, 1839, 1841, 1843,  285,  183,
      304,  334, 1859, 1845,  285,  285,  182,  182,  182,  182,
     1297,  182,  393,  182,  393, 1921,  393,  393,  393,  393,
      285,  304,  182, 1861,  182,  393,  393,  394, 2119,  395,
      978,  978,  182,  978,  182,  978,  182,  182, 1938,  182,
      300,  182,  182, 1863,  182, 1851,  304, 1860,  235, 1298,
      300,  304,  182,  201,  182,  267,  393,  393,  199,  199,
      300,  199,  199,  199,  199, 1864,  199,  199,  199,  199,
      300,  304, 1424, 1866, 1862,  199,  199,  200,  304,  199,

      978,  978,  182,  978, 1758,  978,  182,  182, 1865,  182,
      304,  182,  335, 1867, 1880, 1884,  304,  335, 1881, 1339,
      300, 1340,  335,  335, 1882,  267,  199,  963,  182,  182,
      304,  182,  202,  182,  202, 1885,  202,  202,  202,  202,
      182,  335,  182, 1887, 1883,  202,  202,  203,  335,  204,
      978,  978, 1856,  978, 1886,  978,  182,  182,  300,  182,
      335,  182,  335, 1888, 1857, 1858, 1897, 1852,  304, 1154,
      357, 1155,  182, 1741,  182,  267,  202,  964,  182,  182,
      335,  182,  401,  182,  401, 1901,  401,  401,  401,  401,
      300,  357,  357, 1894, 1896,  401,  401,  402, 1898,  403,

      978,  978,  357,  978, 1899,  978,  357, 1850,  357, 1895,
      357,  182,  182, 1911,  182, 1900,  182,  186, 1902, 1342,
      186, 1155, 1908,  357,  186, 1909,  401,  401,  182,  182,
      267,  182,  182,  182,  182,  357,  182,  182,  182,  182,
      186, 1915, 1910,  224, 1948,  182,  182,  183, 1925,  182,
     1153, 1153, 1425, 1153, 1877, 1153,  182,  182,  186,  182,
     1912,  182,  201, 1926,  980, 1914, 1878, 1879,  186, 1344,
      335, 1345, 1733,  186, 1913,  267,  182,  182,  182,  182,
      186,  182,  182,  182,  182, 1916,  182,  182,  182,  182,
     1758,  201, 1932, 1928, 1933,  182,  182,  183,  201,  182,

      978,  978,  186,  978, 1728,  978,  183,  981,  224,  201,
      224,  182,  182, 1941,  182,  224,  182, 1945,  224, 1347,
     1949, 1348, 1947,  224, 1946, 1721,  182,  182,  182,  182,
      334,  182,  182,  182,  182,  224,  182,  182,  182,  182,
      225,  225,  225,  225,  225,  182,  226,  183,  224,  182,
      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
      224,  224,  224,  991,  224,  224,  224,  224,  224,  224,
      224,  224,  224,  224,  224,  224,  182,  182,  182,  182,
     1716,  182,  182,  182,  182,  235,  182,  182,  182,  182,
      236,  236,  236,  236,  236,  182,  226,  183,  235,  182,

      235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235, 1002,  235,  235,  235,  235,  235,
      235,  235,  235,  235,  235,  235,  182,  182,  182,  182,
     1942,  182,  182,  182,  182,  183,  182,  182,  182,  182,
     1952,  224, 1943, 1944, 2082,  182,  182,  183, 1929,  182,
      978,  978,  224,  978, 1891,  978,  978,  978,  235,  978,
     1951,  978, 1930,  224, 1013, 1955, 1892, 1893, 1958, 1412,
      357, 1413, 1950,  224,  235, 1229,  182,  182,  182,  182,
     1935,  182,  182,  182,  182,  201,  182,  182,  182,  182,
     1953, 1956,  186, 2068, 1936,  182,  182,  183,  235,  182,

      978,  978,  224,  978, 1429,  978, 1957, 1014, 1961, 1960,
     1929,  182,  182,  235,  182,  235,  182,  201,  235, 1215,
      235, 1216, 2574, 1962, 1930, 1964,  182,  182,  182,  182,
      334,  182,  453,  182,  453, 1963,  453,  453,  453,  453,
      235,  235,  224,  249, 1935,  453,  453,  454, 1977,  455,
      978,  978, 1905,  978, 1965,  978,  182,  182, 1936,  182,
      235,  182,  235, 1692, 1906, 1907, 1975, 1966,  186, 1414,
      249, 1216, 1971, 1974,  235,  334,  453,  453,  182,  182,
     1929,  182,  269,  182,  269,  249,  269,  269,  269,  269,
      249, 2278, 1505, 1969, 1930,  269,  269,  270, 1978,  271,

     1153, 1153,  249, 1153, 1972, 1153, 1935,  249, 1970, 1973,
     1976,  182,  182,  249,  182,  268,  182,  249, 1993, 1416,
     1936, 1417,  249,  249,  186, 2079,  269, 1025,  182,  182,
      334,  182,  461,  182,  461,  268,  461,  461,  461,  461,
      268, 1989, 1990,  249, 1687,  461,  461,  462, 1987,  463,
      978,  978, 1506,  978,  268,  978,  182,  182, 2074,  182,
     1992,  182,  268, 1988, 1994,  268,  201, 2087,  268, 1419,
     1997, 1420, 1995,  268,  186,  334,  461,  461,  182,  182,
     1929,  182,  265,  182,  265,  268,  265,  265,  265,  265,
      285, 2004, 2005, 1998, 1991,  265,  265,  267, 1935,  265,

      182,  182, 2006,  182,  285,  182,  182,  182,  268,  182,
     2009,  182, 1996, 2007, 1041,  285, 2008,  268,  186,  267,
      285, 2072, 1421,  285, 2027,  267,  265,  265,  182,  182,
      285,  182,  265,  182,  265,  268,  265,  265,  265,  265,
      304,  304, 2024, 1662, 2011,  265,  265,  267, 2002,  265,
      285, 2023, 2026,  182,  182, 2010,  182, 1042,  182,  285,
     2029, 1929,  285, 2003,  304,  304,  182,  182, 2332,  182,
     2028,  182,  267,  304,  304, 1930,  265,  265,  182,  182,
     1422,  182,  182,  182,  182,  267,  182,  182,  182,  182,
      182,  186,  182, 1423, 2032,  182,  182,  183,  285,  182,

     2043, 2021,  182,  182, 1935,  182, 1929,  182,  300,  304,
      335, 1935, 2044,  335, 1052,  304, 2022,  182, 1936,  182,
     2025,  267,  201, 2089, 2017, 2030,  182,  182,  182,  182,
     1426,  182,  182,  182,  182,  300,  182,  182,  182,  182,
      182,  285,  182,  304, 1657,  182,  182,  183,  304,  182,
      182,  182, 2090,  182,  978,  182,  978, 1053,  300, 2041,
      304,  182,  182, 2048,  182, 2031,  182,  335,  183,  267,
     2018, 1929, 1080,  335, 2042, 2047,  182,  182,  299,  182,
      334,  182,  493,  299,  493, 2045,  493,  493,  493,  493,
     1427, 2075,  335, 2046,  186,  493,  493,  494, 2049,  495,

     2058, 1508, 1650, 2052,  182,  182,  335,  182,  335,  182,
      335,  335,  357,  357, 2059, 2051,  182,  182,  335,  182,
      357,  182, 1645,  267, 2061, 2064,  493,  493,  302,  199,
     1428,  199,  302,  302,  302,  334,  302,  302,  302,  302,
     2062,  357, 1621, 1503,  357,  302,  302,  303, 1935,  302,
     1079,  978, 2056,  978, 1929, 1079,  978,  978, 2067,  978,
     2060,  978, 2050, 2084,  186, 2085,  357, 2057, 1930, 1458,
     1616, 1459,  201,  357,  201, 1298,  302, 1064,  299,  182,
     2063,  182,  305,  299,  305,  335,  305,  305,  305,  305,
      201,  357, 2288,  357, 2088,  305,  305,  306, 1935,  307,

     1079,  978, 2065,  978, 1510, 1079,  182,  182, 2071,  182,
     2073,  182, 1936,  183, 2093,  201,  285,  357,  186, 1256,
      186, 1257,  186, 2083, 2077,  267,  305, 1065,  299,  182,
     1929,  182,  501,  299,  501,  357,  501,  501,  501,  501,
     2123, 1635, 2076,  235, 1930,  501,  501,  502, 1929,  503,
     1079,  978, 2069,  978,  186, 1079,  182,  182, 1935,  182,
     2098,  182, 1930,  186,  183,  186,  186, 2070, 2216, 1461,
      201, 1257, 1936,  201, 2094,  267,  501,  501,  299,  182,
     2135,  182,  299,  299,  299,  201,  299,  299,  299,  299,
      249, 2099, 2095, 2092,  186,  299,  299,  300, 2096,  299,

     1255, 1153,  201, 1153, 1935, 1255,  182,  182,  183,  182,
     1584,  182, 2097,  224, 1081, 2100,  224,  224, 1936, 1463,
      183, 1464,  224, 2101, 2110,  267,  299,  299,  299,  182,
     2105,  182,  299,  299,  299,  201,  299,  299,  299,  299,
     2241, 2104, 1929,  224, 2102,  299,  299,  300,  224,  299,
     1079,  978,  224,  978, 2111, 1079, 1930, 1082, 2106, 2103,
     2109,  182,  182,  224,  182,  224,  182,  224,  224, 1466,
     2108, 1467, 2113,  224,  235, 1579,  299,  299,  182,  182,
      267,  182,  524,  182,  524,  224,  524,  524,  524,  524,
     2114, 2112,  235,  249, 2128,  524,  524,  525,  183,  526,

      978,  978, 1636,  978, 1935,  978,  182,  182, 2115, 1575,
      235,  182,  235,  235,  235,  235, 2121,  235, 1936, 1493,
     2116, 1494, 2118, 2227, 2117,  267,  524,  524,  182,  182,
     2124,  182,  336,  182,  336,  224,  336,  336,  336,  336,
     2120,  201,  235, 2147,  235,  336,  336,  337, 2127,  338,
      978,  978, 2122,  978, 2125,  978,  182,  182, 2126, 1577,
     2096,  182,  249,  249,  249,  249, 2130,  249, 2129, 1284,
      268, 1285, 2133,  249, 2097,  267,  336, 1093,  182,  182,
      183,  182,  532,  182,  532, 2132,  532,  532,  532,  532,
      235,  249, 2134, 2160,  249,  532,  532,  533, 2096,  534,

      978,  978,  249,  978, 2141,  978,  182,  182, 2136, 1585,
     2143,  182, 2097,  268, 2142,  268, 2144, 2562,  268, 1495,
      285, 1285, 2145,  268,  268,  267,  532,  532,  182,  182,
     2096,  182,  332,  182,  332,  249,  332,  332,  332,  332,
      268, 2146,  186, 2148, 2151,  332,  332,  334, 2152,  332,
     1153, 1153,  268, 1153,  268, 1153,  182,  182,  268,  182,
     2153,  182, 2149,  268, 1109,  268, 2150,  268,  183, 1497,
      285, 1498,  285, 2157, 2158,  334,  332,  332,  182,  182,
     2224,  182,  332,  182,  332, 2154,  332,  332,  332,  332,
     2156,  285, 2159, 2155,  285,  332,  332,  334, 2176,  332,

      978,  978,  285,  978,  285,  978, 2161, 1110, 2162,  285,
     2164,  182,  182, 2181,  182,  285,  182,  285, 2163, 1500,
      285, 1501, 1151,  304, 1151,  304,  332,  332,  182,  182,
      334,  182,  182,  182,  182,  285,  182,  182,  358,  182,
     1254, 2165,  182, 2170,  182,  182,  182,  183, 2096,  182,
      182,  182,  304,  182, 2171,  182,  182,  182,  183,  182,
      300,  182, 2097,  304, 1120,  304, 2172,  304, 2173,  334,
     2169, 2182, 1502,  304, 2175,  334,  182,  182,  182,  182,
      304,  182,  182,  182,  182,  285,  182,  182,  358,  182,
     2242, 1706,  182,  224,  182,  182,  182,  183,  304,  182,

     2177,  335, 2174,  182,  182, 2191,  182, 1121,  182,  304,
      300, 2178,  304,  304, 2179, 2187, 2188,  335, 2190, 2168,
      335, 2192,  334, 1382,  335,  335,  182,  182,  182,  182,
     1504,  182,  182,  182,  182,  201,  182,  182,  182,  182,
      201,  201,  201,  201,  201,  182,  182,  183,  370,  182,
      201,  370,  370,  370,  370,  370,  370, 1131,  370,  370,
      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  182,  182,  182,  182,
     2096,  182,  182,  182,  182, 1377,  182,  182,  182,  182,
      182,  182, 2090, 2095, 2180,  182,  182,  183, 2189,  182,

      357, 2194,  182,  182, 2204,  182, 2096,  182,  300,  300,
      335, 2214,  335, 2193, 1139, 2195,  335,  304,  335, 2196,
     2197,  334,  357, 2203,  186, 2198,  182,  182,  182,  182,
     1507,  182,  182,  182,  182,  335,  182,  182,  182,  182,
      335, 2200,  335,  335, 2201,  182,  182,  183, 2199,  182,
      357,  978,  978,  357,  978, 2207,  978, 1140, 2210, 2202,
      357, 2205, 2248, 2206,  357,  224,  182,  182,  357,  182,
     1339,  182, 1340,  357, 2208,  357,  182,  182,  182,  182,
     2255,  182,  393,  182,  393,  334,  393,  393,  393,  393,
      357,  235, 1509,  357, 2209,  393,  393,  394, 2096,  395,

      978,  978,  357,  978, 2090,  978,  182,  182, 2211,  182,
     2212,  182, 2097,  186, 2213, 2215, 2219,  183,  186, 1553,
      183, 1340,  186,  186,  186,  334,  393, 1150,  182,  182,
     2223,  182,  401,  182,  401,  357,  401,  401,  401,  401,
      186,  186, 2217, 2221,  183,  401,  401,  402, 2222,  403,
     1338, 1338, 2226, 1338, 2096, 1338,  201,  186, 2225, 2228,
      201,  182,  182,  201,  182, 2234,  182, 2240, 2097, 1555,
     2251, 1556,  201,  201,  224, 2095,  401, 1156,  182,  182,
      334,  182,  182,  182,  182, 2235,  182,  182,  182,  182,
      186,  183, 2239, 2229, 2238,  182,  182,  183,  201,  182,

     1169, 2257, 1707,  978,  978, 2243,  978, 2230,  978,  201,
      183, 2231,  235,  224, 2253,  224,  182,  182,  235,  182,
     2249,  182, 1342,  183, 1155, 2232,  182,  182,  182,  182,
      201,  182,  182,  182,  182,  267,  182,  182,  182,  182,
     2096, 1632, 1633,  235, 2261,  182,  182,  183,  201,  182,
     1170, 1558,  978,  978, 2097,  978,  183,  978,  224,  224,
      224,  182,  182,  224, 1575, 2244,  182, 2246,  235, 2245,
     2250, 1154,  235, 1155, 2256, 2254,  182,  182,  182,  182,
      334,  182,  182,  182,  182,  224,  182,  182,  182,  182,
      225,  225,  225,  225,  225,  182,  226,  183,  224,  182,

      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
      224,  224,  224,  224, 1180,  224,  224,  224,  224,  224,
      224,  224,  224,  224,  224,  224,  182,  182,  182,  182,
     1341,  182,  182,  182,  182,  235,  182,  182,  182,  182,
      236,  236,  236,  236,  236,  182,  226,  183,  235,  182,
     1191,  235,  235,  235,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235,  235,  235,  182,  182,  182,  182,
     2096,  182,  182,  182,  182, 2262,  182,  182,  182,  182,
      249,  224, 2259, 2236, 2097,  182,  182,  183,  235,  182,

     1202,  978,  978, 2252,  978, 2260,  978, 2237, 2263, 2437,
     2229,  224,  249, 2265,  249,  235,  182,  182, 2267,  182,
     1342,  182, 1155,  201, 2230,  249,  182,  182,  182,  182,
      201,  182,  182,  182,  182,  267,  182,  182,  182,  182,
      235, 1634, 2264, 2231, 2236,  182,  182,  183, 2269,  182,
     1203, 1153, 1153, 2270, 1153, 2268, 1153, 2232, 2237,  249,
      249, 2229, 2275,  268, 1152,  249,  182,  182,  249,  182,
     1344,  182, 1345,  235,  235, 2230,  182,  182,  182,  182,
     2231,  182,  453,  182,  453,  267,  453,  453,  453,  453,
     2287,  285, 1333, 1637, 2232,  453,  453,  454,  249,  455,

      978,  978, 2274,  978, 2236,  978,  182,  182, 2272, 1577,
     2273,  182, 2285,  268,  268, 2279,  285,  249, 2237, 1347,
      268, 1348,  268, 2282, 2286,  334,  453, 1213,  182,  182,
     2229,  182,  461,  182,  461, 2338,  461,  461,  461,  461,
      268,  249,  285,  201, 2276,  461,  461,  462, 2231,  463,
      978,  978, 2280,  978, 2236,  978,  182,  182, 2283, 1585,
     2290,  182, 2277, 2289,  268,  268, 2229,  268, 2281, 1559,
      285, 1348,  224,  285, 2352,  334,  461, 1217,  182,  182,
     2230,  182,  265,  182,  265,  268,  265,  265,  265,  265,
     2291,  268,  182, 2284,  182,  265,  265,  267,  285,  265,

     1230, 1346, 1346,  285, 1346, 2295, 1346,  285, 2292,  304,
      300, 2231, 2296, 2294,  285, 1175,  182,  182,  304,  182,
     1561,  182, 1562, 2297,  304, 2232,  265,  265,  182,  182,
      304,  182,  265,  182,  265,  334,  265,  265,  265,  265,
     2300, 1703, 1704, 2236, 2309,  265,  265,  267,  285,  265,
     1231,  978,  978, 2301,  978, 2302,  978, 2237, 2307, 2305,
      304, 2229,  335,  335,  304,  304,  182,  182,  304,  182,
     1412,  182, 1413, 2310,  335, 2298,  265,  265,  182,  182,
      285,  182,  182,  182,  182,  334,  182,  182,  182,  182,
      182, 1705, 2238, 2304, 2313,  182,  182,  183,  304,  182,

     1241,  978,  978, 2308,  978, 2368,  978,  335,  300, 2318,
      304, 2231,  182,  249,  182,  335,  182,  182,  335,  182,
     1623,  182, 1413, 2317, 2326, 2299,  182,  182,  182,  182,
      300,  182,  182,  182,  182,  334,  182,  182,  182,  182,
      335,  357, 2293, 1708, 2315,  182,  182,  183,  304,  182,
     1242, 1338, 1338, 2314, 1338, 2320, 1338,  335, 2319,  357,
      335, 2236, 2334,  357, 2322,  357,  182,  182, 2323,  182,
     1625,  182, 1626, 2321,  186, 2303,  182,  182,  299,  182,
     2229,  182,  493,  299,  493,  267,  493,  493,  493,  493,
     2329,  357,  357,  186, 2311,  493,  493,  494,  304,  495,

      978,  978, 1814,  978, 2231,  978,  182,  182, 2324,  182,
     2325,  182, 2328, 2440, 2327,  357,  186,  335, 2312, 1414,
      357, 1216,  201,  357, 2335,  267,  493, 1252,  299,  182,
     1815,  182,  501,  299,  501, 2330,  501,  501,  501,  501,
      186,  335,  224, 2351, 1316,  501,  501,  502, 1627,  503,
      978,  978,  186,  978, 2236,  978,  182,  182, 2229,  182,
     2336,  182, 2339,  183, 2333,  186, 2229,  201, 2316, 1215,
      186, 1216, 2230, 2337, 2342,  267,  501, 1258,  299,  182,
     2230,  182,  299,  299,  299, 1305,  299,  299,  299,  299,
      183,  335, 2340, 2231,  186,  299,  299,  300,  201,  299,

     1271,  978,  978,  357,  978, 2346,  978, 2232, 2343, 2349,
      224, 2236, 2356,  224,  201, 2354,  182,  182,  201,  182,
     1414,  182, 1216, 2347,  183, 2237,  299,  299,  299,  182,
      357,  182,  299,  299,  299,  267,  299,  299,  299,  299,
     2516,  201, 2348,  224, 1816,  299,  299,  300,  357,  299,
     1272, 1153, 1153, 2344, 1153, 2231, 1153, 2236,  183, 2229,
     2369,  182,  182, 2358,  182,  249,  182, 2345, 1277, 2232,
     1416, 2237, 1417, 2230,  224,  183,  299,  299,  182,  182,
      267,  182,  524,  182,  524, 2350,  524,  524,  524,  524,
      201,  186,  201,  186, 2231,  524,  524,  525, 2236,  526,

      978,  978, 2238,  978, 2353,  978,  182,  182, 2232,  182,
      183,  182, 2237, 2357,  183, 1247,  224, 2355,  183, 1419,
      224, 1420, 2360,  235, 2364,  267,  524, 1282,  182,  182,
      235,  182,  532,  182,  532,  224,  532,  532,  532,  532,
      235,  235, 2361,  235, 2362,  532,  532,  533, 2363,  534,
      978,  978, 2365,  978, 2229,  978,  182,  182, 1236, 1758,
     2231,  182,  235,  235, 2366, 2374, 2370, 2379, 2230, 1628,
      249, 1420,  249,  268, 2232,  267,  532, 1286,  182,  182,
     2344,  182,  332,  182,  332,  224,  332,  332,  332,  332,
     2373,  224, 2372, 2236, 2345,  332,  332,  334, 1208,  332,

     1299, 1346, 1346, 2344, 1346,  249, 1346, 2237,  249, 2388,
      235,  182,  182, 2377,  182,  285,  182, 2345, 2375, 1197,
     1630,  268, 1631, 2383,  224,  249,  332,  332,  182,  182,
      334,  182,  332,  182,  332, 1872,  332,  332,  332,  332,
      249,  268, 2382, 2378, 1192,  332,  332,  334,  268,  332,
     1300, 1079,  978, 2344,  978,  268, 1079, 2386, 2384, 1185,
     2390,  182,  182,  268,  182,  285,  182, 2381, 2385, 2387,
     1458, 2344, 1459,  285,  285,  268,  332,  332,  182,  182,
      334,  182,  182,  182,  182, 2345,  182,  182,  358,  182,
      268, 2391, 1175, 2392, 2400,  182,  182,  183,  285,  182,

     1310, 1079,  978, 2393,  978, 2395, 1079,  304,  285,  285,
      285, 2410,  182,  304,  182, 2501,  182,  182, 2396,  182,
     1664,  182, 1459,  304,  335,  186,  182,  182,  182,  182,
      300,  182,  182,  182,  182,  334,  182,  182,  358,  182,
     2394,  182, 2397, 2342, 1873,  182,  182,  183,  304,  182,
     1311, 1457, 1338,  182, 1338, 2343, 1457, 2401, 2402,  300,
     2403,  182,  182,  304,  182, 2405,  182,  304, 1168, 2406,
     1666,  300, 1667,  335,  335,  304,  182,  182,  182,  182,
      334,  182,  182,  182,  182,  201,  182,  182,  182,  182,
      201,  201,  201,  201,  201,  182,  182,  183,  370,  182,

     1170,  370,  370,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  182,  182,  182,  182,
     2344,  182,  182,  182,  182, 2412,  182,  182,  182,  182,
      335,  182, 2407, 2348, 2399,  182,  182,  183,  335,  182,
     1327, 2426, 2411, 1079,  978, 2344,  978, 2414, 1079,  300,
     2418,  182,  182,  186,  182,  357,  182,  304, 2413, 2409,
      335,  979, 1461,  357, 1257,  335,  182,  182,  182,  182,
      334,  182,  182,  182,  182, 2415,  182,  182,  182,  182,
      357, 2419,  335,  186, 2425,  182,  182,  183, 2416,  182,

     1328, 1669, 1079,  978,  357,  978, 2344, 1079, 2420,  357,
     2421,  182,  182,  357, 1758, 2422,  182,  357, 2427, 2424,
     2345, 1256,  186, 1257,  186, 2342,  182,  182,  182,  182,
      334,  182,  182,  182,  182,  186,  182,  182,  182,  182,
     2423,  183,  183,  357,  186,  182,  182,  183, 2428,  182,
     1079,  978,  186,  978, 2429, 1079,  182,  182, 2344,  182,
      186,  182, 2430, 2441,  224,  224,  224, 2442, 1358, 1461,
     2444, 1257, 2345, 1152, 2343,  334,  182,  182,  182,  182,
      201,  182,  182,  182,  182, 2433,  182,  182,  182,  182,
      183, 2344, 1871, 2436,  186,  182,  182,  183,  201,  182,

     2438, 1255, 1153, 2348, 1153, 2345, 1255,  183, 2445,  183,
     1007,  182,  182,  201,  182,  224,  182,  224, 2447,  183,
     1463, 1359, 1464, 2448,  224,  979,  182,  182,  182,  182,
      267,  182,  182,  182,  182,  224,  182,  182,  182,  182,
      225,  225,  225,  225,  225,  182,  226,  183,  224,  182,
     1376,  224,  224,  224,  224,  224,  224,  224,  224,  224,
      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
      224,  224,  224,  224,  224,  224,  182,  182,  182,  182,
      335,  182,  182,  182,  182,  235,  182,  182,  182,  182,
      236,  236,  236,  236,  236,  182,  226,  183,  235,  182,

      235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235,  235,  235,  235,  235, 1387,  235,
      235,  235,  235,  235,  235,  235,  182,  182,  182,  182,
     2431,  182,  182,  182,  182, 2502,  182,  182,  182,  182,
      327, 2439, 2446,  186, 2432,  182,  182,  183, 2434,  182,
     1079,  978,  201,  978,  224, 1079,  182,  182, 2450,  182,
     2452,  182, 2435, 2449,  235, 2451,  235,  201, 1399, 1466,
      235, 1467,  235, 2577,  235,  267,  182,  182,  182,  182,
     2431,  182,  182,  182,  182,  201,  182,  182,  182,  182,
     2454, 1983,  235, 2344, 2432,  182,  182,  183, 2497,  182,

     2455, 1079,  978, 2431,  978, 2434, 1079, 2345,  576, 2453,
      235,  182,  182,  235,  182,  186,  182, 2432,  249, 2435,
     1670, 1400, 1467,  575,  224, 2461,  182,  182,  182,  182,
      267,  182,  265,  182,  265,  235,  265,  265,  265,  265,
      249, 2456, 1984,  268, 2457,  265,  265,  267, 2434,  265,
     1465, 1346, 2458, 1346,  249, 1465,  978,  978,  249,  978,
     2512,  978, 2435, 2459, 2460,  249, 2431,  224, 1430, 1672,
      574, 1673, 2469,  249,  249, 1040,  265,  265,  182,  182,
     2462,  182,  265,  182,  265,  249,  265,  265,  265,  265,
      285, 2619, 2463, 2465,  186,  265,  265,  267, 2467,  265,

     2466,  978,  978,  268,  978,  268,  978,  268, 2468,  268,
     2470,  182,  182,  268,  182, 2526,  182,  268,  201, 2505,
     1493, 1431, 1494,  285, 2473, 2475,  265,  265,  182,  182,
      334,  182,  182,  182,  182,  285,  182,  182,  182,  182,
     2471,  249,  182,  304,  182,  182,  182,  183, 2434,  182,
      978,  978, 2472,  978,  285,  978,  182,  182, 2474,  182,
      300,  182, 2464, 2514, 2482,  285, 2431,  285, 1445, 1694,
      224, 1494,  182,  304, 2436,  334,  182,  182,  182,  182,
     2432,  182,  182,  182,  182,  268,  182,  182,  182,  182,
      300, 2037, 2477, 2479, 2487,  182,  182,  183, 2481,  182,

     2480, 1338, 1338,  285, 1338,  304, 1338,  304,  335,  304,
     2485,  182,  182,  304,  182, 2490,  182, 2483,  249, 2524,
     1696, 1446, 1697,  335,  335, 2491,  182,  182,  299,  182,
      334,  182,  299,  299,  299,  335,  299,  299,  299,  299,
      573, 2488, 2038,  357, 2493,  299,  299,  300, 2434,  299,
      978,  978, 2489,  978,  335,  978,  978,  978,  357,  978,
     2492,  978, 2435,  335, 2521, 2496, 2431,  570, 1477, 1495,
      235, 1285, 2507,  357,  357, 1108,  299,  299,  299,  182,
     2476,  182,  299,  299,  299,  285,  299,  299,  299,  299,
      201,  569, 2504, 2506, 2494,  299,  299,  300, 1698,  299,

     2525,  978,  978,  304,  978, 2434,  978,  357,  183,  183,
     2510,  182,  182, 2495,  182,  201,  182, 2513,  249, 2478,
     1284, 1478, 1285, 2498,  357,  224,  299,  299,  182,  182,
      267,  182,  332,  182,  332,  186,  332,  332,  332,  332,
     2140, 2499,  304,  568, 2436,  332,  332,  334, 2431,  332,
      978,  978, 2500,  978,  186,  978,  182,  182, 2431, 2090,
      183,  182, 2484, 2519,  186, 2515, 2434,  567, 1511, 1495,
      224, 1285, 2432, 2520,  235,  267,  332,  332,  182,  182,
     2486,  182,  332,  182,  332,  335,  332,  332,  332,  332,
      268, 2530,  235, 2431,  186,  332,  332,  334, 2503,  332,

     2509, 1153, 1153,  335, 1153, 2431, 1153, 2432, 2504,  183,
      201,  182,  182,  201, 2095,  566,  182,  235, 2532, 2432,
     1497, 1512, 1498, 2511,  183, 2518,  332,  332,  182,  182,
      267,  182,  182,  182,  182,  224,  182,  182,  358,  182,
     2523,  235,  357, 2522,  268,  182,  182,  183, 2434,  182,
      978,  978,  249,  978, 2527,  978,  182,  182, 2434,  182,
     2431,  182, 2435, 2578,  183, 2517, 2434,  249, 1526, 1500,
      235, 1501, 2435,  235, 2432,  334,  182,  182,  182,  182,
     2435,  182,  182,  182,  182, 2186,  182,  182,  358,  182,
     2531,  224, 2561, 2434,  186,  182,  182,  183, 2529,  182,

     2528,  978,  978,  357,  978,  249,  978, 2435,  268,  186,
      268,  182,  182, 2534, 2090,  186,  182, 2560,  268, 2564,
     1699, 1527, 1501,  186,  224,  356,  182,  182,  182,  182,
      334,  182,  182,  182,  182,  201,  182,  182,  182,  182,
      201,  201,  201,  201,  201,  182,  182,  183,  370,  182,
      201,  370,  370,  370,  370, 1538,  370,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  182,  182,  182,  182,
     2533,  182,  182,  182,  182,  335,  182,  182,  182,  182,
     2535,  285, 2536,  268, 2537,  182,  182,  183, 2538,  182,

     1346, 1346,  285, 1346, 2539, 1346,  182,  182, 2540, 2095,
     2541,  182,  285,  285,  304, 2542, 2565,  285, 1541, 1701,
      201, 1702,  304,  544,  285,  334,  182,  182,  182,  182,
     2543,  182,  182,  182,  182, 2546,  182,  182,  182,  182,
      304,  182,  182, 2504, 2506,  182,  182,  183,  304,  182,
     2545,  335, 2548,  978,  978, 2547,  978, 2549,  978,  300,
      300,  182,  182,  304,  182, 2544,  182,  335, 2550,  357,
     2554, 1542, 1553,  327, 1340,  335,  182,  182,  978,  978,
      267,  978,  978,  978,  978, 2551,  978,  978,  978,  978,
     2555,  304, 2271, 2556,  335,  978,  978,  979,  335,  978,

     2557, 1748,  978,  978, 2552,  978, 2553,  978,  357,  335,
     2558,  182,  182,  357,  182,  357,  182,  441,  357,  357,
     2579, 1339,  235, 1340, 2559, 2566,  978,  978,  182,  182,
      267,  182,  182,  182,  182,  186,  182,  182,  182,  182,
     2563,  224,  201,  440, 2506,  182,  182,  183, 2572,  182,
      978,  978,  186,  978, 2567,  978,  182,  182, 2568, 2238,
      183,  182, 2571,  201, 2570,  224, 2576,  439,  224, 1553,
      201, 1340,  201, 2573, 1570,  267,  182,  182,  182,  182,
     2586,  182,  182,  182,  182,  224,  182,  182,  182,  182,
     2583, 2575,  249,  235,  249,  182,  182,  183,  224,  182,

     2581, 1338, 1338, 2580, 1338, 1571, 1338, 2584,  235, 2582,
      235,  182,  182, 2588,  182, 2589,  182, 2594, 2627,  268,
     1555,  249, 1556,  201,  249,  268,  182,  182,  182,  182,
      334,  182,  182,  182,  182,  224,  182,  182,  182,  182,
      225,  225,  225,  225,  225,  182,  226,  183,  224,  182,
      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
      224,  224,  224,  224,  224,  224,  224,  224, 1587,  224,
      224,  224,  224,  224,  224,  224,  182,  182,  182,  182,
      438,  182,  182,  182,  182,  235,  182,  182,  182,  182,
      236,  236,  236,  236,  236,  182,  226,  183,  235,  182,

      235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235, 1599,  235,  182,  182,  182,  182,
     2592,  182,  182,  182,  182, 2585,  182,  182,  182,  182,
     2590,  435,  268, 2591,  249,  182,  182,  183, 2596,  182,
      978,  978,  268,  978, 2595,  978, 2602,  268,  285, 2597,
     2598,  182,  182, 2624,  182,  285,  182, 2600,  285, 1559,
      186, 1348,  285,  304, 1611,  285,  182,  182,  182,  182,
      334,  182,  182,  182,  182, 2606,  182,  182,  182,  182,
     2601, 2603, 2306,  304,  304,  182,  182,  183, 1751,  182,

      304,  978,  978, 2604,  978, 1612,  978, 2607, 2608, 2609,
     2613,  335, 2610, 2614,  357,  304,  182,  182,  335,  182,
     1347,  182, 1348,  434,  335,  335,  182,  182,  978,  978,
      357,  978, 1039,  978, 1039,  267, 1039, 1039, 1039, 1039,
     2612,  433, 2616, 2615, 2139, 1039, 1039, 1040,  335, 1039,
      978,  978,  357,  978,  357,  978,  182,  182, 2618, 2238,
     2621,  182, 2622, 2625, 2620,  224,  357, 2632,  186, 1559,
      201, 1348,  432,  186, 2633,  334, 1039, 1039,  182,  182,
      186,  182,  265,  182,  265,  224,  265,  265,  265,  265,
      186, 2623, 2635, 2683, 2626,  265,  265,  267,  224,  265,

     1346, 1346,  201, 1346, 2629, 1346,  182,  182,  201,  182,
     2634,  182, 2694,  224,  224, 2637, 2639,  224, 2630, 1561,
     2636, 1562,  235,  235, 1639,  267,  265,  265,  182,  182,
     2629,  182,  265,  182,  265, 2376,  265,  265,  265,  265,
      235,  201, 2640,  235, 2630,  265,  265,  267, 2644,  265,
     2641, 2649,  235,  978,  978, 1640,  978, 2643,  978, 2642,
      235, 2629,  249, 2645,  249,  268,  182,  182,  249,  182,
      431,  182, 1623, 2648, 1413, 2630,  265,  265,  182,  182,
      268,  182,  182,  182,  182,  334,  182,  182,  182,  182,
      186, 2679,  430, 2654, 2185,  182,  182,  183,  249,  182,

      285, 1811,  978,  978, 2650,  978, 2629,  978, 2655,  268,
     2656,  182,  182, 2676, 2342,  285,  182,  429, 2659,  186,
     2652, 1412,  285, 1413, 1652,  304,  182,  182,  182,  182,
      267,  182,  182,  182,  182, 2661,  182,  182,  182,  182,
      304, 2665,  428,  268, 2660,  182,  182,  183,  335,  182,
     2677,  978,  978, 2629,  978, 1653,  978, 2629,  304, 2666,
     2667,  182,  182,  186, 2343,  335,  182, 2630, 2671, 2673,
     1623, 2663, 1413,  335,  357,  357,  182,  182, 1079,  978,
      267,  978, 1079, 1079, 1079, 2689, 1079, 1079, 1079, 1079,
      285,  186, 2680,  224,  304, 1079, 1079, 1080, 2629, 1079,

     1338, 1338, 2672, 1338, 2629, 1338,  182,  182, 2629, 2348,
     2678,  182, 2669, 2681,  186, 2695,  357,  235, 2630, 1625,
      201, 1626, 2630, 2682,  224,  267, 1079, 1079,  299,  182,
     2691,  182,  299,  299,  299,  335,  299,  299,  299,  299,
      201,  357, 2685, 2684,  186,  299,  299,  300, 2629,  299,
      978,  978,  423,  978, 2686,  978,  182,  182,  183,  182,
      201,  182, 2630, 2728,  183, 2688,  224,  201, 2687, 1628,
     2696, 1420,  224, 2690, 1681,  334,  299,  299,  299,  182,
      235,  182,  299,  299,  299, 2404,  299,  299,  299,  299,
      422,  201, 2698, 2629,  224,  299,  299,  300, 1813,  299,

     2692,  978,  978, 2697,  978, 1682,  978, 2630, 2699,  249,
      249,  182,  182, 2724, 2342, 2726,  182,  249, 2700,  186,
     1419,  421, 1420,  186,  224, 2702,  299,  299,  978,  978,
      334,  978, 1107,  978, 1107,  249, 1107, 1107, 1107, 1107,
     2686, 2735,  268, 2703,  224, 1107, 1107, 1108, 2686, 1107,
      978,  978,  268,  978, 2687,  978,  182,  182, 2701, 2343,
     2706,  182, 2687, 2704,  235,  268,  186,  285, 2766, 1628,
      235, 1420, 2738, 2707, 2709,  334, 1107, 1107,  182,  182,
      268,  182,  332,  182,  332,  249,  332,  332,  332,  332,
      285,  285,  182, 2708, 2685,  332,  332,  334, 2686,  332,

     1346, 1346,  285, 1346, 2686, 1346,  182,  182, 2710, 2348,
      300,  182, 2705, 2711, 2712,  304,  201, 2729, 2687, 1630,
      186, 1631, 2767,  304, 1710,  334,  332,  332,  182,  182,
      304,  182,  332,  182,  332,  268,  332,  332,  332,  332,
     2713,  285, 2716, 2715,  420,  332,  332,  334, 2718,  332,
      335, 2717, 2721, 1079,  978, 1711,  978,  304, 1079,  335,
      335,  182,  182, 2720,  182,  335,  182,  201, 2730,  357,
      357, 2686, 1664, 2723, 1459, 2770,  332,  332,  182,  182,
      267,  182,  182,  182,  182, 2714,  182,  182,  358,  182,
      357, 2722,  201, 2725, 2727,  182,  182,  183, 2782,  182,

      357, 1846, 1079,  978, 2686,  978, 2686, 1079,  304,  186,
      186,  182,  182, 2741, 2436,  249,  182,  249, 2719, 2685,
     2687, 1458,  235, 1459, 1723, 2737,  182,  182,  182,  182,
      267,  182,  182,  182,  182,  183,  182,  182,  358,  182,
      419,  335,  235,  357, 2732,  182,  182,  183, 2734,  182,
     2739, 1079,  978, 2686,  978, 1724, 1079,  201, 2731,  224,
      183,  182,  182,  235,  182, 2765,  182, 2687,  186,  183,
     1664, 2740, 1459, 2733,  224,  418,  182,  182,  182,  182,
      334, 1572,  182,  182,  182,  201,  182,  182,  182,  182,
      201,  201,  201,  201,  201, 1573,  182,  183,  370,  182,

     1574,  370,  370,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  182,  182,  182,  182,
     2686,  182,  182,  182,  182,  417,  182,  182,  182,  182,
      235, 2736,  249, 2742, 2687,  182,  182,  183, 2780,  182,
     1457, 1338,  224, 1338, 2686, 1457,  182,  182,  186, 2436,
     2768,  182,  249, 2743,  249, 2744,  186,  414, 2687, 1666,
     2779, 1667,  268, 2746, 1736,  334,  182,  182,  182,  182,
      235,  182,  182,  182,  182,  224,  182,  182,  182,  182,
     2745,  268, 2747,  413,  268,  182,  182,  183, 2749,  182,

      268, 2748,  285, 1079,  978, 1737,  978, 2732, 1079,  285,
     2750,  182,  182,  224, 2504, 2774,  182,  285, 2751,  285,
     2752, 2753, 1670,  183, 1467,  304,  182,  182, 1151, 1151,
      267, 1151, 1151, 1151, 1151,  412, 1151, 1151, 1151, 1151,
      304, 2754,  304, 2755, 2757, 1151, 1151, 1152,  335, 1151,
      411, 1849, 1079,  978,  182,  978, 2732, 1079,  304, 2756,
      186,  182,  182,  410, 2506, 2802,  182,  335, 2758,  335,
     2759, 1466,  300, 1467,  335, 2760, 1151, 1151,  978,  978,
      267,  978, 1153,  978, 1153,  396, 1153, 1153, 1153, 1153,
     2761,  357, 2762,  200,  357, 1153, 1153, 1154,  201, 1155,

     1079,  978, 2769,  978, 2771, 1079,  182,  182,  392, 2504,
     2771,  182,  357, 2763,  357, 2764,  201, 2773, 2772, 1670,
      186, 1467, 2804,  224, 2772,  334, 1153, 1153,  978,  978,
     2775,  978,  978,  978,  978,  224,  978,  978,  978,  978,
      235,  201, 2776,  235,  249,  978,  978,  979, 2781,  978,
     1465, 1346,  391, 1346, 2778, 1465,  182,  182,  224, 2506,
      268,  182,  249, 2783, 2784, 2777,  268, 2787, 2785, 1672,
      285, 1673,  390, 2789, 2788,  334,  978, 1755,  182,  182,
     2771,  182,  182,  182,  182,  268,  182,  182,  182,  182,
      285,  285, 2790, 2792, 2772,  182,  182,  183,  304,  182,

      978,  978, 2791,  978, 2771,  978,  182,  182, 2803, 2685,
      304,  182, 1756,  304, 2794,  224,  335,  249, 2786, 1694,
     2795, 1494, 2813, 2796,  186,  267,  182,  182,  182,  182,
     2771,  182,  182,  182,  182, 2800,  182,  182,  182,  182,
      335,  268,  335, 2798, 2772,  182,  182,  183, 1868,  182,
      978,  978,  357,  978,  357,  978,  182,  182, 2799, 2685,
      224,  182,  357, 2801, 2809,  385,  186, 1757,  235, 1493,
     2811, 1494, 2810,  201, 2814,  334,  182,  182,  182,  182,
      183,  182,  182,  182,  182,  224,  182,  182,  182,  182,
      225,  225,  225,  225,  225,  182,  226,  183,  224,  182,

      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
      224,  224,  224,  224, 1771,  224,  182,  182,  182,  182,
      384,  182,  182,  182,  182,  235,  182,  182,  182,  182,
      236,  236,  236,  236,  236,  182,  226,  183,  235,  182,
      235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
      235,  235, 1783,  235,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235,  235,  235,  182,  182,  182,  182,
     2771,  182,  182,  182,  182,  224,  182,  182,  182,  182,
     2831, 2812, 2815,  249, 2772,  182,  182,  183,  383,  182,

      978,  978,  224,  978, 2771,  978,  182,  182, 2771, 2732,
      382,  182, 1797, 2818,  268, 2819,  285,  285, 2793, 1694,
      381, 1494, 2772,  183,  183,  267,  182,  182,  182,  182,
     2805,  182,  182,  182,  182,  380,  182,  182,  182,  182,
      182,  304, 2809,  379, 2806,  182,  182,  183, 2771,  182,
     1338, 1338,  378, 1338, 2771, 1338,  182,  182,  300, 2732,
      235,  182, 2797, 2822,  304, 2825,  335, 1798, 2772, 1696,
      373, 1697, 2826,  357,  372,  334,  182,  182,  978,  978,
     2805,  978, 1214,  978, 1214,  335, 1214, 1214, 1214, 1214,
     2807,  357, 2771, 2807, 2806, 1214, 1214, 1215, 2805, 1216,

      978,  978, 2805,  978, 2808,  978, 2772, 2808, 2805, 2828,
      186, 2839, 2806,  371,  356,  247, 2806,  201,  183, 1699,
      235, 1501, 2806,  224, 2829,  183, 1214, 1214,  978,  978,
      201,  978, 1039,  978, 1039,  249, 1039, 1039, 1039, 1039,
      183,  246,  245, 2807,  186, 1039, 1039, 1040, 1870, 1039,
      978,  978,  235,  978, 2805,  978, 2807, 2808, 2807, 2832,
      224, 2805,  240,  239,  238,  183, 2842,  183, 2816, 1500,
     2817, 1501, 2808,  183, 2809, 2806, 1039, 1817,  182,  182,
      249,  182,  265,  182,  265,  206,  265,  265,  265,  265,
      183,  268,  200,  268,  186,  265,  265,  267,  285,  265,

      978,  978,  183,  978, 2807,  978,  182,  182, 2807, 2809,
     2847,  182, 1818, 2847, 2828, 2847, 2847, 2847, 2808, 1699,
     2847, 1501, 2808, 2847,  183,  267,  265,  265,  182,  182,
      183,  182,  265,  182,  265, 2847,  265,  265,  265,  265,
      182,  285, 2828, 2805, 2829,  265,  265,  267, 2807,  265,
     1346, 1346, 2847, 1346, 2805, 1346, 2807, 2820,  300, 2805,
      183, 2805, 2821, 2847, 2847, 2847, 2847, 1819, 2823, 1701,
     2824, 1702, 2847, 2806, 2847, 2806,  265,  265,  182,  182,
      304,  182,  182,  182,  182,  304,  182,  182,  182,  182,
      224,  335,  182,  335, 2829,  182,  182,  183,  357,  182,

      978,  978, 2847,  978, 2807,  978,  182,  182, 2840, 2809,
      300,  182, 1832, 2847, 2847, 2847, 2847, 2847, 2808, 1154,
     2847, 1155, 2841, 2847,  183,  334,  182,  182,  182,  182,
     2807,  182,  182,  182,  182, 2847,  182,  182,  182,  182,
     2840,  357, 2840, 2840, 2808,  182,  182,  183, 2840,  182,
      978,  978, 2846,  978, 2841,  978, 2841, 2841, 2840, 2846,
     2847,  224, 2841, 2847, 2847, 2847, 2847, 1833,  183, 1215,
      235, 1216, 2841,  224, 2847,  183,  182,  182, 1253, 1151,
      201, 1151, 1253, 1253, 1253,  249, 1253, 1253, 1253, 1253,
      182, 2847, 2846, 2847,  186, 1253, 1253, 1254, 2840, 1253,

     1079,  978, 2847,  978, 2840, 1079,  182,  182,  300, 2828,
     2847,  182, 2843, 2847, 2847, 2847, 2847, 2847, 2841, 1256,
     2847, 1257, 2847, 2847, 2847,  267, 1253, 1253, 1079,  978,
     2840,  978, 1255, 1079, 1255,  268, 1255, 1255, 1255, 1255,
     2847,  285, 2847, 2847, 2844, 1255, 1255, 1256, 2840, 1257,
      978,  978, 2847,  978, 2840,  978,  182,  182, 2847, 2829,
     2847,  182, 2845, 2847, 2847, 2847, 2847,  304, 2841, 1284,
     2847, 1285, 2847, 2847, 2847,  267, 1255, 1255, 1079,  978,
     2847,  978, 1079, 1079, 1079,  335, 1079, 1079, 1079, 1079,
     2847,  357, 2847, 2847, 2847, 1079, 1079, 1080, 2847, 1079,

      978,  978, 2847,  978, 2847,  978,  182,  182, 2847, 2828,
     2847,  182, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 1339,
     2847, 1340, 2847, 2847, 2847,  334, 1079, 1853,  299,  182,
     2847,  182,  299,  299,  299, 2847,  299,  299,  299,  299,
     2847, 2847, 2847, 2847, 2847,  299,  299,  300, 2847,  299,
      978,  978, 2847,  978, 2847,  978,  182,  182, 2847, 2829,
     2847,  182, 1854, 2847, 2847, 2847, 2847, 2847, 2847, 1347,
     2847, 1348, 2847, 2847, 2847,  334,  299,  299,  299,  182,
     2847,  182,  299,  299,  299, 2847,  299,  299,  299,  299,
     2847, 2847, 2847, 2847, 2847,  299,  299,  300, 2847,  299,

      978,  978, 2847,  978, 2847,  978,  182,  182, 2847, 2846,
     2847,  182, 2847, 2847, 2847, 2847, 2847, 1855, 2847, 1412,
     2847, 1413, 2847, 2847, 2847,  267,  299,  299,  978,  978,
     2847,  978, 1283,  978, 1283, 2847, 1283, 1283, 1283, 1283,
     2847, 2847, 2847, 2847, 2847, 1283, 1283, 1284, 2847, 1285,
      978,  978, 2847,  978, 2847,  978,  182,  182, 2847, 2846,
     2847,  182, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 1419,
     2847, 1420, 2847, 2847, 2847,  334, 1283, 1283,  978,  978,
     2847,  978, 1107,  978, 1107, 2847, 1107, 1107, 1107, 1107,
     2847, 2847, 2847, 2847, 2847, 1107, 1107, 1108, 2847, 1107,

     1079,  978, 2847,  978, 2847, 1079, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 1458,
     2847, 1459, 2847, 2847, 2847, 2847, 1107, 1874,  182,  182,
     2847,  182,  332,  182,  332, 2847,  332,  332,  332,  332,
     2847, 2847, 2847, 2847, 2847,  332,  332,  334, 2847,  332,
     1079,  978, 2847,  978, 2847, 1079, 2847, 2847, 2847, 2847,
     2847, 2847, 1875, 2847, 2847, 2847, 2847, 2847, 2847, 1466,
     2847, 1467, 2847, 2847, 2847, 2847,  332,  332,  182,  182,
     2847,  182,  332,  182,  332, 2847,  332,  332,  332,  332,
     2847, 2847, 2847, 2847, 2847,  332,  332,  334, 2847,  332,

      978,  978, 2847,  978, 2847,  978, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 1876, 2847, 1493,
     2847, 1494, 2847, 2847, 2847, 2847,  332,  332,  182,  182,
     2847,  182,  182,  182,  182, 2847,  182,  182,  358,  182,
     2847, 2847, 2847, 2847, 2847,  182,  182,  183, 2847,  182,
      978,  978, 2847,  978, 2847,  978, 2847, 2847, 2847, 2847,
     2847, 2847, 1889, 2847, 2847, 2847, 2847, 2847, 2847, 1500,
     2847, 1501, 2847, 2847, 2847, 2847,  182,  182,  182,  182,
     2847,  182,  182,  182,  182, 2847,  182,  182,  358,  182,
     2847, 2847, 2847, 2847, 2847,  182,  182,  183, 2847,  182,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 1890, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847,  182,  182,  182,  182,
     2847,  182,  182,  182,  182,  201,  182,  182,  182,  182,
      201,  201,  201,  201,  201,  182,  182,  183,  370,  182,
     1769,  370,  370,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  182,  182,  182,  182,
     2847,  182,  182,  182,  182, 2847,  182,  182,  182,  182,
     2847, 2847, 2847, 2847, 2847,  182,  182,  183, 2847,  182,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 1903, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847,  182,  182,  182,  182,
     2847,  182,  182,  182,  182, 2847,  182,  182,  182,  182,
     2847, 2847, 2847, 2847, 2847,  182,  182,  183, 2847,  182,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 1904, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847,  182,  182,  978,  978,
     2847,  978, 1338,  978, 1338, 2847, 1338, 1338, 1338, 1338,
     2847, 2847, 2847, 2847, 2847, 1338, 1338, 1339, 2847, 1340,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1338, 1338, 1151, 1151,
     2847, 1151, 1151, 1151, 1151, 2847, 1151, 1151, 1151, 1151,
     2847, 2847, 2847, 2847, 2847, 1151, 1151, 1152, 2847, 1151,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1151, 1918,  978,  978,
     2847,  978, 1153,  978, 1153, 2847, 1153, 1153, 1153, 1153,
     2847, 2847, 2847, 2847, 2847, 1153, 1153, 1154, 2847, 1155,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1153, 1919,  978,  978,
     2847,  978, 1346,  978, 1346, 2847, 1346, 1346, 1346, 1346,
     2847, 2847, 2847, 2847, 2847, 1346, 1346, 1347, 2847, 1348,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1346, 1346,  182,  182,
     2847,  182,  182,  182,  182, 2847,  182,  182,  182,  182,
     2847, 2847, 2847, 2847, 2847,  182,  182,  183, 2847,  182,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 1923, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847,  182,  182,  182,  182,
     2847,  182,  182,  182,  182, 2847,  182,  182,  182,  182,
     2847, 2847, 2847, 2847, 2847,  182,  182,  183, 2847,  182,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 1924, 2847,
     2847, 2847, 2847, 2847, 2847, 2847,  182,  182,  182,  182,
     2847,  182,  182,  182,  182,  224,  182,  182,  182,  182,
      225,  225,  225,  225,  225,  182,  226,  183,  224,  182,

      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
      224,  224, 1940,  224,  224,  224,  224,  224,  224,  224,
      224,  224,  224,  224,  224,  224,  182,  182,  182,  182,
     2847,  182,  182,  182,  182,  235,  182,  182,  182,  182,
      236,  236,  236,  236,  236,  182,  226,  183,  235,  182,
      235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
      235, 1954,  235,  235,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235,  235,  235,  182,  182,  182,  182,
     2847,  182,  182,  182,  182, 2847,  182,  182,  182,  182,
     2847, 2847, 2847, 2847, 2847,  182,  182,  183, 2847,  182,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 1967, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847,  182,  182,  182,  182,
     2847,  182,  182,  182,  182, 2847,  182,  182,  182,  182,
     2847, 2847, 2847, 2847, 2847,  182,  182,  183, 2847,  182,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 1968, 2847,
     2847, 2847, 2847, 2847, 2847, 2847,  182,  182,  978,  978,
     2847,  978, 1411,  978, 1411, 2847, 1411, 1411, 1411, 1411,
     2847, 2847, 2847, 2847, 2847, 1411, 1411, 1412, 2847, 1413,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1411, 1411,  978,  978,
     2847,  978, 1214,  978, 1214, 2847, 1214, 1214, 1214, 1214,
     2847, 2847, 2847, 2847, 2847, 1214, 1214, 1215, 2847, 1216,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1214, 1981,  978,  978,
     2847,  978, 1418,  978, 1418, 2847, 1418, 1418, 1418, 1418,
     2847, 2847, 2847, 2847, 2847, 1418, 1418, 1419, 2847, 1420,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1418, 1418,  182,  182,
     2847,  182,  265,  182,  265, 2847,  265,  265,  265,  265,
     2847, 2847, 2847, 2847, 2847,  265,  265,  267, 2847,  265,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 1985, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847,  265,  265,  182,  182,
     2847,  182,  265,  182,  265, 2847,  265,  265,  265,  265,
     2847, 2847, 2847, 2847, 2847,  265,  265,  267, 2847,  265,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 1986, 2847,
     2847, 2847, 2847, 2847, 2847, 2847,  265,  265,  182,  182,
     2847,  182,  182,  182,  182, 2847,  182,  182,  182,  182,
     2847, 2847, 2847, 2847, 2847,  182,  182,  183, 2847,  182,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2000, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847,  182,  182,  182,  182,
     2847,  182,  182,  182,  182, 2847,  182,  182,  182,  182,
     2847, 2847, 2847, 2847, 2847,  182,  182,  183, 2847,  182,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2001, 2847,
     2847, 2847, 2847, 2847, 2847, 2847,  182,  182, 1079,  978,
     2847,  978, 1457, 1079, 1457, 2847, 1457, 1457, 1457, 1457,
     2847, 2847, 2847, 2847, 2847, 1457, 1457, 1458, 2847, 1459,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1457, 1457, 1253, 1151,
     2847, 1151, 1253, 1253, 1253, 2847, 1253, 1253, 1253, 1253,
     2847, 2847, 2847, 2847, 2847, 1253, 1253, 1254, 2847, 1253,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1253, 2014, 1079,  978,
     2847,  978, 1255, 1079, 1255, 2847, 1255, 1255, 1255, 1255,
     2847, 2847, 2847, 2847, 2847, 1255, 1255, 1256, 2847, 1257,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1255, 2015, 1079,  978,
     2847,  978, 1465, 1079, 1465, 2847, 1465, 1465, 1465, 1465,
     2847, 2847, 2847, 2847, 2847, 1465, 1465, 1466, 2847, 1467,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1465, 1465,  299,  182,
     2847,  182,  299,  299,  299, 2847,  299,  299,  299,  299,
     2847, 2847, 2847, 2847, 2847,  299,  299,  300, 2847,  299,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2019, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847,  299,  299,  299,  182,
     2847,  182,  299,  299,  299, 2847,  299,  299,  299,  299,
     2847, 2847, 2847, 2847, 2847,  299,  299,  300, 2847,  299,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2020, 2847,
     2847, 2847, 2847, 2847, 2847, 2847,  299,  299,  978,  978,
     2847,  978, 1492,  978, 1492, 2847, 1492, 1492, 1492, 1492,
     2847, 2847, 2847, 2847, 2847, 1492, 1492, 1493, 2847, 1494,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1492, 1492,  978,  978,
     2847,  978, 1283,  978, 1283, 2847, 1283, 1283, 1283, 1283,
     2847, 2847, 2847, 2847, 2847, 1283, 1283, 1284, 2847, 1285,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1283, 2035,  978,  978,
     2847,  978, 1499,  978, 1499, 2847, 1499, 1499, 1499, 1499,
     2847, 2847, 2847, 2847, 2847, 1499, 1499, 1500, 2847, 1501,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1499, 1499,  182,  182,
     2847,  182,  332,  182,  332, 2847,  332,  332,  332,  332,
     2847, 2847, 2847, 2847, 2847,  332,  332,  334, 2847,  332,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2039, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847,  332,  332,  182,  182,
     2847,  182,  332,  182,  332, 2847,  332,  332,  332,  332,
     2847, 2847, 2847, 2847, 2847,  332,  332,  334, 2847,  332,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2040, 2847,
     2847, 2847, 2847, 2847, 2847, 2847,  332,  332,  182,  182,
     2847,  182,  182,  182,  182, 2847,  182,  182,  358,  182,
     2847, 2847, 2847, 2847, 2847,  182,  182,  183, 2847,  182,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2054, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847,  182,  182,  182,  182,
     2847,  182,  182,  182,  182, 2847,  182,  182,  358,  182,
     2847, 2847, 2847, 2847, 2847,  182,  182,  183, 2847,  182,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2055, 2847,
     2847, 2847, 2847, 2847, 2847, 2847,  182,  182,  978,  978,
     2847,  978, 1338,  978, 1338, 2847, 1338, 1338, 1338, 1338,
     2847, 2847, 2847, 2847, 2847, 1338, 1338, 1339, 2847, 1340,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1338, 2080,  978,  978,
     2847,  978, 1346,  978, 1346, 2847, 1346, 1346, 1346, 1346,
     2847, 2847, 2847, 2847, 2847, 1346, 1346, 1347, 2847, 1348,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1346, 2081,  978,  978,
     2847,  978, 1411,  978, 1411, 2847, 1411, 1411, 1411, 1411,
     2847, 2847, 2847, 2847, 2847, 1411, 1411, 1412, 2847, 1413,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1411, 2137,  978,  978,
     2847,  978, 1418,  978, 1418, 2847, 1418, 1418, 1418, 1418,
     2847, 2847, 2847, 2847, 2847, 1418, 1418, 1419, 2847, 1420,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1418, 2138, 1079,  978,
     2847,  978, 1457, 1079, 1457, 2847, 1457, 1457, 1457, 1457,
     2847, 2847, 2847, 2847, 2847, 1457, 1457, 1458, 2847, 1459,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1457, 2166, 1079,  978,
     2847,  978, 1465, 1079, 1465, 2847, 1465, 1465, 1465, 1465,
     2847, 2847, 2847, 2847, 2847, 1465, 1465, 1466, 2847, 1467,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1465, 2167,  978,  978,
     2847,  978, 1492,  978, 1492, 2847, 1492, 1492, 1492, 1492,
     2847, 2847, 2847, 2847, 2847, 1492, 1492, 1493, 2847, 1494,

     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1492, 2183,  978,  978,
     2847,  978, 1499,  978, 1499, 2847, 1499, 1499, 1499, 1499,
     2847, 2847, 2847, 2847, 2847, 1499, 1499, 1500, 2847, 1501,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 1499, 2184,   30,   30,
       30,   30,   30,   30,   30,   70,   70,   70,   70,   70,
       70,   70,   83,   83,   83,   83,   83,   83,   83,   99,

       99,   99,   99,   99,   99,   99,  111,  111,  111,  111,
      111,  111,  111,  155,  155,  155,  155,  155,  155,  155,
      180,  180, 2847,  180,  180,  180,  180,  182,  182, 2847,
      182,  182,  182,  182,  199,  199, 2847,  199,  199,  199,
      199,  201,  201, 2847,  201,  201,  201,  201,  202,  202,
     2847,  202,  202,  202,  202,  219,  219, 2847,  219, 2847,
      219,  221, 2847,  221,  249,  249, 2847,  249,  249,  249,
      249,  262,  262,  262,  262,  263,  263,  263,  263,  265,
      265, 2847,  265,  265,  265,  265,  268,  268, 2847,  268,
      268,  268,  268,  269,  269, 2847,  269,  269,  269,  269,

      285,  285, 2847,  285,  285,  285,  285,  296, 2847, 2847,
      296,  296,  296,  296,  297,  297, 2847,  297,  297,  297,
      297,  298, 2847, 2847,  298,  298,  298,  298,  299,  299,
     2847,  299,  299,  299,  299,  302,  302, 2847,  302,  302,
      302,  302,  304,  304, 2847,  304,  304,  304,  304,  305,
      305, 2847,  305,  305,  305,  305,  326,  326,  326,  326,
      327,  327,  327,  327,  332,  332, 2847,  332,  332,  332,
      332,  335,  335, 2847,  335,  335,  335,  335,  336,  336,
     2847,  336,  336,  336,  336,  355,  355,  356,  356,  357,
      357, 2847,  357,  357,  357,  357,  358,  358, 2847,  358,

      358,  358,  358,  201,  201, 2847,  201,  201,  201,  201,
      180,  180, 2847,  180,  180,  180,  180,  202,  202, 2847,
      202,  202,  202,  202,  393,  393, 2847,  393,  393,  393,
      393,  199,  199, 2847,  199,  199,  199,  199,  398,  398,
     2847,  398,  398,  398,  398,  401,  401, 2847,  401,  401,
      401,  401,  219,  219, 2847,  219, 2847,  219,  221, 2847,
      221,  249,  249, 2847,  249,  249,  249,  249,  262,  262,
      262,  262,  263,  263,  263,  263,  265,  265, 2847,  265,
      265,  265,  265,  453,  453, 2847,  453,  453,  453,  453,
      268,  268, 2847,  268,  268,  268,  268,  269,  269, 2847,

      269,  269,  269,  269,  458,  458, 2847,  458,  458,  458,
      458,  461,  461, 2847,  461,  461,  461,  461,  285,  285,
     2847,  285,  285,  285,  285,  296, 2847, 2847,  296,  296,
      296,  296,  297,  297, 2847,  297,  297,  297,  297,  298,
     2847, 2847,  298,  298,  298,  298,  299,  299, 2847,  299,
      299,  299,  299,  493,  493, 2847,  493,  493,  493,  493,
      302,  302, 2847,  302,  302,  302,  302,  304,  304, 2847,
      304,  304,  304,  304,  305,  305, 2847,  305,  305,  305,
      305,  498,  498, 2847,  498,  498,  498,  498,  501,  501,
     2847,  501,  501,  501,  501,  326,  326,  326,  326,  327,

      327,  327,  327,  332,  332, 2847,  332,  332,  332,  332,
      524,  524, 2847,  524,  524,  524,  524,  335,  335, 2847,
      335,  335,  335,  335,  336,  336, 2847,  336,  336,  336,
      336,  529,  529, 2847,  529,  529,  529,  529,  532,  532,
     2847,  532,  532,  532,  532,  355,  355,  356,  356,  357,
      357, 2847,  357,  357,  357,  357,  358,  358, 2847,  358,
      358,  358,  358,  393,  393, 2847,  393,  393,  393,  393,
      590,  590, 2847,  590,  590,  590,  590,  199,  199, 2847,
      199,  199,  199,  199,  202,  202, 2847,  202,  202,  202,
      202,  398,  398, 2847,  398,  398,  398,  398,  401,  401,

     2847,  401,  401,  401,  401,  596,  596, 2847,  596,  596,
      596,  596,  607,  607, 2847,  607,  607,  607,  607,  201,
      201, 2847,  201,  201,  201,  201,  249,  249, 2847,  249,
      249,  249,  249,  453,  453, 2847,  453,  453,  453,  453,
      653,  653, 2847,  653,  653,  653,  653,  265,  265, 2847,
      265,  265,  265,  265,  269,  269, 2847,  269,  269,  269,
      269,  458,  458, 2847,  458,  458,  458,  458,  461,  461,
     2847,  461,  461,  461,  461,  658,  658, 2847,  658,  658,
      658,  658,  669,  669, 2847,  669,  669,  669,  669,  268,
      268, 2847,  268,  268,  268,  268,  285,  285, 2847,  285,

      285,  285,  285,  299,  299, 2847,  299,  299,  299,  299,
      493,  493, 2847,  493,  493,  493,  493,  693,  693, 2847,
      693,  693,  693,  693,  302,  302, 2847,  302,  302,  302,
      302,  305,  305, 2847,  305,  305,  305,  305,  498,  498,
     2847,  498,  498,  498,  498,  501,  501, 2847,  501,  501,
      501,  501,  699,  699, 2847,  699,  699,  699,  699,  710,
      710, 2847,  710,  710,  710,  710,  304,  304, 2847,  304,
      304,  304,  304,  327,  327,  327,  327,  524,  524, 2847,
      524,  524,  524,  524,  724,  724, 2847,  724,  724,  724,
      724,  332,  332, 2847,  332,  332,  332,  332,  336,  336,

     2847,  336,  336,  336,  336,  529,  529, 2847,  529,  529,
      529,  529,  532,  532, 2847,  532,  532,  532,  532,  729,
      729, 2847,  729,  729,  729,  729,  740,  740, 2847,  740,
      740,  740,  740,  335,  335, 2847,  335,  335,  335,  335,
      357,  357, 2847,  357,  357,  357,  357,  182,  182, 2847,
      182,  182,  182,  182,  186,  186, 2847,  186,  186,  186,
      186,  393,  393, 2847,  393,  393,  393,  393,  590,  590,
     2847,  590,  590,  590,  590,  787,  787, 2847,  787,  787,
      787,  787,  788,  788, 2847,  788,  788,  788,  788,  401,
      401, 2847,  401,  401,  401,  401,  596,  596, 2847,  596,

      596,  596,  596,  607,  607, 2847,  607,  607,  607,  607,
      201,  201, 2847,  201,  201,  201,  201,  249,  249, 2847,
      249,  249,  249,  249,  453,  453, 2847,  453,  453,  453,
      453,  653,  653, 2847,  653,  653,  653,  653,  846,  846,
     2847,  846,  846,  846,  846,  461,  461, 2847,  461,  461,
      461,  461,  658,  658, 2847,  658,  658,  658,  658,  265,
      265, 2847,  265,  265,  265,  265,  669,  669, 2847,  669,
      669,  669,  669,  268,  268, 2847,  268,  268,  268,  268,
      285,  285, 2847,  285,  285,  285,  285,  493,  493, 2847,
      493,  493,  493,  493,  693,  693, 2847,  693,  693,  693,

      693,  882,  882, 2847,  882,  882,  882,  882,  883,  883,
     2847,  883,  883,  883,  883,  501,  501, 2847,  501,  501,
      501,  501,  699,  699, 2847,  699,  699,  699,  699,  299,
      299, 2847,  299,  299,  299,  299,  710,  710, 2847,  710,
      710,  710,  710,  304,  304, 2847,  304,  304,  304,  304,
      327,  327,  327,  327,  524,  524, 2847,  524,  524,  524,
      524,  724,  724, 2847,  724,  724,  724,  724,  908,  908,
     2847,  908,  908,  908,  908,  532,  532, 2847,  532,  532,
      532,  532,  729,  729, 2847,  729,  729,  729,  729,  332,
      332, 2847,  332,  332,  332,  332,  740,  740, 2847,  740,

      740,  740,  740,  335,  335, 2847,  335,  335,  335,  335,
      357,  357, 2847,  357,  357,  357,  357,  182,  182, 2847,
      182,  182,  182,  182,  186,  186, 2847,  186,  186,  186,
      186,  962,  962, 2847,  962,  962,  962,  962,  787,  787,
     2847,  787,  787,  787,  787,  788,  788, 2847,  788,  788,
      788,  788,  965,  965, 2847,  965,  965,  965,  965,  978,
      978, 2847,  978,  978,  978,  978,  201,  201, 2847,  201,
      201,  201,  201,  249,  249, 2847,  249,  249,  249,  249,
     1024, 1024, 2847, 1024, 1024, 1024, 1024,  846,  846, 2847,
      846,  846,  846,  846, 1026, 1026, 2847, 1026, 1026, 1026,

     1026,  265,  265, 2847,  265,  265,  265,  265, 1039, 1039,
     2847, 1039, 1039, 1039, 1039,  268,  268, 2847,  268,  268,
      268,  268,  285,  285, 2847,  285,  285,  285,  285, 1063,
     1063, 2847, 1063, 1063, 1063, 1063,  882,  882, 2847,  882,
      882,  882,  882,  883,  883, 2847,  883,  883,  883,  883,
     1066, 1066, 2847, 1066, 1066, 1066, 1066,  299,  299, 2847,
      299,  299,  299,  299, 1079, 1079, 2847, 1079, 1079, 1079,
     1079,  304,  304, 2847,  304,  304,  304,  304, 1092, 1092,
     2847, 1092, 1092, 1092, 1092,  908,  908, 2847,  908,  908,
      908,  908, 1094, 1094, 2847, 1094, 1094, 1094, 1094,  332,

      332, 2847,  332,  332,  332,  332, 1107, 1107, 2847, 1107,
     1107, 1107, 1107,  335,  335, 2847,  335,  335,  335,  335,
      357,  357, 2847,  357,  357,  357,  357,  186,  186, 2847,
      186,  186,  186,  186,  962,  962, 2847,  962,  962,  962,
      962, 1151, 1151, 2847, 1151, 1151, 1151, 1151, 1153, 1153,
     2847, 1153, 1153, 1153, 1153,  965,  965, 2847,  965,  965,
      965,  965,  978,  978, 2847,  978,  978,  978,  978,  201,
      201, 2847,  201,  201,  201,  201,  249,  249, 2847,  249,
      249,  249,  249, 1024, 1024, 2847, 1024, 1024, 1024, 1024,
     1214, 1214, 2847, 1214, 1214, 1214, 1214, 1026, 1026, 2847,

     1026, 1026, 1026, 1026,  265,  265, 2847,  265,  265,  265,
      265, 1039, 1039, 2847, 1039, 1039, 1039, 1039,  268,  268,
     2847,  268,  268,  268,  268,  285,  285, 2847,  285,  285,
      285,  285, 1063, 1063, 2847, 1063, 1063, 1063, 1063, 1253,
     1253, 2847, 1253, 1253, 1253, 1253, 1255, 1255, 2847, 1255,
     1255, 1255, 1255, 1066, 1066, 2847, 1066, 1066, 1066, 1066,
      299,  299, 2847,  299,  299,  299,  299, 1079, 1079, 2847,
     1079, 1079, 1079, 1079,  304,  304, 2847,  304,  304,  304,
      304, 1092, 1092, 2847, 1092, 1092, 1092, 1092, 1283, 1283,
     2847, 1283, 1283, 1283, 1283, 1094, 1094, 2847, 1094, 1094,

     1094, 1094,  332,  332, 2847,  332,  332,  332,  332, 1107,
     1107, 2847, 1107, 1107, 1107, 1107,  335,  335, 2847,  335,
      335,  335,  335,  357,  357, 2847,  357,  357,  357,  357,
      186,  186, 2847,  186,  186,  186,  186, 1338, 1338, 2847,
     1338, 1338, 1338, 1338, 1151, 1151, 2847, 1151, 1151, 1151,
     1151, 1153, 1153, 2847, 1153, 1153, 1153, 1153, 1343, 1343,
     2847, 1343, 1343, 1343, 1343, 1346, 1346, 2847, 1346, 1346,
     1346, 1346,  978,  978, 2847,  978,  978,  978,  978,  201,
      201, 2847,  201,  201,  201,  201,  249,  249, 2847,  249,
      249,  249,  249, 1411, 1411, 2847, 1411, 1411, 1411, 1411,

     1214, 1214, 2847, 1214, 1214, 1214, 1214, 1415, 1415, 2847,
     1415, 1415, 1415, 1415, 1418, 1418, 2847, 1418, 1418, 1418,
     1418,  265,  265, 2847,  265,  265,  265,  265, 1039, 1039,
     2847, 1039, 1039, 1039, 1039,  268,  268, 2847,  268,  268,
      268,  268,  285,  285, 2847,  285,  285,  285,  285, 1457,
     1457, 2847, 1457, 1457, 1457, 1457, 1253, 1253, 2847, 1253,
     1253, 1253, 1253, 1255, 1255, 2847, 1255, 1255, 1255, 1255,
     1462, 1462, 2847, 1462, 1462, 1462, 1462, 1465, 1465, 2847,
     1465, 1465, 1465, 1465,  299,  299, 2847,  299,  299,  299,
      299, 1079, 1079, 2847, 1079, 1079, 1079, 1079,  304,  304,

     2847,  304,  304,  304,  304, 1492, 1492, 2847, 1492, 1492,
     1492, 1492, 1283, 1283, 2847, 1283, 1283, 1283, 1283, 1496,
     1496, 2847, 1496, 1496, 1496, 1496, 1499, 1499, 2847, 1499,
     1499, 1499, 1499,  332,  332, 2847,  332,  332,  332,  332,
     1107, 1107, 2847, 1107, 1107, 1107, 1107,  335,  335, 2847,
      335,  335,  335,  335,  357,  357, 2847,  357,  357,  357,
      357,  186,  186, 2847,  186,  186,  186,  186, 1338, 1338,
     2847, 1338, 1338, 1338, 1338, 1554, 1554, 2847, 1554, 1554,
     1554, 1554, 1151, 1151, 2847, 1151, 1151, 1151, 1151, 1153,
     1153, 2847, 1153, 1153, 1153, 1153, 1343, 1343, 2847, 1343,

     1343, 1343, 1343, 1346, 1346, 2847, 1346, 1346, 1346, 1346,
     1560, 1560, 2847, 1560, 1560, 1560, 1560, 1569, 1569, 2847,
     1569, 1569, 1569, 1569,  201,  201, 2847,  201,  201,  201,
      201,  249,  249, 2847,  249,  249,  249,  249, 1411, 1411,
     2847, 1411, 1411, 1411, 1411, 1624, 1624, 2847, 1624, 1624,
     1624, 1624, 1214, 1214, 2847, 1214, 1214, 1214, 1214, 1415,
     1415, 2847, 1415, 1415, 1415, 1415, 1418, 1418, 2847, 1418,
     1418, 1418, 1418, 1629, 1629, 2847, 1629, 1629, 1629, 1629,
      265,  265, 2847,  265,  265,  265,  265, 1638, 1638, 2847,
     1638, 1638, 1638, 1638,  268,  268, 2847,  268,  268,  268,

      268,  285,  285, 2847,  285,  285,  285,  285, 1457, 1457,
     2847, 1457, 1457, 1457, 1457, 1665, 1665, 2847, 1665, 1665,
     1665, 1665, 1253, 1253, 2847, 1253, 1253, 1253, 1253, 1255,
     1255, 2847, 1255, 1255, 1255, 1255, 1462, 1462, 2847, 1462,
     1462, 1462, 1462, 1465, 1465, 2847, 1465, 1465, 1465, 1465,
     1671, 1671, 2847, 1671, 1671, 1671, 1671,  299,  299, 2847,
      299,  299,  299,  299, 1680, 1680, 2847, 1680, 1680, 1680,
     1680,  304,  304, 2847,  304,  304,  304,  304, 1492, 1492,
     2847, 1492, 1492, 1492, 1492, 1695, 1695, 2847, 1695, 1695,
     1695, 1695, 1283, 1283, 2847, 1283, 1283, 1283, 1283, 1496,

     1496, 2847, 1496, 1496, 1496, 1496, 1499, 1499, 2847, 1499,
     1499, 1499, 1499, 1700, 1700, 2847, 1700, 1700, 1700, 1700,
      332,  332, 2847,  332,  332,  332,  332, 1709, 1709, 2847,
     1709, 1709, 1709, 1709,  335,  335, 2847,  335,  335,  335,
      335,  357,  357, 2847,  357,  357,  357,  357,  182,  182,
     2847,  182,  182,  182,  182,  186,  186, 2847,  186,  186,
      186,  186, 1338, 1338, 2847, 1338, 1338, 1338, 1338, 1554,
     1554, 2847, 1554, 1554, 1554, 1554, 1749, 1749, 2847, 1749,
     1749, 1749, 1749, 1750, 1750, 2847, 1750, 1750, 1750, 1750,
     1346, 1346, 2847, 1346, 1346, 1346, 1346, 1560, 1560, 2847,

     1560, 1560, 1560, 1560, 1569, 1569, 2847, 1569, 1569, 1569,
     1569,  201,  201, 2847,  201,  201,  201,  201,  249,  249,
     2847,  249,  249,  249,  249, 1411, 1411, 2847, 1411, 1411,
     1411, 1411, 1624, 1624, 2847, 1624, 1624, 1624, 1624, 1812,
     1812, 2847, 1812, 1812, 1812, 1812, 1418, 1418, 2847, 1418,
     1418, 1418, 1418, 1629, 1629, 2847, 1629, 1629, 1629, 1629,
      265,  265, 2847,  265,  265,  265,  265, 1638, 1638, 2847,
     1638, 1638, 1638, 1638,  268,  268, 2847,  268,  268,  268,
      268,  285,  285, 2847,  285,  285,  285,  285, 1457, 1457,
     2847, 1457, 1457, 1457, 1457, 1665, 1665, 2847, 1665, 1665,

     1665, 1665, 1847, 1847, 2847, 1847, 1847, 1847, 1847, 1848,
     1848, 2847, 1848, 1848, 1848, 1848, 1465, 1465, 2847, 1465,
     1465, 1465, 1465, 1671, 1671, 2847, 1671, 1671, 1671, 1671,
      299,  299, 2847,  299,  299,  299,  299, 1680, 1680, 2847,
     1680, 1680, 1680, 1680,  304,  304, 2847,  304,  304,  304,
      304, 1492, 1492, 2847, 1492, 1492, 1492, 1492, 1695, 1695,
     2847, 1695, 1695, 1695, 1695, 1869, 1869, 2847, 1869, 1869,
     1869, 1869, 1499, 1499, 2847, 1499, 1499, 1499, 1499, 1700,
     1700, 2847, 1700, 1700, 1700, 1700,  332,  332, 2847,  332,
      332,  332,  332, 1709, 1709, 2847, 1709, 1709, 1709, 1709,

      335,  335, 2847,  335,  335,  335,  335,  357,  357, 2847,
      357,  357,  357,  357,  186,  186, 2847,  186,  186,  186,
      186, 1917, 1917, 2847, 1917, 1917, 1917, 1917, 1749, 1749,
     2847, 1749, 1749, 1749, 1749, 1750, 1750, 2847, 1750, 1750,
     1750, 1750, 1920, 1920, 2847, 1920, 1920, 1920, 1920,  182,
      182, 2847,  182,  182,  182,  182,  978,  978, 2847,  978,
      978,  978,  978,  201,  201, 2847,  201,  201,  201,  201,
      249,  249, 2847,  249,  249,  249,  249, 1980, 1980, 2847,
     1980, 1980, 1980, 1980, 1812, 1812, 2847, 1812, 1812, 1812,
     1812, 1982, 1982, 2847, 1982, 1982, 1982, 1982,  265,  265,

     2847,  265,  265,  265,  265, 1039, 1039, 2847, 1039, 1039,
     1039, 1039,  268,  268, 2847,  268,  268,  268,  268,  285,
      285, 2847,  285,  285,  285,  285, 2013, 2013, 2847, 2013,
     2013, 2013, 2013, 1847, 1847, 2847, 1847, 1847, 1847, 1847,
     1848, 1848, 2847, 1848, 1848, 1848, 1848, 2016, 2016, 2847,
     2016, 2016, 2016, 2016,  299,  299, 2847,  299,  299,  299,
      299, 1079, 1079, 2847, 1079, 1079, 1079, 1079,  304,  304,
     2847,  304,  304,  304,  304, 2034, 2034, 2847, 2034, 2034,
     2034, 2034, 1869, 1869, 2847, 1869, 1869, 1869, 1869, 2036,
     2036, 2847, 2036, 2036, 2036, 2036, 1107, 1107, 2847, 1107,

     1107, 1107, 1107,  335,  335, 2847,  335,  335,  335,  335,
      357,  357, 2847,  357,  357,  357,  357, 1151, 1151, 2847,
     1151, 1151, 1151, 1151, 1153, 1153, 2847, 1153, 1153, 1153,
     1153, 1214, 1214, 2847, 1214, 1214, 1214, 1214, 1253, 1253,
     2847, 1253, 1253, 1253, 1253, 1255, 1255, 2847, 1255, 1255,
     1255, 1255, 1283, 1283, 2847, 1283, 1283, 1283, 1283, 1338,
     1338, 2847, 1338, 1338, 1338, 1338, 1346, 1346, 2847, 1346,
     1346, 1346, 1346, 1411, 1411, 2847, 1411, 1411, 1411, 1411,
     1418, 1418, 2847, 1418, 1418, 1418, 1418, 1457, 1457, 2847,
     1457, 1457, 1457, 1457, 1465, 1465, 2847, 1465, 1465, 1465,

     1465, 1492, 1492, 2847, 1492, 1492, 1492, 1492, 1499, 1499,
     2847, 1499, 1499, 1499, 1499,   25, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847
    } ;

static yyconst flex_int16_t yy_chk[17467] =
    {   0,
        1,    1,    1,    1,    1,    1,    1, 2932,    1,    1,
        1,    1,   15,   16,   15,   16,   33,    1,    1,    1,
       27,    1,   27,   37,   33,   40,   44,  151,   15,   16,
       41,   37,   41,   43,   73,   43,   40,   45,   46,   45,
       46,  151,  136,   44,   43,   73,  136, 2908,    1,    1,
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,

        3,    3,    3,    3,    3,    3,    3,   65,    3,    3,
        3,    3,   42,   92,   74,   65,   74,    3,    3,    3,
     1931,    3,   36,   36,   92,   36,   42,   36,   77,   49,
       49,   49,   49,   49,   42,   49,   53,   53,   53,   53,
       53,   36,   53,   36,   78,   77,   78, 1931,    3,    3,
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,

        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
        7,    7,    7,    7,    7,    7,    7,   66,    7,    7,
        7,    7,   75,   76, 2898,   76,   66,    7,    7,    7,
       79,    7,   79,   93,   76,   93,   75,   80,   80,   80,
       84,   84,   84,   95,   75,   95,   97,   98,   97,   98,
      103,  107,  103,  107,   95,  108, 2888,  108,    7,    7,

        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
        9,    9,    9,    9,    9,    9,    9,   96,    9,    9,
        9,    9,   94,  106,  104, 2091,  134,    9,    9,    9,
      102,    9,   85,   85,   96,   85,   94,   85,  104,  134,
      106,  102,  120,   85,   94,  105,  104,  105,  110, 2091,
      110,   85,  121,  120,  121,  125,  105,  125,    9,    9,

       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
       11,   11,   11,   11,   11,   11,   11,  175,   11,   11,
       11,   11,  112,  331,  112,  124,  175,   11,   11,   11,
      331,   11,   86,   86,  113,   86,  113,   86,   89,   89,
      112,   89,  124,   89,  113,  123,  126,  123,  126,   89,
      419,   86,  113,  128,  419,  128,  123,   89,   11,   11,

       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
       13,   13,   13,   13,   13,   13,   13, 2887,   13,   13,
       13,   13,  114,  145,  114,  145,  135,   13,   13,   13,
      150,   13,   88,   88,  117,   88,  117,   88,   90,   90,
      114,   90,  135,   90,  117,  144,  146,  150,  146,  257,
      257,   88,  117,   88,  281,  281,  144,   90,   13,   13,

       14,   14,   14,   14,   14,   14,   14,   14,   14,   14,
       14,   14,   14,   14,   14,   14,   14,   14,   14,   14,
       14,   14,   14,   14,   14,   14,   14,   14,   14,   14,
       14,   14,   14,   14,   14,   14,   14,   14,   14,   14,
       14,   14,   14,   14,   14,   14,   14,   14,   14,   14,
       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,

       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
       21,   21,   21,   21,   21,   21,   21,  194,   21,   21,
       21,   21,  118, 2869,  118,  122,  194,   21,   21,   21,
      147,   21,  116,  116,  127,  116,  127,  116,  148,  122,
      118,  129,  253,  129,  147,  253,  152,  122,  152,  148,
      127,  116,  147,  116,  153, 2862,  153,  129,   21,   21,

       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,

       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
       32,   32, 2855,   32,   32,   32,   32,   32,   32,   32,
       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,

       35,   35, 2826,   35,   35,   35,   35,  231,   35,   35,
       35,   35,  130,  154,  130,  154,  231,   35,   35,   35,
      160,   35,  130,  137,  137,  149,  137,  149,  137,  164,
      130,  160,  174,  161,  137,  161,  149, 2825,  138,  138,
      174,  138,  137,  138,  185,  165,  164,  165,   35,   35,
       39,   39,  185,   39,   39,   39,   39,  138,   39,   39,
       39,   39,  166,  179,  166,  179,  162,   39,   39,   39,
      163,   39,  163,  140,  140,   39,  140,  251,  140,  251,
      162,  163,  188,  193,  141,  141,  354,  141,  162,  141,
      188,  193,  140,  354,  140,  141,  212,  330,   39,   39,

       47,   47,   47,  141,  142,  142,  330,  142,  212,  142,
      243,   47,   47,   47,   47,   47,   54,   54,   54,  254,
      258,  254,  243,  142,  293,  293,  258,   54,   54,   54,
       54,   54,   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,   55,   55,
       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
       55,   55,   56,   56, 2822,   56,   56,   56,   56,   56,
       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,

       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
       56,   56,   61,   61, 2819,   61,   61,   61,   61,   61,
       61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
       61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
       61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
       61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
       61,   61,   71,   71,  436,   71,   71,   71,   71,  168,
       71,   71,   71,   71,  168,  168,  168,  168,  168,   71,

       71,   71,  436,   71,  168,  187,  187,  275,  187,  275,
      187,  221,  221,  221,  221,  221,  278,  221,  278,  222,
      222,  222,  222,  222,  187,  222,  187,  287,  259,  287,
       71,   71,   72,   72,  259,   72,   72,   72,   72,  230,
       72,   72,   72,   72,  252,  256, 2818,  230,  256,   72,
       72,   72,  252,   72,  255,  198,  198,   72,  198,  290,
      198,  290,  255,  276,  202,  202,  255,  202,  632,  202,
      288,  276,  203,  203,  198,  203,  198,  203,  288,  632,
       72,   72,   83,  202,   83,  202,   83,   83,   83,   83,
      279,  203,  297,  203,  297,   83,   83,   83,  279,   83,

      204,  204,  279,  204, 2815,  204,  260,  260,  260,  264,
      264,  264,  277,  280,  282,  277,  280,  283,  294,  204,
      282,  204,  289,  283,  294,  289,   83,   83,   87,   87,
      376,   87,   87,   87,   87,  312,   87,   87,   87,   87,
      291,  292,  376,  312,  292,   87,   87,   87,  291,   87,
      205,  205,  291,  205,  295,  205,  265,  265,  435,  265,
      295,  265,  299,  311,  299,  311,  314,  313,  314,  205,
      313,  205,  300,  435,  300,  265,   87,   87,   91,   91,
      299,   91,   91,   91,   91,  318,   91,   91,   91,   91,
      300,  318,  302,  206,  302,   91,   91,   91,  206,   91,

      206,  206,  303,   91,  303,  206,  267,  267, 1163,  267,
      302,  267,  316,  317,  317,  316,  206,  319,  352,  320,
      303,  320,  206,  319,  352,  267,   91,   91,  100,  100,
     1163,  100,  100,  100,  100,  320,  100,  100,  100,  100,
      315,  321,  322,  321,  322,  100,  100,  100,  315,  100,
      266,  266,  315,  266,  323,  266,  323,  324,  342,  324,
      342,  420,  325,  345,  325,  343,  345,  324,  420,  266,
      323,  266,  346,  343,  346,  324,  100,  100,  101,  101,
      325,  101,  101,  101,  101,  351,  101,  101,  101,  101,
      349,  350,  350,  349,  351,  101,  101,  101,  408,  101,

      348,  269,  269,  101,  269,  360,  269,  360,  348,  602,
      270,  270,  348,  270,  408,  270,  332,  332,  353,  332,
      269,  332,  269,  363,  353,  363,  101,  101,  111,  270,
      602,  270,  111,  111,  111,  332,  111,  111,  111,  111,
      361,  362,  366,  366,  362,  111,  111,  111,  361,  111,
      271,  271,  364,  271,  451,  271,  334,  334,  451,  334,
      364,  334,  365,  381,  364,  365,  367,  368,  384,  271,
      384,  271,  367,  368,  391,  334,  111,  111,  115,  115,
      391,  115,  115,  115,  115,  385,  115,  115,  115,  115,
      404,  386,  381,  385,  386,  115,  115,  115,  404,  115,

      272,  272,  369,  272,  387,  272,  387,  369,  369,  369,
      369,  369,  388,  389,  390,  390,  389,  369,  412,  272,
      388,  272,  424,  412,  388,  424,  115,  115,  119,  119,
      396,  119,  119,  119,  119,  392,  119,  119,  119,  119,
      422,  392,  422,  413, 2810,  119,  119,  119,  406,  119,
      405,  301,  301,  119,  301,  405,  301,  413,  405,  396,
      305,  305,  406,  305,  406,  305,  414,  791,  306,  306,
      301,  306,  301,  306,  415,  414,  119,  119,  132,  305,
      132,  305,  132,  132,  132,  132,  415,  306,  791,  306,
      416,  132,  132,  132,  407,  132,  307,  307,  416,  307,

      425,  307,  425,  407,  423, 2804,  308,  308,  417,  308,
      407,  308,  423,  333,  333,  307,  333,  307,  333,  428,
      428,  417,  132,  132,  133,  308,  133,  308,  133,  133,
      133,  133,  333,  440,  333,  440,  418,  133,  133,  133,
      426,  133,  418,  133,  336,  336,  437,  336,  426,  336,
      427,  429,  426,  427,  382,  433,  433,  429,  430,  382,
      437,  382,  382,  336,  430,  336,  382,  438,  133,  133,
      139,  139,  441,  139,  139,  139,  139,  382,  139,  139,
      139,  139,  434,  382,  432,  441,  438,  139,  139,  139,
      432,  139,  337,  337,  439,  337,  444,  337,  445,  446,

      452,  444,  434,  447,  450, 1973,  439,  452,  446,  448,
      450,  337,  445,  337,  449,  447,  571,  448,  139,  139,
      143,  143,  473,  143,  143,  143,  143,  449,  143,  143,
      143,  143, 1973,  474,  571,  472,  473,  143,  143,  143,
      472,  143,  474,  338,  338,  143,  338,  475,  338,  476,
      477,  484,  513,  456,  456,  478,  456,  476,  456,  475,
      480,  478,  338,  477,  338,  484,  513,  480,  143,  143,
      157,  157,  456,  157,  157,  157,  157,  489,  157,  157,
      157,  157,  479,  489, 2638,  483,  479,  157,  157,  157,
      483,  157,  339,  339,  487,  339,  485,  339,  486,  488,

      491,  456,  487,  464,  464,  485,  464,  491,  464,  512,
      486,  339,  488,  339,  512,  492, 2618,  492,  157,  157,
      158,  158,  464,  158,  158,  158,  158,  517,  158,  158,
      464,  158,  490,  492,  515,  514,  490,  158,  158,  158,
      517,  158,  393,  393,  514,  393,  515,  393,  468,  468,
      516,  468,  543,  468,  496,  557,  496,  543,  516,  518,
      557,  393,  492,  393,  504,  518,  504,  468,  158,  158,
      159,  159,  496,  159,  159,  159,  159, 2616,  159,  159,
      159,  159,  504,  468,  505,  520,  505,  159,  159,  159,
      504,  159,  520,  394,  394,  159,  394,  546,  394,  519,

      580,  496,  505,  519,  544,  580,  546,  505,  465,  465,
      505,  465,  394,  465,  394,  508,  544,  508,  159,  159,
      169,  169,  545,  169,  169,  169,  169,  465,  169,  169,
      169,  169,  465,  508,  547,  465,  545,  169,  169,  169,
      548,  169,  395,  395,  549,  395,  547,  395,  548,  508,
      550,  551,  551,  553,  552,  559,  550,  549,  552,  561,
      553,  395,  600,  395,  559,  600,  563,  561,  169,  169,
      170,  170,  563,  170,  170,  170,  170,  170,  170,  170,
      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,

      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
      186,  564,  186,  186,  577,  564,  558,  572,  397,  397,
      186,  397,  577,  397,  398,  398,  186,  398,  186,  398,
      558,  572,  186,  562,  186,  186,  567,  397,  186,  397,
      565,  569,  567,  398,  560,  398,  562,  565,  186,  186,
      568,  568,  186,  186,  201,  201,  560,  201,  201,  201,
      201,  569,  201,  201,  201,  201,  397,  506,  570,  506,
      574,  201,  201,  201,  576,  201,  399,  399,  575,  399,
      575,  399,  574,  570,  586,  506,  581,  576,  400,  400,

      586,  400,  573,  400,  625,  399,  507,  399,  507,  506,
      581,  506,  201,  201,  217,  217,  217,  400,  625,  400,
     2612,  573,  583,  585,  507,  217,  217,  217,  217,  217,
      219,  219,  219,  507,  583,  587,  585,  621,  621,  587,
      507,  219,  219,  219,  219,  219,  223,  223,  223,  223,
      223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
      223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
      223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
      223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
      223,  223,  223,  223,  223,  223,  224,  224,  224,  224,

      628,  623,  628, 2610,  401,  401,  224,  401,  582,  401,
      402,  402,  224,  402,  224,  402,  623,  582,  224,  584,
      224,  224,  599,  401,  224,  401,  588,  584,  601,  402,
      605,  402,  599,  588,  224,  224,  605,  601,  224,  224,
      226,  226, 2606,  226,  226,  226,  226,  226,  226,  226,
      226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
      226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
      226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
      226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
      235,  235, 2604,  235,  235,  235,  235,  235,  235,  235,

      235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
      235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
      249,  249,  613,  249,  249,  249,  249,  603,  249,  249,
      249,  249,  613,  606,  603,  612,  622,  249,  249,  249,
      606,  249,  403,  403,  612,  403,  611,  403,  527,  527,
      610,  527,  611,  527,  614,  615,  622,  610,  616, 2073,
      617,  403,  614,  403,  615,  617,  616,  527,  249,  249,
      250,  250,  627,  250,  250,  250,  250,  618,  250,  250,

      250,  250,  624,  604,  627, 2073,  618,  250,  250,  250,
      604,  250,  453,  453,  604,  453,  527,  453,  620,  604,
      624,  631,  626,  250,  620,  631,  633,  646,  633,  454,
      454,  453,  454,  453,  454, 2600,  629,  646,  250,  250,
      263,  626,  263,  634,  263,  263,  263,  263,  454,  629,
      454,  639,  639,  263,  263,  263,  634,  263,  455,  455,
      635,  455,  637,  455,  539,  539,  635,  539,  636,  539,
      638,  643,  636,  647,  804,  637,  804,  455,  643,  455,
      640,  647,  638,  539,  263,  263,  268,  268,  675,  268,
      268,  268,  268,  640,  268,  268,  268,  268,  675,  539,

      644,  645,  798,  268,  268,  268,  644,  268,  457,  457,
      645,  457,  648,  457,  744,  649,  798, 2598,  744,  458,
      458,  648,  458,  649,  458,  459,  459,  457,  459,  457,
      459,  790,  816,  651,  268,  268,  273,  273,  458,  273,
      458,  273,  651,  790,  459,  816,  459,  460,  460,  650,
      460,  672,  460,  673,  650,  273,  457,  676,  672,  673,
      273,  674,  273,  273,  677,  676,  460,  273,  460,  678,
      674,  679,  680,  677,  684,  683,  679,  678,  273, 1179,
      684,  680,  683,  685,  273,  274,  274,  686,  274,  274,
      274,  274,  685,  274,  274,  274,  274,  686,  704, 1179,

      704,  687,  274,  274,  274,  688,  274,  461,  461,  687,
      461,  689,  461,  691,  688,  690,  704,  713,  274,  689,
      690,  714,  691,  717,  713,  704,  461,  714,  461,  719,
      703,  717,  703,  274,  274,  285,  285,  719,  285,  285,
      285,  285, 2594,  285,  285,  285,  285,  702,  703,  702,
      720,  703,  285,  285,  285,  720,  285,  462,  462,  705,
      462,  705,  462,  661,  661,  702,  661,  743,  661,  813,
      715,  716,  748,  813,  743,  702,  462,  705,  462,  715,
      748,  716,  661,  285,  285,  286,  286, 1915,  286,  286,
      286,  286,  661,  286,  286,  286,  286,  708,  705,  708,

      718, 1915,  286,  286,  286,  721,  286,  463,  463,  718,
      463,  706,  463,  706,  721,  708,  746,  745,  286,  663,
      663,  708,  663,  745,  663,  746,  463,  747,  463,  706,
      707, 2592,  707,  286,  286,  298,  706,  747,  663,  298,
      298,  298,  750,  298,  298,  298,  298,  663,  707,  709,
      750,  709,  298,  298,  298,  707,  298,  493,  493,  707,
      493,  749,  493,  796,  707,  966,  752,  709,  732,  732,
      749,  732,  751,  732,  709,  752,  493,  751,  493,  805,
      796,  966,  805,  298,  298,  304,  304,  732,  304,  304,
      304,  304,  755,  304,  304,  304,  304,  732,  811,  755,

      757,  811,  304,  304,  304,  756,  304,  466,  466,  757,
      466,  756,  466,  467,  467,  759,  467,  762,  467,  760,
      758, 2588,  762,  759,  494,  494,  466,  494,  760,  494,
      758,  761,  467,  304,  304,  309,  976,  309,  763,  761,
      466,  467,  466,  494,  765,  494,  767,  763,  467,  495,
      495,  765,  495,  309,  495,  767,  766,  768,  309,  976,
      309,  309,  766,  769,  770,  309,  771,  768,  495,  773,
      495,  769,  772,  770,  771,  774,  309,  772,  773,  815,
      968,  815,  309,  310,  310,  774,  310,  310,  310,  310,
      777,  310,  310,  310,  310,  818,  968,  777,  779,  818,

      310,  310,  310,  778,  310,  497,  497,  779,  497,  778,
      497,  780,  781,  784,  821,  821,  310,  792,  784,  782,
      781,  780,  498,  498,  497,  498,  497,  498,  782,  792,
     2586,  310,  310,  327,  783,  327,  785,  327,  327,  327,
      327,  498,  783,  498, 1138,  785,  327,  327,  327,  793,
      327,  499,  499,  497,  499,  794,  499,  793,  794,  803,
     1138,  500,  500,  807,  500,  803,  500,  794,  501,  501,
      499,  501,  499,  501,  837,  807,  837,  327,  327,  328,
      500,  328,  500,  328,  328,  328,  328,  501,  806,  501,
     2577,  795,  328,  328,  328,  806,  328,  502,  502,  795,

      502,  799,  502,  797,  808,  809,  810,  817,  328,  799,
      797,  814,  808,  817,  797,  809,  502,  810,  502,  819,
      830,  830,  814,  328,  328,  335,  335,  820,  335,  335,
      335,  335,  819,  335,  335,  335,  335,  832,  822,  820,
      825,  832,  335,  335,  335,  826,  335,  503,  503,  824,
      503,  822,  503,  825,  826, 2570,  824,  829,  524,  524,
      827,  524,  829,  524,  525,  525,  503,  525,  503,  525,
      827,  975,  833,  335,  335,  340,  340,  524,  340,  524,
      340,  831,  833,  525,  831,  525,  526,  526,  975,  526,
      836,  526,  528,  528,  340,  528,  836,  528,  840,  340,

      838,  340,  340,  838,  841,  526,  340,  526,  839,  842,
      840,  528,  841,  528,  865,  839,  861,  340,  844,  842,
      843,  844,  861,  340,  341,  341,  865,  341,  341,  341,
      341,  843,  341,  341,  341,  341,  862,  864,  862, 2568,
      528,  341,  341,  341,  864,  341,  529,  529,  866,  529,
      863,  529,  867,  863,  872,  868,  866,  341,  869,  983,
      872,  869,  867,  983,  875,  529,  868,  529,  873,  876,
      873,  875,  341,  341,  357,  357,  879,  357,  357,  357,
      357,  876,  357,  357,  357,  357,  874,  879, 1925,  874,
      877,  357,  357,  357,  878,  357,  530,  530,  877,  530,

      880,  530, 1925,  880,  878,  898,  900,  535,  535,  900,
      535,  898,  535,  903,  899,  530,  899,  530,  885,  902,
      885,  903,  357,  357,  358,  358,  535,  358,  358,  358,
      358,  902,  358,  358,  535,  358,  885,  888,  890,  888,
      890,  358,  358,  358,  971,  358,  531,  531,  885,  531,
      886,  531,  886,  971,  901,  888,  890,  848,  848,  905,
      848,  901,  848,  888,  890,  531, 2557,  531,  886,  891,
      905,  891,  358,  358,  359,  359,  848,  359,  359,  359,
      359,  972,  359,  359,  359,  359,  928,  891,  848,  886,
      972,  359,  359,  359,  928,  359,  532,  532,  904,  532,

      894,  532,  894,  895,  891,  895,  906,  359,  904,  906,
      923,  924,  926,  924,  934,  532,  923,  532,  894,  926,
      934,  895,  359,  359,  370,  370,  894,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
      370,  370,  370,  370,  383,  925,  383,  383,  925,  892,
     2551,  892,  533,  533,  383,  533,  939,  533,  534,  534,
      383,  534,  383,  534,  939,  929,  383,  892,  383,  383,

      930,  533,  383,  533,  892,  929,  383,  534,  892,  534,
     1000,  930,  383,  383, 1000,  940,  383,  383,  409,  409,
      927,  409,  409,  409,  409,  940,  409,  409,  409,  409,
      973,  893,  927,  893, 2438,  409,  409,  409,  931,  409,
      887,  931,  887,  589,  589,  935,  589,  935,  589,  893,
      936,  973,  942,  936,  941,  942,  536,  536,  887,  536,
     2438,  536,  589,  893,  589,  941,  409,  409,  410,  410,
      887,  410,  410,  410,  410,  536,  410,  410,  410,  410,
      536,  937,  945,  536,  945,  410,  410,  410,  937,  410,
      410,  589,  938,  590,  590,  944,  590,  954,  590,  954,

     2545,  944,  949,  946,  938,  948,  538,  538,  947,  538,
      946,  538,  590,  949,  590,  948,  410,  410,  411,  411,
      947,  411,  411,  411,  411,  538,  411,  411,  411,  411,
      955,  956,  950,  955,  538,  411,  411,  411,  956,  411,
     2539,  538,  591,  591,  950,  591,  411,  591,  957,  953,
      958,  858,  858,  960,  858,  953,  858,  974,  958,  961,
      957,  591,  961,  591,  960,  974,  411,  411,  421,  421,
      858,  421,  421,  421,  421,  421,  421,  421,  421,  421,
      421,  421,  421,  421,  421,  421,  421,  421,  421,  421,
      421,  421,  421,  421,  421,  421,  421,  421,  421,  421,

      421,  421,  421,  421,  421,  421,  421,  421,  421,  421,
      421,  421,  421,  421,  421,  421,  421,  421,  431,  431,
     2533,  431,  431,  431,  431,  431,  431,  431,  431,  431,
      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
      431,  431,  431,  431,  431,  431,  431,  431,  431,  431,
      431,  431,  431,  431,  431,  431,  431,  431,  442,  442,
      959,  442,  442,  442,  442,  967,  442,  442,  442,  442,
      959,  982,  970, 2527,  987,  442,  442,  442,  970,  442,
      442,  592,  592,  967,  592,  977,  592,  989,  984,  982,

      984,  987,  989,  990,  977,  985,  665,  665,  990,  665,
      592,  665,  592,  998,  998, 1007,  442,  442,  443,  443,
      985,  443,  443,  443,  443,  665,  443,  443,  443,  443,
     1007,  992,  665,  988,  993,  443,  443,  443,  992,  443,
      595,  595,  988,  595,  994,  595,  443,  993,  995, 2509,
      997,  850,  850,  994,  850,  997,  850,  999,  995,  595,
      999,  595,  889, 1004,  889, 1001,  443,  443,  469,  469,
      850,  469,  469,  469,  469, 1001,  469,  469,  469,  469,
      889, 1004,  850,  889, 2353,  469,  469,  469,  595,  469,
      596,  596,  889,  596, 1005,  596,  854,  854, 1005,  854,

     1006,  854, 1006, 1009, 1010, 1011, 1017, 1012, 1017,  596,
     1011,  596, 1012, 1010, 1020,  854,  469,  469,  470,  470,
     1009,  470,  470,  470,  470, 1015,  470,  470,  470,  470,
     1016, 1020,  854, 1018, 1016,  470,  470,  470, 1021,  470,
      470,  597,  597, 1015,  597, 1022,  597, 1021, 1018, 1023,
     1022, 1044, 1043, 1050, 1023, 1044,  667,  667, 1050,  667,
      597,  667,  597, 1045, 2337, 1045,  470,  470,  471,  471,
     1043,  471,  471,  471,  471,  667,  471,  471,  471,  471,
     1054,  667, 1046, 1048, 1055,  471,  471,  471, 1055,  471,
      598,  598, 1057,  598, 1049,  598,  471, 1046, 1054, 2322,

     1048,  664,  664, 1049,  664, 1051,  664, 1057, 1059,  598,
     1051,  598, 1056, 1064, 1056, 1064,  471,  471,  481,  481,
      664,  481,  481,  481,  481, 1059,  481,  481,  481,  481,
     1067, 1064, 1067, 1061, 1086,  481,  481,  481, 1061,  481,
      481,  664,  652,  652, 1060,  652, 1388,  652, 1067, 1086,
     1062,  735,  735, 1060,  735, 1062,  735, 1070, 1085, 1070,
     1085,  652, 1083,  652, 1067, 1388,  481,  481,  482,  482,
      735,  482,  482,  482,  482, 1070,  482,  482,  482,  482,
     1083, 1069, 1075, 1069, 1075,  482,  482,  482, 1088,  482,
      652,  735,  653,  653, 1084,  653,  482,  653, 1084, 1069,

     1075,  856,  856, 1166,  856, 1088,  856, 1071, 1075, 1071,
     1166,  653, 1068,  653, 1068, 1069,  482,  482,  509,  509,
      856,  509,  509,  509,  509, 1071,  509,  509,  509,  509,
     1068, 1071, 1111, 1090,  856,  509,  509,  509, 1090,  509,
      654,  654, 1079,  654, 1079,  654, 1089, 1077, 1068, 1077,
     1111,  910,  910, 1091,  910, 1089,  910, 1350, 1091,  654,
     1079,  654, 1074, 1350, 1074, 1077,  509,  509,  510,  510,
      910,  510,  510,  510,  510, 1117,  510,  510,  510,  510,
     1074, 1072,  910, 1072, 1117,  510,  510,  510, 1077,  510,
      510,  655,  655, 1112,  655, 2310,  655, 1112, 1113, 1072,

     1113, 1074, 1080, 1124, 1080, 1124,  668,  668, 1072,  668,
      655,  668,  655, 1073, 1171, 1073,  510,  510,  511,  511,
     1080,  511,  511,  511,  511,  668,  511,  511,  511,  511,
     1171, 1073,  668, 1114, 1122,  511,  511,  511, 1118,  511,
     1073, 1193, 1116, 1118,  537,  537,  511,  537, 1114,  537,
      657,  657, 1122,  657, 1193,  657, 1119,  658,  658, 1116,
      658, 1119,  658,  537, 1371, 1371,  511,  511,  521,  657,
      521,  657,  521,  521,  521,  521,  658,  537,  658,  537,
     1123,  521,  521,  521, 1123,  521,  659,  659, 1076,  659,
     1076,  659, 2297, 1128, 1125, 1129,  660,  660,  657,  660,

     1129,  660, 1128, 1158,  521,  659, 1076,  659, 1078, 1125,
     1078, 1158,  521,  521,  522,  660,  522,  660,  522,  522,
      522,  522, 1127, 1076, 1132, 1130, 1078,  522,  522,  522,
     1130,  522, 1134,  662,  662, 1078,  662,  522,  662, 1127,
     1133, 1136, 1132, 1143, 1133, 1143, 1168, 1134,  734,  734,
     1136,  734,  662,  734, 1141,  662, 2287, 1137,  522,  522,
      540,  540, 1137,  540,  540,  540,  540,  734,  540,  540,
      540,  540, 1141, 1144, 1146, 1168,  734,  540,  540,  540,
     1142,  540,  692,  692, 1142,  692, 1147,  692, 1144, 1160,
     2275, 1146, 1148,  912,  912, 1147,  912, 1148,  912, 1149,

     1173,  692, 1157,  692, 1149, 1157, 1160, 1173,  540,  540,
      541,  541,  912,  541,  541,  541,  541, 1159,  541,  541,
      541,  541, 1165, 1176,  912, 1159, 1164,  541,  541,  541,
      692,  541,  541,  693,  693, 1164,  693, 1177,  693, 1176,
     1183, 1177, 1185, 1165, 1183, 1184, 1195, 1184,  736,  736,
     1195,  736,  693,  736,  693, 1182, 2265, 1185,  541,  541,
      542,  542, 1172,  542,  542,  542,  542,  736,  542,  542,
      542,  542, 1187, 1182,  736, 1188, 1172,  542,  542,  542,
     1363,  542,  694,  694, 1188,  694, 1189,  694,  542, 1187,
     1174, 1189, 1190,  918,  918, 1363,  918, 1190,  918, 1199,

     1201,  694, 1172,  694, 1174, 2261, 1199, 1204,  542,  542,
      555,  555,  918,  555,  555,  555,  555, 1201,  555,  555,
      555,  555, 1192, 1204, 1198, 1192,  918,  555,  555,  555,
     1174,  555,  555,  695,  695, 1206,  695, 1198,  695, 1209,
     1210, 1238, 1206, 1194, 1210, 1238, 1249, 1566,  738,  738,
     1249,  738,  695,  738,  695, 1209, 1566, 1194,  555,  555,
      556,  556, 1178,  556,  556,  556,  556,  738,  556,  556,
      556,  556, 1212,  738, 1232, 1240, 1178,  556,  556,  556,
     1194,  556,  699,  699, 1234,  699, 1251,  699,  556, 1237,
     1232, 1234, 1212,  920,  920, 1240,  920, 1245,  920, 2252,

     1275,  699, 1178,  699, 1245, 1237, 1251, 1275,  556,  556,
      566,  566,  920,  566,  566,  566,  566,  566,  566,  566,
      566,  566,  566,  566,  566,  566,  566,  566,  566,  566,
      566,  566,  566,  566,  566,  566,  566,  566,  566,  566,
      566,  566,  566,  566,  566,  566,  566,  566,  566,  566,
      566,  566,  566,  566,  566,  566,  566,  566,  566,  566,
      578,  578, 1196,  578,  578,  578,  578, 1243,  578,  578,
      578,  578, 1281, 1303, 2228, 1248, 1196,  578,  578,  578,
     1303,  578,  578, 1243,  698,  698, 1200,  698, 1175,  698,
     1175, 1248, 1281,  849,  849, 1175,  849, 1314,  849, 1196,

     1200, 1273, 1175,  698, 1314,  698, 1175, 1175,  578,  578,
      579,  579,  849,  579,  579,  579,  579, 1273,  579,  579,
      579,  579, 1253, 1200, 1253, 1278, 1279,  579,  579,  579,
     1279,  579,  698,  849,  700,  700, 1205,  700,  579,  700,
     1253, 1278, 1326, 1028, 1028, 1326, 1028, 2215, 1028, 1254,
     1205, 1254, 1307,  700, 1309,  700, 1307, 1301,  579,  579,
      593,  593, 1028,  593,  593,  593,  593, 1254,  593,  593,
      593,  593, 1207, 1301, 1309, 1320, 1205,  593,  593,  593,
     1028,  593,  701,  701, 1306,  701, 1207,  701,  916,  916,
     1211,  916, 1318,  916, 1341, 1320, 1318, 1324, 1331, 2120,

     1306,  701, 1335,  701, 1211, 1331, 1335,  916,  593,  593,
      594,  594, 1207,  594,  594,  594,  594, 1324,  594,  594,
      594,  594, 1233, 1341,  916, 1337, 1312,  594,  594,  594,
     1211,  594,  723,  723, 1235,  723, 1233,  723, 1027, 1027,
     1317, 1027, 1312, 1027, 1356, 1337, 1366, 1368, 1235, 1368,
     1366,  723, 1356,  723, 2083, 1370, 1317, 1027,  594,  594,
      607,  607, 1233,  607,  607,  607,  607, 1370,  607,  607,
      607,  607, 1239, 1027, 1235, 1355, 1329,  607,  607,  607,
      723,  607,  724,  724, 1244,  724, 1239,  724, 1029, 1029,
     1246, 1029, 1329, 1029, 1375, 1375, 1380, 1355, 1244, 1349,

     1380,  724, 1369,  724, 1246, 1349, 1349, 1029,  607,  607,
      608,  608, 1239,  608,  608,  608,  608, 1369,  608,  608,
      608,  608, 1250, 1029, 1244, 2106, 1322,  608,  608,  608,
     1246,  608,  725,  725, 1402,  725, 1250,  725, 1030, 1030,
     1322, 1030, 1378, 1030, 1377,  608, 2106, 1377, 1390, 1402,
     1322,  725, 1390,  725, 1259, 1378, 1259, 1030,  608,  608,
      609,  609, 1250,  609,  609,  609,  609, 1383,  609,  609,
      609,  609, 1259, 1334, 1260, 1259, 1260,  609,  609,  609,
     1383,  609,  726,  726, 1391,  726, 1392,  726, 1197, 1334,
     1197,  609, 1260, 1039, 1039, 1197, 1039, 1405, 1039, 1405,

     1260,  726, 1197,  726, 1197, 1392, 1197, 1391,  609,  609,
      619,  619, 1039,  619,  619,  619,  619,  619,  619,  619,
      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
      619,  619,  619,  619,  619,  619,  619,  619,  619,  619,
      630,  630, 2075,  630,  630,  630,  630,  630,  630,  630,
      630,  630,  630,  630,  630,  630,  630,  630,  630,  630,
      630,  630,  630,  630,  630,  630,  630,  630,  630,  630,
      630,  630,  630,  630,  630,  630,  630,  630,  630,  630,

      630,  630,  630,  630,  630,  630,  630,  630,  630,  630,
      641,  641, 1564,  641,  641,  641,  641, 1564,  641,  641,
      641,  641, 1261, 1384, 1261, 1918, 1352,  641,  641,  641,
     1384,  641,  728,  728, 1263,  728, 1263,  728, 1036, 1036,
     1261, 1036, 1352, 1036, 1264,  641, 1264, 1438, 1261, 1438,
     1386,  728, 1263,  728, 1262, 1396, 1262, 1036,  641,  641,
      642,  642, 1264,  642,  642,  642,  642, 1386,  642,  642,
      642,  642, 1262, 1396, 1036, 1902, 1362,  642,  642,  642,
      728,  642,  729,  729, 1365,  729, 1760,  729, 1208, 1262,
     1208,  642, 1362, 1040, 1040, 1208, 1040, 1395, 1040, 1760,

     1365,  729, 1208,  729, 1395, 1393, 1208, 1208,  642,  642,
      656,  656, 1040,  656,  656,  656,  656, 1397,  656,  656,
      656,  656, 1393, 2131, 1269, 1398, 1269,  656,  656,  656,
     1394,  656,  730,  730, 1394,  730, 1397,  730, 1265, 1266,
     1265, 1266, 1269,  731,  731, 1398,  731, 2131,  731,  733,
      733,  730,  733,  730,  733, 1406, 1265, 1266,  656,  656,
      666,  666,  731,  666,  731,  666, 1266, 1434,  733, 1274,
     1406,  733,  739,  739, 1236,  739, 1236,  739, 1265,  666,
     1888, 1236, 1434, 1274,  851,  851,  666,  851, 1236,  851,
      666,  739, 1236, 1236, 1361,  666,  669,  669,  739,  669,

      669,  669,  669,  851,  669,  669,  669,  669, 1361, 1274,
     1361,  851, 1374,  669,  669,  669, 1364,  669, 1268, 1276,
     1268,  853,  853, 1267,  853, 1267,  853, 1403, 1374, 1867,
     1364, 1403, 1364, 1276,  857,  857, 1268,  857, 1436,  857,
      853, 1267, 1436, 1268,  669,  669,  670,  670,  853,  670,
      670,  670,  670,  857,  670,  670,  670,  670, 1407, 1276,
     1439,  857, 1267,  670,  670,  670, 1947,  670,  911,  911,
     1407,  911, 1280,  911, 1379, 1439, 1302, 1947, 1304, 1034,
     1034,  670, 1034, 1451, 1034, 1451, 1280,  911, 1379, 1308,
     1302, 1270, 1304, 1270,  670,  670,  671,  671, 1034,  671,

      671,  671,  671, 1308,  671,  671,  671,  671,  911, 1270,
     1448, 1379, 1280,  671,  671,  671, 1302,  671, 1304, 1034,
     1573,  913,  913, 1845,  913, 1448,  913,  671, 1313, 1308,
     1408, 1408, 1410, 1410,  915,  915, 1573,  915, 1270,  915,
      913, 1485, 1313, 1485,  671,  671,  681,  681,  913,  681,
      681,  681,  681,  915,  681,  681,  681,  681, 1440, 1323,
     1452,  915, 1595,  681,  681,  681, 1373,  681, 1313, 1595,
     1440,  919,  919, 1323,  919, 1452,  919, 1441, 1441, 1381,
     1373,  681, 1373, 1323, 1031, 1031, 1519, 1031, 1519, 1031,
      919, 1444, 1444, 1381,  681,  681,  682,  682,  919,  682,

      682,  682,  682, 1031,  682,  682,  682,  682, 1449, 1031,
     1591, 1325, 1449,  682,  682,  682, 1381,  682,  964,  964,
     1831,  964, 1315,  964, 1247, 1325, 1247,  682, 1453, 1096,
     1096, 1247, 1096, 1591, 1096, 1325, 1315,  964, 1247,  964,
     1453, 1487, 1247, 1247,  682,  682,  696,  696, 1096,  696,
      696,  696,  696, 1487,  696,  696,  696,  696, 1319, 1454,
     1454, 1481, 1315,  696,  696,  696, 1096,  696, 1025, 1025,
     1330, 1025, 1319, 1025, 1037, 1037, 1481, 1037, 1332, 1037,
     1456, 1456, 1483, 1532, 1330, 1532, 1483, 1025, 1486, 1025,
     1488, 1488, 1332, 1037,  696,  696,  697,  697, 1319,  697,

      697,  697,  697, 1486,  697,  697,  697,  697, 1517, 1470,
     1330, 1470, 1517,  697,  697,  697, 1037,  697, 1332, 1336,
     1032, 1032, 1277, 1032, 1277, 1032, 1521, 1470, 1515, 1277,
     1491, 1491, 1547, 1336, 1547, 1472, 1277, 1472, 1521, 1032,
     1277, 1277, 1575, 1515,  697,  697,  710,  710, 1032,  710,
      710,  710,  710, 1472,  710,  710,  710,  710, 1575, 1336,
     1468, 1520, 1468,  710,  710,  710, 1385,  710, 1360, 1389,
     1033, 1033, 1305, 1033, 1305, 1033, 1520, 1530, 1468, 1305,
     1385, 1530, 1360, 1389, 1468, 1468, 1305, 1360, 1389, 1033,
     1305, 1305, 1360, 1529,  710,  710,  711,  711, 1033,  711,

      711,  711,  711, 1385,  711,  711,  711,  711, 1529, 1316,
     1533, 1316, 1389,  711,  711,  711, 1316,  711, 1469, 1401,
     1469, 1035, 1035, 1316, 1035, 1533, 1035, 1316, 1316, 1522,
     1522,  711, 1787, 1401, 1038, 1038, 1469, 1038, 1401, 1038,
     1035, 1787, 1469, 1401,  711,  711,  712,  712, 1035,  712,
      712,  712,  712, 1038,  712,  712,  712,  712, 1460, 1544,
     1460, 1432, 1038,  712,  712,  712, 1540,  712,  852,  852,
     1534,  852, 1540,  852, 1544, 1432, 1460,  712,  855,  855,
     1432,  855, 1534,  855, 1576, 1432, 1576,  852,  917,  917,
      852,  917, 1810,  917,  712,  712,  722,  855,  722,  852,

      722,  722,  722,  722,  855, 1460, 1577,  917,  855,  722,
      722,  722, 1548,  722,  917, 1525, 1525, 1549,  917,  722,
     1095, 1095, 1577, 1095, 1763, 1095, 1473, 1548, 1473, 1549,
     1098, 1098, 1579, 1098, 1579, 1098, 1475, 1763, 1475, 1095,
      722,  722,  727,  727, 1473,  727,  727,  727,  727, 1098,
      727,  727,  727,  727, 1475, 1095, 1535, 1535, 1447,  727,
      727,  727, 1475,  727, 1600,  914,  914, 1609,  914, 1600,
      914, 1480, 1447, 1480, 1537, 1537, 1471, 1447, 1471, 1609,
     1065, 1065, 1447, 1065,  914, 1065, 1474,  914, 1474, 1480,
      727,  727,  737,  737, 1471,  737,  914,  737, 1572, 1065,

     1563, 1065, 1093, 1093, 1474, 1093, 1333, 1093, 1333, 1770,
     1471,  737, 1572, 1333, 1572, 1545, 1479, 1563,  737, 1545,
     1333, 1093,  737, 1093, 1333, 1333, 1474,  737,  740,  740,
     1479,  740,  740,  740,  740, 1479,  740,  740,  740,  740,
     1479, 1584, 1482, 1755, 1482,  740,  740,  740, 1513,  740,
     1097, 1097, 1490, 1097, 1490, 1097, 1104, 1104, 1584, 1104,
     1482, 1104, 1513, 1550, 1550, 1552, 1552, 1513, 1610, 1097,
     1490, 1588, 1513, 1578, 1578, 1104,  740,  740,  741,  741,
     1610,  741,  741,  741,  741, 1097,  741,  741,  741,  741,
     1588, 1586, 1104, 1753, 1574,  741,  741,  741, 1580,  741,

     1099, 1099, 1580, 1099, 1585, 1099, 1574, 1574, 1586, 1581,
     1574, 1102, 1102,  741, 1102, 1582, 1102, 1581, 1590, 1099,
     1585, 1582, 1590, 1592, 1593, 1099,  741,  741,  742,  742,
     1102,  742,  742,  742,  742, 1583,  742,  742,  742,  742,
     1594, 1593, 1592, 1583, 1594,  742,  742,  742, 1589,  742,
     1528, 1102, 1100, 1100, 1382, 1100, 1382, 1100, 1602,  742,
     1606, 1382, 1589, 1606, 1528, 1602, 1597, 1589, 1382, 1528,
     1382, 1100, 1382, 1568, 1528, 1596,  742,  742,  753,  753,
     1100,  753,  753,  753,  753, 1597,  753,  753,  753,  753,
     1539, 1589, 1543, 1596, 1603,  753,  753,  753, 1598,  753,

     1603, 1604, 1101, 1101, 1539, 1101, 1543, 1101, 1604, 1539,
     1754, 1543, 1601,  753, 1539, 1614, 1543, 1614, 1598, 1605,
     1605, 1101, 1754, 1601, 1601, 1601,  753,  753,  754,  754,
     1101,  754,  754,  754,  754, 1567,  754,  754,  754,  754,
     1607, 1607, 1615, 1615, 1618,  754,  754,  754, 1608,  754,
     1613, 1608, 1618, 1103, 1103, 1616, 1103, 1616, 1103,  754,
     1617, 1619, 1613, 1613, 1617, 1620, 1613, 1619, 1643, 1645,
     1643, 1645, 1103, 1620, 1644, 1644,  754,  754,  764,  764,
     1103,  764,  764,  764,  764,  764,  764,  764,  764,  764,
      764,  764,  764,  764,  764,  764,  764,  764,  764,  764,

      764,  764,  764,  764,  764,  764,  764,  764,  764,  764,
      764,  764,  764,  764,  764,  764,  764,  764,  764,  764,
      764,  764,  764,  764,  764,  764,  764,  764,  775,  775,
     1766,  775,  775,  775,  775, 1621,  775,  775,  775,  775,
     1646, 1622, 1648, 1766, 1646,  775,  775,  775, 1648,  775,
     1105, 1105, 1621, 1105, 1642, 1105, 1107, 1107, 1622, 1107,
     1647, 1107, 1565,  775, 1649, 1660, 1642, 1642, 1647, 1105,
     1642, 1660, 1649, 1650, 1651, 1107,  775,  775,  776,  776,
     1768,  776,  776,  776,  776, 1768,  776,  776,  776,  776,
     1650, 1651, 1105, 1656, 1656,  776,  776,  776, 1654,  776,

     1551, 1662, 1106, 1106, 1655, 1106, 1655, 1106, 1658,  776,
     1654, 1654, 1658, 1657, 1654, 1657, 1659, 1661, 1662, 1752,
     1685, 1106, 1685, 1663, 1659, 1661,  776,  776,  786,  786,
     1106,  786,  786,  786,  786, 1752,  786,  786,  786,  786,
     1663, 1687, 1675, 1687, 1675,  786,  786,  786, 1960,  786,
     1108, 1108, 1676, 1108, 1676, 1108, 1221, 1221, 1769, 1221,
     1675, 1221, 1678, 1689, 1678, 1675, 1686, 1686, 1960, 1108,
     1676, 1689, 1679, 1769, 1679, 1221,  786,  786,  787,  787,
     1678,  787,  787,  787,  787, 1690,  787,  787,  787,  787,
     1679, 1690, 1221, 1692, 1688,  787,  787,  787, 1688,  787,

     1150, 1150, 1683, 1150, 1683, 1150, 1222, 1222, 1691, 1222,
     1692, 1222, 1714, 1693, 1714, 1718, 1691, 1715, 1715, 1150,
     1683, 1150, 1716, 1718, 1716, 1222,  787,  787,  788,  788,
     1693,  788,  788,  788,  788, 1719,  788,  788,  788,  788,
     1677, 1719, 1677, 1721, 1717,  788,  788,  788, 1717,  788,
     1153, 1153, 1684, 1153, 1720, 1153, 1223, 1223, 1677, 1223,
     1721, 1223, 1720, 1722, 1684, 1684, 1729, 1677, 1684, 1153,
     1729, 1153, 1674, 1546, 1674, 1223,  788,  788,  789,  789,
     1722,  789,  789,  789,  789, 1733,  789,  789,  789,  789,
     1674, 1726, 1728, 1726, 1728,  789,  789,  789, 1730,  789,

     1154, 1154, 1733, 1154, 1731, 1154, 1730, 1674, 1727, 1727,
     1731, 1224, 1224, 1742, 1224, 1732, 1224, 1742, 1734, 1154,
     1739, 1154, 1739, 1732, 1740, 1740,  789,  789,  801,  801,
     1224,  801,  801,  801,  801, 1734,  801,  801,  801,  801,
     1741, 1746, 1741, 1777, 1777,  801,  801,  801, 1759,  801,
     1155, 1155, 1224, 1155, 1713, 1155, 1228, 1228, 1746, 1228,
     1743, 1228, 1759, 1759,  801, 1745, 1713, 1713, 1743, 1155,
     1713, 1155, 1536, 1745, 1744, 1228,  801,  801,  802,  802,
     1744,  802,  802,  802,  802, 1747,  802,  802,  802,  802,
     1758, 1761, 1764, 1761, 1765,  802,  802,  802, 1765,  802,

     1156, 1156, 1747, 1156, 1531, 1156, 1758,  802, 1772, 1764,
     1774, 1291, 1291, 1772, 1291, 1776, 1291, 1774, 1775, 1156,
     1778, 1156, 1776, 1778, 1775, 1523,  802,  802,  812,  812,
     1291,  812,  812,  812,  812,  812,  812,  812,  812,  812,
      812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
      812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
      812,  812,  812,  812,  812,  812,  812,  812,  812,  812,
      812,  812,  812,  812,  812,  812,  812,  812,  823,  823,
     1518,  823,  823,  823,  823,  823,  823,  823,  823,  823,
      823,  823,  823,  823,  823,  823,  823,  823,  823,  823,

      823,  823,  823,  823,  823,  823,  823,  823,  823,  823,
      823,  823,  823,  823,  823,  823,  823,  823,  823,  823,
      823,  823,  823,  823,  823,  823,  823,  823,  834,  834,
     1773,  834,  834,  834,  834, 1921,  834,  834,  834,  834,
     1781, 1773, 1773, 1773, 1921,  834,  834,  834, 1762,  834,
     1213, 1213, 1781, 1213, 1725, 1213, 1229, 1229, 1784, 1229,
     1780, 1229, 1762, 1780,  834, 1784, 1725, 1725, 1786, 1213,
     1725, 1213, 1779, 1779, 1786, 1229,  834,  834,  835,  835,
     1767,  835,  835,  835,  835, 1762,  835,  835,  835,  835,
     1782, 1785, 1904, 1904, 1767,  835,  835,  835, 1785,  835,

     1214, 1214, 1782, 1214, 1229, 1214, 1785,  835, 1790, 1789,
     1788, 1292, 1292, 1794, 1292, 1789, 1292, 1767, 1790, 1214,
     1791, 1214, 2514, 1791, 1788, 1794,  835,  835,  845,  845,
     1292,  845,  845,  845,  845, 1792,  845,  845,  845,  845,
     1788, 1792, 2514, 1808, 1793,  845,  845,  845, 1808,  845,
     1215, 1215, 1738, 1215, 1795, 1215, 1290, 1290, 1793, 1290,
     1796, 1290, 1795, 1489, 1738, 1738, 1805, 1796, 1738, 1215,
     1805, 1215, 1800, 1804, 1793, 1290,  845,  845,  846,  846,
     1802,  846,  846,  846,  846, 1800,  846,  846,  846,  846,
     1804, 2147, 1290, 1799, 1802,  846,  846,  846, 1809,  846,

     1216, 1216, 1801, 1216, 1801, 1216, 1807, 1799, 1799, 1803,
     1806, 1293, 1293, 1809, 1293, 2147, 1293, 1802, 1825, 1216,
     1807, 1216, 1803, 1806, 1916, 1916,  846,  846,  847,  847,
     1293,  847,  847,  847,  847, 1825,  847,  847,  847,  847,
     1822, 1821, 1822, 1807, 1484,  847,  847,  847, 1820,  847,
     1217, 1217, 1293, 1217, 1821, 1217, 1297, 1297, 1910, 1297,
     1824, 1297, 1820, 1820, 1826, 1829, 1926, 1926, 1826, 1217,
     1829, 1217, 1827, 1824, 1910, 1297,  847,  847,  859,  859,
     1823,  859,  859,  859,  859, 1827,  859,  859,  859,  859,
     1836, 1835, 1836, 1830, 1823,  859,  859,  859, 1828,  859,

     1218, 1218, 1838, 1218, 1835, 1218, 1423, 1423, 1830, 1423,
     1841, 1423, 1828, 1839,  859, 1838, 1840, 1823, 1907, 1218,
     1840, 1907, 1218, 1841, 1861, 1423,  859,  859,  860,  860,
     1839,  860,  860,  860,  860, 1828,  860,  860,  860,  860,
     1858, 1861, 1858, 1455, 1844,  860,  860,  860, 1834,  860,
     1843, 1857, 1860, 1219, 1219, 1843, 1219,  860, 1219, 1844,
     1863, 1837, 1834, 1834, 1857, 1860, 1220, 1220, 2218, 1220,
     1862, 1220, 1219, 1863, 1862, 1837,  860,  860,  870,  870,
     1219,  870,  870,  870,  870, 1220,  870,  870,  870,  870,
     1850, 2218, 1850, 1220, 1866,  870,  870,  870, 1837,  870,

     1878, 1856, 1225, 1225, 1842, 1225, 1859, 1225, 1850, 1866,
     1879, 1864, 1879, 1878,  870, 1856, 1856, 1851, 1842, 1851,
     1859, 1225, 1928, 1928, 1850, 1864,  870,  870,  871,  871,
     1225,  871,  871,  871,  871, 1851,  871,  871,  871,  871,
     1852, 1842, 1852, 1859, 1450,  871,  871,  871, 1864,  871,
     1226, 1226, 1930, 1226, 1853, 1226, 1853,  871, 1852, 1877,
     1865, 1295, 1295, 1883, 1295, 1865, 1295, 1883, 1930, 1226,
     1852, 1880, 1853, 1877, 1877, 1882,  871,  871,  881,  881,
     1295,  881,  881,  881,  881, 1880,  881,  881,  881,  881,
     1226, 1911, 1882, 1881, 1911,  881,  881,  881, 1884,  881,

     1892, 1295, 1442, 1887, 1227, 1227, 1881, 1227, 1880, 1227,
     1886, 1884, 1893, 1892, 1893, 1886, 1288, 1288, 1887, 1288,
     1900, 1288, 1437, 1227, 1896, 1900,  881,  881,  882,  882,
     1227,  882,  882,  882,  882, 1288,  882,  882,  882,  882,
     1897, 1896, 1409, 1288, 1897,  882,  882,  882, 1885,  882,
     1252, 1252, 1891, 1252, 1894, 1252, 1298, 1298, 1903, 1298,
     1895, 1298, 1885, 1923, 1903, 1924, 1891, 1891, 1894, 1252,
     1404, 1252, 1923, 1895, 1924, 1298,  882,  882,  883,  883,
     1898,  883,  883,  883,  883, 1885,  883,  883,  883,  883,
     1927, 1894, 2160, 1898, 1927,  883,  883,  883, 1899,  883,

     1255, 1255, 1901, 1255, 1298, 1255, 1424, 1424, 1906, 1424,
     1909, 1424, 1899, 1922, 1933, 1933, 2160, 1901, 1914, 1255,
     1906, 1255, 1909, 1922, 1914, 1424,  883,  883,  884,  884,
     1908,  884,  884,  884,  884, 1899,  884,  884,  884,  884,
     1965, 1424, 1912, 1965, 1908,  884,  884,  884, 1929,  884,
     1256, 1256, 1905, 1256, 1912, 1256, 1425, 1425, 1913, 1425,
     1938, 1425, 1929, 2071, 1929, 1905, 1908, 1905, 2071, 1256,
     1938, 1256, 1913, 1934, 1934, 1425,  884,  884,  896,  896,
     1978,  896,  896,  896,  896, 1939,  896,  896,  896,  896,
     1978, 1939, 1936, 1932, 1913,  896,  896,  896, 1937,  896,

     1257, 1257, 1932, 1257, 1935, 1257, 1426, 1426, 1936, 1426,
     1372, 1426, 1937, 1951,  896, 1940, 1940, 1941, 1935, 1257,
     1935, 1257, 1944, 1941, 1951, 1426,  896,  896,  897,  897,
     1944,  897,  897,  897,  897, 1937,  897,  897,  897,  897,
     2100, 1943, 1945, 2100, 1942,  897,  897,  897, 1943,  897,
     1258, 1258, 1942, 1258, 1952, 1258, 1945,  897, 1946, 1942,
     1949, 1427, 1427, 1952, 1427, 1946, 1427, 1949, 1948, 1258,
     1948, 1258, 1954, 1945, 1954, 1367,  897,  897,  907,  907,
     1427,  907,  907,  907,  907, 1953,  907,  907,  907,  907,
     1955, 1953, 1955, 1970, 1970,  907,  907,  907, 1354,  907,

     1282, 1282, 1427, 1282, 1950, 1282, 1433, 1433, 1956, 1433,
     1962, 1433, 1957, 1958, 1959, 1956, 1962, 1966, 1950, 1282,
     1957, 1282, 1959, 2086, 1958, 1433,  907,  907,  908,  908,
     1966,  908,  908,  908,  908, 1950,  908,  908,  908,  908,
     1961, 2086, 1961, 1992, 1963,  908,  908,  908, 1969,  908,
     1283, 1283, 1963, 1283, 1967, 1283, 1435, 1435, 1968, 1435,
     1964, 1435, 1969, 1967, 1971, 1972, 1972, 1968, 1971, 1283,
     1992, 1283, 1975, 1975, 1964, 1435,  908,  908,  909,  909,
     1353,  909,  909,  909,  909, 1974,  909,  909,  909,  909,
     1964, 1976, 1976, 2006, 1974,  909,  909,  909, 1977,  909,

     1284, 1284, 1979, 1284, 1985, 1284, 1443, 1443, 1979, 1443,
     1987, 1443, 1977, 1985, 1986, 1988, 1988, 2500, 1989, 1284,
     2006, 1284, 1989, 1986, 1987, 1443,  909,  909,  921,  921,
     1997,  921,  921,  921,  921, 1977,  921,  921,  921,  921,
     1990, 1990, 2500, 1993, 1997,  921,  921,  921, 1998,  921,
     1285, 1285, 1993, 1285, 1999, 1285, 1504, 1504, 1998, 1504,
     1999, 1504, 1994, 1994,  921, 1995, 1995, 1997, 2082, 1285,
     2004, 1285, 2003, 2003, 2004, 1504,  921,  921,  922,  922,
     2082,  922,  922,  922,  922, 2000,  922,  922,  922,  922,
     2002, 2005, 2005, 2001, 2000,  922,  922,  922, 2026,  922,

     1286, 1286, 2001, 1286, 2002, 1286, 2007,  922, 2008, 2008,
     2011, 1506, 1506, 2032, 1506, 2007, 1506, 2009, 2009, 1286,
     2011, 1286, 2014, 2032, 2014, 2026,  922,  922,  932,  932,
     1506,  932,  932,  932,  932, 2012,  932,  932,  932,  932,
     2014, 2012, 2018, 2019, 2018,  932,  932,  932, 2010,  932,
     1287, 1287, 2019, 1287, 2020, 1287, 1505, 1505, 1351, 1505,
     2018, 1505, 2010, 2020,  932, 2033, 2021, 2022, 2022, 1287,
     2018, 2033, 1287, 2024, 2024, 1505,  932,  932,  933,  933,
     2021,  933,  933,  933,  933, 2010,  933,  933,  933,  933,
     2101, 1505, 2017, 2101, 2017,  933,  933,  933, 2023,  933,

     2027, 2043, 2023, 1289, 1289, 2043, 1289,  933, 1289, 2027,
     2017, 2028, 2028, 2029, 2029, 2039, 2040, 2042, 2042, 2017,
     2044, 2044, 1289, 1186, 2039, 2040,  933,  933,  943,  943,
     1289,  943,  943,  943,  943,  943,  943,  943,  943,  943,
      943,  943,  943,  943,  943,  943,  943,  943,  943,  943,
      943,  943,  943,  943,  943,  943,  943,  943,  943,  943,
      943,  943,  943,  943,  943,  943,  943,  943,  943,  943,
      943,  943,  943,  943,  943,  943,  943,  943,  951,  951,
     2031,  951,  951,  951,  951, 1181,  951,  951,  951,  951,
     2025, 2030, 2025, 2030, 2031,  951,  951,  951, 2041,  951,

     2058, 2047, 1294, 1294, 2058, 1294, 2051, 1294, 2025, 2030,
     2047, 2069, 2041, 2046,  951, 2048, 2048, 2031, 2049, 2049,
     2051, 1294, 2057, 2057, 2069, 2052,  951,  951,  952,  952,
     1294,  952,  952,  952,  952, 2052,  952,  952,  952,  952,
     2046, 2054, 2053, 2051, 2055,  952,  952,  952, 2053,  952,
     2054, 1338, 1338, 2055, 1338, 2061, 1338,  952, 2065, 2056,
     2059, 2059, 2107, 2060, 2061, 2107, 1296, 1296, 2065, 1296,
     1338, 1296, 1338, 2056, 2062, 2062,  952,  952,  962,  962,
     2115,  962,  962,  962,  962, 1296,  962,  962,  962,  962,
     2060, 2115, 1296, 2063, 2063,  962,  962,  962, 2064,  962,

     1339, 1339, 2066, 1339, 2090, 1339, 1507, 1507, 2066, 1507,
     2067, 1507, 2064, 2070, 2068, 2070, 2074, 1167, 2067, 1339,
     2090, 1339, 2068, 2079, 2074, 1507,  962,  962,  965,  965,
     2079,  965,  965,  965,  965, 2064,  965,  965,  965,  965,
     2072, 2076, 2072, 2076, 1162,  965,  965,  965, 2078,  965,
     1340, 1340, 2085, 1340, 2077, 1340, 2085, 2078, 2084, 2087,
     2087, 1508, 1508, 2084, 1508, 2092, 1508, 2099, 2077, 1340,
     2111, 1340, 2092, 2099, 2111, 2095,  965,  965,  980,  980,
     1508,  980,  980,  980,  980, 2093,  980,  980,  980,  980,
     2077, 2095, 2098, 2088, 2097,  980,  980,  980, 2093,  980,

      980, 2119, 1508, 1342, 1342, 2102, 1342, 2088, 1342, 2098,
     2097, 2089, 2113, 2102, 2113, 2108, 1421, 1421, 2119, 1421,
     2108, 1421, 1342, 1161, 1342, 2089,  980,  980,  981,  981,
     2088,  981,  981,  981,  981, 1421,  981,  981,  981,  981,
     2096, 1421, 1421, 2124, 2124,  981,  981,  981, 2089,  981,
      981, 1342, 1343, 1343, 2096, 1343, 2096, 1343, 2103, 2104,
     2105, 1514, 1514, 2109, 1514, 2103, 1514, 2105, 2116, 2104,
     2109, 1343, 2114, 1343, 2116, 2114,  981,  981,  991,  991,
     1514,  991,  991,  991,  991,  991,  991,  991,  991,  991,
      991,  991,  991,  991,  991,  991,  991,  991,  991,  991,

      991,  991,  991,  991,  991,  991,  991,  991,  991,  991,
      991,  991,  991,  991,  991,  991,  991,  991,  991,  991,
      991,  991,  991,  991,  991,  991,  991,  991, 1002, 1002,
     1152, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
     1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1013, 1013,
     2110, 1013, 1013, 1013, 1013, 2125, 1013, 1013, 1013, 1013,
     2125, 2112, 2121, 2094, 2110, 1013, 1013, 1013, 2121, 1013,

     1013, 1344, 1344, 2112, 1344, 2123, 1344, 2094, 2126, 2346,
     2117, 2110, 2126, 2128, 2128, 2123, 1422, 1422, 2132, 1422,
     1344, 1422, 1344, 2346, 2117, 2132, 1013, 1013, 1014, 1014,
     2094, 1014, 1014, 1014, 1014, 1422, 1014, 1014, 1014, 1014,
     2117, 1422, 2127, 2118, 2122, 1014, 1014, 1014, 2135, 1014,
     1014, 1345, 1345, 2136, 1345, 2133, 1345, 2118, 2122, 2136,
     2127, 2129, 2144, 2144, 1151, 2135, 1428, 1428, 2133, 1428,
     1345, 1428, 1345, 2118, 2122, 2129, 1014, 1014, 1024, 1024,
     2130, 1024, 1024, 1024, 1024, 1428, 1024, 1024, 1024, 1024,
     2157, 2157, 1145, 1428, 2130, 1024, 1024, 1024, 2129, 1024,

     1346, 1346, 2143, 1346, 2134, 1346, 1516, 1516, 2141, 1516,
     2142, 1516, 2155, 2141, 2142, 2148, 2155, 2130, 2134, 1346,
     2143, 1346, 2148, 2152, 2156, 1516, 1024, 1024, 1026, 1026,
     2145, 1026, 1026, 1026, 1026, 2225, 1026, 1026, 1026, 1026,
     2152, 2134, 2156, 2225, 2145, 1026, 1026, 1026, 2146, 1026,
     1347, 1347, 2149, 1347, 2150, 1347, 1524, 1524, 2153, 1524,
     2162, 1524, 2146, 2161, 2153, 2149, 2158, 2145, 2150, 1347,
     2161, 1347, 2242, 2162, 2242, 1524, 1026, 1026, 1041, 1041,
     2158, 1041, 1041, 1041, 1041, 2146, 1041, 1041, 1041, 1041,
     2164, 2150, 2169, 2154, 2169, 1041, 1041, 1041, 2154, 1041,

     1041, 1348, 1348, 2158, 1348, 2171, 1348, 2164, 2165, 2171,
     2169, 2159, 2172, 2170, 2165, 1135, 1502, 1502, 2170, 1502,
     1348, 1502, 1348, 2173, 2173, 2159, 1041, 1041, 1042, 1042,
     2172, 1042, 1042, 1042, 1042, 1502, 1042, 1042, 1042, 1042,
     2176, 1502, 1502, 2163, 2189, 1042, 1042, 1042, 2159, 1042,
     1042, 1411, 1411, 2177, 1411, 2178, 1411, 2163, 2187, 2182,
     2177, 2174, 2189, 2187, 2176, 2182, 1503, 1503, 2178, 1503,
     1411, 1503, 1411, 2190, 2190, 2174, 1042, 1042, 1052, 1052,
     2163, 1052, 1052, 1052, 1052, 1503, 1052, 1052, 1052, 1052,
     2180, 1503, 2180, 2181, 2193, 1052, 1052, 1052, 2174, 1052,

     1052, 1412, 1412, 2188, 1412, 2262, 1412, 2188, 2180, 2199,
     2181, 2175, 2168, 2262, 2168, 2199, 1509, 1509, 2193, 1509,
     1412, 1509, 1412, 2198, 2210, 2175, 1052, 1052, 1053, 1053,
     2168, 1053, 1053, 1053, 1053, 1509, 1053, 1053, 1053, 1053,
     2198, 2210, 2168, 1509, 2195, 1053, 1053, 1053, 2175, 1053,
     1053, 1413, 1413, 2194, 1413, 2201, 1413, 2195, 2200, 2201,
     2194, 2179, 2220, 2200, 2203, 2203, 1632, 1632, 2206, 1632,
     1413, 1632, 1413, 2202, 2220, 2179, 1053, 1053, 1063, 1063,
     2191, 1063, 1063, 1063, 1063, 1632, 1063, 1063, 1063, 1063,
     2213, 2202, 2206, 2213, 2191, 1063, 1063, 1063, 2179, 1063,

     1414, 1414, 1632, 1414, 2192, 1414, 1633, 1633, 2207, 1633,
     2208, 1633, 2212, 2350, 2211, 2207, 2212, 2191, 2192, 1414,
     2211, 1414, 2350, 2208, 2222, 1633, 1063, 1063, 1066, 1066,
     1633, 1066, 1066, 1066, 1066, 2214, 1066, 1066, 1066, 1066,
     2222, 2192, 2241, 2241, 1126, 1066, 1066, 1066, 1414, 1066,
     1415, 1415, 2214, 1415, 2196, 1415, 1634, 1634, 2216, 1634,
     2223, 1634, 2226, 2224, 2219, 2223, 2204, 2226, 2196, 1415,
     2219, 1415, 2216, 2224, 2230, 1634, 1066, 1066, 1081, 1081,
     2204, 1081, 1081, 1081, 1081, 1115, 1081, 1081, 1081, 1081,
     2230, 2196, 2227, 2205, 2216, 1081, 1081, 1081, 2227, 1081,

     1081, 1416, 1416, 2204, 1416, 2234, 1416, 2205, 2232, 2239,
     2244, 2209, 2248, 2248, 2239, 2244, 1635, 1635, 2234, 1635,
     1416, 1635, 1416, 2235, 2232, 2209, 1081, 1081, 1082, 1082,
     2205, 1082, 1082, 1082, 1082, 1635, 1082, 1082, 1082, 1082,
     2448, 2235, 2237, 2448, 1635, 1082, 1082, 1082, 2209, 1082,
     1082, 1417, 1417, 2233, 1417, 2217, 1417, 2221, 2237, 2229,
     2263, 1636, 1636, 2251, 1636, 2263, 1636, 2233, 1087, 2217,
     1417, 2221, 1417, 2229, 2251, 2229, 1082, 1082, 1092, 1092,
     1636, 1092, 1092, 1092, 1092, 2240, 1092, 1092, 1092, 1092,
     2233, 2217, 2240, 2221, 2231, 1092, 1092, 1092, 2236, 1092,

     1418, 1418, 2238, 1418, 2243, 1418, 1637, 1637, 2231, 1637,
     2231, 1637, 2236, 2249, 2236, 1058, 2243, 2247, 2238, 1418,
     2249, 1418, 2253, 2253, 2258, 1637, 1092, 1092, 1094, 1094,
     2258, 1094, 1094, 1094, 1094, 2247, 1094, 1094, 1094, 1094,
     2254, 2256, 2254, 2255, 2255, 1094, 1094, 1094, 2256, 1094,
     1419, 1419, 2259, 1419, 2245, 1419, 1641, 1641, 1047, 1641,
     2246, 1641, 2260, 2259, 2260, 2269, 2264, 2274, 2245, 1419,
     2269, 1419, 2264, 2274, 2246, 1641, 1094, 1094, 1109, 1109,
     2257, 1109, 1109, 1109, 1109, 2245, 1109, 1109, 1109, 1109,
     2268, 2246, 2267, 2250, 2257, 1109, 1109, 1109, 1019, 1109,

     1109, 1420, 1420, 2266, 1420, 2267, 1420, 2250, 2268, 2286,
     2257, 1704, 1704, 2272, 1704, 2286, 1704, 2266, 2270, 1008,
     1420, 2272, 1420, 2280, 2250, 2270, 1109, 1109, 1110, 1110,
     1704, 1110, 1110, 1110, 1110, 1704, 1110, 1110, 1110, 1110,
     2266, 2280, 2279, 2273, 1003, 1110, 1110, 1110, 2273, 1110,
     1110, 1457, 1457, 2278, 1457, 2279, 1457, 2284, 2282,  996,
     2289, 1705, 1705, 2282, 1705, 2284, 1705, 2278, 2283, 2285,
     1457, 2288, 1457, 2289, 2285, 2283, 1110, 1110, 1120, 1120,
     1705, 1120, 1120, 1120, 1120, 2288, 1120, 1120, 1120, 1120,
     2278, 2290,  986, 2291, 2301, 1120, 1120, 1120, 2291, 1120,

     1120, 1458, 1458, 2292, 1458, 2294, 1458, 2301, 2288, 2290,
     2292, 2314, 2293, 2294, 2293, 2428, 1706, 1706, 2295, 1706,
     1458, 1706, 1458, 2295, 2314, 2428, 1120, 1120, 1121, 1121,
     2293, 1121, 1121, 1121, 1121, 1706, 1121, 1121, 1121, 1121,
     2293, 2298, 2296, 2298, 1706, 1121, 1121, 1121, 2296, 1121,
     1121, 1459, 1459, 2299, 1459, 2299, 1459, 2302, 2304, 2298,
     2305, 1707, 1707, 2304, 1707, 2307, 1707, 2305,  979, 2308,
     1459, 2299, 1459, 2307, 2308, 2302, 1121, 1121, 1131, 1131,
     1707, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,

     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
     1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1139, 1139,
     2300, 1139, 1139, 1139, 1139, 2317, 1139, 1139, 1139, 1139,
     2317, 2303, 2309, 2303, 2300, 1139, 1139, 1139, 2309, 1139,
     1139, 2333, 2315, 1461, 1461, 2313, 1461, 2319, 1461, 2303,
     2324, 1708, 1708, 2333, 1708, 2319, 1708, 2300, 2318, 2313,
     2315,  978, 1461, 2324, 1461, 2318, 1139, 1139, 1140, 1140,
     1708, 1140, 1140, 1140, 1140, 2320, 1140, 1140, 1140, 1140,
     2320, 2325, 2313, 2331, 2331, 1140, 1140, 1140, 2321, 1140,

     1140, 1461, 1462, 1462, 2321, 1462, 2323, 1462, 2326, 2325,
     2327, 1712, 1712, 2326, 1712, 2328, 1712, 2327, 2334, 2330,
     2323, 1462, 2328, 1462, 2330, 2342, 1140, 1140, 1169, 1169,
     1712, 1169, 1169, 1169, 1169, 2334, 1169, 1169, 1169, 1169,
     2329, 2342,  969, 2323, 2329, 1169, 1169, 1169, 2335, 1169,
     1463, 1463, 2335, 1463, 2336, 1463, 1703, 1703, 2332, 1703,
     2336, 1703, 2338, 2351, 2354, 2351, 2352, 2352, 1169, 1463,
     2354, 1463, 2332,  963, 2343, 1703, 1169, 1169, 1170, 1170,
     2338, 1170, 1170, 1170, 1170, 2340, 1170, 1170, 1170, 1170,
     2343, 2344, 1703, 2345, 2332, 1170, 1170, 1170, 2340, 1170,

     2347, 1464, 1464, 2348, 1464, 2344, 1464, 2344, 2356, 2345,
      828, 1815, 1815, 2347, 1815, 2356, 1815, 2358, 2358, 2348,
     1464, 1170, 1464, 2359, 2359,  800, 1170, 1170, 1180, 1180,
     1815, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180,
     1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180,
     1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180,
     1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180,
     1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1191, 1191,
      554, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
     1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,

     1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
     1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
     1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1202, 1202,
     2339, 1202, 1202, 1202, 1202, 2429, 1202, 1202, 1202, 1202,
      523, 2349, 2357, 2429, 2339, 1202, 1202, 1202, 2341, 1202,
     1465, 1465, 2349, 1465, 2357, 1465, 1814, 1814, 2362, 1814,
     2365, 1814, 2341, 2360, 2362, 2364, 2365, 2339, 1202, 1465,
     2517, 1465, 2364, 2517, 2360, 1814, 1202, 1202, 1203, 1203,
     2361, 1203, 1203, 1203, 1203, 2341, 1203, 1203, 1203, 1203,
     2367, 1814, 2367, 2355, 2361, 1203, 1203, 1203, 2422, 1203,

     2368, 1466, 1466, 2369, 1466, 2363, 1466, 2355,  380, 2366,
     2361, 1816, 1816, 2366, 1816, 2422, 1816, 2369, 2368, 2363,
     1466, 1203, 1466,  379, 2355, 2377, 1203, 1203, 1230, 1230,
     1816, 1230, 1230, 1230, 1230, 2363, 1230, 1230, 1230, 1230,
     2369, 2370, 1816, 2377, 2372, 1230, 1230, 1230, 2371, 1230,
     1467, 1467, 2373, 1467, 2370, 1467, 1817, 1817, 2372, 1817,
     2443, 1817, 2371, 2374, 2375, 2373, 2378, 2443, 1230, 1467,
      378, 1467, 2386, 2375, 2374, 1817, 1230, 1230, 1231, 1231,
     2378, 1231, 1231, 1231, 1231, 2371, 1231, 1231, 1231, 1231,
     2386, 2559, 2379, 2382, 2559, 1231, 1231, 1231, 2384, 1231,

     2383, 1492, 1492, 2378, 1492, 2379, 1492, 2382, 2385, 2384,
     2388, 1872, 1872, 2383, 1872, 2458, 1872, 2385, 2433, 2433,
     1492, 1231, 1492, 2388, 2392, 2395, 1231, 1231, 1241, 1241,
     1872, 1241, 1241, 1241, 1241, 2392, 1241, 1241, 1241, 1241,
     2390, 2458, 2394, 2395, 2394, 1241, 1241, 1241, 2380, 1241,
     1493, 1493, 2391, 1493, 2390, 1493, 1871, 1871, 2393, 1871,
     2394, 1871, 2380, 2446, 2403, 2391, 2387, 2393, 1241, 1493,
     2446, 1493, 2399, 2403, 2399, 1871, 1241, 1241, 1242, 1242,
     2387, 1242, 1242, 1242, 1242, 2380, 1242, 1242, 1242, 1242,
     2399, 1871, 2397, 2400, 2410, 1242, 1242, 1242, 2402, 1242,

     2401, 1494, 1494, 2387, 1494, 2397, 1494, 2400, 2410, 2402,
     2407, 1873, 1873, 2401, 1873, 2413, 1873, 2405, 2456, 2456,
     1494, 1242, 1494, 2407, 2413, 2414, 1242, 1242, 1271, 1271,
     1873, 1271, 1271, 1271, 1271, 2405, 1271, 1271, 1271, 1271,
      377, 2411, 1873, 2414, 2418, 1271, 1271, 1271, 2389, 1271,
     1495, 1495, 2412, 1495, 2411, 1495, 1874, 1874, 2418, 1874,
     2416, 1874, 2389, 2412, 2453, 2421, 2396,  375, 1271, 1495,
     2453, 1495, 2437, 2416, 2421, 1874, 1271, 1271, 1272, 1272,
     2396, 1272, 1272, 1272, 1272, 2389, 1272, 1272, 1272, 1272,
     2437,  374, 2432, 2435, 2419, 1272, 1272, 1272, 1495, 1272,

     2457, 1496, 1496, 2396, 1496, 2398, 1496, 2419, 2432, 2435,
     2440, 1984, 1984, 2420, 1984, 2440, 1984, 2445, 2457, 2398,
     1496, 1272, 1496, 2424, 2420, 2445, 1272, 1272, 1299, 1299,
     1984, 1299, 1299, 1299, 1299, 2424, 1299, 1299, 1299, 1299,
     1984, 2426, 2398,  373, 2436, 1299, 1299, 1299, 2406, 1299,
     1497, 1497, 2427, 1497, 2426, 1497, 1991, 1991, 2423, 1991,
     2436, 1991, 2406, 2451, 2427, 2447, 2408,  372, 1299, 1497,
     2447, 1497, 2423, 2452, 2451, 1991, 1299, 1299, 1300, 1300,
     2408, 1300, 1300, 1300, 1300, 2406, 1300, 1300, 1300, 1300,
     2463, 2463, 2452, 2431, 2423, 1300, 1300, 1300, 2430, 1300,

     2439, 1498, 1498, 2408, 1498, 2415, 1498, 2431, 2504, 2431,
     2430, 1996, 1996, 2439, 1996,  371, 1996, 2450, 2466, 2415,
     1498, 1300, 1498, 2441, 2504, 2450, 1300, 1300, 1310, 1310,
     1996, 1310, 1310, 1310, 1310, 2441, 1310, 1310, 1310, 1310,
     2455, 2454, 2415, 2454, 2466, 1310, 1310, 1310, 2434, 1310,
     1499, 1499, 2455, 1499, 2459, 1499, 2038, 2038, 2425, 2038,
     2442, 2038, 2434, 2518, 2434, 2449, 2417, 2459, 1310, 1499,
     2449, 1499, 2425, 2518, 2442, 2038, 1310, 1310, 1311, 1311,
     2417, 1311, 1311, 1311, 1311, 2038, 1311, 1311, 1311, 1311,
     2465, 2442, 2499, 2444, 2425, 1311, 1311, 1311, 2461, 1311,

     2460, 1500, 1500, 2417, 1500, 2460, 1500, 2444, 2465, 2499,
     2461, 2045, 2045, 2468, 2045, 2498, 2045, 2498, 2468, 2502,
     1500, 1311, 1500, 2502, 2444,  355, 1311, 1311, 1321, 1321,
     2045, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
     1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
     1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
     1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
     1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1327, 1327,
     2467, 1327, 1327, 1327, 1327,  347, 1327, 1327, 1327, 1327,
     2469, 2470, 2470, 2467, 2471, 1327, 1327, 1327, 2472, 1327,

     1501, 1501, 2469, 1501, 2473, 1501, 2050, 2050, 2474, 2050,
     2475, 2050, 2471, 2474, 2477, 2477, 2503, 2473, 1327, 1501,
     2503, 1501, 2475,  344, 2472, 2050, 1327, 1327, 1328, 1328,
     2479, 1328, 1328, 1328, 1328, 2482, 1328, 1328, 1328, 1328,
     2482, 2476, 2478, 2476, 2478, 1328, 1328, 1328, 2479, 1328,
     2481, 2485, 2485, 1553, 1553, 2483, 1553, 2487, 1553, 2476,
     2478, 2139, 2139, 2481, 2139, 2480, 2139, 2483, 2488, 2492,
     2492, 1328, 1553,  329, 1553, 2487, 1328, 1328, 1357, 1357,
     2139, 1357, 1357, 1357, 1357, 2489, 1357, 1357, 1357, 1357,
     2493, 2480, 2139, 2494, 2488, 1357, 1357, 1357, 2489, 1357,

     2495, 1553, 1554, 1554, 2490, 1554, 2491, 1554, 2493, 2490,
     2496, 2140, 2140, 2495, 2140, 2496, 2140,  247, 2491, 2494,
     2519, 1554, 2519, 1554, 2497, 2505, 1357, 1357, 1358, 1358,
     2140, 1358, 1358, 1358, 1358, 2497, 1358, 1358, 1358, 1358,
     2501, 2512, 2505,  246, 2506, 1358, 1358, 1358, 2512, 1358,
     1555, 1555, 2501, 1555, 2507, 1555, 2151, 2151, 2508, 2151,
     2506, 2151, 2511, 2507, 2510, 2516, 2516,  245, 2511, 1555,
     2508, 1555, 2510, 2513, 1358, 2151, 1358, 1358, 1359, 1359,
     2526, 1359, 1359, 1359, 1359, 2513, 1359, 1359, 1359, 1359,
     2523, 2515, 2526, 2521, 2523, 1359, 1359, 1359, 2515, 1359,

     2521, 1556, 1556, 2520, 1556, 1359, 1556, 2524, 2520, 2522,
     2522, 2186, 2186, 2528, 2186, 2529, 2186, 2534, 2567, 2529,
     1556, 2528, 1556, 2567, 2524, 2534, 1359, 1359, 1376, 1376,
     2186, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
     1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
     1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
     1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
     1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1387, 1387,
      244, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387,
     1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387,

     1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387,
     1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387,
     1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1399, 1399,
     2532, 1399, 1399, 1399, 1399, 2525, 1399, 1399, 1399, 1399,
     2530,  242, 2532, 2531, 2525, 1399, 1399, 1399, 2536, 1399,
     1559, 1559, 2531, 1559, 2535, 1559, 2542, 2530, 2535, 2537,
     2538, 2185, 2185, 2564, 2185, 2536, 2185, 2540, 2537, 1559,
     2564, 1559, 2538, 2542, 1399, 2540, 1399, 1399, 1400, 1400,
     2185, 1400, 1400, 1400, 1400, 2546, 1400, 1400, 1400, 1400,
     2541, 2543, 2185, 2546, 2541, 1400, 1400, 1400, 1559, 1400,

     2543, 1560, 1560, 2544, 1560, 1400, 1560, 2547, 2548, 2549,
     2553, 2547, 2550, 2554, 2553, 2544, 1983, 1983, 2549, 1983,
     1560, 1983, 1560,  241, 2550, 2548, 1400, 1400, 1429, 1429,
     2554, 1429, 1429, 1429, 1429, 1983, 1429, 1429, 1429, 1429,
     2552,  240, 2556, 2555, 1983, 1429, 1429, 1429, 2552, 1429,
     1561, 1561, 2555, 1561, 2556, 1561, 2197, 2197, 2558, 2197,
     2561, 2197, 2562, 2565, 2560, 2571, 2558, 2571, 2561, 1561,
     2565, 1561,  239, 2562, 2572, 2197, 1429, 1429, 1430, 1430,
     2560, 1430, 1430, 1430, 1430, 2572, 1430, 1430, 1430, 1430,
     2563, 2563, 2574, 2627, 2566, 1430, 1430, 1430, 2574, 1430,

     1562, 1562, 2627, 1562, 2569, 1562, 2271, 2271, 2566, 2271,
     2573, 2271, 2639, 2573, 2575, 2576, 2578, 2576, 2569, 1562,
     2575, 1562, 2639, 2578, 1430, 2271, 1430, 1430, 1431, 1431,
     2581, 1431, 1431, 1431, 1431, 2271, 1431, 1431, 1431, 1431,
     2579, 2569, 2579, 2580, 2581, 1431, 1431, 1431, 2584, 1431,
     2580, 2590, 2582, 1623, 1623, 1431, 1623, 2583, 1623, 2582,
     2581, 2587, 2584, 2585, 2583, 2590, 2037, 2037, 2585, 2037,
      238, 2037, 1623, 2589, 1623, 2587, 1431, 1431, 1445, 1445,
     2589, 1445, 1445, 1445, 1445, 2037, 1445, 1445, 1445, 1445,
     2622, 2622,  234, 2595, 2037, 1445, 1445, 1445, 2587, 1445,

     2595, 1623, 1624, 1624, 2591, 1624, 2593, 1624, 2596, 2591,
     2597, 2276, 2276, 2619, 2276, 2597, 2276,  233, 2601, 2619,
     2593, 1624, 2596, 1624, 1445, 2601, 1445, 1445, 1446, 1446,
     2276, 1446, 1446, 1446, 1446, 2603, 1446, 1446, 1446, 1446,
     2603, 2607,  232, 2593, 2602, 1446, 1446, 1446, 2607, 1446,
     2620, 1625, 1625, 2599, 1625, 1446, 1625, 2605, 2602, 2608,
     2609, 2277, 2277, 2620, 2277, 2609, 2277, 2599, 2613, 2615,
     1625, 2605, 1625, 2608, 2615, 2613, 1446, 1446, 1476, 1476,
     2277, 1476, 1476, 1476, 1476, 2633, 1476, 1476, 1476, 1476,
     2599, 2624, 2624, 2633, 2605, 1476, 1476, 1476, 2611, 1476,

     1626, 1626, 2614, 1626, 2617, 1626, 2281, 2281, 2623, 2281,
     2621, 2281, 2611, 2625, 2621, 2640, 2614, 2640, 2617, 1626,
     2625, 1626, 2623, 2626, 2635, 2281, 1476, 1476, 1477, 1477,
     2635, 1477, 1477, 1477, 1477, 2611, 1477, 1477, 1477, 1477,
     2626, 2617, 2630, 2628, 2623, 1477, 1477, 1477, 2629, 1477,
     1628, 1628,  229, 1628, 2631, 1628, 2306, 2306, 2630, 2306,
     2628, 2306, 2629, 2681, 2629, 2632, 2632, 2681, 2631, 1628,
     2641, 1628, 2634, 2634, 1477, 2306, 1477, 1477, 1478, 1478,
     2641, 1478, 1478, 1478, 1478, 2306, 1478, 1478, 1478, 1478,
      228, 2631, 2644, 2636, 2637, 1478, 1478, 1478, 1628, 1478,

     2637, 1629, 1629, 2643, 1629, 1478, 1629, 2636, 2645, 2644,
     2643, 2311, 2311, 2676, 2311, 2678, 2311, 2645, 2646, 2676,
     1629,  227, 1629, 2678, 2636, 2649, 1478, 1478, 1510, 1510,
     2311, 1510, 1510, 1510, 1510, 2646, 1510, 1510, 1510, 1510,
     2642, 2690, 2649, 2650, 2690, 1510, 1510, 1510, 2647, 1510,
     1630, 1630, 2650, 1630, 2642, 1630, 2312, 2312, 2648, 2312,
     2654, 2312, 2647, 2651, 2694, 2648, 2725, 2654, 2725, 1630,
     2642, 1630, 2694, 2655, 2657, 2312, 1510, 1510, 1511, 1511,
     2651, 1511, 1511, 1511, 1511, 2647, 1511, 1511, 1511, 1511,
     2655, 2657, 2663, 2656, 2663, 1511, 1511, 1511, 2653, 1511,

     1631, 1631, 2656, 1631, 2658, 1631, 2316, 2316, 2659, 2316,
     2663, 2316, 2653, 2660, 2661, 2659, 2682, 2682, 2658, 1631,
     2726, 1631, 2726, 2661, 1511, 2316, 1511, 1511, 1512, 1512,
     2660, 1512, 1512, 1512, 1512, 2653, 1512, 1512, 1512, 1512,
     2662, 2658, 2666, 2665,  216, 1512, 1512, 1512, 2668, 1512,
     2665, 2667, 2672, 1664, 1664, 1512, 1664, 2662, 1664, 2666,
     2667, 2376, 2376, 2671, 2376, 2668, 2376, 2683, 2683, 2672,
     2671, 2664, 1664, 2674, 1664, 2729, 1512, 1512, 1526, 1526,
     2376, 1526, 1526, 1526, 1526, 2664, 1526, 1526, 1526, 1526,
     2674, 2673, 2729, 2677, 2679, 1526, 1526, 1526, 2742, 1526,

     2673, 1664, 1665, 1665, 2670, 1665, 2675, 1665, 2664, 2677,
     2679, 2381, 2381, 2697, 2381, 2742, 2381, 2697, 2670, 2685,
     2675, 1665, 2693, 1665, 1526, 2693, 1526, 1526, 1527, 1527,
     2381, 1527, 1527, 1527, 1527, 2685, 1527, 1527, 1527, 1527,
      215, 2670, 2695, 2675, 2687, 1527, 1527, 1527, 2689, 1527,
     2695, 1666, 1666, 2686, 1666, 1527, 1666, 2684, 2684, 2689,
     2687, 2404, 2404, 2696, 2404, 2724, 2404, 2686, 2724, 2686,
     1666, 2696, 1666, 2688, 2688,  214, 1527, 1527, 1538, 1538,
     2404, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538,
     1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538,

     1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538,
     1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538,
     1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1541, 1541,
     2680, 1541, 1541, 1541, 1541,  213, 1541, 1541, 1541, 1541,
     2740, 2691, 2698, 2698, 2680, 1541, 1541, 1541, 2740, 1541,
     1667, 1667, 2691, 1667, 2692, 1667, 2409, 2409, 2727, 2409,
     2727, 2409, 2699, 2699, 2700, 2700, 2680,  211, 2692, 1667,
     2738, 1667, 2702, 2702, 1541, 2409, 1541, 1541, 1542, 1542,
     2738, 1542, 1542, 1542, 1542, 2692, 1542, 1542, 1542, 1542,
     2701, 2703, 2703,  210, 2701, 1542, 1542, 1542, 2706, 1542,

     2704, 2704, 2706, 1670, 1670, 1542, 1670, 2732, 1670, 2707,
     2707, 2462, 2462, 2733, 2462, 2733, 2462, 2708, 2708, 2709,
     2709, 2710, 1670, 2732, 1670, 2710, 1542, 1542, 1557, 1557,
     2462, 1557, 1557, 1557, 1557,  209, 1557, 1557, 1557, 1557,
     2711, 2711, 2712, 2712, 2715, 1557, 1557, 1557, 2715, 1557,
      208, 1670, 1671, 1671, 2714, 1671, 2714, 1671, 2713, 2713,
     2765, 2464, 2464,  207, 2464, 2765, 2464, 2716, 2716, 2717,
     2717, 1671, 2714, 1671, 2718, 2718, 1557, 1557, 1558, 1558,
     2464, 1558, 1558, 1558, 1558,  200, 1558, 1558, 1558, 1558,
     2720, 2721, 2721,  199, 2720, 1558, 1558, 1558, 2728, 1558,

     1672, 1672, 2728, 1672, 2730, 1672, 2484, 2484,  197, 2484,
     2739, 2484, 2722, 2722, 2723, 2723, 2731, 2731, 2730, 1672,
     2768, 1672, 2768, 2734, 2739, 2484, 1558, 1558, 1569, 1569,
     2734, 1569, 1569, 1569, 1569, 2735, 1569, 1569, 1569, 1569,
     2739, 2730, 2735, 2737, 2741, 1569, 1569, 1569, 2741, 1569,
     1673, 1673,  196, 1673, 2737, 1673, 2486, 2486, 2736, 2486,
     2745, 2486, 2744, 2744, 2745, 2736, 2748, 2748, 2746, 1673,
     2749, 1673,  195, 2750, 2749, 2486, 1569, 1569, 1570, 1570,
     2743, 1570, 1570, 1570, 1570, 2746, 1570, 1570, 1570, 1570,
     2750, 2752, 2752, 2754, 2743, 1570, 1570, 1570, 2753, 1570,

     1694, 1694, 2753, 1694, 2747, 1694, 2652, 2652, 2766, 2652,
     2754, 2652, 1570, 2756, 2756, 2777, 2757, 2743, 2747, 1694,
     2757, 1694, 2777, 2758, 2766, 2652, 1570, 1570, 1571, 1571,
     2767, 1571, 1571, 1571, 1571, 2762, 1571, 1571, 1571, 1571,
     2758, 2747, 2760, 2760, 2767, 1571, 1571, 1571, 1694, 1571,
     1695, 1695, 2762, 1695, 2761, 1695, 2669, 2669, 2761, 2669,
     2774, 2669, 2764, 2764, 2772,  192, 2767, 1571, 2780, 1695,
     2774, 1695, 2773, 2773, 2780, 2669, 1571, 1571, 1587, 1587,
     2772, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587,
     1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587,

     1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587,
     1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587,
     1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1599, 1599,
      191, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
     1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
     1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
     1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599,
     1599, 1599, 1599, 1599, 1599, 1599, 1599, 1599, 1611, 1611,
     2751, 1611, 1611, 1611, 1611, 2813, 1611, 1611, 1611, 1611,
     2813, 2775, 2783, 2783, 2751, 1611, 1611, 1611,  190, 1611,

     1696, 1696, 2775, 1696, 2755, 1696, 2705, 2705, 2771, 2705,
      189, 2705, 1611, 2787, 2787, 2790, 2790, 2751, 2755, 1696,
      183, 1696, 2771,  182, 2771, 2705, 1611, 1611, 1612, 1612,
     2778, 1612, 1612, 1612, 1612,  178, 1612, 1612, 1612, 1612,
     2793, 2755, 2793,  177, 2778, 1612, 1612, 1612, 2759, 1612,
     1697, 1697,  176, 1697, 2763, 1697, 2719, 2719, 2793, 2719,
     2778, 2719, 2759, 2794, 2794, 2798, 2798, 1612, 2763, 1697,
      173, 1697, 2801, 2801,  172, 2719, 1612, 1612, 1627, 1627,
     2769, 1627, 1627, 1627, 1627, 2759, 1627, 1627, 1627, 1627,
     2779, 2763, 2776, 2770, 2769, 1627, 1627, 1627, 2781, 1627,

     1699, 1699, 2805, 1699, 2779, 1699, 2776, 2770, 2802, 2806,
     2827, 2827, 2781,  171,  155,   69, 2805, 2769, 2805, 1699,
     2779, 1699, 2802, 2776, 2808, 2806, 1627, 1627, 1638, 1638,
     2770, 1638, 1638, 1638, 1638, 2781, 1638, 1638, 1638, 1638,
     2808,   68,   67, 2782, 2802, 1638, 1638, 1638, 1699, 1638,
     1700, 1700, 2814, 1700, 2784, 1700, 2785, 2782, 2803, 2814,
     2831, 2788,   64,   63,   62,   59, 2831,   58, 2784, 1700,
     2785, 1700, 2803,   57, 2809, 2788, 1638, 1638, 1639, 1639,
     2782, 1639, 1639, 1639, 1639,   38, 1639, 1639, 1639, 1639,
     2809, 2784,   34, 2785, 2803, 1639, 1639, 1639, 2788, 1639,

     1701, 1701,   31, 1701, 2789, 1701, 2786, 2786, 2807, 2786,
       25, 2786, 1639,    0, 2828,    0,    0,    0, 2789, 1701,
        0, 1701, 2807,    0, 2807, 2786, 1639, 1639, 1640, 1640,
     2828, 1640, 1640, 1640, 1640,    0, 1640, 1640, 1640, 1640,
     2820, 2789, 2820, 2791, 2829, 1640, 1640, 1640, 2792, 1640,
     1702, 1702,    0, 1702, 2795, 1702, 2796, 2791, 2820, 2811,
     2829, 2799, 2792,    0,    0,    0,    0, 1640, 2795, 1702,
     2796, 1702,    0, 2811,    0, 2799, 1640, 1640, 1652, 1652,
     2791, 1652, 1652, 1652, 1652, 2792, 1652, 1652, 1652, 1652,
     2811, 2795, 2821, 2796, 2821, 1652, 1652, 1652, 2799, 1652,

     1919, 1919,    0, 1919, 2800, 1919, 2797, 2797, 2840, 2797,
     2821, 2797, 1652,    0,    0,    0,    0,    0, 2800, 1919,
        0, 1919, 2840,    0, 2840, 2797, 1652, 1652, 1653, 1653,
     2812, 1653, 1653, 1653, 1653,    0, 1653, 1653, 1653, 1653,
     2832, 2800, 2842, 2830, 2812, 1653, 1653, 1653, 2833, 1653,
     1981, 1981, 2841, 1981, 2832, 1981, 2842, 2830, 2839, 2846,
        0, 2812, 2833,    0,    0,    0,    0, 1653, 2841, 1981,
     2832, 1981, 2839, 2842,    0, 2846, 1653, 1653, 1668, 1668,
     2830, 1668, 1668, 1668, 1668, 2833, 1668, 1668, 1668, 1668,
     2844,    0, 2844,    0, 2839, 1668, 1668, 1668, 2834, 1668,

     2015, 2015,    0, 2015, 2835, 2015, 2816, 2816, 2844, 2816,
        0, 2816, 2834,    0,    0,    0,    0,    0, 2835, 2015,
        0, 2015,    0,    0,    0, 2816, 1668, 1668, 1669, 1669,
     2836, 1669, 1669, 1669, 1669, 2834, 1669, 1669, 1669, 1669,
        0, 2835,    0,    0, 2836, 1669, 1669, 1669, 2837, 1669,
     2035, 2035,    0, 2035, 2838, 2035, 2817, 2817,    0, 2817,
        0, 2817, 2837,    0,    0,    0,    0, 2836, 2838, 2035,
        0, 2035,    0,    0,    0, 2817, 1669, 1669, 1680, 1680,
        0, 1680, 1680, 1680, 1680, 2837, 1680, 1680, 1680, 1680,
        0, 2838,    0,    0,    0, 1680, 1680, 1680,    0, 1680,

     2080, 2080,    0, 2080,    0, 2080, 2823, 2823,    0, 2823,
        0, 2823,    0,    0,    0,    0,    0,    0,    0, 2080,
        0, 2080,    0,    0,    0, 2823, 1680, 1680, 1681, 1681,
        0, 1681, 1681, 1681, 1681,    0, 1681, 1681, 1681, 1681,
        0,    0,    0,    0,    0, 1681, 1681, 1681,    0, 1681,
     2081, 2081,    0, 2081,    0, 2081, 2824, 2824,    0, 2824,
        0, 2824, 1681,    0,    0,    0,    0,    0,    0, 2081,
        0, 2081,    0,    0,    0, 2824, 1681, 1681, 1682, 1682,
        0, 1682, 1682, 1682, 1682,    0, 1682, 1682, 1682, 1682,
        0,    0,    0,    0,    0, 1682, 1682, 1682,    0, 1682,

     2137, 2137,    0, 2137,    0, 2137, 2843, 2843,    0, 2843,
        0, 2843,    0,    0,    0,    0,    0, 1682,    0, 2137,
        0, 2137,    0,    0,    0, 2843, 1682, 1682, 1698, 1698,
        0, 1698, 1698, 1698, 1698,    0, 1698, 1698, 1698, 1698,
        0,    0,    0,    0,    0, 1698, 1698, 1698,    0, 1698,
     2138, 2138,    0, 2138,    0, 2138, 2845, 2845,    0, 2845,
        0, 2845,    0,    0,    0,    0,    0,    0,    0, 2138,
        0, 2138,    0,    0,    0, 2845, 1698, 1698, 1709, 1709,
        0, 1709, 1709, 1709, 1709,    0, 1709, 1709, 1709, 1709,
        0,    0,    0,    0,    0, 1709, 1709, 1709,    0, 1709,

     2166, 2166,    0, 2166,    0, 2166,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0, 2166,
        0, 2166,    0,    0,    0,    0, 1709, 1709, 1710, 1710,
        0, 1710, 1710, 1710, 1710,    0, 1710, 1710, 1710, 1710,
        0,    0,    0,    0,    0, 1710, 1710, 1710,    0, 1710,
     2167, 2167,    0, 2167,    0, 2167,    0,    0,    0,    0,
        0,    0, 1710,    0,    0,    0,    0,    0,    0, 2167,
        0, 2167,    0,    0,    0,    0, 1710, 1710, 1711, 1711,
        0, 1711, 1711, 1711, 1711,    0, 1711, 1711, 1711, 1711,
        0,    0,    0,    0,    0, 1711, 1711, 1711,    0, 1711,

     2183, 2183,    0, 2183,    0, 2183,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0, 1711,    0, 2183,
        0, 2183,    0,    0,    0,    0, 1711, 1711, 1723, 1723,
        0, 1723, 1723, 1723, 1723,    0, 1723, 1723, 1723, 1723,
        0,    0,    0,    0,    0, 1723, 1723, 1723,    0, 1723,
     2184, 2184,    0, 2184,    0, 2184,    0,    0,    0,    0,
        0,    0, 1723,    0,    0,    0,    0,    0,    0, 2184,
        0, 2184,    0,    0,    0,    0, 1723, 1723, 1724, 1724,
        0, 1724, 1724, 1724, 1724,    0, 1724, 1724, 1724, 1724,
        0,    0,    0,    0,    0, 1724, 1724, 1724,    0, 1724,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0, 1724,    0,    0,
        0,    0,    0,    0,    0,    0, 1724, 1724, 1735, 1735,
        0, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
     1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
     1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
     1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
     1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1736, 1736,
        0, 1736, 1736, 1736, 1736,    0, 1736, 1736, 1736, 1736,
        0,    0,    0,    0,    0, 1736, 1736, 1736,    0, 1736,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0, 1736,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1736, 1736, 1737, 1737,
        0, 1737, 1737, 1737, 1737,    0, 1737, 1737, 1737, 1737,
        0,    0,    0,    0,    0, 1737, 1737, 1737,    0, 1737,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0, 1737,    0,    0,
        0,    0,    0,    0,    0,    0, 1737, 1737, 1748, 1748,
        0, 1748, 1748, 1748, 1748,    0, 1748, 1748, 1748, 1748,
        0,    0,    0,    0,    0, 1748, 1748, 1748,    0, 1748,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1748, 1748, 1749, 1749,
        0, 1749, 1749, 1749, 1749,    0, 1749, 1749, 1749, 1749,
        0,    0,    0,    0,    0, 1749, 1749, 1749,    0, 1749,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1749, 1749, 1750, 1750,
        0, 1750, 1750, 1750, 1750,    0, 1750, 1750, 1750, 1750,
        0,    0,    0,    0,    0, 1750, 1750, 1750,    0, 1750,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1750, 1750, 1751, 1751,
        0, 1751, 1751, 1751, 1751,    0, 1751, 1751, 1751, 1751,
        0,    0,    0,    0,    0, 1751, 1751, 1751,    0, 1751,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1751, 1751, 1756, 1756,
        0, 1756, 1756, 1756, 1756,    0, 1756, 1756, 1756, 1756,
        0,    0,    0,    0,    0, 1756, 1756, 1756,    0, 1756,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0, 1756,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1756, 1756, 1757, 1757,
        0, 1757, 1757, 1757, 1757,    0, 1757, 1757, 1757, 1757,
        0,    0,    0,    0,    0, 1757, 1757, 1757,    0, 1757,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0, 1757,    0,
        0,    0,    0,    0,    0,    0, 1757, 1757, 1771, 1771,
        0, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771,
     1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771,

     1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771,
     1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771,
     1771, 1771, 1771, 1771, 1771, 1771, 1771, 1771, 1783, 1783,
        0, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
     1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
     1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
     1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783,
     1783, 1783, 1783, 1783, 1783, 1783, 1783, 1783, 1797, 1797,
        0, 1797, 1797, 1797, 1797,    0, 1797, 1797, 1797, 1797,
        0,    0,    0,    0,    0, 1797, 1797, 1797,    0, 1797,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0, 1797,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1797, 1797, 1798, 1798,
        0, 1798, 1798, 1798, 1798,    0, 1798, 1798, 1798, 1798,
        0,    0,    0,    0,    0, 1798, 1798, 1798,    0, 1798,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0, 1798,    0,
        0,    0,    0,    0,    0,    0, 1798, 1798, 1811, 1811,
        0, 1811, 1811, 1811, 1811,    0, 1811, 1811, 1811, 1811,
        0,    0,    0,    0,    0, 1811, 1811, 1811,    0, 1811,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1811, 1811, 1812, 1812,
        0, 1812, 1812, 1812, 1812,    0, 1812, 1812, 1812, 1812,
        0,    0,    0,    0,    0, 1812, 1812, 1812,    0, 1812,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1812, 1812, 1813, 1813,
        0, 1813, 1813, 1813, 1813,    0, 1813, 1813, 1813, 1813,
        0,    0,    0,    0,    0, 1813, 1813, 1813,    0, 1813,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1813, 1813, 1818, 1818,
        0, 1818, 1818, 1818, 1818,    0, 1818, 1818, 1818, 1818,
        0,    0,    0,    0,    0, 1818, 1818, 1818,    0, 1818,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0, 1818,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1818, 1818, 1819, 1819,
        0, 1819, 1819, 1819, 1819,    0, 1819, 1819, 1819, 1819,
        0,    0,    0,    0,    0, 1819, 1819, 1819,    0, 1819,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0, 1819,    0,
        0,    0,    0,    0,    0,    0, 1819, 1819, 1832, 1832,
        0, 1832, 1832, 1832, 1832,    0, 1832, 1832, 1832, 1832,
        0,    0,    0,    0,    0, 1832, 1832, 1832,    0, 1832,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0, 1832,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1832, 1832, 1833, 1833,
        0, 1833, 1833, 1833, 1833,    0, 1833, 1833, 1833, 1833,
        0,    0,    0,    0,    0, 1833, 1833, 1833,    0, 1833,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0, 1833,    0,
        0,    0,    0,    0,    0,    0, 1833, 1833, 1846, 1846,
        0, 1846, 1846, 1846, 1846,    0, 1846, 1846, 1846, 1846,
        0,    0,    0,    0,    0, 1846, 1846, 1846,    0, 1846,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1846, 1846, 1847, 1847,
        0, 1847, 1847, 1847, 1847,    0, 1847, 1847, 1847, 1847,
        0,    0,    0,    0,    0, 1847, 1847, 1847,    0, 1847,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1847, 1847, 1848, 1848,
        0, 1848, 1848, 1848, 1848,    0, 1848, 1848, 1848, 1848,
        0,    0,    0,    0,    0, 1848, 1848, 1848,    0, 1848,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1848, 1848, 1849, 1849,
        0, 1849, 1849, 1849, 1849,    0, 1849, 1849, 1849, 1849,
        0,    0,    0,    0,    0, 1849, 1849, 1849,    0, 1849,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1849, 1849, 1854, 1854,
        0, 1854, 1854, 1854, 1854,    0, 1854, 1854, 1854, 1854,
        0,    0,    0,    0,    0, 1854, 1854, 1854,    0, 1854,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0, 1854,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1854, 1854, 1855, 1855,
        0, 1855, 1855, 1855, 1855,    0, 1855, 1855, 1855, 1855,
        0,    0,    0,    0,    0, 1855, 1855, 1855,    0, 1855,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0, 1855,    0,
        0,    0,    0,    0,    0,    0, 1855, 1855, 1868, 1868,
        0, 1868, 1868, 1868, 1868,    0, 1868, 1868, 1868, 1868,
        0,    0,    0,    0,    0, 1868, 1868, 1868,    0, 1868,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1868, 1868, 1869, 1869,
        0, 1869, 1869, 1869, 1869,    0, 1869, 1869, 1869, 1869,
        0,    0,    0,    0,    0, 1869, 1869, 1869,    0, 1869,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1869, 1869, 1870, 1870,
        0, 1870, 1870, 1870, 1870,    0, 1870, 1870, 1870, 1870,
        0,    0,    0,    0,    0, 1870, 1870, 1870,    0, 1870,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1870, 1870, 1875, 1875,
        0, 1875, 1875, 1875, 1875,    0, 1875, 1875, 1875, 1875,
        0,    0,    0,    0,    0, 1875, 1875, 1875,    0, 1875,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0, 1875,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1875, 1875, 1876, 1876,
        0, 1876, 1876, 1876, 1876,    0, 1876, 1876, 1876, 1876,
        0,    0,    0,    0,    0, 1876, 1876, 1876,    0, 1876,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0, 1876,    0,
        0,    0,    0,    0,    0,    0, 1876, 1876, 1889, 1889,
        0, 1889, 1889, 1889, 1889,    0, 1889, 1889, 1889, 1889,
        0,    0,    0,    0,    0, 1889, 1889, 1889,    0, 1889,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0, 1889,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1889, 1889, 1890, 1890,
        0, 1890, 1890, 1890, 1890,    0, 1890, 1890, 1890, 1890,
        0,    0,    0,    0,    0, 1890, 1890, 1890,    0, 1890,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0, 1890,    0,
        0,    0,    0,    0,    0,    0, 1890, 1890, 1917, 1917,
        0, 1917, 1917, 1917, 1917,    0, 1917, 1917, 1917, 1917,
        0,    0,    0,    0,    0, 1917, 1917, 1917,    0, 1917,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1917, 1917, 1920, 1920,
        0, 1920, 1920, 1920, 1920,    0, 1920, 1920, 1920, 1920,
        0,    0,    0,    0,    0, 1920, 1920, 1920,    0, 1920,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1920, 1920, 1980, 1980,
        0, 1980, 1980, 1980, 1980,    0, 1980, 1980, 1980, 1980,
        0,    0,    0,    0,    0, 1980, 1980, 1980,    0, 1980,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1980, 1980, 1982, 1982,
        0, 1982, 1982, 1982, 1982,    0, 1982, 1982, 1982, 1982,
        0,    0,    0,    0,    0, 1982, 1982, 1982,    0, 1982,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 1982, 1982, 2013, 2013,
        0, 2013, 2013, 2013, 2013,    0, 2013, 2013, 2013, 2013,
        0,    0,    0,    0,    0, 2013, 2013, 2013,    0, 2013,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 2013, 2013, 2016, 2016,
        0, 2016, 2016, 2016, 2016,    0, 2016, 2016, 2016, 2016,
        0,    0,    0,    0,    0, 2016, 2016, 2016,    0, 2016,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 2016, 2016, 2034, 2034,
        0, 2034, 2034, 2034, 2034,    0, 2034, 2034, 2034, 2034,
        0,    0,    0,    0,    0, 2034, 2034, 2034,    0, 2034,

        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 2034, 2034, 2036, 2036,
        0, 2036, 2036, 2036, 2036,    0, 2036, 2036, 2036, 2036,
        0,    0,    0,    0,    0, 2036, 2036, 2036,    0, 2036,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        0,    0,    0,    0,    0,    0, 2036, 2036, 2848, 2848,
     2848, 2848, 2848, 2848, 2848, 2849, 2849, 2849, 2849, 2849,
     2849, 2849, 2850, 2850, 2850, 2850, 2850, 2850, 2850, 2851,

     2851, 2851, 2851, 2851, 2851, 2851, 2852, 2852, 2852, 2852,
     2852, 2852, 2852, 2853, 2853, 2853, 2853, 2853, 2853, 2853,
     2854, 2854,    0, 2854, 2854, 2854, 2854, 2856, 2856,    0,
     2856, 2856, 2856, 2856, 2857, 2857,    0, 2857, 2857, 2857,
     2857, 2858, 2858,    0, 2858, 2858, 2858, 2858, 2859, 2859,
        0, 2859, 2859, 2859, 2859, 2860, 2860,    0, 2860,    0,
     2860, 2861,    0, 2861, 2863, 2863,    0, 2863, 2863, 2863,
     2863, 2864, 2864, 2864, 2864, 2865, 2865, 2865, 2865, 2866,
     2866,    0, 2866, 2866, 2866, 2866, 2867, 2867,    0, 2867,
     2867, 2867, 2867, 2868, 2868,    0, 2868, 2868, 2868, 2868,

     2870, 2870,    0, 2870, 2870, 2870, 2870, 2871,    0,    0,
     2871, 2871, 2871, 2871, 2872, 2872,    0, 2872, 2872, 2872,
     2872, 2873,    0,    0, 2873, 2873, 2873, 2873, 2874, 2874,
        0, 2874, 2874, 2874, 2874, 2875, 2875,    0, 2875, 2875,
     2875, 2875, 2876, 2876,    0, 2876, 2876, 2876, 2876, 2877,
     2877,    0, 2877, 2877, 2877, 2877, 2878, 2878, 2878, 2878,
     2879, 2879, 2879, 2879, 2880, 2880,    0, 2880, 2880, 2880,
     2880, 2881, 2881,    0, 2881, 2881, 2881, 2881, 2882, 2882,
        0, 2882, 2882, 2882, 2882, 2883, 2883, 2884, 2884, 2885,
     2885,    0, 2885, 2885, 2885, 2885, 2886, 2886,    0, 2886,

     2886, 2886, 2886, 2889, 2889,    0, 2889, 2889, 2889, 2889,
     2890, 2890,    0, 2890, 2890, 2890, 2890, 2891, 2891,    0,
     2891, 2891, 2891, 2891, 2892, 2892,    0, 2892, 2892, 2892,
     2892, 2893, 2893,    0, 2893, 2893, 2893, 2893, 2894, 2894,
        0, 2894, 2894, 2894, 2894, 2895, 2895,    0, 2895, 2895,
     2895, 2895, 2896, 2896,    0, 2896,    0, 2896, 2897,    0,
     2897, 2899, 2899,    0, 2899, 2899, 2899, 2899, 2900, 2900,
     2900, 2900, 2901, 2901, 2901, 2901, 2902, 2902,    0, 2902,
     2902, 2902, 2902, 2903, 2903,    0, 2903, 2903, 2903, 2903,
     2904, 2904,    0, 2904, 2904, 2904, 2904, 2905, 2905,    0,

     2905, 2905, 2905, 2905, 2906, 2906,    0, 2906, 2906, 2906,
     2906, 2907, 2907,    0, 2907, 2907, 2907, 2907, 2909, 2909,
        0, 2909, 2909, 2909, 2909, 2910,    0,    0, 2910, 2910,
     2910, 2910, 2911, 2911,    0, 2911, 2911, 2911, 2911, 2912,
        0,    0, 2912, 2912, 2912, 2912, 2913, 2913,    0, 2913,
     2913, 2913, 2913, 2914, 2914,    0, 2914, 2914, 2914, 2914,
     2915, 2915,    0, 2915, 2915, 2915, 2915, 2916, 2916,    0,
     2916, 2916, 2916, 2916, 2917, 2917,    0, 2917, 2917, 2917,
     2917, 2918, 2918,    0, 2918, 2918, 2918, 2918, 2919, 2919,
        0, 2919, 2919, 2919, 2919, 2920, 2920, 2920, 2920, 2921,

     2921, 2921, 2921, 2922, 2922,    0, 2922, 2922, 2922, 2922,
     2923, 2923,    0, 2923, 2923, 2923, 2923, 2924, 2924,    0,
     2924, 2924, 2924, 2924, 2925, 2925,    0, 2925, 2925, 2925,
     2925, 2926, 2926,    0, 2926, 2926, 2926, 2926, 2927, 2927,
        0, 2927, 2927, 2927, 2927, 2928, 2928, 2929, 2929, 2930,
     2930,    0, 2930, 2930, 2930, 2930, 2931, 2931,    0, 2931,
     2931, 2931, 2931, 2933, 2933,    0, 2933, 2933, 2933, 2933,
     2934, 2934,    0, 2934, 2934, 2934, 2934, 2935, 2935,    0,
     2935, 2935, 2935, 2935, 2936, 2936,    0, 2936, 2936, 2936,
     2936, 2937, 2937,    0, 2937, 2937, 2937, 2937, 2938, 2938,

        0, 2938, 2938, 2938, 2938, 2939, 2939,    0, 2939, 2939,
     2939, 2939, 2940, 2940,    0, 2940, 2940, 2940, 2940, 2941,
     2941,    0, 2941, 2941, 2941, 2941, 2942, 2942,    0, 2942,
     2942, 2942, 2942, 2943, 2943,    0, 2943, 2943, 2943, 2943,
     2944, 2944,    0, 2944, 2944, 2944, 2944, 2945, 2945,    0,
     2945, 2945, 2945, 2945, 2946, 2946,    0, 2946, 2946, 2946,
     2946, 2947, 2947,    0, 2947, 2947, 2947, 2947, 2948, 2948,
        0, 2948, 2948, 2948, 2948, 2949, 2949,    0, 2949, 2949,
     2949, 2949, 2950, 2950,    0, 2950, 2950, 2950, 2950, 2951,
     2951,    0, 2951, 2951, 2951, 2951, 2952, 2952,    0, 2952,

     2952, 2952, 2952, 2953, 2953,    0, 2953, 2953, 2953, 2953,
     2954, 2954,    0, 2954, 2954, 2954, 2954, 2955, 2955,    0,
     2955, 2955, 2955, 2955, 2956, 2956,    0, 2956, 2956, 2956,
     2956, 2957, 2957,    0, 2957, 2957, 2957, 2957, 2958, 2958,
        0, 2958, 2958, 2958, 2958, 2959, 2959,    0, 2959, 2959,
     2959, 2959, 2960, 2960,    0, 2960, 2960, 2960, 2960, 2961,
     2961,    0, 2961, 2961, 2961, 2961, 2962, 2962,    0, 2962,
     2962, 2962, 2962, 2963, 2963, 2963, 2963, 2964, 2964,    0,
     2964, 2964, 2964, 2964, 2965, 2965,    0, 2965, 2965, 2965,
     2965, 2966, 2966,    0, 2966, 2966, 2966, 2966, 2967, 2967,

        0, 2967, 2967, 2967, 2967, 2968, 2968,    0, 2968, 2968,
     2968, 2968, 2969, 2969,    0, 2969, 2969, 2969, 2969, 2970,
     2970,    0, 2970, 2970, 2970, 2970, 2971, 2971,    0, 2971,
     2971, 2971, 2971, 2972, 2972,    0, 2972, 2972, 2972, 2972,
     2973, 2973,    0, 2973, 2973, 2973, 2973, 2974, 2974,    0,
     2974, 2974, 2974, 2974, 2975, 2975,    0, 2975, 2975, 2975,
     2975, 2976, 2976,    0, 2976, 2976, 2976, 2976, 2977, 2977,
        0, 2977, 2977, 2977, 2977, 2978, 2978,    0, 2978, 2978,
     2978, 2978, 2979, 2979,    0, 2979, 2979, 2979, 2979, 2980,
     2980,    0, 2980, 2980, 2980, 2980, 2981, 2981,    0, 2981,

     2981, 2981, 2981, 2982, 2982,    0, 2982, 2982, 2982, 2982,
     2983, 2983,    0, 2983, 2983, 2983, 2983, 2984, 2984,    0,
     2984, 2984, 2984, 2984, 2985, 2985,    0, 2985, 2985, 2985,
     2985, 2986, 2986,    0, 2986, 2986, 2986, 2986, 2987, 2987,
        0, 2987, 2987, 2987, 2987, 2988, 2988,    0, 2988, 2988,
     2988, 2988, 2989, 2989,    0, 2989, 2989, 2989, 2989, 2990,
     2990,    0, 2990, 2990, 2990, 2990, 2991, 2991,    0, 2991,
     2991, 2991, 2991, 2992, 2992,    0, 2992, 2992, 2992, 2992,
     2993, 2993,    0, 2993, 2993, 2993, 2993, 2994, 2994,    0,
     2994, 2994, 2994, 2994, 2995, 2995,    0, 2995, 2995, 2995,

     2995, 2996, 2996,    0, 2996, 2996, 2996, 2996, 2997, 2997,
        0, 2997, 2997, 2997, 2997, 2998, 2998,    0, 2998, 2998,
     2998, 2998, 2999, 2999,    0, 2999, 2999, 2999, 2999, 3000,
     3000,    0, 3000, 3000, 3000, 3000, 3001, 3001,    0, 3001,
     3001, 3001, 3001, 3002, 3002,    0, 3002, 3002, 3002, 3002,
     3003, 3003, 3003, 3003, 3004, 3004,    0, 3004, 3004, 3004,
     3004, 3005, 3005,    0, 3005, 3005, 3005, 3005, 3006, 3006,
        0, 3006, 3006, 3006, 3006, 3007, 3007,    0, 3007, 3007,
     3007, 3007, 3008, 3008,    0, 3008, 3008, 3008, 3008, 3009,
     3009,    0, 3009, 3009, 3009, 3009, 3010, 3010,    0, 3010,

     3010, 3010, 3010, 3011, 3011,    0, 3011, 3011, 3011, 3011,
     3012, 3012,    0, 3012, 3012, 3012, 3012, 3013, 3013,    0,
     3013, 3013, 3013, 3013, 3014, 3014,    0, 3014, 3014, 3014,
     3014, 3015, 3015,    0, 3015, 3015, 3015, 3015, 3016, 3016,
        0, 3016, 3016, 3016, 3016, 3017, 3017,    0, 3017, 3017,
     3017, 3017, 3018, 3018,    0, 3018, 3018, 3018, 3018, 3019,
     3019,    0, 3019, 3019, 3019, 3019, 3020, 3020,    0, 3020,
     3020, 3020, 3020, 3021, 3021,    0, 3021, 3021, 3021, 3021,
     3022, 3022,    0, 3022, 3022, 3022, 3022, 3023, 3023,    0,
     3023, 3023, 3023, 3023, 3024, 3024,    0, 3024, 3024, 3024,

     3024, 3025, 3025,    0, 3025, 3025, 3025, 3025, 3026, 3026,
        0, 3026, 3026, 3026, 3026, 3027, 3027,    0, 3027, 3027,
     3027, 3027, 3028, 3028,    0, 3028, 3028, 3028, 3028, 3029,
     3029,    0, 3029, 3029, 3029, 3029, 3030, 3030,    0, 3030,
     3030, 3030, 3030, 3031, 3031,    0, 3031, 3031, 3031, 3031,
     3032, 3032,    0, 3032, 3032, 3032, 3032, 3033, 3033,    0,
     3033, 3033, 3033, 3033, 3034, 3034,    0, 3034, 3034, 3034,
     3034, 3035, 3035,    0, 3035, 3035, 3035, 3035, 3036, 3036,
        0, 3036, 3036, 3036, 3036, 3037, 3037,    0, 3037, 3037,
     3037, 3037, 3038, 3038,    0, 3038, 3038, 3038, 3038, 3039,

     3039,    0, 3039, 3039, 3039, 3039, 3040, 3040,    0, 3040,
     3040, 3040, 3040, 3041, 3041,    0, 3041, 3041, 3041, 3041,
     3042, 3042,    0, 3042, 3042, 3042, 3042, 3043, 3043,    0,
     3043, 3043, 3043, 3043, 3044, 3044,    0, 3044, 3044, 3044,
     3044, 3045, 3045,    0, 3045, 3045, 3045, 3045, 3046, 3046,
        0, 3046, 3046, 3046, 3046, 3047, 3047,    0, 3047, 3047,
     3047, 3047, 3048, 3048,    0, 3048, 3048, 3048, 3048, 3049,
     3049,    0, 3049, 3049, 3049, 3049, 3050, 3050,    0, 3050,
     3050, 3050, 3050, 3051, 3051,    0, 3051, 3051, 3051, 3051,
     3052, 3052,    0, 3052, 3052, 3052, 3052, 3053, 3053,    0,

     3053, 3053, 3053, 3053, 3054, 3054,    0, 3054, 3054, 3054,
     3054, 3055, 3055,    0, 3055, 3055, 3055, 3055, 3056, 3056,
        0, 3056, 3056, 3056, 3056, 3057, 3057,    0, 3057, 3057,
     3057, 3057, 3058, 3058,    0, 3058, 3058, 3058, 3058, 3059,
     3059,    0, 3059, 3059, 3059, 3059, 3060, 3060,    0, 3060,
     3060, 3060, 3060, 3061, 3061,    0, 3061, 3061, 3061, 3061,
     3062, 3062,    0, 3062, 3062, 3062, 3062, 3063, 3063,    0,
     3063, 3063, 3063, 3063, 3064, 3064,    0, 3064, 3064, 3064,
     3064, 3065, 3065,    0, 3065, 3065, 3065, 3065, 3066, 3066,
        0, 3066, 3066, 3066, 3066, 3067, 3067,    0, 3067, 3067,

     3067, 3067, 3068, 3068,    0, 3068, 3068, 3068, 3068, 3069,
     3069,    0, 3069, 3069, 3069, 3069, 3070, 3070,    0, 3070,
     3070, 3070, 3070, 3071, 3071,    0, 3071, 3071, 3071, 3071,
     3072, 3072,    0, 3072, 3072, 3072, 3072, 3073, 3073,    0,
     3073, 3073, 3073, 3073, 3074, 3074,    0, 3074, 3074, 3074,
     3074, 3075, 3075,    0, 3075, 3075, 3075, 3075, 3076, 3076,
        0, 3076, 3076, 3076, 3076, 3077, 3077,    0, 3077, 3077,
     3077, 3077, 3078, 3078,    0, 3078, 3078, 3078, 3078, 3079,
     3079,    0, 3079, 3079, 3079, 3079, 3080, 3080,    0, 3080,
     3080, 3080, 3080, 3081, 3081,    0, 3081, 3081, 3081, 3081,

     3082, 3082,    0, 3082, 3082, 3082, 3082, 3083, 3083,    0,
     3083, 3083, 3083, 3083, 3084, 3084,    0, 3084, 3084, 3084,
     3084, 3085, 3085,    0, 3085, 3085, 3085, 3085, 3086, 3086,
        0, 3086, 3086, 3086, 3086, 3087, 3087,    0, 3087, 3087,
     3087, 3087, 3088, 3088,    0, 3088, 3088, 3088, 3088, 3089,
     3089,    0, 3089, 3089, 3089, 3089, 3090, 3090,    0, 3090,
     3090, 3090, 3090, 3091, 3091,    0, 3091, 3091, 3091, 3091,
     3092, 3092,    0, 3092, 3092, 3092, 3092, 3093, 3093,    0,
     3093, 3093, 3093, 3093, 3094, 3094,    0, 3094, 3094, 3094,
     3094, 3095, 3095,    0, 3095, 3095, 3095, 3095, 3096, 3096,

        0, 3096, 3096, 3096, 3096, 3097, 3097,    0, 3097, 3097,
     3097, 3097, 3098, 3098,    0, 3098, 3098, 3098, 3098, 3099,
     3099,    0, 3099, 3099, 3099, 3099, 3100, 3100,    0, 3100,
     3100, 3100, 3100, 3101, 3101,    0, 3101, 3101, 3101, 3101,
     3102, 3102,    0, 3102, 3102, 3102, 3102, 3103, 3103,    0,
     3103, 3103, 3103, 3103, 3104, 3104,    0, 3104, 3104, 3104,
     3104, 3105, 3105,    0, 3105, 3105, 3105, 3105, 3106, 3106,
        0, 3106, 3106, 3106, 3106, 3107, 3107,    0, 3107, 3107,
     3107, 3107, 3108, 3108,    0, 3108, 3108, 3108, 3108, 3109,
     3109,    0, 3109, 3109, 3109, 3109, 3110, 3110,    0, 3110,

     3110, 3110, 3110, 3111, 3111,    0, 3111, 3111, 3111, 3111,
     3112, 3112,    0, 3112, 3112, 3112, 3112, 3113, 3113,    0,
     3113, 3113, 3113, 3113, 3114, 3114,    0, 3114, 3114, 3114,
     3114, 3115, 3115,    0, 3115, 3115, 3115, 3115, 3116, 3116,
        0, 3116, 3116, 3116, 3116, 3117, 3117,    0, 3117, 3117,
     3117, 3117, 3118, 3118,    0, 3118, 3118, 3118, 3118, 3119,
     3119,    0, 3119, 3119, 3119, 3119, 3120, 3120,    0, 3120,
     3120, 3120, 3120, 3121, 3121,    0, 3121, 3121, 3121, 3121,
     3122, 3122,    0, 3122, 3122, 3122, 3122, 3123, 3123,    0,
     3123, 3123, 3123, 3123, 3124, 3124,    0, 3124, 3124, 3124,

     3124, 3125, 3125,    0, 3125, 3125, 3125, 3125, 3126, 3126,
        0, 3126, 3126, 3126, 3126, 3127, 3127,    0, 3127, 3127,
     3127, 3127, 3128, 3128,    0, 3128, 3128, 3128, 3128, 3129,
     3129,    0, 3129, 3129, 3129, 3129, 3130, 3130,    0, 3130,
     3130, 3130, 3130, 3131, 3131,    0, 3131, 3131, 3131, 3131,
     3132, 3132,    0, 3132, 3132, 3132, 3132, 3133, 3133,    0,
     3133, 3133, 3133, 3133, 3134, 3134,    0, 3134, 3134, 3134,
     3134, 3135, 3135,    0, 3135, 3135, 3135, 3135, 3136, 3136,
        0, 3136, 3136, 3136, 3136, 3137, 3137,    0, 3137, 3137,
     3137, 3137, 3138, 3138,    0, 3138, 3138, 3138, 3138, 3139,

     3139,    0, 3139, 3139, 3139, 3139, 3140, 3140,    0, 3140,
     3140, 3140, 3140, 3141, 3141,    0, 3141, 3141, 3141, 3141,
     3142, 3142,    0, 3142, 3142, 3142, 3142, 3143, 3143,    0,
     3143, 3143, 3143, 3143, 3144, 3144,    0, 3144, 3144, 3144,
     3144, 3145, 3145,    0, 3145, 3145, 3145, 3145, 3146, 3146,
        0, 3146, 3146, 3146, 3146, 3147, 3147,    0, 3147, 3147,
     3147, 3147, 3148, 3148,    0, 3148, 3148, 3148, 3148, 3149,
     3149,    0, 3149, 3149, 3149, 3149, 3150, 3150,    0, 3150,
     3150, 3150, 3150, 3151, 3151,    0, 3151, 3151, 3151, 3151,
     3152, 3152,    0, 3152, 3152, 3152, 3152, 3153, 3153,    0,

     3153, 3153, 3153, 3153, 3154, 3154,    0, 3154, 3154, 3154,
     3154, 3155, 3155,    0, 3155, 3155, 3155, 3155, 3156, 3156,
        0, 3156, 3156, 3156, 3156, 3157, 3157,    0, 3157, 3157,
     3157, 3157, 3158, 3158,    0, 3158, 3158, 3158, 3158, 3159,
     3159,    0, 3159, 3159, 3159, 3159, 3160, 3160,    0, 3160,
     3160, 3160, 3160, 3161, 3161,    0, 3161, 3161, 3161, 3161,
     3162, 3162,    0, 3162, 3162, 3162, 3162, 3163, 3163,    0,
     3163, 3163, 3163, 3163, 3164, 3164,    0, 3164, 3164, 3164,
     3164, 3165, 3165,    0, 3165, 3165, 3165, 3165, 3166, 3166,
        0, 3166, 3166, 3166, 3166, 3167, 3167,    0, 3167, 3167,

     3167, 3167, 3168, 3168,    0, 3168, 3168, 3168, 3168, 3169,
     3169,    0, 3169, 3169, 3169, 3169, 3170, 3170,    0, 3170,
     3170, 3170, 3170, 3171, 3171,    0, 3171, 3171, 3171, 3171,
     3172, 3172,    0, 3172, 3172, 3172, 3172, 3173, 3173,    0,
     3173, 3173, 3173, 3173, 3174, 3174,    0, 3174, 3174, 3174,
     3174, 3175, 3175,    0, 3175, 3175, 3175, 3175, 3176, 3176,
        0, 3176, 3176, 3176, 3176, 3177, 3177,    0, 3177, 3177,
     3177, 3177, 3178, 3178,    0, 3178, 3178, 3178, 3178, 3179,
     3179,    0, 3179, 3179, 3179, 3179, 3180, 3180,    0, 3180,
     3180, 3180, 3180, 3181, 3181,    0, 3181, 3181, 3181, 3181,

     3182, 3182,    0, 3182, 3182, 3182, 3182, 3183, 3183,    0,
     3183, 3183, 3183, 3183, 3184, 3184,    0, 3184, 3184, 3184,
     3184, 3185, 3185,    0, 3185, 3185, 3185, 3185, 3186, 3186,
        0, 3186, 3186, 3186, 3186, 3187, 3187,    0, 3187, 3187,
     3187, 3187, 3188, 3188,    0, 3188, 3188, 3188, 3188, 3189,
     3189,    0, 3189, 3189, 3189, 3189, 3190, 3190,    0, 3190,
     3190, 3190, 3190, 3191, 3191,    0, 3191, 3191, 3191, 3191,
     3192, 3192,    0, 3192, 3192, 3192, 3192, 3193, 3193,    0,
     3193, 3193, 3193, 3193, 3194, 3194,    0, 3194, 3194, 3194,
     3194, 3195, 3195,    0, 3195, 3195, 3195, 3195, 3196, 3196,

        0, 3196, 3196, 3196, 3196, 3197, 3197,    0, 3197, 3197,
     3197, 3197, 3198, 3198,    0, 3198, 3198, 3198, 3198, 3199,
     3199,    0, 3199, 3199, 3199, 3199, 3200, 3200,    0, 3200,
     3200, 3200, 3200, 3201, 3201,    0, 3201, 3201, 3201, 3201,
     3202, 3202,    0, 3202, 3202, 3202, 3202, 3203, 3203,    0,
     3203, 3203, 3203, 3203, 3204, 3204,    0, 3204, 3204, 3204,
     3204, 3205, 3205,    0, 3205, 3205, 3205, 3205, 3206, 3206,
        0, 3206, 3206, 3206, 3206, 3207, 3207,    0, 3207, 3207,
     3207, 3207, 3208, 3208,    0, 3208, 3208, 3208, 3208, 3209,
     3209,    0, 3209, 3209, 3209, 3209, 3210, 3210,    0, 3210,

     3210, 3210, 3210, 3211, 3211,    0, 3211, 3211, 3211, 3211,
     3212, 3212,    0, 3212, 3212, 3212, 3212, 3213, 3213,    0,
     3213, 3213, 3213, 3213, 3214, 3214,    0, 3214, 3214, 3214,
     3214, 3215, 3215,    0, 3215, 3215, 3215, 3215, 3216, 3216,
        0, 3216, 3216, 3216, 3216, 3217, 3217,    0, 3217, 3217,
     3217, 3217, 3218, 3218,    0, 3218, 3218, 3218, 3218, 3219,
     3219,    0, 3219, 3219, 3219, 3219, 3220, 3220,    0, 3220,
     3220, 3220, 3220, 3221, 3221,    0, 3221, 3221, 3221, 3221,
     3222, 3222,    0, 3222, 3222, 3222, 3222, 3223, 3223,    0,
     3223, 3223, 3223, 3223, 3224, 3224,    0, 3224, 3224, 3224,

     3224, 3225, 3225,    0, 3225, 3225, 3225, 3225, 3226, 3226,
        0, 3226, 3226, 3226, 3226, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
     2847, 2847, 2847, 2847, 2847, 2847
    } ;

static yy_state_type yy_last_accepting_state;
static char *yy_last_accepting_cpos;

extern int conf_flex_debug;
int conf_flex_debug = 0;

/* 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 *conftext;
#line 1 "src/conf_lex.l"
#line 14 "src/conf_lex.l"

#define YYDEBUG 1

/*
 * Copyright (C) 1999-2002,2004-2006,2010-2013,2015,2016 Rami Lehti, Pablo
 * Virolainen, Richard van den Berg, Hannes von Haugwitz
 * $Header$
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#include "aide.h"
#include <string.h>
#include "gen_list.h"
#include "conf_yacc.h"
#include "list.h"
#include "symboltable.h"
#include "commandconf.h"

void includehandler(void) ;
void conf_put_token(const char*);

int firstnotempty(char* s);

typedef struct conf_buffer_type {
  char* buff;
  char* pos;
} conf_buffer_type;

list* l_symt=NULL;
list* conf_buffer=NULL;
int condition=0;
int varbol=0;

long conf_lineno=1;
int newlinelastinconfig=0;

#define MAX_INCLUDE_DEPTH 10
YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
int include_stack_ptr = 0;

#define YY_INPUT(buf,result,max_size) \
        if( ((result=conf_input_wrapper(buf,max_size,confin)) == 0) \
            && ferror(confin) ) \
          YY_FATAL_ERROR( "input in flex scanner failed" );

int var_in_conflval=0;


#line 5410 "src/conf_lex.c"

#define INITIAL 0
#define A 1
#define EXPR 2
#define DEFSTMT 3
#define DEFSTMT2 4
#define IFDEFSTMT 5
#define INCLUDE 6
#define EXPREQUHUNT 7
#define VARSUB 8
#define CONFVALHUNT 9
#define IFHOSTSTMT 10
#define E2FSATTRS 11

#ifndef YY_NO_UNISTD_H
/* Special case for "unistd.h", since it is non-ANSI. We include it way
 * down here because we want the user's section 1 to have been scanned first.
 * The user has a chance to override it with an option.
 */
#include <unistd.h>
#endif

#ifndef YY_EXTRA_TYPE
#define YY_EXTRA_TYPE void *
#endif

static int yy_init_globals (void );

/* Accessor methods to globals.
   These are made visible to non-reentrant scanners for convenience. */

int conflex_destroy (void );

int confget_debug (void );

void confset_debug (int debug_flag  );

YY_EXTRA_TYPE confget_extra (void );

void confset_extra (YY_EXTRA_TYPE user_defined  );

FILE *confget_in (void );

void confset_in  (FILE * _in_str  );

FILE *confget_out (void );

void confset_out  (FILE * _out_str  );

yy_size_t confget_leng (void );

char *confget_text (void );

int confget_lineno (void );

void confset_lineno (int _line_number  );

/* Macros after this point can all be overridden by user definitions in
 * section 1.
 */

#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
extern "C" int confwrap (void );
#else
extern int confwrap (void );
#endif
#endif

#ifndef YY_NO_UNPUT
    
    static void yyunput (int c,char *buf_ptr  );
    
#endif

#ifndef yytext_ptr
static void yy_flex_strncpy (char *,yyconst char *,int );
#endif

#ifdef YY_NEED_STRLEN
static int yy_flex_strlen (yyconst char * );
#endif

#ifndef YY_NO_INPUT

#ifdef __cplusplus
static int yyinput (void );
#else
static int input (void );
#endif

#endif

/* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE
#ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k */
#define YY_READ_BUF_SIZE 16384
#else
#define YY_READ_BUF_SIZE 8192
#endif /* __ia64__ */
#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 do { if (fwrite( conftext, confleng, 1, confout )) {} } while (0)
#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_LVALUE->yy_is_interactive ) \
		{ \
		int c = '*'; \
		size_t n; \
		for ( n = 0; n < max_size && \
			     (c = getc( confin )) != EOF && c != '\n'; ++n ) \
			buf[n] = (char) c; \
		if ( c == '\n' ) \
			buf[n++] = (char) c; \
		if ( c == EOF && ferror( confin ) ) \
			YY_FATAL_ERROR( "input in flex scanner failed" ); \
		result = n; \
		} \
	else \
		{ \
		errno=0; \
		while ( (result = fread(buf, 1, max_size, confin))==0 && ferror(confin)) \
			{ \
			if( errno != EINTR) \
				{ \
				YY_FATAL_ERROR( "input in flex scanner failed" ); \
				break; \
				} \
			errno=0; \
			clearerr(confin); \
			} \
		}\
\

#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

/* end tables serialization structures and prototypes */

/* Default declaration of generated scanner - a define so the user can
 * easily add parameters.
 */
#ifndef YY_DECL
#define YY_DECL_IS_OURS 1

extern int conflex (void);

#define YY_DECL int conflex (void)
#endif /* !YY_DECL */

/* Code executed at the beginning of each rule, after conftext and confleng
 * 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 /*LINTED*/break;
#endif

#define YY_RULE_SETUP \
	if ( confleng > 0 ) \
		YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
				(conftext[confleng - 1] == '\n'); \
	YY_USER_ACTION

/** The main scanner function which does all the work.
 */
YY_DECL
{
	yy_state_type yy_current_state;
	char *yy_cp, *yy_bp;
	int yy_act;
    
	if ( !(yy_init) )
		{
		(yy_init) = 1;

#ifdef YY_USER_INIT
		YY_USER_INIT;
#endif

		if ( ! (yy_start) )
			(yy_start) = 1;	/* first start state */

		if ( ! confin )
			confin = stdin;

		if ( ! confout )
			confout = stdout;

		if ( ! YY_CURRENT_BUFFER ) {
			confensure_buffer_stack ();
			YY_CURRENT_BUFFER_LVALUE =
				conf_create_buffer(confin,YY_BUF_SIZE );
		}

		conf_load_buffer_state( );
		}

	{
#line 77 "src/conf_lex.l"


#line 5645 "src/conf_lex.c"

	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
		{
		yy_cp = (yy_c_buf_p);

		/* Support of conftext. */
		*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
			{
			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 >= 2848 )
					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] != 17416 );

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 79 "src/conf_lex.l"
{
 }
	YY_BREAK
case 2:
YY_RULE_SETUP
#line 83 "src/conf_lex.l"
{
  
  putbackvariable(conftext);

  error(230,"%li:Variable substitution\n",conf_lineno+1);
  
}
	YY_BREAK
case 3:
YY_RULE_SETUP
#line 93 "src/conf_lex.l"
{
  conflval.s=strdup(conftext+1+firstnotempty(conftext));
  BEGIN(EXPR);
  return (TEQURXRULE);
}
	YY_BREAK
case 4:
YY_RULE_SETUP
#line 99 "src/conf_lex.l"
{
  conflval.s=strdup(conftext+firstnotempty(conftext));
  error(230,"%li:Selrule\n",conf_lineno);
  BEGIN(EXPR);
  return (TSELRXRULE );
}
	YY_BREAK
case 5:
YY_RULE_SETUP
#line 106 "src/conf_lex.l"
{  
  conflval.s=strdup(conftext+1+firstnotempty(conftext));
  error(230,"%li:Negrule\n",conf_lineno);
  return (TNEGRXRULE );
}
	YY_BREAK
case 6:
YY_RULE_SETUP
#line 112 "src/conf_lex.l"
{
  conflval.s=strdup(conftext+firstnotempty(conftext));
  error(230,"%li:Equrule\n",conf_lineno);
  BEGIN(EXPREQUHUNT);
  return (TSTRING);
}
	YY_BREAK
case 7:
YY_RULE_SETUP
#line 119 "src/conf_lex.l"
{
  BEGIN(EXPR);
  return('=');
}
	YY_BREAK
case 8:
YY_RULE_SETUP
#line 124 "src/conf_lex.l"
{
  return (',');
}
	YY_BREAK
case 9:
YY_RULE_SETUP
#line 128 "src/conf_lex.l"
{
  conflval.s=strdup(conftext+firstnotempty(conftext));
  return (TSTRING);
}
	YY_BREAK
case 10:
/* rule 10 can match eol */
YY_RULE_SETUP
#line 133 "src/conf_lex.l"
{
  conf_lineno++;
  return (TNEWLINE);
  BEGIN 0;
}
	YY_BREAK
case 11:
YY_RULE_SETUP
#line 139 "src/conf_lex.l"
{
  return ('+');
}
	YY_BREAK
case 12:
YY_RULE_SETUP
#line 143 "src/conf_lex.l"
{
  return ('-');
}
	YY_BREAK
case 13:
YY_RULE_SETUP
#line 147 "src/conf_lex.l"
{
  error(230," %s",conftext);
  conflval.s=strdup(conftext);
  BEGIN (DEFSTMT2);
  return (TSTRING);
}
	YY_BREAK
case 14:
YY_RULE_SETUP
#line 154 "src/conf_lex.l"
{
  error(230," %s",conftext);
  conflval.s=strdup(conftext);
  return (TSTRING);
}
	YY_BREAK
case 15:
/* rule 15 can match eol */
YY_RULE_SETUP
#line 160 "src/conf_lex.l"
{ 
  error(230,"\n");
  conf_lineno++;
  BEGIN 0;
  return (TNEWLINE);
}
	YY_BREAK
case 16:
YY_RULE_SETUP
#line 167 "src/conf_lex.l"
{
  error(230,"%li:@@define",conf_lineno);
  BEGIN DEFSTMT;
  return (TDEFINE);
}
	YY_BREAK
case 17:
YY_RULE_SETUP
#line 173 "src/conf_lex.l"
{
  error(230,"%li:@@undef",conf_lineno);
  BEGIN IFDEFSTMT;
  return (TUNDEF);
}
	YY_BREAK
case 18:
YY_RULE_SETUP
#line 180 "src/conf_lex.l"
{
  error(230,"%li:@@ifndef",conf_lineno);
  BEGIN IFDEFSTMT;
  return (TIFNDEF);
}
	YY_BREAK
case 19:
YY_RULE_SETUP
#line 186 "src/conf_lex.l"
{
  error(230,"%li:@@ifdef",conf_lineno);
  BEGIN IFDEFSTMT;
  return (TIFDEF);
}
	YY_BREAK
case 20:
YY_RULE_SETUP
#line 192 "src/conf_lex.l"
{
  error(230,"%li:@@else\n",conf_lineno);
  BEGIN 0;
  return (TELSE);
}
	YY_BREAK
case 21:
YY_RULE_SETUP
#line 198 "src/conf_lex.l"
{
  error(230,"%li:@@endif\n",conf_lineno);
  BEGIN 0;
  return (TENDIF);
}
	YY_BREAK
case 22:
YY_RULE_SETUP
#line 204 "src/conf_lex.l"
{
  error(230,"%li:@@begin_db",conf_lineno);
  BEGIN 0;
  return (TBEGIN_DB);
}
	YY_BREAK
case 23:
YY_RULE_SETUP
#line 210 "src/conf_lex.l"
{
  error(230," %s\n",conftext);
  conflval.s=strdup(conftext);
  BEGIN 0;
  return (TSTRING);
}
	YY_BREAK
case 24:
YY_RULE_SETUP
#line 217 "src/conf_lex.l"
{
  error(230,"%li:@@ifhost",conf_lineno);
  BEGIN IFHOSTSTMT;
  return (TIFHOST);
}
	YY_BREAK
case 25:
YY_RULE_SETUP
#line 223 "src/conf_lex.l"
{
  error(230,"%li:@@ifnhost",conf_lineno);
  BEGIN IFHOSTSTMT;
  return (TIFNHOST);
}
	YY_BREAK
case 26:
YY_RULE_SETUP
#line 229 "src/conf_lex.l"
{
  error(230," %s\n",conftext);
  conflval.s=strdup(conftext);
  BEGIN 0;
  return (TSTRING);
}
	YY_BREAK
case 27:
YY_RULE_SETUP
#line 236 "src/conf_lex.l"
{
  conf_put_token("\n@@db_spec");
  error(230,"%li:@@db_spec",conf_lineno);
  return (TDBSPEC);
}
	YY_BREAK
case 28:
YY_RULE_SETUP
#line 242 "src/conf_lex.l"
{
  error(230,"%li:@@begin_config",conf_lineno);
  BEGIN CONFVALHUNT;
  return (TBEGIN_CONFIG);
}
	YY_BREAK
case 29:
YY_RULE_SETUP
#line 248 "src/conf_lex.l"
{
  return (TEND_CONFIG);
}
	YY_BREAK
case 30:
YY_RULE_SETUP
#line 252 "src/conf_lex.l"
{
  BEGIN INCLUDE;
}
	YY_BREAK
case 31:
YY_RULE_SETUP
#line 256 "src/conf_lex.l"
{
  includehandler();
  BEGIN 0;
  error(230,"%li:@@include\n",conf_lineno);
  return (TNEWLINE);
}
	YY_BREAK
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(A):
case YY_STATE_EOF(EXPR):
case YY_STATE_EOF(DEFSTMT):
case YY_STATE_EOF(DEFSTMT2):
case YY_STATE_EOF(IFDEFSTMT):
case YY_STATE_EOF(INCLUDE):
case YY_STATE_EOF(EXPREQUHUNT):
case YY_STATE_EOF(VARSUB):
case YY_STATE_EOF(CONFVALHUNT):
case YY_STATE_EOF(IFHOSTSTMT):
case YY_STATE_EOF(E2FSATTRS):
#line 263 "src/conf_lex.l"
{
        if (yy_hold_char=='\n'){
            newlinelastinconfig=1;
        }else {
            newlinelastinconfig=0;
        }
        if ( --include_stack_ptr < 0 )
            {
            yyterminate();
            }

        else
            {

            if (confin != stdin ) {
              fclose(confin);
              }

            conf_delete_buffer( YY_CURRENT_BUFFER );
            conf_switch_to_buffer(
                 include_stack[include_stack_ptr] );
            }
}
	YY_BREAK
case 32:
YY_RULE_SETUP
#line 288 "src/conf_lex.l"
{}
	YY_BREAK
case 33:
/* rule 33 can match eol */
YY_RULE_SETUP
#line 290 "src/conf_lex.l"
{ 
  conf_lineno++;
  BEGIN 0;
  return (TNEWLINE);
 }
	YY_BREAK
case 34:
YY_RULE_SETUP
#line 296 "src/conf_lex.l"
{
  error(230,"%li:database =\n",conf_lineno);
  BEGIN CONFVALHUNT;
  return (TDATABASE);
} 
	YY_BREAK
case 35:
YY_RULE_SETUP
#line 302 "src/conf_lex.l"
{
  error(230,"%li:database_out =\n",conf_lineno);
  BEGIN CONFVALHUNT;
  return (TDATABASE_OUT);
}
	YY_BREAK
case 36:
YY_RULE_SETUP
#line 308 "src/conf_lex.l"
{
  error(230,"%li:database_new =\n",conf_lineno);
  BEGIN CONFVALHUNT;
  return (TDATABASE_NEW);
}
	YY_BREAK
case 37:
YY_RULE_SETUP
#line 314 "src/conf_lex.l"
{
  error(230,"%li:database_attrs =\n",conf_lineno);
  BEGIN EXPR;
  return (TDATABASE_ATTRS);
}
	YY_BREAK
case 38:
YY_RULE_SETUP
#line 320 "src/conf_lex.l"
{
  error(230,"%li:warn_dead_symlinks =\n",conf_lineno);
  BEGIN CONFVALHUNT;
  return (TWARNDEADSYMLINKS);
}
	YY_BREAK
case 39:
YY_RULE_SETUP
#line 326 "src/conf_lex.l"
{
  error(230,"%li:grouped =\n",conf_lineno);
  BEGIN CONFVALHUNT;
  return (TGROUPED);
}
	YY_BREAK
case 40:
YY_RULE_SETUP
#line 332 "src/conf_lex.l"
{
  error(230,"%li:summarize_changes =\n",conf_lineno);
  BEGIN CONFVALHUNT;
  return (TSUMMARIZECHANGES);
}
	YY_BREAK
case 41:
YY_RULE_SETUP
#line 338 "src/conf_lex.l"
{
  error(230,"%li:acl_no_symlink_follow =\n",conf_lineno);
  BEGIN CONFVALHUNT;
  return (TACLNOSYMLINKFOLLOW);
}
	YY_BREAK
case 42:
YY_RULE_SETUP
#line 345 "src/conf_lex.l"
{
  error(230,"%li:verbose =\n",conf_lineno);
  return (TVERBOSE);  
}
	YY_BREAK
case 43:
YY_RULE_SETUP
#line 350 "src/conf_lex.l"
{
  error(230,"%li:database_add_metadata =\n",conf_lineno);
  BEGIN CONFVALHUNT;
  return (TDATABASEADDMETADATA);
}
	YY_BREAK
case 44:
YY_RULE_SETUP
#line 356 "src/conf_lex.l"
{
  error(230,"%li:report_url =\n",conf_lineno);
  BEGIN CONFVALHUNT;
  return (TREPORT_URL);  
}
	YY_BREAK
case 45:
YY_RULE_SETUP
#line 362 "src/conf_lex.l"
{
  error(230,"%li:report_detailed_init =\n",conf_lineno);
  BEGIN CONFVALHUNT;
  return (TREPORTDETAILEDINIT);
}
	YY_BREAK
case 46:
YY_RULE_SETUP
#line 368 "src/conf_lex.l"
{
  error(230,"%li:report_base16 =\n",conf_lineno);
  BEGIN CONFVALHUNT;
  return (TREPORTBASE16);
}
	YY_BREAK
case 47:
YY_RULE_SETUP
#line 374 "src/conf_lex.l"
{
  error(230,"%li:report_quiet =\n",conf_lineno);
  BEGIN CONFVALHUNT;
  return (TREPORTQUIET);
}
	YY_BREAK
case 48:
YY_RULE_SETUP
#line 380 "src/conf_lex.l"
{
  error(230,"%li:report_ignore_e2fsattrs =\n",conf_lineno);
  BEGIN E2FSATTRS;
  return (TREPORTIGNOREE2FSATTRS);
}
	YY_BREAK
case 49:
YY_RULE_SETUP
#line 386 "src/conf_lex.l"
{
  conflval.s=strdup(conftext);
  BEGIN 0;
  return (TSTRING);
}
	YY_BREAK
case 50:
YY_RULE_SETUP
#line 392 "src/conf_lex.l"
{
  error(230,"%li:gzip_dbout =\n",conf_lineno);
  BEGIN CONFVALHUNT;
  return (TGZIPDBOUT);
}
	YY_BREAK
case 51:
YY_RULE_SETUP
#line 398 "src/conf_lex.l"
{
  error(230,"%li:root_prefix =\n",conf_lineno);
  BEGIN CONFVALHUNT;
  return (TROOT_PREFIX);
}
	YY_BREAK
case 52:
YY_RULE_SETUP
#line 404 "src/conf_lex.l"
{
  error(230,"%li:recstop =\n",conf_lineno);
  BEGIN CONFVALHUNT;
  return (TRECSTOP);
}
	YY_BREAK
case 53:
YY_RULE_SETUP
#line 410 "src/conf_lex.l"
{
  error(230,"%li:config_version =\n",conf_lineno);
  BEGIN CONFVALHUNT;
  return (TCONFIG_VERSION);
}
	YY_BREAK
case 54:
YY_RULE_SETUP
#line 416 "src/conf_lex.l"
{
  BEGIN 0;
  return (TTRUE);
}
	YY_BREAK
case 55:
YY_RULE_SETUP
#line 421 "src/conf_lex.l"
{
  BEGIN 0;
  return (TFALSE);
}
	YY_BREAK
case 56:
YY_RULE_SETUP
#line 426 "src/conf_lex.l"
{
  conflval.s=strdup(conftext);
  BEGIN 0;
  return (TSTRING);
}
	YY_BREAK
case 57:
YY_RULE_SETUP
#line 433 "src/conf_lex.l"
{
  conflval.s=strdup(conftext);
  return (TSTRING);
}
	YY_BREAK
case 58:
YY_RULE_SETUP
#line 439 "src/conf_lex.l"
{ return(conftext[0]); }
	YY_BREAK
case 59:
YY_RULE_SETUP
#line 442 "src/conf_lex.l"
ECHO;
	YY_BREAK
#line 6252 "src/conf_lex.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_LVALUE->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 confin at a new source and called
			 * conflex().  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_LVALUE->yy_n_chars;
			YY_CURRENT_BUFFER_LVALUE->yy_input_file = confin;
			YY_CURRENT_BUFFER_LVALUE->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_LVALUE->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 ( confwrap( ) )
					{
					/* Note: because we've taken care in
					 * yy_get_next_buffer() to have set up
					 * conftext, 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_LVALUE->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 user's declarations */
} /* end of conflex */

/* 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 (void)
{
    	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
	char *source = (yytext_ptr);
	yy_size_t number_to_move, i;
	int ret_val;

	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
		YY_FATAL_ERROR(
		"fatal flex scanner internal error--end of buffer missed" );

	if ( YY_CURRENT_BUFFER_LVALUE->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 = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1;

	for ( i = 0; i < number_to_move; ++i )
		*(dest++) = *(source++);

	if ( YY_CURRENT_BUFFER_LVALUE->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_LVALUE->yy_n_chars = (yy_n_chars) = 0;

	else
		{
			yy_size_t num_to_read =
			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;

		while ( num_to_read <= 0 )
			{ /* Not enough room in the buffer - grow it. */

			/* just a shorter name for the current buffer */
			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;

			int yy_c_buf_p_offset =
				(int) ((yy_c_buf_p) - b->yy_ch_buf);

			if ( b->yy_is_our_buffer )
				{
				yy_size_t 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. */
					confrealloc((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_LVALUE->yy_buf_size -
						number_to_move - 1;

			}

		if ( num_to_read > YY_READ_BUF_SIZE )
			num_to_read = YY_READ_BUF_SIZE;

		/* Read in more data. */
		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
			(yy_n_chars), num_to_read );

		YY_CURRENT_BUFFER_LVALUE->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;
			confrestart(confin  );
			}

		else
			{
			ret_val = EOB_ACT_LAST_MATCH;
			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
				YY_BUFFER_EOF_PENDING;
			}
		}

	else
		ret_val = EOB_ACT_CONTINUE_SCAN;

	if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
		/* Extend the array by 50%, plus the number we really need. */
		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) confrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
	}

	(yy_n_chars) += number_to_move;
	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;

	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->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 (void)
{
	yy_state_type yy_current_state;
	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 )
		{
		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 >= 2848 )
				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 );
 */
    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
{
	int yy_is_jam;
    	char *yy_cp = (yy_c_buf_p);

	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 >= 2848 )
			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 == 2847);

		return yy_is_jam ? 0 : yy_current_state;
}

#ifndef YY_NO_UNPUT

    static void yyunput (int c, char * yy_bp )
{
	char *yy_cp;
    
    yy_cp = (yy_c_buf_p);

	/* undo effects of setting up conftext */
	*yy_cp = (yy_hold_char);

	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
		{ /* need to shift things up to make room */
		/* +2 for EOB chars. */
		yy_size_t number_to_move = (yy_n_chars) + 2;
		char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
		char *source =
				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];

		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
			*--dest = *--source;

		yy_cp += (int) (dest - source);
		yy_bp += (int) (dest - source);
		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;

		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->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_INPUT
#ifdef __cplusplus
    static int yyinput (void)
#else
    static int input  (void)
#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_LVALUE->yy_ch_buf[(yy_n_chars)] )
			/* This was really a NUL. */
			*(yy_c_buf_p) = '\0';

		else
			{ /* need more input */
			yy_size_t 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. */
					confrestart(confin );

					/*FALLTHROUGH*/

				case EOB_ACT_END_OF_FILE:
					{
					if ( confwrap( ) )
						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 conftext */
	(yy_hold_char) = *++(yy_c_buf_p);

	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');

	return c;
}
#endif	/* ifndef YY_NO_INPUT */

/** Immediately switch to a different input stream.
 * @param input_file A readable stream.
 * 
 * @note This function does not reset the start condition to @c INITIAL .
 */
    void confrestart  (FILE * input_file )
{
    
	if ( ! YY_CURRENT_BUFFER ){
        confensure_buffer_stack ();
		YY_CURRENT_BUFFER_LVALUE =
            conf_create_buffer(confin,YY_BUF_SIZE );
	}

	conf_init_buffer(YY_CURRENT_BUFFER,input_file );
	conf_load_buffer_state( );
}

/** Switch to a different input buffer.
 * @param new_buffer The new input buffer.
 * 
 */
    void conf_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
{
    
	/* TODO. We should be able to replace this entire function body
	 * with
	 *		confpop_buffer_state();
	 *		confpush_buffer_state(new_buffer);
     */
	confensure_buffer_stack ();
	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_LVALUE->yy_buf_pos = (yy_c_buf_p);
		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
		}

	YY_CURRENT_BUFFER_LVALUE = new_buffer;
	conf_load_buffer_state( );

	/* We don't actually know whether we did this switch during
	 * EOF (confwrap()) processing, but the only time this flag
	 * is looked at is after confwrap() is called, so it's safe
	 * to go ahead and always set it.
	 */
	(yy_did_buffer_switch_on_eof) = 1;
}

static void conf_load_buffer_state  (void)
{
    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
	confin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
	(yy_hold_char) = *(yy_c_buf_p);
}

/** Allocate and initialize an input buffer state.
 * @param file A readable stream.
 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
 * 
 * @return the allocated buffer state.
 */
    YY_BUFFER_STATE conf_create_buffer  (FILE * file, int  size )
{
	YY_BUFFER_STATE b;
    
	b = (YY_BUFFER_STATE) confalloc(sizeof( struct yy_buffer_state )  );
	if ( ! b )
		YY_FATAL_ERROR( "out of dynamic memory in conf_create_buffer()" );

	b->yy_buf_size = (yy_size_t)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 *) confalloc(b->yy_buf_size + 2  );
	if ( ! b->yy_ch_buf )
		YY_FATAL_ERROR( "out of dynamic memory in conf_create_buffer()" );

	b->yy_is_our_buffer = 1;

	conf_init_buffer(b,file );

	return b;
}

/** Destroy the buffer.
 * @param b a buffer created with conf_create_buffer()
 * 
 */
    void conf_delete_buffer (YY_BUFFER_STATE  b )
{
    
	if ( ! b )
		return;

	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;

	if ( b->yy_is_our_buffer )
		conffree((void *) b->yy_ch_buf  );

	conffree((void *) b  );
}

/* Initializes or reinitializes a buffer.
 * This function is sometimes called more than once on the same buffer,
 * such as during a confrestart() or at EOF.
 */
    static void conf_init_buffer  (YY_BUFFER_STATE  b, FILE * file )

{
	int oerrno = errno;
    
	conf_flush_buffer(b );

	b->yy_input_file = file;
	b->yy_fill_buffer = 1;

    /* If b is the current buffer, then conf_init_buffer was _probably_
     * called from confrestart() or through yy_get_next_buffer.
     * In that case, we don't want to reset the lineno or column.
     */
    if (b != YY_CURRENT_BUFFER){
        b->yy_bs_lineno = 1;
        b->yy_bs_column = 0;
    }

        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
    
	errno = oerrno;
}

/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
 * 
 */
    void conf_flush_buffer (YY_BUFFER_STATE  b )
{
    	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 )
		conf_load_buffer_state( );
}

/** Pushes the new state onto the stack. The new state becomes
 *  the current state. This function will allocate the stack
 *  if necessary.
 *  @param new_buffer The new state.
 *  
 */
void confpush_buffer_state (YY_BUFFER_STATE new_buffer )
{
    	if (new_buffer == NULL)
		return;

	confensure_buffer_stack();

	/* This block is copied from conf_switch_to_buffer. */
	if ( YY_CURRENT_BUFFER )
		{
		/* Flush out information for old buffer. */
		*(yy_c_buf_p) = (yy_hold_char);
		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
		}

	/* Only push if top exists. Otherwise, replace top. */
	if (YY_CURRENT_BUFFER)
		(yy_buffer_stack_top)++;
	YY_CURRENT_BUFFER_LVALUE = new_buffer;

	/* copied from conf_switch_to_buffer. */
	conf_load_buffer_state( );
	(yy_did_buffer_switch_on_eof) = 1;
}

/** Removes and deletes the top of the stack, if present.
 *  The next element becomes the new top.
 *  
 */
void confpop_buffer_state (void)
{
    	if (!YY_CURRENT_BUFFER)
		return;

	conf_delete_buffer(YY_CURRENT_BUFFER );
	YY_CURRENT_BUFFER_LVALUE = NULL;
	if ((yy_buffer_stack_top) > 0)
		--(yy_buffer_stack_top);

	if (YY_CURRENT_BUFFER) {
		conf_load_buffer_state( );
		(yy_did_buffer_switch_on_eof) = 1;
	}
}

/* Allocates the stack if it does not exist.
 *  Guarantees space for at least one push.
 */
static void confensure_buffer_stack (void)
{
	yy_size_t num_to_alloc;
    
	if (!(yy_buffer_stack)) {

		/* First allocation is just for 2 elements, since we don't know if this
		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
		 * immediate realloc on the next call.
         */
		num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
		(yy_buffer_stack) = (struct yy_buffer_state**)confalloc
								(num_to_alloc * sizeof(struct yy_buffer_state*)
								);
		if ( ! (yy_buffer_stack) )
			YY_FATAL_ERROR( "out of dynamic memory in confensure_buffer_stack()" );
								  
		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
				
		(yy_buffer_stack_max) = num_to_alloc;
		(yy_buffer_stack_top) = 0;
		return;
	}

	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){

		/* Increase the buffer to prepare for a possible push. */
		yy_size_t grow_size = 8 /* arbitrary grow size */;

		num_to_alloc = (yy_buffer_stack_max) + grow_size;
		(yy_buffer_stack) = (struct yy_buffer_state**)confrealloc
								((yy_buffer_stack),
								num_to_alloc * sizeof(struct yy_buffer_state*)
								);
		if ( ! (yy_buffer_stack) )
			YY_FATAL_ERROR( "out of dynamic memory in confensure_buffer_stack()" );

		/* zero only the new slots.*/
		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
		(yy_buffer_stack_max) = num_to_alloc;
	}
}

/** Setup the input buffer state to scan directly from a user-specified character buffer.
 * @param base the character buffer
 * @param size the size in bytes of the character buffer
 * 
 * @return the newly allocated buffer state object. 
 */
YY_BUFFER_STATE conf_scan_buffer  (char * base, yy_size_t  size )
{
	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) confalloc(sizeof( struct yy_buffer_state )  );
	if ( ! b )
		YY_FATAL_ERROR( "out of dynamic memory in conf_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;

	conf_switch_to_buffer(b  );

	return b;
}

/** Setup the input buffer state to scan a string. The next call to conflex() will
 * scan from a @e copy of @a str.
 * @param yystr a NUL-terminated string to scan
 * 
 * @return the newly allocated buffer state object.
 * @note If you want to scan bytes that may contain NUL values, then use
 *       conf_scan_bytes() instead.
 */
YY_BUFFER_STATE conf_scan_string (yyconst char * yystr )
{
    
	return conf_scan_bytes(yystr,strlen(yystr) );
}

/** Setup the input buffer state to scan the given bytes. The next call to conflex() will
 * scan from a @e copy of @a bytes.
 * @param yybytes the byte buffer to scan
 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
 * 
 * @return the newly allocated buffer state object.
 */
YY_BUFFER_STATE conf_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
{
	YY_BUFFER_STATE b;
	char *buf;
	yy_size_t n;
	yy_size_t i;
    
	/* Get memory for full buffer, including space for trailing EOB's. */
	n = _yybytes_len + 2;
	buf = (char *) confalloc(n  );
	if ( ! buf )
		YY_FATAL_ERROR( "out of dynamic memory in conf_scan_bytes()" );

	for ( i = 0; i < _yybytes_len; ++i )
		buf[i] = yybytes[i];

	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;

	b = conf_scan_buffer(buf,n );
	if ( ! b )
		YY_FATAL_ERROR( "bad buffer in conf_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;
}

#ifndef YY_EXIT_FAILURE
#define YY_EXIT_FAILURE 2
#endif

static void yy_fatal_error (yyconst char* msg )
{
			(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 conftext. */ \
        int yyless_macro_arg = (n); \
        YY_LESS_LINENO(yyless_macro_arg);\
		conftext[confleng] = (yy_hold_char); \
		(yy_c_buf_p) = conftext + yyless_macro_arg; \
		(yy_hold_char) = *(yy_c_buf_p); \
		*(yy_c_buf_p) = '\0'; \
		confleng = yyless_macro_arg; \
		} \
	while ( 0 )

/* Accessor  methods (get/set functions) to struct members. */

/** Get the current line number.
 * 
 */
int confget_lineno  (void)
{
        
    return conflineno;
}

/** Get the input stream.
 * 
 */
FILE *confget_in  (void)
{
        return confin;
}

/** Get the output stream.
 * 
 */
FILE *confget_out  (void)
{
        return confout;
}

/** Get the length of the current token.
 * 
 */
yy_size_t confget_leng  (void)
{
        return confleng;
}

/** Get the current token.
 * 
 */

char *confget_text  (void)
{
        return conftext;
}

/** Set the current line number.
 * @param _line_number line number
 * 
 */
void confset_lineno (int  _line_number )
{
    
    conflineno = _line_number;
}

/** Set the input stream. This does not discard the current
 * input buffer.
 * @param _in_str A readable stream.
 * 
 * @see conf_switch_to_buffer
 */
void confset_in (FILE *  _in_str )
{
        confin = _in_str ;
}

void confset_out (FILE *  _out_str )
{
        confout = _out_str ;
}

int confget_debug  (void)
{
        return conf_flex_debug;
}

void confset_debug (int  _bdebug )
{
        conf_flex_debug = _bdebug ;
}

static int yy_init_globals (void)
{
        /* Initialization is the same as for the non-reentrant scanner.
     * This function is called from conflex_destroy(), so don't allocate here.
     */

    (yy_buffer_stack) = 0;
    (yy_buffer_stack_top) = 0;
    (yy_buffer_stack_max) = 0;
    (yy_c_buf_p) = (char *) 0;
    (yy_init) = 0;
    (yy_start) = 0;

/* Defined in main.c */
#ifdef YY_STDINIT
    confin = stdin;
    confout = stdout;
#else
    confin = (FILE *) 0;
    confout = (FILE *) 0;
#endif

    /* For future reference: Set errno on error, since we are called by
     * conflex_init()
     */
    return 0;
}

/* conflex_destroy is for both reentrant and non-reentrant scanners. */
int conflex_destroy  (void)
{
    
    /* Pop the buffer stack, destroying each element. */
	while(YY_CURRENT_BUFFER){
		conf_delete_buffer(YY_CURRENT_BUFFER  );
		YY_CURRENT_BUFFER_LVALUE = NULL;
		confpop_buffer_state();
	}

	/* Destroy the stack itself. */
	conffree((yy_buffer_stack) );
	(yy_buffer_stack) = NULL;

    /* Reset the globals. This is important in a non-reentrant scanner so the next time
     * conflex() is called, initialization will occur. */
    yy_init_globals( );

    return 0;
}

/*
 * Internal utility routines.
 */

#ifndef yytext_ptr
static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
{
		
	int i;
	for ( i = 0; i < n; ++i )
		s1[i] = s2[i];
}
#endif

#ifdef YY_NEED_STRLEN
static int yy_flex_strlen (yyconst char * s )
{
	int n;
	for ( n = 0; s[n]; ++n )
		;

	return n;
}
#endif

void *confalloc (yy_size_t  size )
{
			return (void *) malloc( size );
}

void *confrealloc  (void * ptr, yy_size_t  size )
{
		
	/* 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 );
}

void conffree (void * ptr )
{
			free( (char *) ptr );	/* see confrealloc() for (char *) cast */
}

#define YYTABLES_NAME "yytables"

#line 442 "src/conf_lex.l"



int confwrap(void){
  return 1;
}

void conf_put_token(const char* s){

  int i=0;

  for(i=strlen(s)-1;i>=0;i--){
       unput(s[i]);
       if(s[i]=='\n'){
          conf_lineno--;
       }
  }
  
}

int firstnotempty(char* s){
  
  int i=0;

  if (s==NULL) {
    return i;
  }


  while( s[i]==' ' || s[i]=='\t') {
    i++;
  }

  return i;

}

const char* aide_key_4=CONFHMACKEY_04;
const char* db_key_4=DBHMACKEY_04;

void includehandler(void) { 
  /* got the include file name */
  if ( include_stack_ptr >= MAX_INCLUDE_DEPTH )
    {
      error( 0, "Config includes nested too deeply\n" );
      exit( 1 );
    }

  if (strcmp(conftext,"-")==0) {
      confin = stdin;
    } else {
      confin = fopen( conftext, "r" );
    }
  if ( ! confin ) {
    error(0,"Cannot open config file %s\n",conftext);
    exit(IO_ERROR);
  } else {
    include_stack[include_stack_ptr++] = YY_CURRENT_BUFFER;
    conf_switch_to_buffer(conf_create_buffer( confin, YY_BUF_SIZE ) );
  }
  
}