i3
src/cfgparse.yy.c
Go to the documentation of this file.
00001 #line 2 "src/cfgparse.yy.c"
00002 
00003 #line 4 "src/cfgparse.yy.c"
00004 
00005 #define  YY_INT_ALIGNED short int
00006 
00007 /* A lexical scanner generated by flex */
00008 
00009 #define FLEX_SCANNER
00010 #define YY_FLEX_MAJOR_VERSION 2
00011 #define YY_FLEX_MINOR_VERSION 5
00012 #define YY_FLEX_SUBMINOR_VERSION 35
00013 #if YY_FLEX_SUBMINOR_VERSION > 0
00014 #define FLEX_BETA
00015 #endif
00016 
00017 /* First, we deal with  platform-specific or compiler-specific issues. */
00018 
00019 /* begin standard C headers. */
00020 #include <stdio.h>
00021 #include <string.h>
00022 #include <errno.h>
00023 #include <stdlib.h>
00024 
00025 /* end standard C headers. */
00026 
00027 /* flex integer type definitions */
00028 
00029 #ifndef FLEXINT_H
00030 #define FLEXINT_H
00031 
00032 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
00033 
00034 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
00035 
00036 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
00037  * if you want the limit (max/min) macros for int types. 
00038  */
00039 #ifndef __STDC_LIMIT_MACROS
00040 #define __STDC_LIMIT_MACROS 1
00041 #endif
00042 
00043 #include <inttypes.h>
00044 typedef int8_t flex_int8_t;
00045 typedef uint8_t flex_uint8_t;
00046 typedef int16_t flex_int16_t;
00047 typedef uint16_t flex_uint16_t;
00048 typedef int32_t flex_int32_t;
00049 typedef uint32_t flex_uint32_t;
00050 #else
00051 typedef signed char flex_int8_t;
00052 typedef short int flex_int16_t;
00053 typedef int flex_int32_t;
00054 typedef unsigned char flex_uint8_t; 
00055 typedef unsigned short int flex_uint16_t;
00056 typedef unsigned int flex_uint32_t;
00057 #endif /* ! C99 */
00058 
00059 /* Limits of integral types. */
00060 #ifndef INT8_MIN
00061 #define INT8_MIN               (-128)
00062 #endif
00063 #ifndef INT16_MIN
00064 #define INT16_MIN              (-32767-1)
00065 #endif
00066 #ifndef INT32_MIN
00067 #define INT32_MIN              (-2147483647-1)
00068 #endif
00069 #ifndef INT8_MAX
00070 #define INT8_MAX               (127)
00071 #endif
00072 #ifndef INT16_MAX
00073 #define INT16_MAX              (32767)
00074 #endif
00075 #ifndef INT32_MAX
00076 #define INT32_MAX              (2147483647)
00077 #endif
00078 #ifndef UINT8_MAX
00079 #define UINT8_MAX              (255U)
00080 #endif
00081 #ifndef UINT16_MAX
00082 #define UINT16_MAX             (65535U)
00083 #endif
00084 #ifndef UINT32_MAX
00085 #define UINT32_MAX             (4294967295U)
00086 #endif
00087 
00088 #endif /* ! FLEXINT_H */
00089 
00090 #ifdef __cplusplus
00091 
00092 /* The "const" storage-class-modifier is valid. */
00093 #define YY_USE_CONST
00094 
00095 #else   /* ! __cplusplus */
00096 
00097 /* C99 requires __STDC__ to be defined as 1. */
00098 #if defined (__STDC__)
00099 
00100 #define YY_USE_CONST
00101 
00102 #endif  /* defined (__STDC__) */
00103 #endif  /* ! __cplusplus */
00104 
00105 #ifdef YY_USE_CONST
00106 #define yyconst const
00107 #else
00108 #define yyconst
00109 #endif
00110 
00111 /* Returned upon end-of-file. */
00112 #define YY_NULL 0
00113 
00114 /* Promotes a possibly negative, possibly signed char to an unsigned
00115  * integer for use as an array index.  If the signed char is negative,
00116  * we want to instead treat it as an 8-bit unsigned char, hence the
00117  * double cast.
00118  */
00119 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00120 
00121 /* Enter a start condition.  This macro really ought to take a parameter,
00122  * but we do it the disgusting crufty way forced on us by the ()-less
00123  * definition of BEGIN.
00124  */
00125 #define BEGIN (yy_start) = 1 + 2 *
00126 
00127 /* Translate the current start state into a value that can be later handed
00128  * to BEGIN to return to the state.  The YYSTATE alias is for lex
00129  * compatibility.
00130  */
00131 #define YY_START (((yy_start) - 1) / 2)
00132 #define YYSTATE YY_START
00133 
00134 /* Action number for EOF rule of a given start state. */
00135 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00136 
00137 /* Special action meaning "start processing a new file". */
00138 #define YY_NEW_FILE yyrestart(yyin  )
00139 
00140 #define YY_END_OF_BUFFER_CHAR 0
00141 
00142 /* Size of default input buffer. */
00143 #ifndef YY_BUF_SIZE
00144 #define YY_BUF_SIZE 16384
00145 #endif
00146 
00147 /* The state buf must be large enough to hold one state per character in the main buffer.
00148  */
00149 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
00150 
00151 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
00152 #define YY_TYPEDEF_YY_BUFFER_STATE
00153 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00154 #endif
00155 
00156 extern int yyleng;
00157 
00158 extern FILE *yyin, *yyout;
00159 
00160 #define EOB_ACT_CONTINUE_SCAN 0
00161 #define EOB_ACT_END_OF_FILE 1
00162 #define EOB_ACT_LAST_MATCH 2
00163 
00164     #define YY_LESS_LINENO(n)
00165     
00166 /* Return all but the first "n" matched characters back to the input stream. */
00167 #define yyless(n) \
00168         do \
00169                 { \
00170                 /* Undo effects of setting up yytext. */ \
00171         int yyless_macro_arg = (n); \
00172         YY_LESS_LINENO(yyless_macro_arg);\
00173                 *yy_cp = (yy_hold_char); \
00174                 YY_RESTORE_YY_MORE_OFFSET \
00175                 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
00176                 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
00177                 } \
00178         while ( 0 )
00179 
00180 #define unput(c) yyunput( c, (yytext_ptr)  )
00181 
00182 #ifndef YY_TYPEDEF_YY_SIZE_T
00183 #define YY_TYPEDEF_YY_SIZE_T
00184 typedef size_t yy_size_t;
00185 #endif
00186 
00187 #ifndef YY_STRUCT_YY_BUFFER_STATE
00188 #define YY_STRUCT_YY_BUFFER_STATE
00189 struct yy_buffer_state
00190         {
00191         FILE *yy_input_file;
00192 
00193         char *yy_ch_buf;                /* input buffer */
00194         char *yy_buf_pos;               /* current position in input buffer */
00195 
00196         /* Size of input buffer in bytes, not including room for EOB
00197          * characters.
00198          */
00199         yy_size_t yy_buf_size;
00200 
00201         /* Number of characters read into yy_ch_buf, not including EOB
00202          * characters.
00203          */
00204         int yy_n_chars;
00205 
00206         /* Whether we "own" the buffer - i.e., we know we created it,
00207          * and can realloc() it to grow it, and should free() it to
00208          * delete it.
00209          */
00210         int yy_is_our_buffer;
00211 
00212         /* Whether this is an "interactive" input source; if so, and
00213          * if we're using stdio for input, then we want to use getc()
00214          * instead of fread(), to make sure we stop fetching input after
00215          * each newline.
00216          */
00217         int yy_is_interactive;
00218 
00219         /* Whether we're considered to be at the beginning of a line.
00220          * If so, '^' rules will be active on the next match, otherwise
00221          * not.
00222          */
00223         int yy_at_bol;
00224 
00225     int yy_bs_lineno; 
00226     int yy_bs_column; 
00228         /* Whether to try to fill the input buffer when we reach the
00229          * end of it.
00230          */
00231         int yy_fill_buffer;
00232 
00233         int yy_buffer_status;
00234 
00235 #define YY_BUFFER_NEW 0
00236 #define YY_BUFFER_NORMAL 1
00237         /* When an EOF's been seen but there's still some text to process
00238          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
00239          * shouldn't try reading from the input source any more.  We might
00240          * still have a bunch of tokens to match, though, because of
00241          * possible backing-up.
00242          *
00243          * When we actually see the EOF, we change the status to "new"
00244          * (via yyrestart()), so that the user can continue scanning by
00245          * just pointing yyin at a new input file.
00246          */
00247 #define YY_BUFFER_EOF_PENDING 2
00248 
00249         };
00250 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
00251 
00252 /* Stack of input buffers. */
00253 static size_t yy_buffer_stack_top = 0; 
00254 static size_t yy_buffer_stack_max = 0; 
00255 static YY_BUFFER_STATE * yy_buffer_stack = 0; 
00257 /* We provide macros for accessing buffer states in case in the
00258  * future we want to put the buffer states in a more general
00259  * "scanner state".
00260  *
00261  * Returns the top of the stack, or NULL.
00262  */
00263 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
00264                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
00265                           : NULL)
00266 
00267 /* Same as previous macro, but useful when we know that the buffer stack is not
00268  * NULL or when we need an lvalue. For internal use only.
00269  */
00270 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
00271 
00272 /* yy_hold_char holds the character lost when yytext is formed. */
00273 static char yy_hold_char;
00274 static int yy_n_chars;          /* number of characters read into yy_ch_buf */
00275 int yyleng;
00276 
00277 /* Points to current character in buffer. */
00278 static char *yy_c_buf_p = (char *) 0;
00279 static int yy_init = 0;         /* whether we need to initialize */
00280 static int yy_start = 0;        /* start state number */
00281 
00282 /* Flag which is used to allow yywrap()'s to do buffer switches
00283  * instead of setting up a fresh yyin.  A bit of a hack ...
00284  */
00285 static int yy_did_buffer_switch_on_eof;
00286 
00287 void yyrestart (FILE *input_file  );
00288 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
00289 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
00290 void yy_delete_buffer (YY_BUFFER_STATE b  );
00291 void yy_flush_buffer (YY_BUFFER_STATE b  );
00292 void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
00293 void yypop_buffer_state (void );
00294 
00295 static void yyensure_buffer_stack (void );
00296 static void yy_load_buffer_state (void );
00297 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
00298 
00299 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
00300 
00301 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
00302 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
00303 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len  );
00304 
00305 void *yyalloc (yy_size_t  );
00306 void *yyrealloc (void *,yy_size_t  );
00307 void yyfree (void *  );
00308 
00309 #define yy_new_buffer yy_create_buffer
00310 
00311 #define yy_set_interactive(is_interactive) \
00312         { \
00313         if ( ! YY_CURRENT_BUFFER ){ \
00314         yyensure_buffer_stack (); \
00315                 YY_CURRENT_BUFFER_LVALUE =    \
00316             yy_create_buffer(yyin,YY_BUF_SIZE ); \
00317         } \
00318         YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
00319         }
00320 
00321 #define yy_set_bol(at_bol) \
00322         { \
00323         if ( ! YY_CURRENT_BUFFER ){\
00324         yyensure_buffer_stack (); \
00325                 YY_CURRENT_BUFFER_LVALUE =    \
00326             yy_create_buffer(yyin,YY_BUF_SIZE ); \
00327         } \
00328         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
00329         }
00330 
00331 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
00332 
00333 /* Begin user sect3 */
00334 
00335 typedef unsigned char YY_CHAR;
00336 
00337 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
00338 
00339 typedef int yy_state_type;
00340 
00341 extern int yylineno;
00342 
00343 int yylineno = 1;
00344 
00345 extern char *yytext;
00346 #define yytext_ptr yytext
00347 
00348 static yy_state_type yy_get_previous_state (void );
00349 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
00350 static int yy_get_next_buffer (void );
00351 static void yy_fatal_error (yyconst char msg[]  );
00352 
00353 /* Done after the current pattern has been matched and before the
00354  * corresponding action - sets up yytext.
00355  */
00356 #define YY_DO_BEFORE_ACTION \
00357         (yytext_ptr) = yy_bp; \
00358         yyleng = (size_t) (yy_cp - yy_bp); \
00359         (yy_hold_char) = *yy_cp; \
00360         *yy_cp = '\0'; \
00361         (yy_c_buf_p) = yy_cp;
00362 
00363 #define YY_NUM_RULES 120
00364 #define YY_END_OF_BUFFER 121
00365 /* This struct is not used in this scanner,
00366    but its presence is necessary. */
00367 struct yy_trans_info
00368         {
00369         flex_int32_t yy_verify;
00370         flex_int32_t yy_nxt;
00371         };
00372 static yyconst flex_int16_t yy_acclist[4249] =
00373     {   0,
00374        33,   33, 8193,16385,  121,  119,  120,  114,  119,  120,
00375       111,  120,  119,  120,  119,  120,   43,  119,  120,   43,
00376       119,  120,  118,  119,  120,  118,  119,  120,  118,  119,
00377       120,  118,  119,  120,  118,  119,  120,  118,  119,  120,
00378       118,  119,  120,  118,  119,  120,  118,  119,  120,  118,
00379       119,  120,  118,  119,  120,  118,  119,  120,  118,  119,
00380       120,  118,  119,  120,  118,  119,  120,  118,  119,  120,
00381       118,  119,  120,  118,  119,  120,  118,  119,  120,  114,
00382       119,  120,   37,  119,  120,   35,  119,  120,   35,  114,
00383       119,  120,   35,  119,  120,   35,  119,  120,   35,   43,
00384 
00385       119,  120,   35,   43,  119,  120,   35,  118,  119,  120,
00386        35,  118,  119,  120,   35,  118,  119,  120,   35,  118,
00387       119,  120,   35,  118,  119,  120,   35,  118,  119,  120,
00388        35,  118,  119,  120,   35,  118,  119,  120,   35,  118,
00389       119,  120,   35,  118,  119,  120,   35,  118,  119,  120,
00390        35,  118,  119,  120,   35,  118,  119,  120,   35,  118,
00391       119,  120,   35,  118,  119,  120,   35,  118,  119,  120,
00392        35,  118,  119,  120,   35,  118,  119,  120,   35,  118,
00393       119,  120,   35,  114,  119,  120,   35,   37,  119,  120,
00394       119,  120,  112,  114,  119,  120,   43,  117,  119,  120,
00395 
00396        43,  117,  119,  120,  117,  118,  119,  120,  117,  118,
00397       119,  120,  117,  118,  119,  120,  117,  118,  119,  120,
00398       117,  118,  119,  120,  117,  118,  119,  120,  117,  118,
00399       119,  120,  117,  118,  119,  120,  117,  118,  119,  120,
00400       117,  118,  119,  120,  117,  118,  119,  120,  117,  118,
00401       119,  120,  117,  118,  119,  120,  117,  118,  119,  120,
00402       117,  118,  119,  120,  117,  118,  119,  120,  117,  118,
00403       119,  120,  117,  118,  119,  120,  117,  118,  119,  120,
00404       117,  119,  120,  112,  114,  119,  120,  116,  119,  120,
00405       111,  116,  120,  116,  119,  120,   43,  116,  119,  120,
00406 
00407        43,  116,  119,  120,  116,  118,  119,  120,  116,  118,
00408       119,  120,  116,  118,  119,  120,  116,  118,  119,  120,
00409       116,  118,  119,  120,  116,  118,  119,  120,  116,  118,
00410       119,  120,  116,  118,  119,  120,  116,  118,  119,  120,
00411       116,  118,  119,  120,  116,  118,  119,  120,  116,  118,
00412       119,  120,  116,  118,  119,  120,  116,  118,  119,  120,
00413       116,  118,  119,  120,  116,  118,  119,  120,  116,  118,
00414       119,  120,  116,  118,  119,  120,  116,  118,  119,  120,
00415        32,  119,  120,   37,  116,  119,  120,   40,  114,  119,
00416       120,  119,  120,   40,  114,  119,  120,  119,  120,   37,
00417 
00418       119,  120,  113,  114,  119,  120,   36,  119,  120,   36,
00419        43,  119,  120,   36,   43,  119,  120,   36,  118,  119,
00420       120,   36,  118,  119,  120,   36,  118,  119,  120,   36,
00421       118,  119,  120,   36,  118,  119,  120,   36,  118,  119,
00422       120,   36,  118,  119,  120,   36,  118,  119,  120,   36,
00423       118,  119,  120,   36,  118,  119,  120,   36,  118,  119,
00424       120,   36,  118,  119,  120,   36,  118,  119,  120,   36,
00425       118,  119,  120,   36,  118,  119,  120,   36,  118,  119,
00426       120,   36,  118,  119,  120,   36,  118,  119,  120,   36,
00427       118,  119,  120,  113,  114,  119,  120,   31,  119,  120,
00428 
00429        33,  114,  119,  120,   33,  114,  119,  120,  120,  120,
00430      8193,  120,16385, 8193,  111,  120,  120,    2,  120,   30,
00431       120,   30,  120,   30,  120,   30,  120,   30,  120,   30,
00432       120,   30,  120,   30,  120,   30,  120,   30,  120,    3,
00433       120,    4,  120,    2,  120,    5,  120,   30,  120,   30,
00434       120,   30,  120,   30,  120,   30,  120,   30,  120,   30,
00435       120,   30,  120,   30,  120,   30,  120,   20,  120,   21,
00436       120,    2,  120,   22,  120,  120,   42,  120,   42,  120,
00437        42,  120,  114,  111,   43,  118,  118,  118,  118,  118,
00438       118,  118,  118,  118,  118,  118,  118,  118,  107,  118,
00439 
00440       118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
00441       118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
00442       114,   37,   37,   35,   35,  114,   35,   35,   43,   35,
00443        35,  118,   35,  118,   35,  118,   35,  118,   35,  118,
00444        35,  118,   35,  118,   35,  118,   35,  118,   35,  118,
00445        35,  118,   35,  118,   35,  118,   35,  107,  118,   35,
00446       118,   35,  118,   35,  118,   35,  118,   35,  118,   35,
00447       118,   35,  118,   35,  118,   35,  118,   35,  118,   35,
00448       118,   35,  118,   35,  118,   35,  118,   35,  118,   35,
00449       118,   35,  118,   35,  118,   35,  118,   35,  118,   35,
00450 
00451       114,   35,   37,   35,   37,  112,  114,   43,  117,  117,
00452       117,  117,  118,  117,  118,  117,  118,  117,  118,  117,
00453       118,  117,  118,  117,  118,  117,  118,  117,  118,  117,
00454       118,  117,  118,  117,  118,  117,  118,  107,  117,  118,
00455       117,  118,  117,  118,  117,  118,  117,  118,  117,  118,
00456       117,  118,  117,  118,  117,  118,  117,  118,  117,  118,
00457       117,  118,  117,  118,  117,  118,  117,  118,  117,  118,
00458       117,  118,  117,  118,  117,  118,  117,  118,  117,  118,
00459       112,  114,  116,  111,  116,   43,  116,  116,  116,  118,
00460       116,  118,  116,  118,  116,  118,  116,  118,  116,  118,
00461 
00462       116,  118,  116,  118,  116,  118,  116,  118,  116,  118,
00463       116,  118,  116,  118,  107,  116,  118,  116,  118,  116,
00464       118,  116,  118,  116,  118,  116,  118,  116,  118,  116,
00465       118,  116,  118,  116,  118,  116,  118,  116,  118,  116,
00466       118,  116,  118,  116,  118,  116,  118,  116,  118,  116,
00467       118,  116,  118,  116,  118,  116,  118,   37,  116,   40,
00468       114,   40,  114,   38,   37,   38,  113,  114,   36,   36,
00469        43,   36,   36,  118,   36,  118,   36,  118,   36,  118,
00470        36,  118,   36,  118,   36,  118,   36,  118,   36,  118,
00471        36,  118,   36,  118,   36,  118,   36,  118,   36,  107,
00472 
00473       118,   36,  118,   36,  118,   36,  118,   36,  118,   36,
00474       118,   36,  118,   36,  118,   36,  118,   36,  118,   36,
00475       118,   36,  118,   36,  118,   36,  118,   36,  118,   36,
00476       118,   36,  118,   36,  118,   36,  118,   36,  118,   36,
00477       118,  113,  114,   33,  114,   33,  114, 8193,16385, 8193,
00478      8193,  111,    2,   30,   30,   30,   30,   30,   30,   30,
00479        30,   30,   30,   30,    2,    5,    5,   30,   30,   30,
00480        30,   30,   30,   30,   30,   30,   30,    2,   22,   22,
00481        29,  115,  118,  118,   44,  118,  118,  118,  118,  118,
00482       118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
00483 
00484       118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
00485       118,   55,  118,  118,  118,  118,  118,  118,  118,  118,
00486       118,   35,  115,   35,   35,  118,   35,  118,   35,   44,
00487       118,   35,  118,   35,  118,   35,  118,   35,  118,   35,
00488       118,   35,  118,   35,  118,   35,  118,   35,  118,   35,
00489       118,   35,  118,   35,  118,   35,  118,   35,  118,   35,
00490       118,   35,  118,   35,  118,   35,  118,   35,  118,   35,
00491       118,   35,  118,   35,  118,   35,  118,   35,  118,   35,
00492       118,   35,   55,  118,   35,  118,   35,  118,   35,  118,
00493        35,  118,   35,  118,   35,  118,   35,  118,   35,  118,
00494 
00495        34,  115,  117,  117,  118,  117,  118,   44,  117,  118,
00496       117,  118,  117,  118,  117,  118,  117,  118,  117,  118,
00497       117,  118,  117,  118,  117,  118,  117,  118,  117,  118,
00498       117,  118,  117,  118,  117,  118,  117,  118,  117,  118,
00499       117,  118,  117,  118,  117,  118,  117,  118,  117,  118,
00500       117,  118,  117,  118,  117,  118,  117,  118,  117,  118,
00501        55,  117,  118,  117,  118,  117,  118,  117,  118,  117,
00502       118,  117,  118,  117,  118,  117,  118,  117,  118,  116,
00503       116,  118,  116,  118,   44,  116,  118,  116,  118,  116,
00504       118,  116,  118,  116,  118,  116,  118,  116,  118,  116,
00505 
00506       118,  116,  118,  116,  118,  116,  118,  116,  118,  116,
00507       118,  116,  118,  116,  118,  116,  118,  116,  118,  116,
00508       118,  116,  118,  116,  118,  116,  118,  116,  118,  116,
00509       118,  116,  118,  116,  118,  116,  118,   55,  116,  118,
00510       116,  118,  116,  118,  116,  118,  116,  118,  116,  118,
00511       116,  118,  116,  118,  116,  118,   39,   36,   36,  118,
00512        36,  118,   36,   44,  118,   36,  118,   36,  118,   36,
00513       118,   36,  118,   36,  118,   36,  118,   36,  118,   36,
00514       118,   36,  118,   36,  118,   36,  118,   36,  118,   36,
00515       118,   36,  118,   36,  118,   36,  118,   36,  118,   36,
00516 
00517       118,   36,  118,   36,  118,   36,  118,   36,  118,   36,
00518       118,   36,  118,   36,  118,   36,   55,  118,   36,  118,
00519        36,  118,   36,  118,   36,  118,   36,  118,   36,  118,
00520        36,  118,   36,  118,   30,   30,   30,   30,   30,   30,
00521        30,   30,   30,   30,   30,   30,   30,   14,   30,   30,
00522        30,   30,   30,   30,   30,  118,   62,  118,  118,   46,
00523       118,  118,  118,   83,  118,  118,  102,  118,  118,   85,
00524       118,  118,  118,   53,  118,  118,  118,  118,  118,  118,
00525        95,   96,   97,   98,   99,   45,  118,   67,  118,  118,
00526       118,  118,  118,   84,  118,   55,   55,  118,  118,  118,
00527 
00528       118,  118,  118,  118,  118,  118,   35,   35,  118,   35,
00529        62,  118,   35,   35,  118,   35,   46,  118,   35,  118,
00530        35,  118,   35,   83,  118,   35,  118,   35,   35,  102,
00531       118,   35,  118,   35,   85,  118,   35,  118,   35,  118,
00532        35,   53,  118,   35,  118,   35,   35,  118,   35,  118,
00533        35,  118,   35,   35,   35,  118,   35,   95,   35,   96,
00534        35,   97,   35,   98,   35,   99,   35,   45,  118,   35,
00535        35,   67,  118,   35,  118,   35,  118,   35,  118,   35,
00536       118,   35,   84,  118,   35,   55,   35,   55,  118,   35,
00537       118,   35,  118,   35,  118,   35,  118,   35,  118,   35,
00538 
00539       118,   35,  118,   35,  118,  117,  117,  118,   62,  117,
00540       118,  117,  117,  118,   46,  117,  118,  117,  118,  117,
00541       118,   83,  117,  118,  117,  118,  117,  102,  117,  118,
00542       117,  118,   85,  117,  118,  117,  118,  117,  118,   53,
00543       117,  118,  117,  118,  117,  117,  118,  117,  118,  117,
00544       118,  117,  117,  118,   95,  117,   96,  117,   97,  117,
00545        98,  117,   99,  117,   45,  117,  118,  117,   67,  117,
00546       118,  117,  118,  117,  118,  117,  118,  117,  118,   84,
00547       117,  118,   55,  117,   55,  117,  118,  117,  118,  117,
00548       118,  117,  118,  117,  118,  117,  118,  117,  118,  117,
00549 
00550       118,  117,  118,  116,  116,  118,   62,  116,  118,  116,
00551       116,  118,   46,  116,  118,  116,  118,  116,  118,   83,
00552       116,  118,  116,  118,  116,  102,  116,  118,  116,  118,
00553        85,  116,  118,  116,  118,  116,  118,   53,  116,  118,
00554       116,  118,  116,  116,  118,  116,  118,  116,  118,  116,
00555       116,  116,  118,   95,  116,   96,  116,   97,  116,   98,
00556       116,   99,  116,   45,  116,  118,  116,   67,  116,  118,
00557       116,  118,  116,  118,  116,  118,  116,  118,   84,  116,
00558       118,   55,  116,   55,  116,  118,  116,  118,  116,  118,
00559       116,  118,  116,  118,  116,  118,  116,  118,  116,  118,
00560 
00561       116,  118,   39,   36,   36,  118,   36,   62,  118,   36,
00562        36,  118,   36,   46,  118,   36,  118,   36,  118,   36,
00563        83,  118,   36,  118,   36,   36,  102,  118,   36,  118,
00564        36,   85,  118,   36,  118,   36,  118,   36,   53,  118,
00565        36,  118,   36,   36,  118,   36,  118,   36,  118,   36,
00566        36,   36,  118,   36,   95,   36,   96,   36,   97,   36,
00567        98,   36,   99,   36,   45,  118,   36,   36,   67,  118,
00568        36,  118,   36,  118,   36,  118,   36,  118,   36,   84,
00569       118,   36,   55,   36,   55,  118,   36,  118,   36,  118,
00570        36,  118,   36,  118,   36,  118,   36,  118,   36,  118,
00571 
00572        36,  118,   30,   16,   30,    9,   30,   30,   30,   30,
00573        30,   30,   30,   30,   11,   30,   10,   30,   30,   30,
00574        30,   30,   30,   30,   30,  118,  118,  118,  118,  118,
00575       104,  118,  118,  118,  118,  118,  118,  118,  118,  118,
00576       118,  118,  118,  118,  118,  118,  103,  118,  118,  118,
00577       118,  110,  118,  118,  118,  118,   35,   35,  118,   35,
00578        35,   35,  118,   35,  118,   35,  118,   35,  118,   35,
00579       104,  118,   35,  118,   35,  118,   35,   35,   35,  118,
00580        35,   35,  118,   35,  118,   35,  118,   35,   35,  118,
00581        35,  118,   35,  118,   35,   35,   35,  118,   35,   35,
00582 
00583        35,   35,  118,   35,  118,   35,  118,   35,  118,   35,
00584       103,  118,   35,  118,   35,  118,   35,  118,   35,  110,
00585       118,   35,  118,   35,  118,   35,  118,  117,  117,  118,
00586       117,  117,  117,  118,  117,  118,  117,  118,  117,  118,
00587       104,  117,  118,  117,  118,  117,  118,  117,  117,  117,
00588       118,  117,  117,  118,  117,  118,  117,  118,  117,  117,
00589       118,  117,  118,  117,  118,  117,  117,  118,  117,  117,
00590       117,  117,  118,  117,  118,  117,  118,  117,  118,  103,
00591       117,  118,  117,  118,  117,  118,  117,  118,  110,  117,
00592       118,  117,  118,  117,  118,  117,  118,  116,  116,  118,
00593 
00594       116,  116,  116,  118,  116,  118,  116,  118,  116,  118,
00595       104,  116,  118,  116,  118,  116,  118,  116,  116,  116,
00596       118,  116,  116,  118,  116,  118,  116,  118,  116,  116,
00597       118,  116,  118,  116,  118,  116,  116,  116,  118,  116,
00598       116,  116,  116,  118,  116,  118,  116,  118,  116,  118,
00599       103,  116,  118,  116,  118,  116,  118,  116,  118,  110,
00600       116,  118,  116,  118,  116,  118,  116,  118,   36,   36,
00601       118,   36,   36,   36,  118,   36,  118,   36,  118,   36,
00602       118,   36,  104,  118,   36,  118,   36,  118,   36,   36,
00603        36,  118,   36,   36,  118,   36,  118,   36,  118,   36,
00604 
00605        36,  118,   36,  118,   36,  118,   36,   36,   36,  118,
00606        36,   36,   36,   36,  118,   36,  118,   36,  118,   36,
00607       118,   36,  103,  118,   36,  118,   36,  118,   36,  118,
00608        36,  110,  118,   36,  118,   36,  118,   36,  118,   30,
00609        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
00610        30,   30,   30,   68,   54,  118,  118,  118,  118,  118,
00611       118,  118,  118,  108,  118,  118,  118,   75,  118,  118,
00612        66,  118,   51,  118,  118,  118,  118,   81,  118,  118,
00613       118,  118,  118,   35,   68,   35,   54,  118,   35,   35,
00614        35,   35,  118,   35,  118,   35,  118,   35,  118,   35,
00615 
00616       118,   35,  118,   35,  118,   35,  108,   35,   35,  118,
00617        35,   35,  118,   35,   35,   35,   35,  118,   35,   75,
00618       118,   35,  118,   35,   35,   35,   35,   35,   35,   35,
00619        66,  118,   35,   51,  118,   35,   35,  118,   35,   35,
00620       118,   35,  118,   35,   81,  118,   35,  118,   35,  118,
00621        35,  118,   35,  118,   68,  117,   54,  117,  118,  117,
00622       117,  117,  117,  118,  117,  118,  117,  118,  117,  118,
00623       117,  118,  117,  118,  117,  118,  108,  117,  117,  117,
00624       118,  117,  117,  118,  117,  117,  117,  117,  118,   75,
00625       117,  118,  117,  118,  117,  117,  117,  117,  117,   66,
00626 
00627       117,  118,   51,  117,  118,  117,  117,  118,  117,  118,
00628       117,  118,   81,  117,  118,  117,  118,  117,  118,  117,
00629       118,  117,  118,   68,  116,   54,  116,  118,  116,  116,
00630       116,  116,  118,  116,  118,  116,  118,  116,  118,  116,
00631       118,  116,  118,  116,  118,  108,  116,  116,  116,  118,
00632       116,  116,  118,  116,  116,  116,  116,  118,   75,  116,
00633       118,  116,  118,  116,  116,  116,  116,  116,  116,   66,
00634       116,  118,   51,  116,  118,  116,  116,  118,  116,  116,
00635       118,  116,  118,   81,  116,  118,  116,  118,  116,  118,
00636       116,  118,  116,  118,   36,   68,   36,   54,  118,   36,
00637 
00638        36,   36,   36,  118,   36,  118,   36,  118,   36,  118,
00639        36,  118,   36,  118,   36,  118,   36,  108,   36,   36,
00640       118,   36,   36,  118,   36,   36,   36,   36,  118,   36,
00641        75,  118,   36,  118,   36,   36,   36,   36,   36,   36,
00642        36,   66,  118,   36,   51,  118,   36,   36,  118,   36,
00643        36,  118,   36,  118,   36,   81,  118,   36,  118,   36,
00644       118,   36,  118,   36,  118,   19,   30,    6,   30,   30,
00645        30,   30,   30,   30,   13,   30,   30,   30,   30,   30,
00646        30,   30,  118,  118,  118,  118,   48,  118,  118,  101,
00647       118,   78,  118,  118,  118,  118,  118,   80,  118,  118,
00648 
00649       118,  118,  118,   35,   35,   35,   35,  118,   35,  118,
00650        35,  118,   35,  118,   35,   48,  118,   35,   35,  118,
00651        35,  101,  118,   35,   35,   78,  118,   35,   35,  118,
00652        35,   35,   35,   35,   35,  118,   35,  118,   35,   35,
00653        35,   35,   35,   35,   35,   35,  118,   35,   35,   80,
00654       118,   35,  118,   35,  118,   35,  118,   35,   35,  118,
00655       117,  117,  117,  117,  118,  117,  118,  117,  118,  117,
00656       118,   48,  117,  118,  117,  117,  118,  101,  117,  118,
00657       117,   78,  117,  118,  117,  117,  118,  117,  117,  117,
00658       117,  117,  118,  117,  118,  117,  117,  117,  117,  117,
00659 
00660       117,  117,  118,   80,  117,  118,  117,  118,  117,  118,
00661       117,  118,  117,  117,  118,  116,  116,  116,  116,  118,
00662       116,  118,  116,  118,  116,  118,   48,  116,  118,  116,
00663       116,  118,  101,  116,  118,  116,   78,  116,  118,  116,
00664       116,  118,  116,  116,  116,  116,  116,  118,  116,  118,
00665       116,  116,  116,  116,  116,  116,  116,  116,  118,  116,
00666        80,  116,  118,  116,  118,  116,  118,  116,  118,  116,
00667       116,  118,   36,   36,   36,   36,  118,   36,  118,   36,
00668       118,   36,  118,   36,   48,  118,   36,   36,  118,   36,
00669       101,  118,   36,   36,   78,  118,   36,   36,  118,   36,
00670 
00671        36,   36,   36,   36,  118,   36,  118,   36,   36,   36,
00672        36,   36,   36,   36,   36,  118,   36,   36,   80,  118,
00673        36,  118,   36,  118,   36,  118,   36,   36,  118,   30,
00674        18,   30,   30,   30,   30,   30,   30,  118,  118,  118,
00675        47,  118,  118,  118,  118,  109,  118,  118,  105,  118,
00676        79,  118,   52,  118,   61,  118,  118,   35,   35,   35,
00677        35,  118,   35,  118,   35,  118,   35,   47,  118,   35,
00678        35,   35,   35,  118,   35,  118,   35,  118,   35,  109,
00679        35,   35,   35,  118,   35,   35,   35,   35,   35,  118,
00680        35,  105,  118,   35,   35,   35,   35,   35,   35,   35,
00681 
00682        35,   35,   35,   79,  118,   35,   52,  118,   35,   61,
00683       118,   35,   35,  118,  117,  117,  117,  117,  118,  117,
00684       118,  117,  118,   47,  117,  118,  117,  117,  117,  117,
00685       118,  117,  118,  117,  118,  109,  117,  117,  117,  117,
00686       118,  117,  117,  117,  117,  117,  118,  105,  117,  118,
00687       117,  117,  117,  117,  117,  117,  117,   79,  117,  118,
00688        52,  117,  118,   61,  117,  118,  117,  117,  118,  116,
00689       116,  116,  116,  118,  116,  118,  116,  118,   47,  116,
00690       118,  116,  116,  116,  116,  118,  116,  118,  116,  118,
00691       109,  116,  116,  116,  116,  118,  116,  116,  116,  116,
00692 
00693       116,  118,  105,  116,  118,  116,  116,  116,  116,  116,
00694       116,  116,  116,  116,   79,  116,  118,   52,  116,  118,
00695        61,  116,  118,  116,  116,  118,   36,   36,   36,   36,
00696       118,   36,  118,   36,  118,   36,   47,  118,   36,   36,
00697        36,   36,  118,   36,  118,   36,  118,   36,  109,   36,
00698        36,   36,  118,   36,   36,   36,   36,   36,  118,   36,
00699       105,  118,   36,   36,   36,   36,   36,   36,   36,   36,
00700        36,   36,   79,  118,   36,   52,  118,   36,   61,  118,
00701        36,   36,  118,   12,   30,   30,   30,   30,   30,  118,
00702       118,  118,  118,  118,  118,  118,  118,   65,   50,  118,
00703 
00704        35,   35,   35,   35,  118,   35,  118,   35,  118,   35,
00705        35,   35,   35,   35,  118,   35,  118,   35,  118,   35,
00706       118,   35,   35,   35,   35,   35,   35,   35,   35,  118,
00707        35,   35,   35,   35,   35,   65,   35,   35,   35,   35,
00708        35,   35,   50,  118,  117,  117,  117,  117,  118,  117,
00709       118,  117,  118,  117,  117,  117,  117,  117,  118,  117,
00710       118,  117,  118,  117,  118,  117,  117,  117,  117,  117,
00711       117,  117,  117,  118,  117,  117,  117,   65,  117,  117,
00712       117,  117,  117,   50,  117,  118,  116,  116,  116,  116,
00713       118,  116,  118,  116,  118,  116,  116,  116,  116,  116,
00714 
00715       118,  116,  118,  116,  118,  116,  118,  116,  116,  116,
00716       116,  116,  116,  116,  116,  118,  116,  116,  116,  116,
00717        65,  116,  116,  116,  116,  116,  116,   50,  116,  118,
00718        36,   36,   36,   36,  118,   36,  118,   36,  118,   36,
00719        36,   36,   36,   36,  118,   36,  118,   36,  118,   36,
00720       118,   36,   36,   36,   36,   36,   36,   36,   36,  118,
00721        36,   36,   36,   36,   36,   65,   36,   36,   36,   36,
00722        36,   36,   50,  118,   30,   30,   30,   94,  118,  118,
00723        94,  118,  118,  118,  118,  118,   77,   60,  118,   56,
00724        57,   64,   35,   35,   35,   94,   35,  118,   35,  118,
00725 
00726        35,   94,  118,   35,   35,   35,   35,   35,  118,   35,
00727       118,   35,  118,   35,  118,   35,   35,   35,   35,   35,
00728        35,   35,   77,   35,   60,  118,   35,   56,   35,   57,
00729        35,   35,   35,   64,   35,   35,   35,   35,   35,  117,
00730       117,   94,  117,  117,  118,  117,  118,   94,  117,  118,
00731       117,  117,  117,  117,  117,  118,  117,  118,  117,  118,
00732       117,  118,  117,  117,  117,  117,  117,  117,   77,  117,
00733        60,  117,  118,   57,  117,  117,  117,   64,  117,  117,
00734       117,  117,  117,  116,  116,   94,  116,  116,  118,  116,
00735       118,   94,  116,  118,  116,  116,  116,  116,  116,  118,
00736 
00737       116,  118,  116,  118,  116,  118,  116,  116,  116,  116,
00738       116,  116,   77,  116,   60,  116,  118,   56,  116,   57,
00739       116,  116,  116,   64,  116,  116,  116,  116,  116,  116,
00740        36,   36,   36,   94,   36,  118,   36,  118,   36,   94,
00741       118,   36,   36,   36,   36,   36,  118,   36,  118,   36,
00742       118,   36,  118,   36,   36,   36,   36,   36,   36,   36,
00743        77,   36,   60,  118,   36,   56,   36,   57,   36,   36,
00744        36,   64,   36,   36,   36,   36,   36,   23,   30,   24,
00745        30,   92,   92,  118,  118,  118,  118,  118,  118,   86,
00746       100,   82,  106,   35,   92,   35,   35,   92,  118,   35,
00747 
00748       118,   35,   35,   35,   35,   35,  118,   35,  118,   35,
00749       118,   35,  118,   35,   35,   86,   35,   35,   35,   35,
00750        35,   35,  100,   35,   35,   35,   82,   35,  106,   35,
00751        35,   35,   92,  117,  117,   92,  117,  118,  117,  118,
00752       117,  117,  117,  117,  117,  118,  117,  118,  117,  118,
00753       117,  118,  117,   86,  117,  117,  117,  117,  117,  117,
00754       100,  117,  117,  117,  106,  117,  117,  117,  117,   92,
00755       116,  116,   92,  116,  118,  116,  118,  116,  116,  116,
00756       116,  116,  118,  116,  118,  116,  118,  116,  118,  116,
00757        86,  116,  116,  116,  116,  116,  116,  100,  116,  116,
00758 
00759       116,   82,  116,  106,  116,  116,  116,  116,   36,   92,
00760        36,   36,   92,  118,   36,  118,   36,   36,   36,   36,
00761        36,  118,   36,  118,   36,  118,   36,  118,   36,   36,
00762        86,   36,   36,   36,   36,   36,   36,  100,   36,   36,
00763        36,   82,   36,  106,   36,   36,   36,    8,    7,  118,
00764       118,  118,  118,  118,   35,   35,  118,   35,   35,   35,
00765        35,   35,  118,   35,  118,   35,  118,   35,  118,   35,
00766        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
00767       117,  117,  118,  117,  117,  117,  117,  117,  118,  117,
00768       118,  117,  118,  117,  118,  117,  117,  117,  117,  117,
00769 
00770       117,  117,  117,  117,  117,  117,  116,  116,  118,  116,
00771       116,  116,  116,  116,  118,  116,  118,  116,  118,  116,
00772       118,  116,  116,  116,  116,  116,  116,  116,  116,  116,
00773       116,  116,   36,   36,  118,   36,   36,   36,   36,   36,
00774       118,   36,  118,   36,  118,   36,  118,   36,   36,   36,
00775        36,   36,   36,   36,   36,   36,   36,   36,   93,   93,
00776       118,   91,  118,  118,  118,   91,  118,   58,   73,   35,
00777        93,   35,   93,  118,   35,   35,   35,   35,   91,   35,
00778       118,   35,  118,   35,  118,   35,   91,  118,   35,   35,
00779        35,   35,   35,   35,   35,   35,   58,   35,   35,   73,
00780 
00781        35,   93,  117,   93,  117,  118,  117,  117,  117,   91,
00782       117,  117,  118,  117,  118,  117,  118,   91,  117,  118,
00783       117,  117,  117,  117,  117,  117,  117,   58,  117,  117,
00784        73,  117,  117,   93,  116,   93,  116,  118,  116,  116,
00785       116,   91,  116,  116,  118,  116,  118,  116,  118,   91,
00786       116,  118,  116,  116,  116,  116,  116,  116,  116,   58,
00787       116,  116,   73,  116,  116,   36,   93,   36,   93,  118,
00788        36,   36,   36,   36,   91,   36,  118,   36,  118,   36,
00789       118,   36,   91,  118,   36,   36,   36,   36,   36,   36,
00790        36,   36,   58,   36,   36,   73,   36,   88,  118,   88,
00791 
00792       118,  118,   71,   35,   35,   88,   35,   35,  118,   35,
00793        88,  118,   35,  118,   35,   35,   35,   35,   35,   71,
00794        35,   35,   35,   35,  117,   88,  117,  117,  117,  118,
00795        88,  117,  118,  117,  118,  117,  117,  117,  117,   71,
00796       117,  117,  117,  117,  117,  116,   88,  116,  116,  116,
00797       118,   88,  116,  118,  116,  118,  116,  116,  116,  116,
00798        71,  116,  116,  116,  116,  116,   36,   36,   88,   36,
00799        36,  118,   36,   88,  118,   36,  118,   36,   36,   36,
00800        36,   36,   71,   36,   36,   36,   36,   15,  118,  118,
00801        35,   35,   35,   35,  118,   35,  118,   35,   35,   35,
00802 
00803        35,   35,   35,   35,   35,  117,  117,  117,  117,  118,
00804       117,  118,  117,  117,  117,  117,  117,  117,  117,  117,
00805       116,  116,  116,  116,  118,  116,  118,  116,  116,  116,
00806       116,  116,  116,  116,  116,   36,   36,   36,   36,  118,
00807        36,  118,   36,   36,   36,   36,   36,   36,   36,   36,
00808        41,   90,  118,   90,  118,   76,   63,   35,   35,   35,
00809        90,   35,  118,   35,   90,  118,   35,   35,   35,   35,
00810        35,   76,   35,   35,   35,   63,  117,  117,   90,  117,
00811       117,  118,   90,  117,  118,  117,  117,  117,  117,   76,
00812       117,  117,  117,   63,  117,  116,  116,   90,  116,  116,
00813 
00814       118,   90,  116,  118,  116,  116,  116,  116,   76,  116,
00815       116,  116,   63,  116,   36,   36,   36,   90,   36,  118,
00816        36,   90,  118,   36,   36,   36,   36,   36,   76,   36,
00817        36,   36,   63,   26,   28,   87,   87,  118,   49,   35,
00818        87,   35,   35,   87,  118,   35,   35,   49,   35,   35,
00819        35,   35,   87,  117,  117,   87,  117,  118,  117,   49,
00820       117,  117,  117,  117,  117,   87,  116,  116,   87,  116,
00821       118,  116,   49,  116,  116,  116,  116,  116,   36,   87,
00822        36,   36,   87,  118,   36,   36,   49,   36,   36,   36,
00823        36,   17,   25,   35,   35,   35,   35,   35,   35,  117,
00824 
00825       117,  117,  117,  117,  117,  116,  116,  116,  116,  116,
00826       116,   36,   36,   36,   36,   36,   36,   27,   59,   69,
00827        35,   35,   59,   35,   69,   35,   35,   35,  117,   59,
00828       117,   69,  117,  117,  117,  117,  116,   59,  116,   69,
00829       116,  116,  116,  116,   36,   36,   59,   36,   69,   36,
00830        36,   36,   70,   35,   35,   70,   35,   35,  117,   70,
00831       117,  117,  117,  116,   70,  116,  116,  116,   36,   36,
00832        70,   36,   36,   35,   35,   35,  117,  117,  117,  116,
00833       116,  116,   36,   36,   36,   35,   35,   35,  117,  117,
00834       117,  116,  116,  116,   36,   36,   36,   89,   74,   35,
00835 
00836        89,   35,   74,   35,   89,  117,   74,  117,  117,   89,
00837       116,   74,  116,  116,   36,   89,   36,   74,   36,   35,
00838       117,  116,   36,   35,  117,  116,   36,   35,  117,  116,
00839        36,   35,  117,  116,   36,   35,  117,  116,   36,   72,
00840        35,   72,   72,  117,   72,  116,   36,   72
00841     } ;
00842 
00843 static yyconst flex_int16_t yy_accept[2890] =
00844     {   0,
00845         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00846         1,    1,    1,    1,    1,    1,    1,    1,    1,    2,
00847         3,    3,    5,    5,    5,    5,    5,    5,    5,    5,
00848         5,    5,    5,    5,    5,    6,    8,   11,   13,   15,
00849        17,   20,   23,   26,   29,   32,   35,   38,   41,   44,
00850        47,   50,   53,   56,   59,   62,   65,   68,   71,   74,
00851        77,   80,   83,   86,   89,   93,   96,   99,  103,  107,
00852       111,  115,  119,  123,  127,  131,  135,  139,  143,  147,
00853       151,  155,  159,  163,  167,  171,  175,  179,  183,  187,
00854       191,  193,  197,  201,  205,  209,  213,  217,  221,  225,
00855 
00856       229,  233,  237,  241,  245,  249,  253,  257,  261,  265,
00857       269,  273,  277,  281,  284,  288,  291,  294,  297,  301,
00858       305,  309,  313,  317,  321,  325,  329,  333,  337,  341,
00859       345,  349,  353,  357,  361,  365,  369,  373,  377,  381,
00860       384,  388,  392,  394,  398,  400,  403,  407,  410,  414,
00861       418,  422,  426,  430,  434,  438,  442,  446,  450,  454,
00862       458,  462,  466,  470,  474,  478,  482,  486,  490,  494,
00863       498,  501,  505,  509,  510,  511,  514,  517,  518,  520,
00864       522,  524,  526,  528,  530,  532,  534,  536,  538,  540,
00865       542,  544,  546,  548,  550,  552,  554,  556,  558,  560,
00866 
00867       562,  564,  566,  568,  570,  572,  574,  576,  577,  579,
00868       581,  583,  584,  585,  585,  586,  586,  587,  588,  589,
00869       590,  591,  592,  593,  594,  595,  596,  597,  598,  599,
00870       601,  602,  603,  604,  605,  606,  607,  608,  609,  610,
00871       611,  612,  613,  614,  615,  616,  617,  618,  619,  620,
00872       621,  622,  623,  624,  625,  627,  628,  630,  631,  633,
00873       635,  637,  639,  641,  643,  645,  647,  649,  651,  653,
00874       655,  657,  660,  662,  664,  666,  668,  670,  672,  674,
00875       676,  678,  680,  682,  684,  686,  688,  690,  692,  694,
00876       696,  698,  700,  702,  704,  706,  706,  708,  710,  711,
00877 
00878       712,  714,  716,  718,  720,  722,  724,  726,  728,  730,
00879       732,  734,  736,  738,  741,  743,  745,  747,  749,  751,
00880       753,  755,  757,  759,  761,  763,  765,  767,  769,  771,
00881       773,  775,  777,  779,  781,  783,  784,  786,  788,  789,
00882       791,  793,  795,  797,  799,  801,  803,  805,  807,  809,
00883       811,  813,  815,  818,  820,  822,  824,  826,  828,  830,
00884       832,  834,  836,  838,  840,  842,  844,  846,  848,  850,
00885       852,  854,  856,  858,  860,  862,  862,  862,  864,  865,
00886       867,  869,  870,  872,  873,  875,  877,  879,  881,  883,
00887       885,  887,  889,  891,  893,  895,  897,  899,  902,  904,
00888 
00889       906,  908,  910,  912,  914,  916,  918,  920,  922,  924,
00890       926,  928,  930,  932,  934,  936,  938,  940,  942,  944,
00891       946,  948,  950,  951,  951,  953,  954,  955,  956,  957,
00892       958,  959,  960,  961,  962,  963,  964,  965,  966,  967,
00893       968,  969,  970,  971,  972,  973,  974,  975,  976,  977,
00894       978,  979,  980,  981,  982,  982,  983,  983,  984,  985,
00895       987,  988,  989,  990,  991,  992,  993,  994,  995,  996,
00896       997,  998,  999, 1000, 1001, 1002, 1003, 1004, 1005, 1006,
00897      1007, 1008, 1009, 1010, 1011, 1012, 1014, 1015, 1016, 1017,
00898      1018, 1019, 1020, 1021, 1022, 1024, 1025, 1027, 1029, 1032,
00899 
00900      1034, 1036, 1038, 1040, 1042, 1044, 1046, 1048, 1050, 1052,
00901      1054, 1056, 1058, 1060, 1062, 1064, 1066, 1068, 1070, 1072,
00902      1074, 1076, 1078, 1080, 1082, 1085, 1087, 1089, 1091, 1093,
00903      1095, 1097, 1099, 1101, 1103, 1104, 1106, 1108, 1111, 1113,
00904      1115, 1117, 1119, 1121, 1123, 1125, 1127, 1129, 1131, 1133,
00905      1135, 1137, 1139, 1141, 1143, 1145, 1147, 1149, 1151, 1153,
00906      1155, 1157, 1159, 1161, 1164, 1166, 1168, 1170, 1172, 1174,
00907      1176, 1178, 1180, 1181, 1183, 1185, 1188, 1190, 1192, 1194,
00908      1196, 1198, 1200, 1202, 1204, 1206, 1208, 1210, 1212, 1214,
00909      1216, 1218, 1220, 1222, 1224, 1226, 1228, 1230, 1232, 1234,
00910 
00911      1236, 1238, 1241, 1243, 1245, 1247, 1249, 1251, 1253, 1255,
00912      1257, 1258, 1259, 1261, 1263, 1266, 1268, 1270, 1272, 1274,
00913      1276, 1278, 1280, 1282, 1284, 1286, 1288, 1290, 1292, 1294,
00914      1296, 1298, 1300, 1302, 1304, 1306, 1308, 1310, 1312, 1314,
00915      1316, 1319, 1321, 1323, 1325, 1327, 1329, 1331, 1333, 1335,
00916      1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345,
00917      1346, 1347, 1348, 1350, 1351, 1352, 1353, 1354, 1355, 1356,
00918      1356, 1356, 1357, 1359, 1359, 1360, 1362, 1363, 1364, 1366,
00919      1367, 1367, 1369, 1370, 1372, 1373, 1374, 1376, 1377, 1377,
00920      1378, 1379, 1380, 1380, 1380, 1381, 1382, 1383, 1384, 1385,
00921 
00922      1386, 1388, 1388, 1390, 1391, 1392, 1393, 1394, 1396, 1397,
00923      1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408,
00924      1410, 1413, 1414, 1416, 1419, 1421, 1423, 1426, 1428, 1429,
00925      1432, 1434, 1437, 1439, 1441, 1444, 1446, 1447, 1449, 1451,
00926      1453, 1454, 1455, 1457, 1459, 1461, 1463, 1465, 1467, 1470,
00927      1471, 1474, 1476, 1478, 1480, 1482, 1485, 1487, 1490, 1492,
00928      1494, 1496, 1498, 1500, 1502, 1504, 1506, 1507, 1509, 1512,
00929      1513, 1515, 1518, 1520, 1522, 1525, 1527, 1528, 1531, 1533,
00930      1536, 1538, 1540, 1543, 1545, 1546, 1548, 1550, 1552, 1553,
00931      1555, 1557, 1559, 1561, 1563, 1565, 1568, 1569, 1572, 1574,
00932 
00933      1576, 1578, 1580, 1583, 1585, 1588, 1590, 1592, 1594, 1596,
00934      1598, 1600, 1602, 1604, 1605, 1607, 1610, 1611, 1613, 1616,
00935      1618, 1620, 1623, 1625, 1626, 1629, 1631, 1634, 1636, 1638,
00936      1641, 1643, 1644, 1646, 1648, 1650, 1651, 1652, 1654, 1656,
00937      1658, 1660, 1662, 1664, 1667, 1668, 1671, 1673, 1675, 1677,
00938      1679, 1682, 1684, 1687, 1689, 1691, 1693, 1695, 1697, 1699,
00939      1701, 1703, 1704, 1705, 1707, 1710, 1711, 1713, 1716, 1718,
00940      1720, 1723, 1725, 1726, 1729, 1731, 1734, 1736, 1738, 1741,
00941      1743, 1744, 1746, 1748, 1750, 1751, 1752, 1754, 1756, 1758,
00942      1760, 1762, 1764, 1767, 1768, 1771, 1773, 1775, 1777, 1779,
00943 
00944      1782, 1784, 1787, 1789, 1791, 1793, 1795, 1797, 1799, 1801,
00945      1803, 1804, 1806, 1808, 1809, 1810, 1811, 1812, 1813, 1814,
00946      1815, 1817, 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826,
00947      1826, 1826, 1827, 1827, 1827, 1828, 1829, 1830, 1831, 1833,
00948      1834, 1835, 1835, 1835, 1836, 1836, 1837, 1838, 1839, 1839,
00949      1840, 1841, 1842, 1842, 1842, 1843, 1843, 1843, 1843, 1844,
00950      1845, 1846, 1847, 1849, 1850, 1851, 1852, 1854, 1855, 1856,
00951      1857, 1858, 1860, 1861, 1862, 1864, 1866, 1868, 1870, 1873,
00952      1875, 1877, 1878, 1879, 1881, 1882, 1884, 1886, 1888, 1889,
00953      1891, 1893, 1895, 1896, 1897, 1899, 1900, 1901, 1902, 1904,
00954 
00955      1906, 1908, 1910, 1913, 1915, 1917, 1919, 1922, 1924, 1926,
00956      1928, 1929, 1931, 1932, 1933, 1935, 1937, 1939, 1941, 1944,
00957      1946, 1948, 1949, 1950, 1952, 1953, 1955, 1957, 1959, 1960,
00958      1962, 1964, 1966, 1967, 1969, 1970, 1971, 1972, 1974, 1976,
00959      1978, 1980, 1983, 1985, 1987, 1989, 1992, 1994, 1996, 1998,
00960      1999, 2001, 2002, 2003, 2005, 2007, 2009, 2011, 2014, 2016,
00961      2018, 2019, 2020, 2022, 2023, 2025, 2027, 2029, 2030, 2032,
00962      2034, 2036, 2037, 2038, 2040, 2041, 2042, 2043, 2045, 2047,
00963      2049, 2051, 2054, 2056, 2058, 2060, 2063, 2065, 2067, 2069,
00964      2070, 2072, 2073, 2074, 2076, 2078, 2080, 2082, 2085, 2087,
00965 
00966      2089, 2090, 2091, 2093, 2094, 2096, 2098, 2100, 2101, 2103,
00967      2105, 2107, 2108, 2109, 2111, 2112, 2113, 2114, 2116, 2118,
00968      2120, 2122, 2125, 2127, 2129, 2131, 2134, 2136, 2138, 2140,
00969      2141, 2142, 2143, 2144, 2145, 2145, 2146, 2147, 2148, 2149,
00970      2150, 2151, 2152, 2153, 2154, 2154, 2155, 2157, 2157, 2157,
00971      2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2165,
00972      2166, 2166, 2167, 2167, 2167, 2167, 2168, 2170, 2171, 2171,
00973      2171, 2171, 2171, 2171, 2171, 2173, 2175, 2175, 2176, 2176,
00974      2177, 2178, 2180, 2181, 2182, 2183, 2184, 2186, 2189, 2190,
00975      2191, 2192, 2194, 2196, 2198, 2200, 2202, 2204, 2206, 2208,
00976 
00977      2209, 2211, 2212, 2214, 2215, 2216, 2217, 2219, 2222, 2224,
00978      2225, 2226, 2227, 2228, 2229, 2230, 2233, 2236, 2237, 2239,
00979      2240, 2242, 2244, 2247, 2249, 2251, 2253, 2255, 2257, 2260,
00980      2261, 2262, 2263, 2265, 2267, 2269, 2271, 2273, 2275, 2277,
00981      2279, 2280, 2282, 2283, 2285, 2286, 2287, 2288, 2290, 2293,
00982      2295, 2296, 2297, 2298, 2299, 2300, 2303, 2306, 2307, 2309,
00983      2311, 2313, 2316, 2318, 2320, 2322, 2324, 2326, 2329, 2330,
00984      2331, 2332, 2334, 2336, 2338, 2340, 2342, 2344, 2346, 2348,
00985      2349, 2351, 2352, 2354, 2355, 2356, 2357, 2359, 2362, 2364,
00986      2365, 2366, 2367, 2368, 2369, 2370, 2373, 2376, 2377, 2379,
00987 
00988      2380, 2382, 2384, 2387, 2389, 2391, 2393, 2395, 2397, 2400,
00989      2401, 2402, 2403, 2405, 2407, 2409, 2411, 2413, 2415, 2417,
00990      2419, 2420, 2422, 2423, 2425, 2426, 2427, 2428, 2430, 2433,
00991      2435, 2436, 2437, 2438, 2439, 2440, 2441, 2444, 2447, 2448,
00992      2450, 2451, 2453, 2455, 2458, 2460, 2462, 2464, 2466, 2468,
00993      2470, 2471, 2472, 2473, 2473, 2474, 2475, 2477, 2478, 2479,
00994      2480, 2481, 2482, 2483, 2483, 2483, 2483, 2483, 2484, 2485,
00995      2486, 2487, 2489, 2489, 2490, 2492, 2492, 2494, 2494, 2495,
00996      2495, 2495, 2495, 2495, 2496, 2497, 2497, 2497, 2497, 2497,
00997      2497, 2497, 2497, 2498, 2498, 2500, 2501, 2502, 2503, 2503,
00998 
00999      2504, 2505, 2506, 2507, 2509, 2511, 2513, 2515, 2518, 2519,
01000      2521, 2524, 2525, 2528, 2529, 2531, 2532, 2533, 2534, 2535,
01001      2537, 2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 2548,
01002      2549, 2552, 2554, 2556, 2558, 2559, 2561, 2562, 2563, 2564,
01003      2566, 2568, 2570, 2572, 2575, 2576, 2578, 2581, 2582, 2585,
01004      2586, 2588, 2589, 2590, 2591, 2592, 2594, 2596, 2597, 2598,
01005      2599, 2600, 2601, 2602, 2604, 2607, 2609, 2611, 2613, 2614,
01006      2616, 2617, 2618, 2619, 2621, 2623, 2625, 2627, 2630, 2631,
01007      2633, 2636, 2637, 2640, 2641, 2643, 2644, 2645, 2646, 2647,
01008      2649, 2651, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2660,
01009 
01010      2661, 2664, 2666, 2668, 2670, 2671, 2673, 2674, 2675, 2676,
01011      2678, 2680, 2682, 2684, 2687, 2688, 2690, 2693, 2694, 2697,
01012      2698, 2700, 2701, 2702, 2703, 2704, 2706, 2708, 2709, 2710,
01013      2711, 2712, 2713, 2714, 2715, 2717, 2718, 2721, 2723, 2725,
01014      2727, 2728, 2730, 2731, 2731, 2731, 2731, 2733, 2734, 2734,
01015      2735, 2736, 2737, 2738, 2738, 2738, 2738, 2738, 2738, 2739,
01016      2740, 2741, 2743, 2743, 2743, 2743, 2744, 2745, 2746, 2747,
01017      2747, 2747, 2748, 2748, 2748, 2748, 2748, 2749, 2751, 2751,
01018      2751, 2751, 2751, 2751, 2751, 2751, 2751, 2751, 2753, 2755,
01019      2757, 2757, 2758, 2759, 2760, 2761, 2763, 2765, 2767, 2770,
01020 
01021      2771, 2772, 2773, 2775, 2777, 2779, 2781, 2782, 2783, 2785,
01022      2786, 2787, 2788, 2789, 2791, 2794, 2795, 2796, 2797, 2798,
01023      2799, 2800, 2801, 2802, 2803, 2806, 2809, 2812, 2813, 2815,
01024      2816, 2817, 2818, 2820, 2822, 2824, 2827, 2828, 2829, 2830,
01025      2832, 2834, 2836, 2838, 2839, 2840, 2842, 2843, 2844, 2845,
01026      2846, 2848, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858,
01027      2861, 2864, 2867, 2868, 2870, 2871, 2872, 2873, 2875, 2877,
01028      2879, 2882, 2883, 2884, 2885, 2887, 2889, 2891, 2893, 2894,
01029      2895, 2897, 2898, 2899, 2900, 2901, 2903, 2906, 2907, 2908,
01030      2909, 2910, 2911, 2912, 2913, 2914, 2915, 2918, 2921, 2924,
01031 
01032      2925, 2927, 2928, 2929, 2930, 2932, 2934, 2936, 2939, 2940,
01033      2941, 2942, 2944, 2946, 2948, 2950, 2951, 2952, 2954, 2955,
01034      2956, 2957, 2958, 2960, 2963, 2964, 2965, 2966, 2967, 2968,
01035      2969, 2970, 2971, 2972, 2975, 2978, 2981, 2982, 2984, 2986,
01036      2986, 2986, 2986, 2987, 2987, 2988, 2988, 2989, 2990, 2990,
01037      2990, 2990, 2990, 2990, 2991, 2992, 2993, 2993, 2993, 2993,
01038      2993, 2994, 2995, 2996, 2997, 2997, 2997, 2997, 2997, 2997,
01039      2997, 2997, 2998, 2998, 2998, 2998, 2998, 2999, 2999, 2999,
01040      2999, 2999, 2999, 3001, 3002, 3003, 3004, 3006, 3008, 3010,
01041      3011, 3012, 3013, 3014, 3016, 3018, 3020, 3022, 3023, 3024,
01042 
01043      3025, 3026, 3027, 3028, 3029, 3031, 3032, 3033, 3034, 3035,
01044      3037, 3038, 3039, 3040, 3041, 3042, 3045, 3046, 3047, 3048,
01045      3050, 3052, 3054, 3055, 3056, 3057, 3058, 3060, 3062, 3064,
01046      3066, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3075, 3076,
01047      3077, 3078, 3080, 3081, 3082, 3083, 3084, 3087, 3088, 3089,
01048      3090, 3092, 3094, 3096, 3097, 3098, 3099, 3100, 3102, 3104,
01049      3106, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3117,
01050      3118, 3119, 3120, 3121, 3123, 3124, 3125, 3126, 3127, 3128,
01051      3131, 3132, 3133, 3134, 3136, 3138, 3140, 3141, 3142, 3143,
01052      3144, 3146, 3148, 3150, 3152, 3153, 3154, 3155, 3156, 3157,
01053 
01054      3158, 3159, 3161, 3162, 3163, 3164, 3165, 3167, 3168, 3169,
01055      3170, 3171, 3172, 3175, 3175, 3175, 3175, 3176, 3176, 3177,
01056      3177, 3177, 3178, 3178, 3178, 3178, 3178, 3179, 3180, 3181,
01057      3183, 3183, 3183, 3183, 3183, 3184, 3185, 3186, 3187, 3187,
01058      3187, 3187, 3187, 3187, 3187, 3188, 3190, 3191, 3192, 3192,
01059      3192, 3193, 3193, 3193, 3193, 3193, 3193, 3194, 3195, 3197,
01060      3199, 3201, 3204, 3205, 3206, 3207, 3208, 3210, 3212, 3214,
01061      3216, 3217, 3218, 3219, 3220, 3221, 3222, 3224, 3227, 3229,
01062      3231, 3232, 3233, 3235, 3236, 3237, 3238, 3239, 3240, 3241,
01063      3242, 3244, 3246, 3248, 3251, 3252, 3253, 3254, 3255, 3257,
01064 
01065      3259, 3261, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3271,
01066      3274, 3276, 3277, 3278, 3280, 3281, 3282, 3283, 3284, 3285,
01067      3286, 3288, 3290, 3292, 3295, 3296, 3297, 3298, 3299, 3301,
01068      3303, 3305, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3315,
01069      3318, 3320, 3322, 3323, 3324, 3326, 3327, 3328, 3329, 3330,
01070      3331, 3332, 3333, 3335, 3337, 3339, 3342, 3343, 3344, 3345,
01071      3346, 3348, 3350, 3352, 3354, 3355, 3356, 3357, 3358, 3359,
01072      3360, 3362, 3365, 3367, 3369, 3370, 3371, 3373, 3374, 3375,
01073      3376, 3377, 3378, 3378, 3378, 3378, 3378, 3378, 3380, 3380,
01074      3380, 3382, 3382, 3382, 3383, 3383, 3385, 3386, 3386, 3386,
01075 
01076      3386, 3386, 3387, 3388, 3389, 3390, 3390, 3391, 3391, 3391,
01077      3391, 3391, 3391, 3392, 3392, 3392, 3393, 3394, 3394, 3394,
01078      3394, 3396, 3397, 3400, 3402, 3403, 3404, 3405, 3406, 3408,
01079      3410, 3412, 3414, 3415, 3417, 3418, 3419, 3420, 3421, 3422,
01080      3424, 3425, 3426, 3428, 3430, 3431, 3432, 3433, 3435, 3436,
01081      3439, 3441, 3442, 3443, 3444, 3445, 3447, 3449, 3451, 3453,
01082      3454, 3456, 3457, 3458, 3459, 3460, 3461, 3463, 3464, 3465,
01083      3467, 3468, 3469, 3470, 3472, 3473, 3476, 3478, 3479, 3480,
01084      3481, 3482, 3484, 3486, 3488, 3490, 3491, 3493, 3494, 3495,
01085      3496, 3497, 3498, 3500, 3501, 3502, 3504, 3506, 3507, 3508,
01086 
01087      3509, 3511, 3512, 3515, 3517, 3518, 3519, 3520, 3521, 3523,
01088      3525, 3527, 3529, 3530, 3532, 3533, 3534, 3535, 3536, 3537,
01089      3539, 3540, 3541, 3543, 3545, 3546, 3547, 3548, 3549, 3549,
01090      3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3551, 3551,
01091      3551, 3551, 3551, 3552, 3553, 3554, 3555, 3555, 3555, 3555,
01092      3555, 3555, 3555, 3555, 3555, 3555, 3555, 3555, 3556, 3558,
01093      3559, 3560, 3561, 3562, 3564, 3566, 3568, 3570, 3571, 3572,
01094      3573, 3574, 3575, 3576, 3577, 3578, 3579, 3580, 3581, 3582,
01095      3584, 3585, 3586, 3587, 3588, 3590, 3592, 3594, 3596, 3597,
01096      3598, 3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606, 3607,
01097 
01098      3608, 3610, 3611, 3612, 3613, 3614, 3616, 3618, 3620, 3622,
01099      3623, 3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3632,
01100      3633, 3634, 3636, 3637, 3638, 3639, 3640, 3642, 3644, 3646,
01101      3648, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, 3657,
01102      3658, 3659, 3659, 3659, 3659, 3659, 3659, 3659, 3659, 3660,
01103      3662, 3662, 3662, 3662, 3663, 3664, 3665, 3666, 3668, 3668,
01104      3668, 3668, 3668, 3668, 3668, 3668, 3669, 3669, 3670, 3670,
01105      3672, 3675, 3676, 3677, 3678, 3680, 3682, 3684, 3686, 3689,
01106      3690, 3691, 3692, 3693, 3694, 3695, 3696, 3698, 3699, 3701,
01107      3702, 3704, 3707, 3708, 3709, 3710, 3712, 3714, 3716, 3718,
01108 
01109      3721, 3722, 3723, 3724, 3725, 3726, 3727, 3728, 3730, 3731,
01110      3733, 3734, 3736, 3739, 3740, 3741, 3742, 3744, 3746, 3748,
01111      3750, 3753, 3754, 3755, 3756, 3757, 3758, 3759, 3760, 3762,
01112      3763, 3765, 3766, 3768, 3771, 3772, 3773, 3774, 3776, 3778,
01113      3780, 3782, 3785, 3786, 3787, 3788, 3789, 3790, 3791, 3792,
01114      3794, 3795, 3797, 3798, 3798, 3798, 3798, 3798, 3798, 3798,
01115      3798, 3798, 3799, 3799, 3800, 3802, 3803, 3803, 3803, 3803,
01116      3803, 3804, 3804, 3804, 3804, 3804, 3805, 3807, 3808, 3810,
01117      3813, 3815, 3816, 3817, 3818, 3819, 3821, 3822, 3823, 3824,
01118      3825, 3826, 3828, 3829, 3831, 3834, 3836, 3837, 3838, 3839,
01119 
01120      3840, 3842, 3843, 3844, 3845, 3846, 3847, 3849, 3850, 3852,
01121      3855, 3857, 3858, 3859, 3860, 3861, 3863, 3864, 3865, 3866,
01122      3867, 3868, 3870, 3871, 3873, 3876, 3878, 3879, 3880, 3881,
01123      3882, 3884, 3885, 3886, 3887, 3888, 3889, 3889, 3889, 3889,
01124      3889, 3889, 3889, 3889, 3889, 3889, 3890, 3891, 3891, 3891,
01125      3891, 3891, 3891, 3891, 3891, 3891, 3892, 3893, 3894, 3896,
01126      3898, 3899, 3900, 3901, 3902, 3903, 3904, 3905, 3906, 3907,
01127      3908, 3909, 3911, 3913, 3914, 3915, 3916, 3917, 3918, 3919,
01128      3920, 3921, 3922, 3923, 3924, 3926, 3928, 3929, 3930, 3931,
01129      3932, 3933, 3934, 3935, 3936, 3937, 3938, 3939, 3941, 3943,
01130 
01131      3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951, 3951, 3951,
01132      3951, 3951, 3951, 3952, 3952, 3952, 3953, 3954, 3956, 3956,
01133      3956, 3956, 3956, 3957, 3957, 3957, 3958, 3959, 3960, 3962,
01134      3964, 3967, 3968, 3969, 3970, 3971, 3973, 3974, 3975, 3977,
01135      3978, 3979, 3981, 3983, 3986, 3987, 3988, 3989, 3990, 3992,
01136      3993, 3994, 3996, 3997, 3998, 4000, 4002, 4005, 4006, 4007,
01137      4008, 4009, 4011, 4012, 4013, 4015, 4016, 4017, 4019, 4021,
01138      4024, 4025, 4026, 4027, 4028, 4030, 4031, 4032, 4034, 4034,
01139      4035, 4035, 4035, 4036, 4037, 4037, 4039, 4039, 4040, 4040,
01140      4040, 4040, 4040, 4042, 4043, 4046, 4047, 4049, 4050, 4051,
01141 
01142      4052, 4053, 4055, 4056, 4059, 4060, 4062, 4063, 4064, 4065,
01143      4066, 4068, 4069, 4072, 4073, 4075, 4076, 4077, 4078, 4079,
01144      4081, 4082, 4085, 4086, 4088, 4089, 4090, 4091, 4092, 4093,
01145      4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4095, 4096,
01146      4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106,
01147      4107, 4108, 4109, 4110, 4111, 4112, 4113, 4114, 4115, 4116,
01148      4117, 4118, 4119, 4119, 4120, 4121, 4121, 4121, 4121, 4122,
01149      4124, 4126, 4127, 4128, 4129, 4130, 4132, 4134, 4135, 4136,
01150      4137, 4138, 4140, 4142, 4143, 4144, 4145, 4146, 4148, 4150,
01151      4151, 4152, 4153, 4153, 4154, 4154, 4154, 4155, 4157, 4158,
01152 
01153      4159, 4160, 4162, 4163, 4164, 4165, 4167, 4168, 4169, 4170,
01154      4172, 4173, 4174, 4174, 4174, 4174, 4175, 4176, 4177, 4178,
01155      4179, 4180, 4181, 4182, 4183, 4184, 4185, 4186, 4186, 4186,
01156      4186, 4187, 4188, 4189, 4190, 4191, 4192, 4193, 4194, 4195,
01157      4196, 4197, 4198, 4199, 4200, 4200, 4202, 4204, 4205, 4207,
01158      4209, 4210, 4212, 4214, 4215, 4217, 4219, 4220, 4220, 4221,
01159      4222, 4223, 4224, 4224, 4225, 4226, 4227, 4228, 4228, 4229,
01160      4230, 4231, 4232, 4232, 4233, 4234, 4235, 4236, 4236, 4237,
01161      4238, 4239, 4240, 4241, 4243, 4245, 4247, 4249, 4249
01162     } ;
01163 
01164 static yyconst flex_int32_t yy_ec[256] =
01165     {   0,
01166         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
01167         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
01168         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01169         1,    2,    1,    5,    6,    1,    1,    1,    1,    1,
01170         1,    1,    1,    1,    7,    1,    1,    8,    9,   10,
01171        11,   12,   13,    8,    8,    8,    8,    1,    1,    1,
01172         1,    1,    1,    1,   14,   15,   16,   17,   18,   19,
01173        20,   21,   22,   23,   24,   25,   26,   27,   28,   29,
01174        23,   30,   31,   32,   33,   34,   35,   36,   37,   38,
01175        39,    1,   40,    1,   41,    1,   42,   43,   44,   45,
01176 
01177        46,   47,   48,   49,   50,   23,   51,   52,   53,   54,
01178        55,   56,   23,   57,   58,   59,   60,   61,   62,   63,
01179        64,   65,   66,    1,   67,    1,    1,    1,    1,    1,
01180         1,    1,    1,   68,    1,    1,    1,    1,    1,    1,
01181         1,    1,    1,    1,    1,   69,    1,    1,    1,    1,
01182         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01183         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01184         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01185         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01186         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01187 
01188         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01189         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01190         1,    1,    1,    1,    1,   70,    1,    1,    1,    1,
01191         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01192         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01193         1,    1,    1,    1,    1
01194     } ;
01195 
01196 static yyconst flex_int32_t yy_meta[71] =
01197     {   0,
01198         1,    2,    3,    1,    4,    1,    5,    6,    6,    6,
01199         6,    6,    6,    7,    7,    7,    7,    7,    7,    8,
01200         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
01201         8,    8,    8,    8,    8,    8,    8,    8,    2,    1,
01202         9,    7,    7,    7,    7,    7,    7,    8,    8,    8,
01203         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
01204         8,    8,    8,    8,    8,    1,    1,    1,    1,    1
01205     } ;
01206 
01207 static yyconst flex_int16_t yy_base[2936] =
01208     {   0,
01209         0,   69,   75,  144, 1635,  146,  152,  221,  227,  296,
01210       297,  298, 1611,  299,  368,  301, 1569,  304, 1605,  306,
01211        69,  221,  438,  307,  493,    0,  300,  303,  547,  317,
01212       323,  334,  327,  347, 1600,11319, 1596,11319, 1574,    0,
01213       521,  562,  485,  543,  551,  293,  278,  492,    0,  300,
01214       582,  315,  495,  549,  493,  508,  570,  594,  606,  493,
01215       595,  351,    0,    0, 1561, 1545,  144,  649,  655,  711,
01216       781,  655,  656,  711,  712,  659,  713,  838,  686,  782,
01217       783,  716,  784,  854,  857,  855,  873,  785,  354,    0,
01218         0, 1535,  680,  916,  965, 1018, 1061,  912,  907,  928,
01219 
01220       929,  957, 1104,  989,  990, 1029, 1067, 1051, 1116, 1148,
01221      1194,  896, 1156,    0,  580,    0,    0, 1504,  806,  939,
01222      1253, 1323, 1253, 1093,  848, 1163,  786, 1095, 1380, 1254,
01223      1182, 1324, 1139, 1260, 1325, 1336, 1396, 1397, 1398,11319,
01224       632,  511, 1429,  673,    0, 1446, 1484,    0,  833, 1458,
01225      1508, 1562, 1481, 1399, 1462, 1480,  871, 1536, 1599, 1537,
01226      1539, 1583, 1257, 1568, 1617, 1636, 1634, 1647, 1659,  627,
01227     11319, 1483,  640,11319, 1472,  360,11319, 1471, 1450,    0,
01228       594,  627,  644,  643,  701,  965,  715,  538,  718,11319,
01229     11319,  645,    0,  720,  709,  729,  802,  837,  860,  908,
01230 
01231       938,  954,  980,11319,11319,  857,    0,    0,11319, 1447,
01232      1430, 1427,11319, 1422,  991,  919,    0,  980,  987, 1006,
01233      1012, 1179, 1026, 1020,  986, 1016, 1027, 1198, 1028,    0,
01234      1037, 1036, 1074, 1083, 1095, 1052, 1193, 1069, 1101, 1107,
01235      1120, 1158, 1129, 1150, 1152, 1201, 1211, 1257, 1262, 1261,
01236       906,    0,    0,    0, 1401,  616, 1469, 1219, 1327, 1374,
01237      1592, 1661, 1538, 1334, 1652, 1678, 1691, 1701, 1702, 1718,
01238      1728, 1512, 1732, 1742, 1739, 1648, 1749, 1755, 1766, 1787,
01239      1784, 1793, 1814, 1789, 1788, 1800, 1830, 1811, 1833, 1840,
01240      1844, 1863,  988,    0,    0, 1357, 1359, 1534,    0, 1223,
01241 
01242      1845, 1885, 1856, 1889, 1897, 1888, 1930, 1935, 1949, 1957,
01243      1963, 2007, 1896, 1956, 1989, 1998, 2014, 2031, 2058, 2056,
01244      2063, 2057, 2067, 2096, 2104, 2105, 2127, 2128, 2153, 2156,
01245      2106, 2160, 2164, 2182, 1050,    0,    0, 2219, 1275, 1956,
01246      2193, 2220, 2211, 2223, 1998, 2232, 2233, 2250, 2267, 2266,
01247      2285, 2281, 2282, 2306, 2312, 2330, 2308, 2323, 2341, 2339,
01248      2335, 2357, 2370, 2373, 2368, 2383, 2384, 2402, 2400, 2397,
01249      2418, 2424, 2439, 1396,  852, 1291, 1282, 1181,    0,    0,
01250      1307,    0, 2474, 1322, 2448, 2449, 2478, 2479, 2481, 2480,
01251      2490, 2497, 2519, 2531, 2529, 2548, 2538, 2541, 2572, 2575,
01252 
01253      2571, 2582, 2586, 2605, 2615, 2616, 2621, 2637, 2638, 2632,
01254      2639, 2648, 2670, 2664, 2683, 2687, 2689, 2688, 1102, 1296,
01255      1140,  362,11319, 1289,11319, 1281,    0, 1276, 1333, 1338,
01256      1349, 1373, 1407, 1430, 1459, 1376, 1453, 1228,    0,    0,
01257      1480, 1482, 1479, 1500, 1561, 1484, 1541, 1585, 1588, 1588,
01258      1233,    0,    0,    0, 1568,11319, 1601, 1593, 1671, 2745,
01259      1615, 1681, 1703, 1838, 1877, 1849, 1723, 1751, 1762, 1899,
01260      1905, 1816, 1878, 1911, 1910, 1299, 1963, 2750, 1239, 1915,
01261      1983, 1982, 1994, 2025, 2029, 2815, 1926, 1977, 2054, 2041,
01262      2058, 2054, 2098, 2101,    0, 2099, 2682, 2750, 2885, 2752,
01263 
01264      2751, 2753, 2815, 2817, 2818, 2685, 2819, 2822, 2885, 2887,
01265      2889, 2866, 2892, 2890, 2934, 2936, 2989, 2922, 2943, 2966,
01266      2991, 2982, 2995, 3007, 3065, 3037, 3039, 3071, 3038, 3076,
01267      3080, 2945, 3095,11319, 2143, 3102, 3115, 3174, 3171, 3166,
01268      3186, 3215, 3222, 3220, 3242, 3111, 3244, 3269, 3257, 3277,
01269      3306, 3271, 3285, 3318, 3313, 3369, 3344, 3353, 3370, 3375,
01270      3391, 3402, 3404, 3463, 3458, 3462, 3464, 3471, 3468, 3509,
01271      3518, 3520, 2148, 3008, 3400, 3579, 3552, 3579, 3581, 3582,
01272      3584, 3586, 3217, 3619, 3256, 3637, 3630, 3642, 3313, 3643,
01273      3646, 3659, 3660, 3713, 3692, 3690, 3715, 3716, 3729, 3732,
01274 
01275      3725, 3791, 3766, 3793, 3796, 3764, 3798, 3812, 3850, 3805,
01276      1275, 2153, 3396, 3851, 3906, 3852, 3906, 3907, 3908, 3910,
01277      3913, 3600, 3854, 3653, 3945, 3912, 3966, 3967, 3969, 3970,
01278      3972, 3984, 4037, 4011, 4014, 4016, 4043, 4021, 4048, 4053,
01279      4111, 4054, 4086, 4111, 4113, 4115, 4142, 4154, 4161, 2164,
01280      2161, 2135, 2193, 2216, 2216, 2212, 2223, 2233, 2254, 2267,
01281      2301, 2266,    0, 2314, 2290, 2318, 2393, 2343, 2403, 2376,
01282      2418, 2457,    0, 2815, 2819, 2760, 2448, 2470,    0, 2544,
01283      2757,    0, 2549, 1207, 2575, 2581,    0, 2470, 2614, 2618,
01284      2751, 2504, 2816, 2819, 2530,11319,11319,11319,11319,11319,
01285 
01286      1197, 3158,    0, 2602, 2818, 2950, 2694,    0,    0, 4212,
01287      2951, 2967, 2752, 2878, 2892, 2893, 3008, 3037, 2948, 4186,
01288      4064, 3063, 4213, 4217, 4216, 4215, 4120, 4242, 3103, 4248,
01289      4254, 4269, 4263, 4275, 4279, 4294, 3080, 4293, 4304, 4306,
01290      3105, 3131, 4323,    0,    0,    0,    0,    0, 4310, 3187,
01291      4325, 4328, 4335, 4350, 4341, 4352,    0, 4406, 4406, 4379,
01292      4409, 4382, 4421, 4383, 4436, 4435, 2994, 4462, 4456, 3289,
01293      4473, 4496, 4508, 4514, 4515, 4530, 3185, 4548, 4563, 4567,
01294      4557, 4594, 4578, 4613, 3155, 4618, 4618, 4636, 3161, 4643,
01295         0,    0,    0,    0,    0, 4655, 4125, 4652, 4662, 4673,
01296 
01297      4685, 4702, 4703, 4753, 4823, 4711, 4743, 4755, 4758, 4764,
01298      4765, 4813, 4815, 3016, 4420, 4447, 3462, 4836, 4863, 4866,
01299      4873, 4629, 4884, 3799, 4696, 4887, 4834, 4767, 4888, 4889,
01300      4914, 3218, 4911, 4921, 4930, 3237, 3274, 4940,    0,    0,
01301         0,    0,    0, 4943, 4460, 4945, 4952, 4955, 4967, 4961,
01302      4977, 3156, 5027, 5027, 5000, 5030, 5004, 5039, 5033, 5056,
01303      5057, 1231, 3155, 5088, 5078, 3493, 5090, 5102, 5103, 5121,
01304      5099, 5117, 3883, 5140, 5143, 5142, 5155, 5158, 5144, 5177,
01305      3298, 5182, 5187, 5156, 3311, 3395, 5193,    0,    0,    0,
01306         0,    0, 5199, 4551, 5188, 5204, 5220, 5234, 5236, 5237,
01307 
01308      5290, 5360, 5243, 5247, 5259, 5285, 5286, 5289, 5292, 5332,
01309      3409,    0,    0, 3425, 3452, 3209, 3505, 1186, 3521, 3520,
01310         0,    0, 3584, 3656, 3249, 3660, 3717, 3717, 3733, 1202,
01311      3799, 3809, 3825, 4273, 3913, 4332, 3915, 3940,    0, 3964,
01312      3972, 3443, 3500, 4057, 3525, 3694, 1145, 1113, 3698, 4077,
01313      3735, 4104, 4118, 4131, 1106, 4151, 4163, 3783, 4219, 4321,
01314      1064, 4341,    0, 5303, 3858, 4355,    0, 3977, 4364, 4424,
01315      4477, 5361, 4481, 4561, 5363, 5362, 5392, 5395, 5301, 5411,
01316      5422, 3986, 4096, 5424, 4127, 5302, 5438, 5440, 4176, 5441,
01317      5453, 5451, 4488, 4506, 5470, 4518, 4548, 4497, 5472, 5484,
01318 
01319      5486, 5488, 5499, 5526, 5515, 5525, 5509, 5539, 5528, 5542,
01320      4552, 5550, 4573, 4707, 5563, 5566, 5574, 5580, 5596, 5602,
01321      5613, 4550, 4600, 5615, 4625, 5638, 5644, 5655, 4659, 5651,
01322      5673, 5677, 4685, 5684, 4698, 4722, 4678, 5684, 5692, 5701,
01323      5719, 5734, 5748, 5757, 5738, 5756, 5781, 5785, 5789, 4760,
01324      5782, 4763, 5033, 5809, 5826, 5827, 5836, 5812, 5843, 5867,
01325      4705, 4748, 5849, 4774, 5865, 5870, 5882, 4831, 5891, 5892,
01326      5876, 4811, 4816, 5894, 4887, 4948, 4832, 5915, 5929, 5931,
01327      5933, 5934, 5952, 5963, 5964, 5973, 5985, 5975, 5982, 4954,
01328      6006, 4970, 5198, 6008, 6012, 6029, 6030, 6031, 6033, 6054,
01329 
01330      4895, 4908, 6063, 4928, 6056, 6075, 6077, 4970, 6079, 6106,
01331      6081, 4988, 5036, 6100, 5043, 5208, 5023, 6118, 6122, 6116,
01332      6123, 6125, 6164, 6162, 6147, 6141, 6171, 6174, 6176, 5214,
01333      5281, 5092, 5286, 5349, 5353, 5363, 5366, 5370, 5109, 5367,
01334      5133, 5214, 5400, 5409, 5488,11319,    0, 5306, 5438, 5467,
01335      5473, 5488, 5538, 5552, 5547, 6236, 5549,11319, 5557, 5577,
01336      5594, 5610, 5566, 5825, 5644, 5648,    0, 5587, 5609, 5634,
01337      5680, 5646, 5685, 5691,    0,    0, 5713, 5700, 5732, 5735,
01338      5760,    0, 5775, 5779, 1057, 5852,    0, 6178, 5881, 5902,
01339      5934, 6209, 6180, 6236, 6238, 6240, 6306, 6247,    0, 5901,
01340 
01341      6306, 5967, 6307, 5974, 6238, 6032, 6308, 6309, 6310, 5987,
01342      5996, 6027, 6173, 6236, 6238, 6341, 6355, 6132, 6356, 6242,
01343      6367, 6368, 6357, 6371, 6378, 6382, 6389,    0, 6400, 6195,
01344      6249, 6250, 6418, 6419, 6420, 6425, 6462, 6519, 6401,    0,
01345      6243, 6455, 6284, 6517, 6306, 6448, 6310, 6518, 6519, 6523,
01346      6323, 6321, 6352, 6430, 6432, 6524, 6525, 6349, 6565, 6566,
01347      6579, 6583, 6608, 6617, 6620, 6627,    0, 6542, 6364, 6418,
01348      6423, 6630, 6629, 6633, 6643, 6642, 6695, 6695,    0, 6451,
01349      6696, 6465, 6699, 6475, 6693, 6464, 6700, 6701, 6744, 6493,
01350      6522, 6523, 6566, 6574, 6578, 6702, 6717, 6674, 6755, 6705,
01351 
01352      6754, 6756, 6758, 6759, 6770, 6781, 6771,    0, 6793, 6758,
01353      6770, 6770, 6810, 6797, 6814, 6816, 6815, 6868, 6868,    0,
01354      6718, 6869, 6815, 6872, 6806, 6866, 6844, 6873, 6874, 6917,
01355      6811, 6868, 6870, 6868, 6877, 6894, 6927, 6928, 6880, 6930,
01356      6921, 6941, 6952, 6942, 6943, 6946, 6968, 6973,    0,    0,
01357      6926, 1055, 1024, 6938, 6929, 6962,    0, 1002, 6969, 6982,
01358      6967, 6978,  967, 6973, 6974, 6980, 6993, 6980, 6986, 6998,
01359      6999,    0, 7010, 7018,    0, 6995,  950, 6985, 7001, 7003,
01360      7008, 7000, 7009, 7010, 7020, 7024, 7028, 7022, 7034, 7045,
01361      7043, 7029,  938, 7042,    0, 7047, 7046, 7047, 7043, 7052,
01362 
01363      7041, 7048, 7059, 7069, 7090, 7092, 7102, 7071, 7108, 7139,
01364      7093, 7057, 7125, 7055, 7142, 7081, 7094, 7075, 7114, 7151,
01365      7156, 7106, 7109, 7117, 7141, 7155, 7159, 7147, 7173, 7163,
01366      7174, 7189, 7203, 7204, 7164, 7216, 7167, 7180, 7187, 7226,
01367      7237, 7229, 7256, 7259, 7275, 7322, 7269, 7198, 7306, 7199,
01368      7303, 7208, 7229, 7230, 7250, 7275, 7324, 7261, 7266, 7260,
01369      7274, 7287, 7298, 7345, 7357, 7363, 7364, 7365, 7303, 7385,
01370      7324, 7333, 7332, 7388, 7386, 7404, 7413, 7411, 7425, 7451,
01371      7429, 7413, 7455, 7412, 7466, 7421, 7428, 7354, 7389, 7467,
01372      7473, 7451, 7476, 7470, 7410, 7448, 7461, 7471, 7496, 7470,
01373 
01374      7499, 7514, 7518, 7525, 7494, 7539, 7492, 7514, 7489, 7543,
01375      7544, 7560, 7566, 7565, 7576, 7599, 7578, 7520, 7583, 7528,
01376      7615, 7576, 7583, 7523, 7581, 7608, 7629, 7593, 7603, 7601,
01377      7623, 7634, 7635, 7606, 7642, 7631, 7646, 7671, 7664, 7673,
01378      7625, 7685, 7643, 7648, 7646, 7671,    0, 7656, 7670, 7676,
01379       914, 7656, 7672, 7675, 7697, 7686, 7696, 7691, 7689, 7708,
01380      7699,    0, 7714, 7703, 7711, 7719, 7714, 7716,11319, 7720,
01381      7720,  893, 7724, 7734, 7727, 7727, 7737,    0, 7739, 7741,
01382      7738, 7732, 7734, 7739, 7741, 7741, 7748,    0,    0,    0,
01383      7749, 7742, 7749, 7767, 7759, 7775, 7786, 7796, 7770, 7782,
01384 
01385      7767, 7799, 7805, 7817, 7821,    0, 7777, 7795, 7820, 7789,
01386      7800, 7822, 7824, 7843, 7844, 7822, 7836, 7835, 7832, 7837,
01387      7845, 7844, 7846, 7854, 7867, 7870, 7876, 7855, 7881, 7857,
01388      7881, 7875, 7903, 7905, 7912, 7921, 7894, 7883, 7886, 7949,
01389      7945, 7928,    0, 7886, 7908, 7971, 7927, 7930, 7926, 7926,
01390      7972, 7974, 7965, 7951, 7970, 7973, 7978, 7977, 7977, 7995,
01391      8005, 8022, 7993, 8024, 7995, 8014, 8022, 8038, 8040, 8051,
01392      8017, 8029, 8022, 8056, 8065, 8067, 8084,    0, 8047, 8043,
01393      8077, 8069, 8076, 8070, 8075, 8086, 8090, 8098, 8105, 8100,
01394      8097, 8099, 8105, 8105, 8106, 8113, 8128, 8131, 8132, 8120,
01395 
01396      8141, 8118, 8127, 8130, 8155, 8174, 8158, 8179, 8147, 8137,
01397      8168, 8185, 8189, 8206,    0, 8139, 8188, 8201, 8154, 8188,
01398      8183, 8186, 8212, 8224, 8201, 8222, 8220, 8217, 8218, 8224,
01399      8223, 8224, 8231, 8245, 8247, 8251, 8230, 8272,    0, 8250,
01400      8243, 8246, 8260, 8253, 8256, 8253,  892, 8269, 8271, 8270,
01401      8273, 8270, 8272, 8287, 8274, 8277, 8295, 8296, 8294, 8296,
01402      8301, 8304, 8302, 8304, 8298, 8292, 8306, 8310, 8304, 8307,
01403      8303, 8317, 8311, 8314, 8322, 8334,11319, 8319, 8329, 8325,
01404      8336, 8335,  890, 8343, 8330, 8334, 8353, 8358, 8374, 8360,
01405      8361, 8363, 8363, 8393, 8398, 8403, 8399, 8371, 8365, 8401,
01406 
01407      8405, 8398, 8380, 8397, 8430, 8402, 8404, 8413, 8407,    0,
01408      8404, 8424, 8424, 8438, 8437, 8453, 8446, 8436, 8438, 8459,
01409      8471, 8474, 8463, 8468, 8466, 8467, 8492, 8494, 8520, 8522,
01410      8441, 8456, 8474, 8491, 8484, 8510, 8488, 8529, 8493, 8507,
01411      8514,    0, 8510, 8512, 8515, 8535, 8551, 8522, 8531, 8534,
01412      8572, 8563, 8575, 8555, 8557, 8579, 8580, 8605, 8615, 8616,
01413      8619, 8545, 8572, 8589, 8591, 8591, 8586, 8609, 8631, 8616,
01414      8618, 8627, 8596,    0, 8625, 8624, 8630, 8632, 8639, 8654,
01415      8652, 8639, 8646, 8666, 8678, 8671, 8670, 8674, 8675, 8677,
01416      8693, 8710, 8717, 8720, 8672, 8669, 8691, 8694, 8690, 8709,
01417 
01418      8710, 8744, 8715, 8716, 8724, 8735,    0, 8718, 8734, 8729,
01419      8735, 8738, 8751, 8739, 8751, 8745,  879, 8751, 8765, 8759,
01420      8754, 8765, 8761, 8763, 8780, 8768,11319, 8783, 8771,    0,
01421      8779, 8773, 8779, 8791, 8788, 8780, 8787, 8799, 8797, 8790,
01422      8795, 8796, 8796, 8801,11319,    0,11319,11319, 8801, 8814,
01423     11319, 8811, 8822, 8809, 8825, 8841, 8827, 8815,    0, 8835,
01424      8839, 8853, 8836, 8836, 8846, 8844, 8864, 8877, 8880, 8898,
01425      8854, 8851, 8870, 8877, 8876, 8881,    0, 8899,    0,    0,
01426      8887, 8879,    0, 8896, 8910, 8894, 8911, 8940, 8914, 8902,
01427         0, 8939, 8911, 8947, 8922, 8914, 8923, 8940, 8965, 8962,
01428 
01429      8975, 8990, 8946, 8930, 8959, 8973, 8979, 8981,    0, 9001,
01430         0, 8987, 8964,    0, 8994, 9011, 9008, 9027, 9012, 9000,
01431         0, 9042, 9041, 9046, 9011, 9006, 9016, 9015, 9051, 9064,
01432      9067, 9086, 9024, 9018, 9022, 9039, 9049, 9055,    0, 9068,
01433         0,    0, 9067, 9082,    0, 9084, 9091, 9081, 9097, 9105,
01434      9099, 9092,    0, 9120, 9127, 9113, 9102, 9096, 9111, 9127,
01435      9137, 9150, 9153, 9172, 9124, 9140, 9150, 9152, 9151, 9154,
01436         0, 9154,    0,    0, 9158, 9170,    0, 9166, 9183, 9167,
01437      9183, 9198, 9181, 9180, 9183, 9202, 9197,    0, 9194, 9199,
01438         0, 9204, 9198,11319, 9214,    0, 9216, 9215, 9206, 9222,
01439 
01440      9216, 9219, 9213, 9230, 9222, 9229,11319, 9235, 9221,  876,
01441      9239, 9241,11319, 9239, 9229,11319,11319, 9232, 9254, 9255,
01442         0, 9254, 9264, 9276, 9253, 9246, 9263, 9255, 9288, 9281,
01443      9277, 9302, 9271,    0, 9288, 9249,  825, 9299, 9299,    0,
01444      9300, 9296,    0,    0, 9299, 9311, 9320,    0, 9317, 9328,
01445      9343, 9320, 9306, 9329, 9322, 9357, 9366, 9356, 9365, 9336,
01446         0, 9349, 9325,  823, 9376, 9382,    0, 9381, 9337,    0,
01447      9371, 9388, 9392,    0, 9393, 9401, 9403, 9394, 9389, 9411,
01448      9405, 9424, 9419, 9438, 9443, 9410,    0, 9418, 9402,  820,
01449      9426, 9432,    0, 9438, 9430,    0,    0, 9434, 9457, 9459,
01450 
01451         0, 9457, 9465, 9478, 9458, 9450, 9467, 9463, 9490, 9491,
01452      9509, 9512, 9473,    0, 9485, 9474,  815, 9500, 9500,    0,
01453      9498, 9489,    0,    0, 9496, 9513, 9521,11319, 9523,11319,
01454      9510, 9514, 9523, 9520, 9521, 9528, 9541, 9543, 9534, 9543,
01455      9534, 9536, 9539, 9553, 9540, 9543, 9549, 9556, 9549, 9546,
01456      9556, 9553,  768, 9567, 9555, 9560, 9555, 9576, 9598, 9567,
01457      9580, 9568, 9572, 9608, 9611, 9613, 9620, 9578, 9589, 9587,
01458      9602, 9615, 9614,  761, 9605, 9615, 9619, 9617, 9639, 9650,
01459      9629, 9642, 9636, 9640, 9662, 9679, 9690, 9683, 9648, 9660,
01460      9654, 9652, 9664, 9661,  729, 9680, 9668, 9673, 9676, 9703,
01461 
01462      9714, 9692, 9706, 9701, 9707, 9732, 9729, 9743, 9731, 9714,
01463      9710, 9736, 9734, 9744, 9742,  724, 9737, 9745, 9748, 9743,
01464      9741, 9770, 9761, 9770, 9762, 9766, 9787, 9788, 9786, 9799,
01465      9796, 9789, 9793, 9791, 9801, 9802,  719, 9796, 9801, 9805,
01466      9803, 9816, 9813, 9818, 9817, 9828, 9826,  732,11319,    0,
01467      9828, 9840, 9830,11319, 9835, 9847, 9835,    0, 9836, 9850,
01468       655, 9841, 9859, 9858, 9858,11319, 9852,11319, 9853,    0,
01469      9864, 9856, 9870, 9858,    0, 9895, 9877, 9898, 9888, 9892,
01470      9881,  654, 9895, 9889, 9895, 9899,    0, 9898,    0, 9904,
01471         0, 9911, 9905, 9904, 9903,    0, 9930, 9947, 9946, 9948,
01472 
01473      9910, 9946,  653, 9924, 9953, 9950, 9964,    0, 9929,    0,
01474      9958,    0, 9994, 9959, 9973, 9957,    0, 9995,10007,10011,
01475      9998, 9987, 9975,  645, 9997, 9996,10010,10011,    0,10004,
01476         0,10007,    0,10025,10013,10026,10020,    0,10051,10060,
01477     10041,10062,10028,10045,  644,10040,10052,10062,10062,    0,
01478     10058,    0,10060,10072,10063,10076,10067,10067,10086,10081,
01479     10074,  613,10093,10081,  603,10098,10105,10098,10098,10107,
01480     11319,10108,10096,  600,10097,10099,  598,10109,10128,10121,
01481     10150,10123,10116,10107,10131,    0,10128,10107,  591,10119,
01482     10120,  590,10140,10162,10170,10179,10162,10160,10149,10170,
01483 
01484         0,10169,10158,  567,10166,10173,  560,10189,10194,10206,
01485     10220,10209,10202,10188,10217,    0,10214,10186,  559,10204,
01486     10207,  546,10225,10235,10231,10247,10236,10233,10237,10244,
01487         0,10256,10243,  517,10246,11319,10252,10266,10270,10258,
01488     10272,10274,10267,10270,10279,10271,10282,10269,10286,10280,
01489     10280,10284,10288,10290,10283,10290,10296,10305,10312,10331,
01490     10297,10305,10302,10302,10310,10316,10328,10315,10325,10327,
01491     10338,10345,10368,10327,10342,10335,10336,10340,10344,10363,
01492     10338,10353,10360,10370,10387,10386,10359,10375,10377,10382,
01493     10389,10392,10404,10391,10397,10398,10409,10413,10435,10401,
01494 
01495     10412,10406,10410,10415,10420,10431,10424,10432,10435,10446,
01496     10450,10447,11319,10451,10443,11319,10454,    0,10451,10445,
01497     10443,10449,11319,10454,10468,11319,10467,10460,    0,10494,
01498     10493,10467,10461,10461,10466,    0,10473,10486,    0,10487,
01499     10486,    0,10503,10507,10502,10496,10494,10500,    0,10506,
01500     10524,    0,10524,10518,    0,10545,10528,10524,10519,10522,
01501     10536,    0,10546,10549,    0,10551,10546,    0,10563,10561,
01502     10557,10558,10556,10564,    0,10569,10567,    0,10566,11319,
01503     10566,10570,11319,11319,10585,    0,10573,11319,10571,10582,
01504     10575,10594,    0,10603,10604,10594,    0,10592,10597,10594,
01505 
01506     10614,    0,10617,10621,10606,    0,10604,10614,10608,10624,
01507         0,10627,10641,10615,    0,10613,10631,10626,10644,    0,
01508     10653,10658,10646,    0,10645,10655,10648,10666,11319,11319,
01509     10667,10670,10662,10669,10663,10676,10670,10680,10671,10681,
01510     10675,10688,10683,10693,10684,10694,10691,10703,10698,10707,
01511     10699,10710,10703,10715,10709,10719,10712,10718,10714,10726,
01512     10720,11319,10714,11319,11319,10728,10720,  500,10720,    0,
01513         0,10734,10728,  494,10729,    0,    0,10735,10732,  474,
01514     10733,    0,    0,10747,10739,  317,10740,    0,    0,10754,
01515     10748,  306,10753,11319,10762,10767,10762,    0,10768,10773,
01516 
01517     10768,    0,10773,10779,10772,    0,10779,10784,10778,    0,
01518     10783,10790,10772,10789,10783,10777,10795,10789,10783,10802,
01519     10796,10790,10809,10803,10797,10816,10809,10821,10815,10823,
01520     10827,10820,10832,10834,10827,10839,10841,10834,10847,10847,
01521     10843,10849,11319,11319,  301,    0,    0,  281,    0,    0,
01522       275,    0,    0,  185,    0,    0,   33,10852,10853,10856,
01523     10857,10859,10854,10855,10857,10858,10861,10860,10861,10865,
01524     10866,10868,10869,10870,10873,10875,10876,10890,10893,10894,
01525     10898,10899,11319,    0,    0,    0,    0,11319,10948,10957,
01526     10966,10975,10978,10986,10995,11004,11013,11022,11031,11035,
01527 
01528     11039,11048,11057,11066,11070,11073,11078,11087,11090,11098,
01529     11107,11111,11118,11121,11129,11138,11147,11156,11165,11174,
01530     11183,11192,11201,11210,11219,11228,11237,11246,11255,11264,
01531     11273,11282,11291,11300,11309
01532     } ;
01533 
01534 static yyconst flex_int16_t yy_def[2936] =
01535     {   0,
01536      2888,    1, 2888,    3,    1,    1, 2888,    7, 2888,    9,
01537         1,    1,    1,    1, 2888,   15,    1,    1,    1,    1,
01538      2889, 2890, 2888,   23,   23,   25,   25,   25,   25,   29,
01539      2889, 2889, 2891, 2891, 2888, 2888, 2888, 2888, 2888, 2892,
01540      2888, 2888, 2893, 2893, 2893, 2893, 2893, 2893, 2893, 2893,
01541      2893, 2893, 2893, 2893, 2893, 2893, 2893, 2893, 2893, 2893,
01542      2893, 2888, 2894, 2895, 2895, 2895, 2896, 2895, 2895, 2897,
01543      2897,   71,   71,   71,   71,   71,   71,   71,   71,   71,
01544        71,   71,   71,   71,   71,   71,   71,   71, 2895, 2898,
01545      2899, 2888, 2900, 2900, 2901, 2901, 2901,   97,   97,   97,
01546 
01547        97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
01548        97,  111,  111, 2900, 2888, 2902, 2902, 2902, 2902, 2902,
01549      2903, 2903,  122,  122,  122,  122,  122,  122,  122,  122,
01550       122,  122,  122,  122,  122,  122,  122,  122,  122, 2888,
01551      2904, 2888, 2888, 2888, 2905, 2894, 2888, 2906, 2906, 2906,
01552      2907, 2907,  152,  152,  152,  152,  152,  152,  152,  152,
01553       152,  152,  152,  152,  152,  152,  152,  152,  152, 2888,
01554      2888, 2888, 2888, 2888, 2888, 2908, 2888, 2888, 2888, 2909,
01555      2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2888,
01556      2888, 2888, 2910, 2909, 2909, 2909, 2909, 2909, 2909, 2909,
01557 
01558      2909, 2909, 2909, 2888, 2888, 2888, 2911, 2912, 2888, 2888,
01559      2888, 2888, 2888, 2913, 2888, 2888, 2914, 2914, 2914, 2914,
01560      2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914,
01561      2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914,
01562      2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914,
01563      2888, 2894, 2894, 2895, 2895, 2915, 2895, 2895,   71,   71,
01564        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
01565        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
01566        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
01567        71,   71, 2895, 2898, 2898, 2899, 2888, 2900, 2900, 2900,
01568 
01569       111,  111,   97,   97,   97,  111,   97,   97,   97,  111,
01570        97,   97,  312,  312,  312,  312,  312,  111,  111,  111,
01571       312,   97,   97,   97,   97,   97,  111,  111,  111,  312,
01572        97,  312,  312,  312, 2888, 2902, 2902, 2902, 2902,  122,
01573       122,  122,  122,  122,  122,  122,  122,  122,  122,  122,
01574       122,  122,  122,  122,  122,  122,  122,  122,  122,  122,
01575       122,  122,  122,  122,  122,  122,  122,  122,  122,  122,
01576       122,  122,  122, 2904, 2888, 2888, 2888, 2888, 2905,  146,
01577      2888, 2906, 2906, 2906,  152,  152,  152,  152,  152,  152,
01578       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
01579 
01580       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
01581       152,  152,  152,  152,  152,  152,  152,  152, 2888, 2888,
01582      2888, 2908, 2888, 2888, 2888, 2888, 2909, 2909, 2909, 2909,
01583      2909, 2909, 2909, 2909, 2909, 2909, 2909, 2888, 2910, 2910,
01584      2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909,
01585      2888, 2911, 2911, 2912, 2888, 2888, 2888, 2914, 2914, 2916,
01586      2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914,
01587      2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914,
01588      2914, 2914, 2914, 2914, 2914, 2917, 2914, 2914, 2914, 2914,
01589      2914, 2914, 2914, 2914, 2895, 2895,   71,   71, 2918,   71,
01590 
01591        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
01592        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
01593        71,   71,   71,   71, 2919,   71,   71,   71,   71,   71,
01594        71,   71,   71, 2888, 2900,  111,   97, 2920,   97,   97,
01595       111,  111,   97,   97,  111,  312,  111,  111,   97,  312,
01596       111,   97,   97,   97,   97,  111,  111,  111,  111,  111,
01597       111,   97,   97, 2921,   97,  312,  312,  312,   97,   97,
01598        97,   97, 2902,  122,  122, 2922,  122,  122,  122,  122,
01599       122,  122,  122,  122,  122,  122,  122,  122,  122,  122,
01600       122,  122,  122,  122,  122,  122,  122,  122,  122,  122,
01601 
01602       122, 2923,  122,  122,  122,  122,  122,  122,  122,  122,
01603      2888, 2906,  152,  152, 2924,  152,  152,  152,  152,  152,
01604       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
01605       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
01606      2925,  152,  152,  152,  152,  152,  152,  152,  152, 2909,
01607      2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909,
01608      2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2888,
01609      2888, 2914, 2914, 2888, 2914, 2914, 2914, 2914, 2914, 2914,
01610      2888, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2888, 2914,
01611      2914, 2914, 2888, 2888, 2914, 2888, 2888, 2888, 2888, 2888,
01612 
01613      2914, 2888, 2914, 2914, 2914, 2914, 2914, 2914, 2926, 2917,
01614      2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2895,   71,
01615        71, 2895,   71,   71,   71,   71,   71,   71, 2895,   71,
01616        71,   71,   71,   71,   71,   71, 2895,   71,   71,   71,
01617      2895, 2895,   71, 2895, 2895, 2895, 2895, 2895,   71, 2895,
01618        71,   71,   71,   71,   71,   71, 2927, 2919,   71,   71,
01619        71,   71,   71,   71,   71,   71, 2900,   97,   97, 2900,
01620        97,  312,  312,  312,  312,  312, 2900,  312,  312,  312,
01621        97,   97,   97,  111, 2900,  111,  312,  111, 2900,  111,
01622      2900, 2900, 2900, 2900, 2900,  111, 2900,  111,  111,  111,
01623 
01624       111,  111,  111, 2928, 2921,   97,   97,  111,  111,  111,
01625       111,   97,   97, 2902,  122,  122, 2902,  122,  122,  122,
01626       122,  122,  122, 2902,  122,  122,  122,  122,  122,  122,
01627       122, 2902,  122,  122,  122, 2902, 2902,  122, 2902, 2902,
01628      2902, 2902, 2902,  122, 2902,  122,  122,  122,  122,  122,
01629       122, 2929, 2923,  122,  122,  122,  122,  122,  122,  122,
01630       122, 2888, 2906,  152,  152, 2906,  152,  152,  152,  152,
01631       152,  152, 2906,  152,  152,  152,  152,  152,  152,  152,
01632      2906,  152,  152,  152, 2906, 2906,  152, 2906, 2906, 2906,
01633      2906, 2906,  152, 2906,  152,  152,  152,  152,  152,  152,
01634 
01635      2930, 2925,  152,  152,  152,  152,  152,  152,  152,  152,
01636      2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909,
01637      2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2888,
01638      2888, 2914, 2888, 2888, 2914, 2914, 2914, 2914, 2914, 2914,
01639      2914, 2888, 2888, 2914, 2888, 2914, 2914, 2914, 2888, 2914,
01640      2914, 2914, 2888, 2888, 2914, 2888, 2888, 2888, 2914, 2914,
01641      2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914,
01642      2895,   71, 2895, 2895,   71,   71,   71,   71,   71,   71,
01643        71, 2895, 2895,   71, 2895,   71,   71,   71, 2895,   71,
01644        71,   71, 2895, 2895,   71, 2895, 2895, 2895,   71,   71,
01645 
01646        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
01647      2900,  312, 2900, 2900,   97,  312,   97,   97,   97,   97,
01648        97, 2900, 2900,   97, 2900,  111,  111,  111, 2900,   97,
01649       111,  312, 2900,  312, 2900, 2900, 2900,   97,   97,   97,
01650       312,  312,  111,  111,  312,  312,  312,  312,  312, 2902,
01651       122, 2902, 2902,  122,  122,  122,  122,  122,  122,  122,
01652      2902, 2902,  122, 2902,  122,  122,  122, 2902,  122,  122,
01653       122, 2902, 2902,  122, 2902, 2902, 2902,  122,  122,  122,
01654       122,  122,  122,  122,  122,  122,  122,  122,  122, 2906,
01655       152, 2906, 2906,  152,  152,  152,  152,  152,  152,  152,
01656 
01657      2906, 2906,  152, 2906,  152,  152,  152, 2906,  152,  152,
01658       152, 2906, 2906,  152, 2906, 2906, 2906,  152,  152,  152,
01659       152,  152,  152,  152,  152,  152,  152,  152,  152, 2909,
01660      2909, 2909, 2909, 2909, 2888, 2909, 2909, 2909, 2909, 2909,
01661      2909, 2909, 2909, 2909, 2888, 2888, 2914, 2888, 2888, 2888,
01662      2914, 2914, 2914, 2914, 2914, 2931, 2914, 2888, 2888, 2914,
01663      2888, 2914, 2888, 2888, 2888, 2914, 2914, 2914, 2888, 2888,
01664      2888, 2888, 2888, 2888, 2914, 2914, 2888, 2914, 2888, 2914,
01665      2914, 2914, 2914, 2914, 2914, 2914, 2895,   71, 2895, 2895,
01666      2895,   71,   71,   71,   71,   71, 2932,   71, 2895, 2895,
01667 
01668        71, 2895,   71, 2895, 2895, 2895,   71,   71,   71, 2895,
01669      2895, 2895, 2895, 2895, 2895,   71,   71, 2895,   71, 2895,
01670        71,   71,   71,   71,   71,   71,   71, 2900,  312, 2900,
01671      2900, 2900,  312,  312,  312,  312,  312, 2933,   97, 2900,
01672      2900,   97, 2900,  312, 2900, 2900, 2900,  312,  312,  312,
01673      2900, 2900, 2900, 2900, 2900,  312,  312, 2900,   97,   97,
01674       312,  312,  111,  111,  111,  111, 2902,  122, 2902, 2902,
01675      2902,  122,  122,  122,  122,  122, 2934,  122, 2902, 2902,
01676       122, 2902,  122, 2902, 2902, 2902,  122,  122,  122, 2902,
01677      2902, 2902, 2902, 2902, 2902,  122,  122, 2902,  122, 2902,
01678 
01679       122,  122,  122,  122,  122,  122,  122, 2906,  152, 2906,
01680      2906, 2906,  152,  152,  152,  152,  152, 2935,  152, 2906,
01681      2906,  152, 2906,  152, 2906, 2906, 2906,  152,  152,  152,
01682      2906, 2906, 2906, 2906, 2906, 2906,  152,  152, 2906,  152,
01683      2906,  152,  152,  152,  152,  152,  152,  152, 2909, 2909,
01684      2909, 2909, 2909, 2888, 2909, 2909, 2909, 2909, 2909, 2909,
01685      2909, 2909, 2909, 2888, 2888, 2888, 2888, 2914, 2914, 2914,
01686      2914, 2914, 2888, 2914, 2914, 2888, 2914, 2888, 2914, 2888,
01687      2888, 2888, 2888, 2914, 2914, 2888, 2888, 2888, 2888, 2888,
01688      2888, 2888, 2914, 2888, 2914, 2914, 2914, 2914, 2888, 2914,
01689 
01690      2895, 2895, 2895,   71,   71,   71,   71,   71, 2895,   71,
01691        71, 2895,   71, 2895,   71, 2895, 2895, 2895, 2895,   71,
01692        71, 2895, 2895, 2895, 2895, 2895, 2895, 2895,   71, 2895,
01693        71,   71,   71,   71, 2895,   71, 2900, 2900, 2900,  111,
01694        97,  111,  111,  111, 2900,  111,  111, 2900,  111, 2900,
01695       111, 2900, 2900, 2900, 2900,   97,  111, 2900, 2900, 2900,
01696      2900, 2900, 2900,  111,  111,  111,   97,   97, 2900,  312,
01697      2902, 2902, 2902,  122,  122,  122,  122,  122, 2902,  122,
01698       122, 2902,  122, 2902,  122, 2902, 2902, 2902, 2902,  122,
01699       122, 2902, 2902, 2902, 2902, 2902, 2902, 2902,  122, 2902,
01700 
01701       122,  122,  122,  122, 2902,  122, 2906, 2906, 2906,  152,
01702       152,  152,  152,  152, 2906,  152,  152, 2906,  152, 2906,
01703       152, 2906, 2906, 2906, 2906,  152,  152, 2906, 2906, 2906,
01704      2906, 2906, 2906, 2906,  152, 2906,  152,  152,  152,  152,
01705      2906,  152, 2909, 2888, 2888, 2888, 2909, 2909, 2888, 2909,
01706      2909, 2909, 2909, 2888, 2888, 2888, 2888, 2888, 2914, 2914,
01707      2914, 2914, 2888, 2888, 2888, 2914, 2914, 2914, 2888, 2888,
01708      2888, 2914, 2888, 2888, 2888, 2888, 2914, 2914, 2888, 2888,
01709      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2914, 2914, 2914,
01710      2888, 2914, 2895, 2895, 2895,   71,   71,   71,   71, 2895,
01711 
01712      2895, 2895,   71,   71,   71, 2895, 2895, 2895,   71, 2895,
01713      2895, 2895, 2895,   71,   71, 2895, 2895, 2895, 2895, 2895,
01714      2895, 2895, 2895, 2895,   71,   71,   71, 2895,   71, 2900,
01715      2900, 2900,  312,  312,  312,  312, 2900, 2900, 2900,  111,
01716        97,  312, 2900, 2900, 2900,  312, 2900, 2900, 2900, 2900,
01717       111,  111, 2900, 2900, 2900, 2900, 2900, 2900, 2900,  111,
01718       111,  111, 2900,  111, 2902, 2902, 2902,  122,  122,  122,
01719       122, 2902, 2902, 2902,  122,  122,  122, 2902, 2902, 2902,
01720       122, 2902, 2902, 2902, 2902,  122,  122, 2902, 2902, 2902,
01721      2902, 2902, 2902, 2902, 2902, 2902,  122,  122,  122, 2902,
01722 
01723       122, 2906, 2906, 2906,  152,  152,  152,  152, 2906, 2906,
01724      2906,  152,  152,  152, 2906, 2906, 2906,  152, 2906, 2906,
01725      2906, 2906,  152,  152, 2906, 2906, 2906, 2906, 2906, 2906,
01726      2906, 2906, 2906,  152,  152,  152, 2906,  152, 2909, 2888,
01727      2888, 2888, 2909, 2888, 2909, 2888, 2909, 2909, 2888, 2888,
01728      2888, 2888, 2888, 2914, 2914, 2914, 2888, 2888, 2888, 2888,
01729      2914, 2914, 2914, 2914, 2888, 2888, 2888, 2888, 2888, 2888,
01730      2888, 2914, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
01731      2888, 2888, 2914, 2895, 2895, 2895,   71,   71,   71, 2895,
01732      2895, 2895, 2895,   71,   71,   71,   71, 2895, 2895, 2895,
01733 
01734      2895, 2895, 2895, 2895,   71, 2895, 2895, 2895, 2895, 2895,
01735      2895, 2895, 2895, 2895, 2895,   71, 2900, 2900, 2900,  111,
01736      1446,   97, 2900, 2900, 2900, 2900,  312,  312, 1446, 1446,
01737      2900, 2900, 2900, 2900, 2900, 2900, 2900,   97, 2900, 2900,
01738      2900, 2900, 2900, 2900, 2900, 2900,   97, 2902, 2902, 2902,
01739       122,  122,  122, 2902, 2902, 2902, 2902,  122,  122,  122,
01740       122, 2902, 2902, 2902, 2902, 2902, 2902, 2902,  122, 2902,
01741      2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902,  122,
01742      2906, 2906, 2906,  152,  152,  152, 2906, 2906, 2906, 2906,
01743       152,  152,  152,  152, 2906, 2906, 2906, 2906, 2906, 2906,
01744 
01745      2906,  152, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2906,
01746      2906, 2906,  152, 2888, 2888, 2888, 2909, 2888, 2909, 2888,
01747      2888, 2909, 2888, 2888, 2888, 2888, 2888, 2914, 2914, 2914,
01748      2888, 2888, 2888, 2888, 2914, 2914, 2914, 2914, 2888, 2888,
01749      2888, 2888, 2888, 2888, 2888, 2914, 2888, 2888, 2888, 2888,
01750      2888, 2888, 2888, 2888, 2888, 2888, 2895, 2895, 2895,   71,
01751        71,   71, 2895, 2895, 2895, 2895,   71,   71,   71,   71,
01752      2895, 2895, 2895, 2895, 2895, 2895, 2895,   71, 2895, 2895,
01753      2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2900, 2900,
01754      2900,   97,   97,   97, 2900, 2900, 2900, 2900,   97, 1446,
01755 
01756        97,  111, 2900, 2900, 2900, 2900, 2900, 2900, 2900,  111,
01757      2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2902, 2902,
01758      2902,  122,  122,  122, 2902, 2902, 2902, 2902,  122,  122,
01759       122,  122, 2902, 2902, 2902, 2902, 2902, 2902, 2902,  122,
01760      2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902,
01761      2906, 2906, 2906,  152,  152,  152, 2906, 2906, 2906, 2906,
01762       152,  152,  152,  152, 2906, 2906, 2906, 2906, 2906, 2906,
01763      2906,  152, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2906,
01764      2906, 2906, 2888, 2888, 2888, 2888, 2888, 2909, 2888, 2888,
01765      2909, 2888, 2888, 2888, 2888, 2914, 2914, 2888, 2888, 2888,
01766 
01767      2888, 2914, 2914, 2914, 2914, 2888, 2888, 2888, 2888, 2888,
01768      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
01769      2895, 2895,   71,   71, 2895, 2895, 2895, 2895,   71,   71,
01770        71,   71, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895,
01771      2895, 2895, 2895, 2895, 2895, 2895, 2895, 2900, 2900,  111,
01772       111, 2900, 2900, 2900, 2900,  111,  111,  312,  312, 2900,
01773      2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900,
01774      2900, 2900, 2900, 2902, 2902,  122,  122, 2902, 2902, 2902,
01775      2902,  122,  122,  122,  122, 2902, 2902, 2902, 2902, 2902,
01776      2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902,
01777 
01778      2906, 2906,  152,  152, 2906, 2906, 2906, 2906,  152,  152,
01779       152,  152, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2906,
01780      2906, 2906, 2906, 2906, 2906, 2906, 2906, 2888, 2888, 2888,
01781      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2914, 2888, 2888,
01782      2888, 2888, 2914, 2914, 2914, 2914, 2888, 2888, 2888, 2888,
01783      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2895,   71, 2895,
01784      2895, 2895, 2895,   71,   71,   71,   71, 2895, 2895, 2895,
01785      2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2900,  312,
01786      2900, 2900, 2900, 2900,  312,  111, 1446,   97, 2900, 2900,
01787      2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2902,
01788 
01789       122, 2902, 2902, 2902, 2902,  122,  122,  122,  122, 2902,
01790      2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902,
01791      2906,  152, 2906, 2906, 2906, 2906,  152,  152,  152,  152,
01792      2906, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2906,
01793      2906, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2914,
01794      2888, 2888, 2888, 2888, 2914, 2914, 2914, 2914, 2888, 2888,
01795      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2895,
01796        71, 2895, 2895, 2895, 2895,   71,   71,   71,   71, 2895,
01797      2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895,
01798      2900,   97, 2900, 2900, 2900, 2900,   97,   97,   97,   97,
01799 
01800      2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900,
01801      2900, 2902,  122, 2902, 2902, 2902, 2902,  122,  122,  122,
01802       122, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902,
01803      2902, 2902, 2906,  152, 2906, 2906, 2906, 2906,  152,  152,
01804       152,  152, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2906,
01805      2906, 2906, 2906, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
01806      2888, 2888, 2888, 2914, 2914, 2914, 2888, 2888, 2888, 2888,
01807      2888, 2888, 2888, 2888, 2888, 2895, 2895, 2895,   71,   71,
01808        71, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895,
01809      2900, 2900, 2900, 1446, 1446,  111, 2900, 2900, 2900, 2900,
01810 
01811      2900, 2900, 2900, 2900, 2900, 2902, 2902, 2902,  122,  122,
01812       122, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902,
01813      2906, 2906, 2906,  152,  152,  152, 2906, 2906, 2906, 2906,
01814      2906, 2906, 2906, 2906, 2906, 2888, 2888, 2888, 2888, 2888,
01815      2888, 2888, 2888, 2888, 2888, 2914, 2914, 2888, 2888, 2888,
01816      2888, 2888, 2888, 2888, 2888, 2895, 2895, 2895,   71,   71,
01817      2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2900, 2900,
01818      2900,  312,  312, 2900, 2900, 2900, 2900, 2900, 2900, 2900,
01819      2900, 2902, 2902, 2902,  122,  122, 2902, 2902, 2902, 2902,
01820      2902, 2902, 2902, 2902, 2906, 2906, 2906,  152,  152, 2906,
01821 
01822      2906, 2906, 2906, 2906, 2906, 2906, 2906, 2888, 2888, 2888,
01823      2888, 2888, 2888, 2888, 2888, 2888, 2914, 2914, 2888, 2888,
01824      2888, 2888, 2888, 2888, 2888, 2888, 2895, 2895, 2895,   71,
01825        71, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2900,
01826      2900, 2900,  312,  312, 2900, 2900, 2900, 2900, 2900, 2900,
01827      2900, 2900, 2902, 2902, 2902,  122,  122, 2902, 2902, 2902,
01828      2902, 2902, 2902, 2902, 2902, 2906, 2906, 2906,  152,  152,
01829      2906, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2888, 2888,
01830      2888, 2888, 2888, 2888, 2888, 2914, 2888, 2888, 2888, 2888,
01831      2888, 2888, 2895, 2895,   71, 2895, 2895, 2895, 2895, 2895,
01832 
01833      2895, 2900, 2900,  312, 2900, 2900, 2900, 2900, 2900, 2900,
01834      2902, 2902,  122, 2902, 2902, 2902, 2902, 2902, 2902, 2906,
01835      2906,  152, 2906, 2906, 2906, 2906, 2906, 2906, 2888, 2888,
01836      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2895, 2895, 2895,
01837      2895, 2895, 2895, 2900, 2900, 2900, 2900, 2900, 2900, 2902,
01838      2902, 2902, 2902, 2902, 2902, 2906, 2906, 2906, 2906, 2906,
01839      2906, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2895, 2895,
01840      2895, 2895, 2895, 2895, 2900, 2900, 2900, 2900, 2900, 2900,
01841      2902, 2902, 2902, 2902, 2902, 2902, 2906, 2906, 2906, 2906,
01842      2906, 2906, 2888, 2888, 2888, 2888, 2895, 2895, 2895, 2895,
01843 
01844      2900, 2900, 2900, 2900, 2902, 2902, 2902, 2902, 2906, 2906,
01845      2906, 2906, 2888, 2888, 2888, 2895, 2895, 2895, 2900, 2900,
01846      2900, 2902, 2902, 2902, 2906, 2906, 2906, 2888, 2888, 2888,
01847      2895, 2895, 2895, 2900, 2900, 2900, 2902, 2902, 2902, 2906,
01848      2906, 2906, 2888, 2888, 2888, 2895, 2895, 2895, 2900, 2900,
01849      2900, 2902, 2902, 2902, 2906, 2906, 2906, 2888, 2895, 2900,
01850      2902, 2906, 2888, 2895, 2900, 2902, 2906, 2888, 2895, 2900,
01851      2902, 2906, 2888, 2895, 2900, 2902, 2906, 2888, 2895, 2900,
01852      2902, 2906, 2888, 2895, 2900, 2902, 2906,    0, 2888, 2888,
01853      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
01854 
01855      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
01856      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
01857      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
01858      2888, 2888, 2888, 2888, 2888
01859     } ;
01860 
01861 static yyconst flex_int16_t yy_nxt[11390] =
01862     {   0,
01863        36,   37,   38,   39,   40,   36,   36,   41,   42,   41,
01864        41,   41,   41,   43,   44,   45,   46,   47,   48,   49,
01865        50,   51,   49,   49,   52,   53,   54,   55,   56,   57,
01866        58,   59,   49,   60,   61,   49,   49,   49,   36,   36,
01867        36,   43,   44,   45,   46,   47,   48,   49,   50,   51,
01868        49,   52,   53,   54,   55,   56,   57,   58,   59,   49,
01869        60,   61,   49,   49,   49,   36,   36,   36,   36,   36,
01870        62,   38,  175, 2862,   63,   64,   65,   38,   66,   67,
01871        64,   64,   68,   69,   68,   68,   68,   68,   70,   71,
01872        72,   73,   74,   75,   76,   77,   78,   76,   76,   79,
01873 
01874        80,   81,   82,   83,   84,   85,   86,   76,   87,   88,
01875        76,   76,   76,   64,   64,   64,   70,   71,   72,   73,
01876        74,   75,   76,   77,   78,   76,   79,   80,   81,   82,
01877        83,   84,   85,   86,   76,   87,   88,   76,   76,   76,
01878        64,   64,   64,   64,   64,   89,  214,   62,  254,   90,
01879        91,   63,   36,   92,   38,   39,   40,   36,   36,   93,
01880        94,   93,   93,   93,   93,   95,   96,   97,   98,   99,
01881       100,  101,  102,  103,  101,  101,  104,  105,  106,  107,
01882       108,  109,  110,  111,  101,  112,  113,  101,  101,  101,
01883        36,   36,  114,   95,   96,   97,   98,   99,  100,  101,
01884 
01885       102,  103,  101,  104,  105,  106,  107,  108,  109,  110,
01886       111,  101,  112,  113,  101,  101,  101,   36,   36,   36,
01887        36,   36,  115,  177,  178, 2861,   63,  116,   37,  117,
01888       118,   40,  116,  116,  119,  120,  119,  119,  119,  119,
01889       121,  122,  123,  124,  125,  126,  127,  128,  129,  127,
01890       127,  130,  131,  132,  133,  134,  135,  136,  137,  127,
01891       138,  139,  127,  127,  127,  140,  116,  116,  121,  122,
01892       123,  124,  125,  126,  127,  128,  129,  127,  130,  131,
01893       132,  133,  134,  135,  136,  137,  127,  138,  139,  127,
01894       127,  127,  116,  116,  116,  116,  116,   62,  142,  144,
01895 
01896        62,  141,  170,   63,  146,   62,   63,  173,  192,   63,
01897       225,   63,  193,  226,  196, 2860,  180,  196,  206,  180,
01898       180, 2859,  207,  180,  179,   38,  175,  229,  208,   38,
01899       210,  197,  234,  211,  197,  179,   38,  175,  225,  208,
01900       226, 2858,  196,  171,  180,  196, 2812,  180,  180,   38,
01901       210,  180,  251,  211,  229,  293,  252, 2808,  197,  294,
01902       234,  197,  423,  424,  423,  424,  143,  143,   36,  147,
01903        38,   39,   40,   36,  148,  149,  150,  149,  149,  149,
01904       149,  151,  152,  153,  154,  155,  156,  157,  158,  159,
01905       157,  157,  160,  161,  162,  163,  164,  165,  166,  167,
01906 
01907       157,  168,  169,  157,  157,  157,   36,   36,  148,  151,
01908       152,  153,  154,  155,  156,  157,  158,  159,  157,  160,
01909       161,  162,  163,  164,  165,  166,  167,  157,  168,  169,
01910       157,  157,  157,   36,   36,   36,   36,   36,  174,  179,
01911        38,  175,  174,  174,  174,  174,  174,  174,  174,  174,
01912       174,  180,  180,  181,  180,  180,  182,  180,  180,  180,
01913       180,  180,  180,  183,  180,  184,  185,  180,  186,  187,
01914       180,  188,  189,  180,  180,  180,  174,  174,  174,  180,
01915       180,  181,  180,  180,  182,  180,  180,  180,  180,  180,
01916       183,  180,  184,  185,  180,  186,  187,  180,  188,  189,
01917 
01918       180,  180,  180,  190,  191,  174,  174,  174,  180,  194,
01919       248,  180,  375,  195, 2804,  218,  227,  219,  180,  228,
01920       180,  180,  235,  180,  180,  238,  180,  180,  215,  215,
01921       215,  215,  215,  215, 2800,  239,  180,  194,  248,  180,
01922      2796,  195,  218,  227,  219,  180,  228,  180,  180,  235,
01923       180,  180,  238,  180,  180,  436,  220, 2606,  174,  174,
01924       198,  199,  239,  180,  221,  200,  236,  180,  201,  215,
01925       215,  215,  215,  215,  215,  222,  237,  202,  223,  203,
01926       376,  335,  224,  436,  220,  252, 2596,  240,  198,  199,
01927       216,  180,  221,  200,  236,  180,  201,  241,  230, 2593,
01928 
01929      2583,  231,  222,  237,  202,  223,  203, 2580,  232,  224,
01930       233,  242,  204,  205,  243,  240,  249,  216,  214,  245,
01931       495,  428,  250,  246,  241,  244,  230,  247,  419,  231,
01932      2570, 2567,  252,  253,  336,  232,  253,  233, 2557,  242,
01933      2554,  421,  243, 2544,  249,  252,  438,  245,  428,  250,
01934       439,  246,  244, 2544,  429,  247,  257,  257,  257,  257,
01935       257,  257,  257,  257,  257,  257,  257,  257,  259,  259,
01936       253,  430,  259,  267,  378,  431,  259,  259,  252,  264,
01937       259,  429,  265,  258, 2529, 2514,  266,  298,  298,  298,
01938       298,  298,  298, 2499, 2484, 2469,  259,  259,  430,  259,
01939 
01940       259,  267,  431,  276,  259,  259,  264,  259,  259,  265,
01941       258,  254,  254,  266,  254,  254,  254,  254,  254,  254,
01942       254,  254,  254,  254,  259,  259,  259,  259,  432,  259,
01943       442,  276,  259,  259,  259,  259,  269,  259, 2460,  270,
01944       271,  260,  376,  261,  435,  437,  268,  441,  280,  254,
01945       254,  254,  259,  259,  259,  432,  443,  259,  442, 2449,
01946       259,  259,  259,  269, 2428,  259,  270,  271,  260, 2407,
01947       261,  435,  437,  268,  441,  280,  254,  254,  254,  254,
01948       254,  254,  254,  443,  254,  254,  254,  254,  254,  254,
01949       254,  254,  254,  254,  262,  259,  259,  259,  259,  340,
01950 
01951       278, 2386,  263,  259,  259,  259,  291,  340, 2365,  277,
01952       279,  281,  292,  338,  338,  338,  338,  338,  338,  254,
01953       254,  254,  262,  259,  259,  259,  259,  340,  278,  444,
01954       263,  259,  259,  259,  291,  340,  277,  279,  281,  292,
01955       383,  383,  383,  383,  383,  383,  254,  254,  254,  254,
01956       254,  259,  445,  375,  272, 2334,  444,  273,  451,  259,
01957      2313,  340,  452, 2292,  274, 2271,  275,  259,  287,  340,
01958       259,  282,  288,  446,  284,  259,  289,  285,  259,  259,
01959       445,  283,  272,  349,  385,  273,  259,  259,  286,  340,
01960       290,  274,  385,  275,  259,  259,  287,  340,  259,  282,
01961 
01962       288,  446,  284,  259,  289,  285,  259,  251,  283,  301,
01963       349,  252,  385,  332,  259,  286, 2250,  301,  290, 2086,
01964       385,  376,  259,  298,  298,  298,  298,  298,  298,  309,
01965      1956,  301, 1921, 1767,  301,  447,  301,  301,  301,  301,
01966       457,  332,  310,  301,  300,  301,  338,  338,  338,  338,
01967       338,  338,  311,  301, 1746,  312,  301,  309,  301,  301,
01968       301,  301,  447,  301,  448,  301,  301,  339,  457,  310,
01969       301,  300,  299,  299,  299,  299,  299,  299, 1586,  311,
01970       301,  301,  312,  301,  313,  449,  301,  301,  301,  293,
01971      1570,  448,  433,  294,  339,  302,  434,  303,  215,  215,
01972 
01973       215,  215,  215,  215,  467,  299,  318, 1554,  301,  450,
01974       458,  313,  449,  301,  301,  301,  301,  319,  459,  433,
01975       301,  301,  302,  434,  303,  299,  299,  299,  299,  299,
01976       299,  304,  467,  468,  318,  460,  450,  458,  461,  305,
01977       301,  301, 1549,  301,  319,  459,  320,  301,  301,  466,
01978       464,  335,  465,  301,  469,  252,  321,  473,  299,  304,
01979       301,  468,  460,  474, 1545,  461,  475,  305,  299,  299,
01980       299,  299,  299,  299,  320,  301,  466,  464,  323,  465,
01981       301,  469,  301,  321,  473,  306,  479,  301,  307,  476,
01982       474,  301,  308,  475,  301, 1544,  477, 1399,  301,  322,
01983 
01984       482,  299,  301,  419, 1177,  323,  340,  252,  340,  301,
01985       348,  478,  306,  479,  340,  307,  340,  476,  301,  308,
01986       314,  301,  352,  315,  477,  301,  322,  482,  301,  483,
01987       316,  301,  317,  324,  340,  301,  340,  484,  348,  478,
01988       301,  421,  340,  325,  340,  252, 1171,  301,  314,  352,
01989       487,  315,  340, 1164,  485,  301,  483,  316,  301,  317,
01990       340,  324,  301,  488,  484,  326,  489,  301,  327,  301,
01991       325,  361,  301,  301,  301,  301,  340,  333,  487,  328,
01992       340,  485,  378,  334,  340, 1163,  252,  350,  340,  486,
01993       351,  488,  462,  326,  489,  340,  327,  301,  361,  301,
01994 
01995       463,  301,  301,  340,  340,  333,  328,  329, 1145,  358,
01996       334,  330,  340,  470,  350,  331,  486,  351,  301,  480,
01997       462,  301,  481,  340,  471,  301, 1135,  472,  463,  438,
01998       490,  340,  862,  439,  451,  329,  358,  956,  452,  330,
01999       496,  470,  491,  331,  535,  301,  480,  945,  301,  481,
02000       376,  471,  301,  336,  472,  336,  336,  490,  336,  336,
02001       336,  336,  336,  336,  336,  336,  340,  340,  496,  491,
02002       385,  357,  535,  340,  340,  340,  862,  345,  385,  702,
02003       346,  340,  426,  341,  347,  342,  492,  362,  493,  406,
02004       494,  423,  336,  336,  340,  340,  573,  420,  385,  357,
02005 
02006       650,  340,  340,  340,  345,  693,  385,  346,  381,  340,
02007       341,  347,  342,  492,  362,  493,  406,  494,  336,  336,
02008       336,  336,  336,  336,  573,  336,  336,  650,  336,  336,
02009       336,  336,  336,  336,  336,  336,  343,  340,  340,  694,
02010       259,  359,  363,  612,  344,  340,  340,  501,  259,  340,
02011       611,  360,  364,  365,  652,  502,  366,  340,  377,  651,
02012       297,  534,  336,  336,  343,  340,  340,  367,  259,  359,
02013       363,  612,  344,  340,  340,  501,  259,  340,  360,  364,
02014       653,  365,  652,  502,  366,  340,  651,  259,  336,  336,
02015       336,  336,  336,  340,  367,  259,  353,  253,  336,  354,
02016 
02017       253,  340,  255,  654,  497,  658,  355,  653,  356,  368,
02018       340,  340,  385,  369,  371,  259,  393,  370,  340,  372,
02019       385,  340,  655,  259,  353,  373,  456,  354,  212,  340,
02020       654,  497,  658,  355,  253,  356,  455,  368,  340,  340,
02021       385,  369,  371,  656,  393,  370,  340,  372,  385,  213,
02022       655,  426,  373,  380,  380,  380,  380,  380,  380,  380,
02023       380,  380,  380,  380,  380,  383,  383,  383,  383,  383,
02024       383,  656,  657,  425,  213,  385,  257,  257,  257,  257,
02025       257,  257,  659,  385,  420,  381,  384,  380,  380,  380,
02026       380,  380,  380,  385,  385,  660,  377,  394,  661,  665,
02027 
02028       657,  385,  385,  385,  395,  390,  337,  396,  391,  659,
02029       662,  385,  392,  384,  382,  382,  382,  382,  382,  382,
02030       382,  385,  385,  660,  394,  259,  661,  665,  663,  385,
02031       385,  395,  390,  259,  396,  391,  297,  662,  386,  392,
02032       387,  298,  298,  298,  298,  298,  298,  213,  382,  385,
02033       385,  259,  385,  259,  402,  663,  666,  385,  385,  259,
02034       385,  259,  255,  397,  500,  386,  403,  387,  382,  382,
02035       382,  382,  382,  382,  382,  388,  213,  385,  385,  259,
02036       385,  385,  402,  389,  666,  385,  385,  259,  385,  385,
02037       397,  500,  664,  403,  670,  407,  385,  212,  667, 2888,
02038 
02039       404,  668,  382,  388,  385,  259,  172,  669,  171,  385,
02040       405,  389,  385,  259,  672,  398,  145,  385,  399,  664,
02041       385,  670,  407,  498,  385,  400,  667,  401,  404,  668,
02042       385,  676,  385,  259,  408,  669,  671,  405,  385,   91,
02043       385,  259,  672,  398,  409, 2888,  399,  413,  385,  385,
02044       498,  414,  400,  410,  401,  415,  411,  385,  385,  676,
02045       385,  516,  408,  671,  416,  259,  385,  412,  385,  259,
02046      2888,  409,  385,  259,  259,  413,  503,  385,  504,  414,
02047       417,  410,  259,  415,  411,  385,  418, 2888,  385,  516,
02048       499,  259,  416,  259,  412, 2888,  385,  259,  673,  259,
02049 
02050       385,  259,  259,  503,  259,  504, 2888,  505,  417,  506,
02051       259,  677,  259,  418,  259,  259, 2888,  499,  507,  259,
02052       678, 2888,  259,  259, 2888,  673, 2888,  259, 2888,  508,
02053      2888,  259,  259,  509,  505, 2888,  683,  506,  677,  259,
02054       259,  259,  259,  259,  510,  259,  507,  511,  678,  259,
02055       259,  259,  259,  259,  515,  259,  508,  512,  513,  259,
02056       259,  509,  259,  259,  683,  517,  684,  259,  259,  259,
02057       259,  510,  514,  259,  511,  685,  259,  259, 2888,  259,
02058       259,  259,  515,  259,  512,  513, 2888,  259,  259,  518,
02059       259,  259,  519,  517,  684,  520,  259,  259,  259,  514,
02060 
02061       259,  259,  259,  685,  259,  259,  259,  259,  259,  526,
02062       259, 2888,  522,  527,  259,  259,  518, 2888,  521,  519,
02063       525,  259,  520,  523,  259,  259, 2888,  259,  259,  259,
02064       259,  688,  259,  259,  259,  259,  259,  526,  259,  522,
02065       529,  527,  259,  259,  528,  521,  259,  525,  524,  259,
02066       523,  259,  259,  259,  259,  259,  689,  259,  301,  688,
02067       259,  259,  301,  259,  530,  259,  301,  529,  679,  531,
02068       532,  259,  528,  682,  259,  524,  259, 2888, 2888,  259,
02069       301,  259,  259,  301,  259,  259,  301,  537, 2888,  259,
02070       301,  530,  533,  259,  301,  679,  531,  532,  301,  690,
02071 
02072       682,  540,  301, 2888,  259,  301,  301,  301,  680,  541,
02073       301,  301,  259,  301,  537,  536,  301,  681,  538,  533,
02074       301,  301,  301,  539,  301,  551,  301,  690,  301,  540,
02075       301,  686,  703,  301,  301,  680,  687,  541,  691,  301,
02076       301,  692,  536,  301,  711,  538, 2888,  301,  301,  301,
02077       539,  301,  551, 2888,  542,  301,  543,  301,  686,  301,
02078       703,  301,  301,  687,  544,  691,  301,  545,  692,  340,
02079       301,  301,  711,  301,  546, 2888,  301,  340,  301, 2888,
02080       301,  542,  301,  543,  301,  301,  301,  301,  301,  301,
02081       547,  544,  712,  301,  301,  545,  695,  340,  301,  301,
02082 
02083       301, 2888,  546,  301,  301,  340,  301,  301,  704,  301,
02084       705,  578,  301,  301,  301,  552, 2888,  547,  301,  579,
02085       712,  301,  548,  695,  301, 2888,  706,  301,  553,  554,
02086      2888,  301,  301,  549,  301,  704,  550,  705,  301,  578,
02087       301,  301,  552,  301,  555,  301, 2888,  579,  301, 2888,
02088       548,  301,  301,  706,  301,  553,  707,  554,  301,  708,
02089       549,  301, 2888,  550, 2888,  301,  714,  301,  713,  301,
02090       301,  301,  555,  301,  556,  301,  301,  301,  301,  301,
02091       301,  301,  715,  707,  301,  716,  708, 2888,  560,  558,
02092       557,  301,  559,  714,  301,  561,  713,  301,  301,  301,
02093 
02094      2888,  301,  556,  301, 2888,  301,  301,  301,  301,  715,
02095      2888,  301,  716, 2888,  717,  560,  558,  557,  301,  559,
02096       301,  301,  561,  301,  718,  301,  562,  301,  301,  301,
02097       301,  301,  301,  301,  719,  301,  564,  569,  563, 2888,
02098       301,  566,  717, 2888,  301,  301, 2888,  301,  565,  301,
02099       301,  718,  913,  562,  301,  301,  301,  301,  301,  301,
02100       301,  719,  301,  564,  569,  563,  301,  567,  301,  566,
02101       301,  301,  301,  301,  301,  301,  565,  301,  767,  301,
02102       913, 2888,  301,  814, 2888,  568,  301, 2888,  863,  570,
02103       571,  911,  912,  301,  301,  567, 2888,  301,  301,  301,
02104 
02105      2888, 2888,  301,  301, 2888,  767,  340,  301,  301,  301,
02106       814,  572,  568,  301,  340,  863,  570,  571,  911,  912,
02107       301,  914, 2888,  574,  340,  301,  338,  338,  338,  338,
02108       338,  338,  340,  340,  340,  301,  340,  915,  572,  916,
02109       576,  340,  340,  917,  340,  340,  340,  919,  914,  577,
02110       574,  575,  340,  340,  340, 2888,  580, 2888,  581,  918,
02111       340,  340,  582,  340,  340,  915,  916,  576,  583,  340,
02112       917,  340,  340,  340,  340,  919,  577,  920,  575,  340,
02113       340,  340,  340,  580,  584,  581,  918,  340,  340,  582,
02114       921,  340, 2888,  585,  340,  340,  583,  923,  340,  340,
02115 
02116       586, 2888,  340,  340,  920, 2888,  340,  340,  340, 2888,
02117       589,  587,  584,  925,  588,  340,  340,  921,  922,  340,
02118       585,  593,  340,  340,  923,  340,  340,  340,  586,  340,
02119       340,  340,  590,  340,  340,  924,  340,  589,  587,  594,
02120       925,  588,  591,  340,  340,  592,  922,  340,  340,  593,
02121       926,  340,  340,  340,  340,  340,  340,  340, 2888,  590,
02122       340,  340,  340,  924,  340,  596,  598,  594,  597,  591,
02123       340,  340,  340,  592,  928,  595,  340,  926,  340,  340,
02124       340,  340,  340,  340,  340,  599,  340, 2888,  340,  340,
02125       340,  340,  596,  598,  340,  597,  340,  604,  340,  602,
02126 
02127       600,  928,  595,  930,  603,  340,  340,  601,  927,  340,
02128       340,  340,  599,  340,  340,  340,  605,  340,  340,  340,
02129       929,  340,  340,  340,  340,  604,  602,  600,  607,  606,
02130       930,  340,  603,  340,  601,  931,  927,  340,  340,  340,
02131      2888,  340, 2888,  340,  605,  340,  340,  608,  929,  340,
02132       609,  340,  340, 2888, 2888,  607,  606, 2888, 2888,  340,
02133       340,  385,  385,  931, 2888,  340, 2888,  340,  610,  385,
02134       385, 2888, 2888,  340,  608, 2888,  932,  609,  939,  613,
02135       340,  383,  383,  383,  383,  383,  383,  948,  340,  385,
02136       385,  385,  385,  617,  385,  610,  940,  385,  385,  385,
02137 
02138       385,  618,  385,  385,  932,  939,  613,  616,  615,  614,
02139       385,  385, 2888, 2888,  619,  948,  620,  952,  385,  385,
02140       385,  617,  385,  940, 2888, 2888,  621,  385,  385,  618,
02141       385,  385,  385, 2888,  616,  615,  614,  622,  385,  385,
02142       385,  619,  385,  620,  385,  952,  385,  955,  623, 2888,
02143       385,  385,  385,  621,  385, 2888,  624, 2888, 2888,  385,
02144       385,  385,  385,  625, 2888,  622, 2888,  628,  385,  385,
02145       385, 2888,  385,  941,  626,  955,  623,  627,  385,  385,
02146       385,  944,  385,  624,  385,  385,  631,  385,  385,  385,
02147       385,  625,  385,  385,  628,  632,  385,  385,  629,  385,
02148 
02149       941,  626,  633,  385,  627,  630,  946,  385,  944, 2888,
02150      2888,  947,  385,  385,  631,  959,  385, 2888,  385, 2888,
02151       385,  385, 2888,  632,  385,  629,  385,  385,  385,  385,
02152       633,  385,  630,  946,  385,  385,  385,  385,  947,  634,
02153      2888,  635,  385,  959,  636,  385,  385,  637,  949,  638,
02154       385,  385,  385,  385,  385,  950,  385,  385,  385,  385,
02155       642,  643,  385,  641,  385,  385,  634,  639,  635,  385,
02156       385,  636,  640,  385,  637,  949,  638,  385,  385,  385,
02157       385,  385,  950,  385,  644,  385,  385,  385,  642,  643,
02158       641,  385, 2888,  645,  639,  259,  385,  385,  731,  640,
02159 
02160       385,  385,  385,  720,  385,  385,  259,  962,  385,  385,
02161       385,  385,  644,  385,  646,  648,  647,  649, 2888,  385,
02162       645, 2888, 2888,  259,  385, 2888,  731, 2888,  385,  385,
02163       385,  720,  385, 2888,  259,  962,  385,  385,  385, 2888,
02164      2888,  646,  648,  647,  649,  674,  674, 2888,  674,  674,
02165       674,  674,  674,  674,  674,  674,  674,  674,  696,  697,
02166       698,  699,  700,  259,  259,  259,  259,  701,  724,  965,
02167       726,  259,  259,  259,  259,  937, 2888,  721,  942, 2888,
02168       951,  725,  943,  674,  674,  674, 2888, 2888, 2888, 2888,
02169       938,  259,  259,  259,  259,  701,  724,  965,  726,  259,
02170 
02171       259,  259,  259,  937,  721, 2888,  942,  951,  725,  943,
02172       674,  674,  674,  674,  674,  709,  709,  938,  709,  709,
02173       709,  709,  709,  709,  709,  709,  709,  709,  259, 2888,
02174       259,  259,  259,  933,  732,  733,  259,  935,  259,  259,
02175       259, 2888,  730,  259, 2888,  727,  953,  934,  728,  954,
02176       960,  936, 2888,  709,  709,  709,  259,  729,  259,  259,
02177       259,  933,  732,  733,  259,  935,  259,  259,  259,  730,
02178      2888,  259,  727,  953,  934,  728,  954,  960,  936,  259,
02179       709,  709,  709,  709,  709,  722,  722,  738,  722,  722,
02180       722,  722,  722,  722,  722,  722,  722,  722,  259,  966,
02181 
02182       259, 2888,  259,  259,  736,  259,  259,  259,  259,  967,
02183       259,  259, 2888,  259,  968,  738, 2888,  734,  735,  739,
02184      2888,  740, 2888,  722,  722,  722,  259,  966,  259,  737,
02185       259,  259,  736,  259,  259,  259,  259,  967,  259,  259,
02186       741,  259,  968,  259,  734,  735,  739,  259,  740,  259,
02187       722,  722,  722,  722,  722,  259,  259,  259,  259, 2888,
02188       751,  765,  750,  259,  259,  971,  259, 2888, 2888,  743,
02189      2888,  259, 2888, 2888,  742,  259, 2888,  259,  961,  259,
02190      2888, 2888,  963,  259,  259,  259,  259,  259,  751,  765,
02191       964,  752,  259,  971,  259,  259,  743,  744,  745,  746,
02192 
02193       747,  748,  259,  259,  259,  961,  749,  259,  259,  963,
02194       259, 1011,  259, 2888,  754,  259,  259,  964,  752,  753,
02195       259,  340, 2888,  259, 2888, 2888,  755, 2888,  259,  815,
02196       259,  259,  259, 1050,  749,  969,  259,  756,  259, 1011,
02197       259,  754, 2888, 2888,  259, 2888,  753, 2888,  259,  340,
02198       259,  259,  259,  755,  760,  759,  259,  815,  259,  259,
02199       259, 1050,  969,  762,  756,  757,  757,  970,  757,  757,
02200       757,  757,  757,  757,  757,  757,  757,  757,  259,  259,
02201       259,  973,  760,  759,  259,  761,  259,  259,  259,  259,
02202       762, 2888,  259,  259,  970,  974, 2888,  259, 2888, 2888,
02203 
02204       763,  259, 2888,  757,  757,  757, 2888, 2888,  259,  973,
02205      2888,  764,  259,  761,  989,  301,  259,  259,  766,  301,
02206       259,  259,  974,  768,  982,  259,  780,  763,  983,  259,
02207       757,  757,  757,  757,  757,  993,  259,  301,  764,  301,
02208       301,  989,  769,  301,  259,  766,  301,  301, 2888, 2888,
02209      2888,  768,  982, 2888,  780,  983, 2888,  709,  336, 2888,
02210       709,  994,  993, 2888,  301, 2888,  301,  301, 2888,  769,
02211      2888, 2888, 1090,  301,  674,  674,  957,  674,  674,  674,
02212       674,  770,  770,  770,  770,  770,  770,  772,  994, 1029,
02213       301, 1033,  958,  301,  709,  301,  773,  301,  301,  301,
02214 
02215      1090, 2888,  301,  774,  957,  997, 1022,  301, 2888, 2888,
02216      1023, 2888,  674,  674,  770,  772, 1029,  301, 1033,  958,
02217       301,  998,  301,  773,  301,  301, 1133,  301,  301,  301,
02218       826,  774,  301,  997, 1022,  301,  301, 1023,  340,  674,
02219       674,  674,  674,  674,  778,  775,  301,  301,  998,  301,
02220      2888,  301, 1068,  776, 1133,  779,  301,  781,  826,  301,
02221       301,  301,  777,  301,  301,  301,  340, 1072, 1140,  828,
02222      2888,  778,  775,  301,  301, 2888,  301,  340,  301, 1068,
02223       776,  301,  301,  779,  301,  781,  301,  301,  783,  301,
02224       301,  301,  784,  301, 1072,  301, 1140,  828,  787, 2888,
02225 
02226      2888,  782,  301,  301, 1073,  340,  301, 1013,  301,  301,
02227       301,  301,  301, 2888,  301,  783,  788,  785,  301,  301,
02228       784, 1014,  301,  301,  693,  787,  340,  786,  782,  301,
02229       301, 1073, 1108,  301,  833, 1013,  301,  301, 2888,  301,
02230       301, 1112,  301,  788,  301,  301,  790,  301, 1014,  301,
02231      2888,  301, 2888, 2888,  340,  786, 2888,  301,  789, 1108,
02232      2888,  301,  833, 2888,  301,  301,  301,  301, 1112,  301,
02233       798,  301,  301,  790,  301, 2888,  301,  791,  792,  793,
02234       794,  795,  301,  301,  797,  301,  796,  301,  301,  301,
02235       301,  301,  301,  301,  301,  799,  301, 2888,  798, 2888,
02236 
02237      2888, 2888,  301,  800,  301, 2888, 2888, 2888,  301,  385,
02238       301,  301,  301,  340,  796,  301,  301,  864,  301,  301,
02239       301,  340,  799,  801,  301, 1113,  301,  816,  301,  301,
02240       800,  301,  301,  802,  803,  301,  301,  385, 1130, 2888,
02241       301,  340, 2888, 2888, 2888,  864, 2888, 2888, 2888,  340,
02242       801, 2888, 1113,  301,  816,  301,  301, 1131,  301, 1158,
02243       802,  803,  301,  709,  709, 1130,  709,  709,  709,  709,
02244       804,  804,  804,  804,  804,  804,  806,  807,  808,  301,
02245      1052, 2888,  301, 1132, 1131,  301,  301, 1158,  301,  301,
02246       301,  301,  810,  301, 1053,  301,  809,  301, 2888,  301,
02247 
02248       301,  709,  709,  804,  806,  807,  808,  301, 1052,  301,
02249      1132, 1092,  301, 1159,  301,  301,  301,  301,  301,  810,
02250       301, 1053,  301,  809,  301, 1093,  301,  301,  709,  709,
02251       709,  709,  709,  301,  812, 2888,  301, 1134, 1161, 1092,
02252       811, 1159,  301,  813,  301,  301, 2888,  301, 1136,  301,
02253      1137,  301, 1093, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
02254       301, 2888,  812,  301, 1134,  340, 1161,  811,  819,  301,
02255       813,  301,  301,  340,  301, 1136,  301, 1137,  301,  817,
02256       674,  336,  817,  674,  817,  817,  817,  817,  817,  817,
02257       817,  817,  340,  340,  340,  340,  819,  340,  821,  340,
02258 
02259       340,  340,  340,  340, 2888,  340, 2888,  340, 2888,  820,
02260       825, 1138,  822,  875, 2888,  823, 2888,  674,  817,  817,
02261       340,  385,  340,  340,  824,  340,  821,  340,  340, 2888,
02262       340,  340,  340,  340,  827,  340,  820,  825, 1138,  822,
02263       340,  875,  823,  340,  817,  817,  817,  817,  817,  385,
02264       340,  340, 2888, 2888, 2888,  340,  340,  831,  340,  340,
02265       340,  830,  827,  340,  340,  836,  877,  340,  340,  829,
02266       834,  340,  340,  340,  385, 2888, 2888,  835,  340,  340,
02267       340,  340,  832,  340,  340,  831,  340,  340,  830, 1139,
02268      1141,  340,  340,  838,  877,  340,  829,  834, 2888,  837,
02269 
02270       340,  340,  385,  340,  835,  340, 2888,  846,  340,  340,
02271      2888,  340, 2888,  340, 2888, 1162, 1139, 1141, 2888, 1165,
02272       838,  839,  840,  841,  842,  843,  340, 2888,  340,  340,
02273       844,  340,  845,  340,  340,  846,  340,  340,  340,  340,
02274       847,  340,  340, 1162,  848,  340,  340, 1165, 1142, 1143,
02275       340, 2888, 1167,  340,  340,  851,  340,  340,  844, 1144,
02276      2888,  849,  340,  850,  340,  340,  340,  847, 2888, 2888,
02277       340,  848, 2888,  340,  340, 1142, 1143,  340,  340,  340,
02278      1167,  340,  851, 2888,  854,  340, 1144,  340,  849,  857,
02279       850,  852,  709,  336,  852,  709,  852,  852,  852,  852,
02280 
02281       852,  852,  852,  852, 1174,  340,  340,  340,  855,  340,
02282       856,  340,  854,  340,  340,  340,  857,  340,  340,  340,
02283      1061, 2888,  858, 1146, 1062,  340,  340, 2888,  861,  709,
02284       852,  852, 1174,  340,  340, 1147,  855,  340,  856,  340,
02285      2888, 2888,  340,  859, 2888,  340,  340,  340, 1061,  858,
02286      1146, 1062, 1148,  340,  340,  861,  852,  852,  852,  852,
02287       852,  340, 1147,  340,  385,  385,  860,  385,  868,  876,
02288       859,  340,  385,  385, 1182,  385, 2888, 2888,  865, 1148,
02289      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
02290      2888,  340,  385,  385,  860,  385,  868,  876, 2888,  340,
02291 
02292       385,  385, 1182,  385, 1101,  865,  674,  674, 1102,  674,
02293       674,  674,  866,  866,  866,  866,  866,  866,  866,  385,
02294       385,  385, 2888,  385,  870,  385,  385,  385,  385,  385,
02295      2888,  385, 1101,  385,  385, 1102,  869,  874,  871, 2888,
02296      1151,  872, 1154,  879,  674,  674,  866,  385,  385,  385,
02297       873,  385,  870,  385,  385,  385,  385,  385,  385,  385,
02298      2888,  385,  385,  869,  874,  871,  385, 1151,  872, 1154,
02299       879,  674,  674,  674,  674,  674, 1155,  878,  885,  385,
02300       385,  880,  385,  385, 2888,  385,  385,  385,  882, 2888,
02301       385,  385, 1184,  385,  385, 1156,  883,  385, 2888, 1157,
02302 
02303      2888,  884, 1199, 1155,  878,  385,  881,  385,  385,  880,
02304       385,  385,  886,  385, 2888,  385,  882,  887,  385,  385,
02305      1184,  385, 1156,  883,  385,  385, 1157,  385,  884,  385,
02306      1199,  895,  385,  385,  385,  385, 2888,  385, 2888, 2888,
02307      2888,  896,  385, 2888,  887,  888,  889,  890,  891,  892,
02308       385,  894,  385,  898,  893,  385,  385,  385,  385,  895,
02309       385,  385,  385,  385,  385,  385,  385,  385,  896,  385,
02310       385,  897,  903, 2888,  385,  385, 2888,  259,  385,  899,
02311       898, 1160,  893,  900,  385,  259,  385, 2888, 2888,  385,
02312      2888, 2888,  385, 2888,  385,  385, 2888,  385,  897,  385,
02313 
02314       903,  904,  385,  385, 1166,  259,  899,  385, 1160, 1200,
02315       900,  709,  709,  259,  709,  709,  709,  901,  901,  901,
02316       901,  901,  901,  901,  385,  905,  385,  385,  385,  904,
02317      1168, 1166,  385,  259,  385,  385,  385, 1200,  906,  907,
02318      1202,  259, 2888, 1036, 2888, 1169, 2888, 2888, 2888,  709,
02319       709,  901,  385,  905,  385,  385,  385, 1168, 1170, 1037,
02320       385,  259,  385,  385,  385,  906,  907,  385, 1202,  259,
02321       909, 1036, 1169,  908,  385,  385,  709,  709,  709,  709,
02322       709, 1172,  385,  385,  910, 1170, 1037, 1173, 2888, 2888,
02323      2888,  385, 2888, 2888, 2888,  385, 2888, 1206,  909,  259,
02324 
02325       908, 2888,  385,  385, 2888,  972, 2888,  259, 1172, 2888,
02326       385,  910,  709,  709, 1173,  709,  709,  709,  709,  709,
02327       709,  709,  709,  709,  709, 1206,  259,  259,  259,  259,
02328       259,  975,  977,  972,  259,  259,  259,  259,  259, 2888,
02329      2888,  980, 2888, 1175, 2888,  976,  979,  978, 2888, 2888,
02330       709,  709,  709, 2888,  259,  259,  259,  259,  259,  975,
02331       977,  259,  259,  259,  259,  259,  259,  259,  980,  259,
02332      1175,  981,  976,  979,  978,  259,  259,  709,  709,  709,
02333       709,  709,  259,  259,  259, 2888,  984, 2888,  259,  259,
02334       259,  259,  259, 2888,  986,  259,  259,  259,  981, 1149,
02335 
02336       259, 2888, 1150,  259,  259,  987,  259,  259, 2888,  985,
02337       259,  988,  259,  984,  259,  259,  259,  259,  259,  992,
02338       259,  986, 2888,  259,  259,  259, 1149,  259,  259, 1150,
02339       990,  259,  987,  991,  259,  259,  259, 2888,  259,  988,
02340       995,  999,  259,  259,  259,  259,  259,  992,  259,  259,
02341       996,  259, 1176,  259, 1002,  259,  259,  990, 1152,  259,
02342       991, 1153,  259,  259,  259,  259,  259, 1000,  995,  999,
02343      1178,  259,  259,  259,  259, 2888,  259,  259, 1001, 1176,
02344      2888, 1183, 1002, 2888,  259, 1152, 2888, 2888, 1153, 2888,
02345       259,  259,  259,  259, 1000,  259,  259, 1178, 1185,  259,
02346 
02347       259,  259, 1004, 1006, 1008, 1001,  757,  757, 1183,  757,
02348       757,  757,  757,  757,  757,  757,  757,  757,  757,  259,
02349       259, 2888,  259,  259,  259, 1185, 1005,  259,  259, 1004,
02350       259, 1006, 1008,  340,  259, 2888, 2888, 1003, 1007, 1051,
02351      2888,  340,  259, 2888,  757,  757,  757,  259,  259,  259,
02352       259, 2888, 1186, 2888, 1005,  259,  259,  259,  259, 2888,
02353       340,  340,  259, 1009, 1003, 1010, 1007, 1051,  340,  340,
02354       259,  757,  757,  757,  757,  757,  259,  259, 1076, 1186,
02355       301, 1012, 2888,  301,  259,  259,  301,  301,  340,  301,
02356      1009, 1015, 1010,  301, 1077, 2888,  340,  301, 2888, 2888,
02357 
02358       301, 1187, 2888, 2888,  301, 1016, 1076,  301, 1189, 1012,
02359       301, 1017, 2888,  301,  301, 1210,  301, 2888, 1215, 1015,
02360       301, 1077,  301,  301,  301,  301, 1018,  301, 1187,  301,
02361       301,  301, 1016, 1211,  301, 1189, 2888,  301, 1019, 1017,
02362      1020,  301, 1210,  301,  301,  301, 1215, 2888, 1213,  301,
02363      2888,  301,  301, 1018, 2888, 2888,  301,  301,  301, 1021,
02364      1211,  301, 2888,  301,  301, 1019, 1240, 1020,  301, 1116,
02365       301,  301, 1214,  301,  301, 1213, 1228,  301,  301, 2888,
02366      2888,  301,  301,  301,  301, 1117, 1021, 1190, 1026,  301,
02367      1191,  301,  301,  301, 1240, 1024,  301, 1116, 2888, 1214,
02368 
02369      1230,  301,  301, 1228,  301,  301,  301, 1025,  301,  301,
02370       301,  301, 1117, 1241, 1190, 1026,  301, 1191,  301,  301,
02371       301,  301, 1024,  301, 1027,  301,  301, 1230, 2888,  301,
02372      1028,  301,  301,  301,  301,  301,  301, 2888, 1243,  301,
02373      2888, 1241,  340, 2888,  301,  301, 2888, 1031,  301, 1032,
02374       340, 1027,  301,  301,  301, 1030,  301,  301, 1028,  301,
02375      1034,  301,  301,  301,  301,  301, 1243,  301,  301,  301,
02376       340,  301,  301,  301, 1031, 1038,  301, 1032,  340,  301,
02377      1247,  301, 1030,  301,  301,  301,  301, 2888, 1034, 2888,
02378       301, 2888,  301,  301,  301, 1035,  301,  301,  301, 1255,
02379 
02380       301,  301,  301, 1038,  301, 1039,  301,  301, 1247,  340,
02381      2888,  301, 1251, 1040,  301, 1041,  301,  340,  301,  301,
02382       301, 1279,  301,  301,  301, 2888,  301, 1255, 1253, 2888,
02383       301, 2888, 1039, 1231,  301,  301, 1232,  340,  301, 1251,
02384      1040, 2888, 1042, 1041,  301,  340, 1254,  301,  301, 1279,
02385      2888,  301,  301,  709,  709, 1253,  709,  709,  709,  709,
02386      1231, 1280,  301, 1232, 2888,  301, 1043,  301,  301, 1042,
02387       301,  301, 1044, 1254,  301,  301,  301,  301,  301, 1045,
02388       340, 1046,  301, 2888, 1267,  301, 1047, 1282,  340, 1280,
02389      1269,  709,  709, 1043,  301, 2888,  301,  301, 1065,  301,
02390 
02391      1044,  301, 2888,  301,  301,  301,  301, 1045,  340, 1046,
02392       301, 1267, 2888,  301, 1047, 1282,  340, 1269,  709,  709,
02393       709,  709,  709,  709,  709, 1065,  709,  709,  709,  709,
02394       804,  804,  804,  804,  804,  804, 2888,  301, 1290,  301,
02395      1048, 2888,  301, 1291,  301, 1049,  301,  340, 2888,  340,
02396      2888, 2888, 1286, 1295, 1054,  340, 2888,  340, 2888, 2888,
02397      2888,  709,  709,  804,  301, 1290,  301, 1048, 1055,  301,
02398      1291,  301, 1049,  301, 1064,  340,  340,  340, 1056,  340,
02399      1286, 1295, 1054,  340,  340,  340,  340,  340,  709,  709,
02400       709,  709,  709, 1057,  340, 1055, 1058,  340, 2888, 1059,
02401 
02402       340,  340,  340, 2888,  340,  340, 1056,  340,  340,  340,
02403       340, 1320,  340, 1060,  340,  340, 2888, 1293, 1066, 1063,
02404      1057, 1321,  340, 1058,  340,  340, 1059,  340,  340,  340,
02405       340, 1067,  340,  340,  340,  340,  340,  340,  340, 1320,
02406      1060, 1323,  340, 1071, 1293, 1066, 1063, 2888, 1069, 1321,
02407      1070,  340,  340,  340, 2888,  340,  340, 1074,  340, 1067,
02408       340,  340,  340,  340,  340, 1078,  340, 2888,  340, 1323,
02409       340, 1071, 1294,  340, 1081, 1069,  340, 1070, 1308,  340,
02410       340,  340,  340, 1075,  340, 1074,  340, 1079,  340,  340,
02411       340, 1327,  340, 1078,  340, 1080,  340, 1310,  340, 1294,
02412 
02413      2888,  340, 1081, 2888,  340, 1308, 2888, 2888,  340, 2888,
02414       340, 2888, 2888,  340, 1079, 1331,  340,  340,  340, 1327,
02415      2888,  340, 1080, 1083, 1310, 1085,  340,  852,  709,  336,
02416       852,  709,  852,  852,  852,  852,  852,  852,  852,  852,
02417       340,  340, 1331,  340, 1336,  340,  340, 1084,  340,  340,
02418      1083,  340,  340, 1085, 1087, 2888, 1086, 2888, 1082, 1270,
02419       340, 2888, 1271, 1332, 2888,  709,  852,  852,  340,  340,
02420       340,  340, 1336, 1334,  340, 1084,  340,  340,  340,  340,
02421       340, 2888, 1087, 1088, 1086, 1082, 1270, 1089,  340, 1271,
02422      1332,  385,  852,  852,  852,  852,  852,  340,  340,  385,
02423 
02424      1334,  385, 2888,  385, 2888,  340,  340, 1091, 1094,  385,
02425      1088,  385,  385, 1351, 1089,  385,  385, 1096, 2888,  385,
02426       385, 2888, 1095,  385,  385, 2888, 1358,  385, 2888,  385,
02427       385,  385, 1097, 1098,  385, 1091, 1094,  385,  385,  385,
02428       385, 1351,  385,  385,  385, 1096, 1100, 1099,  385, 1095,
02429      1360,  385,  385,  385, 1358,  385,  385,  385,  385, 1097,
02430      1098,  385,  385,  385,  385,  385,  385, 2888,  385, 1111,
02431       385,  385, 2888, 1100, 1099, 1103,  385,  385, 1360,  385,
02432      2888,  385, 1104,  385,  385,  385, 1105, 2888, 1106,  385,
02433       385,  385,  385,  385, 1107,  385,  385, 1111,  385,  385,
02434 
02435       385,  385, 1103,  385,  385,  385,  385,  385,  385,  385,
02436      1114, 2888,  385, 1105,  385, 1106, 1110, 1118,  385, 1109,
02437       385, 2888, 1107,  385, 1311,  385,  385, 1312,  385,  385,
02438      2888,  385, 1335,  385,  385, 1361,  385,  385, 1114, 1115,
02439       385,  385,  385, 1110, 1349, 1118, 1109,  385,  385, 1121,
02440       385, 1311, 1119,  385, 1312,  385,  385,  385,  385, 1335,
02441       385,  385, 1120, 1361,  385, 2888, 2888, 2888,  385,  385,
02442      1123, 1349,  385, 2888, 1122,  385, 1124, 1121,  385, 1119,
02443       385, 2888, 2888,  385,  385,  385,  385, 2888,  385, 1120,
02444       709,  709,  385,  709,  709,  709,  385, 1123,  385,  385,
02445 
02446       385, 1122,  385, 1126, 1124,  385, 1125,  385,  385, 1179,
02447      1127, 2888, 1350,  385,  259,  259, 2888, 1352, 2888, 1128,
02448      1180, 1365,  259, 1203, 1181, 2888,  385,  385,  709,  709,
02449       385, 1126, 2888,  385, 1125,  385, 2888, 2888, 1127, 1350,
02450      2888,  385,  259,  259, 1352,  385, 1128, 2888, 1180, 1365,
02451       259, 1203, 1181,  385, 2888,  709,  709,  709,  709,  709,
02452       709,  709, 1129,  709,  709,  709,  901,  901,  901,  901,
02453       901,  901,  901,  385,  259,  259,  259, 2888, 2888, 1353,
02454      1354,  385,  259,  259,  259, 2888, 2888, 1188, 1193, 1129,
02455      1192, 1194, 2888, 1355, 1356, 1357, 1359, 2888,  709,  709,
02456 
02457       901, 2888,  259,  259,  259,  259, 1353, 1354,  259, 2888,
02458       259,  259,  259,  259, 1188, 1193,  259, 1192, 1194, 1195,
02459      1355, 1356, 1357, 1359,  259,  709,  709,  709,  709,  709,
02460      1362, 1196,  259,  259, 2888,  259,  259,  259, 2888, 2888,
02461      1363,  259, 1197,  259,  259,  259, 1195, 2888, 1201, 1198,
02462      2888,  259,  259,  259,  259, 2888, 1366, 1362, 1196,  259,
02463       259,  259,  259,  259,  259,  259,  259, 1363, 1207, 1197,
02464      1208,  259,  259,  259,  259, 1201, 1198, 1209, 1204,  259,
02465      1205,  259,  259,  259, 1366,  259, 1367,  259, 1368,  259,
02466       259,  259,  259,  259,  259, 1207, 1216,  259, 1208,  259,
02467 
02468       259,  259,  259, 2888, 1209,  259, 1369,  259, 2888,  259,
02469      1212,  259,  259,  259, 1367, 1217, 1368, 1219, 1364,  259,
02470       259,  259,  259, 1216, 2888,  259, 1218,  259,  259,  259,
02471       259, 1223, 1220,  259, 1369,  259,  259,  259,  259,  259,
02472       259,  259, 1217, 1221, 1219, 1364,  259, 1222,  259,  259,
02473       259, 1224,  259, 2888, 1225,  259,  259, 1370,  259, 1223,
02474       259, 2888, 1226,  259,  259,  301,  259,  259, 1371,  259,
02475      1227, 1221, 1372, 1375,  259, 1222, 1229,  259, 1224,  301,
02476       259,  301, 1225,  259, 1380, 1370, 1376,  301,  259, 1226,
02477      1233,  259, 1234,  301,  301, 1235, 1371, 1227,  301, 1372,
02478 
02479      1375, 1236, 1385, 1229,  301,  301,  301,  301, 1377,  301,
02480      2888,  301, 1380, 1376,  301, 2888, 1237, 1233, 1378, 1234,
02481       301,  301, 1235,  301, 1386,  301,  301,  301, 1236,  301,
02482      1385,  301,  301, 1238,  301, 1377, 1379,  301,  301, 1242,
02483      1239, 2888,  301, 1237,  301, 1378,  301,  301, 2888, 1387,
02484       301,  301, 1386,  301,  301,  301,  301,  301, 2888, 1244,
02485      1238,  301, 2888, 1379,  301,  301, 1242, 1239,  301,  301,
02486      1383,  301,  301,  301, 1384,  301,  301, 1387, 1248,  301,
02487      1389, 2888,  301,  301, 1245,  301,  301, 1244, 2888,  301,
02488      1249, 2888,  301,  301,  301, 1246,  301, 1383, 1388,  301,
02489 
02490       301, 1384,  301, 1250,  301, 1248,  301, 1389, 1256,  301,
02491       301,  301, 1390,  301,  301,  301,  301, 1391, 1249,  301,
02492       301, 2888,  301, 1257, 1252,  301, 1388,  301,  301, 1392,
02493      1250, 1393,  301,  301,  301, 1256, 2888,  301,  301, 1390,
02494       301, 1258,  301,  301, 1391,  301,  301, 2888, 1259,  301,
02495      1257, 1395,  301,  301, 1179,  301, 1394, 1392, 1393,  301,
02496       301,  301,  301,  301, 1263, 1260, 2888,  301, 2888, 1261,
02497       301,  301,  301, 1262,  301, 1259, 2888,  301,  301, 1395,
02498      2888,  301,  301, 1394, 2888,  301, 1396,  301, 1397,  301,
02499       301, 1263, 1398, 1260,  301,  340, 1264, 1261,  301,  301,
02500 
02501       301, 1262,  301,  340,  301, 2888,  301,  301, 1268,  301,
02502       301,  301,  301, 1396,  301,  301, 1397, 1266,  301, 1265,
02503      1398, 2888,  340,  340, 1264,  340, 2888, 2888,  301, 2888,
02504       340,  340,  301,  340,  301, 1268, 1272,  301,  301,  340,
02505       340,  301,  301, 1381, 1266,  301, 1265,  340,  340,  340,
02506       340, 2888, 1273,  340, 1275, 1274,  340,  340,  340, 2888,
02507      1382,  340,  340, 1272,  340, 1400, 2888,  340,  340, 2888,
02508       340, 1381, 1276, 1281, 1277,  340,  340,  340,  340, 1273,
02509       340, 1275, 1274,  340,  340,  340, 1283, 1382,  340,  340,
02510       340,  340,  340, 1400, 1278,  340, 1401,  340,  340, 1276,
02511 
02512      1281, 1277, 1289,  340,  340,  340,  340,  340,  340, 1288,
02513      1284,  340,  340,  340, 1283,  340,  340,  340, 1287,  340,
02514      1402, 1278, 1285,  340, 1401,  340, 2888, 2888,  340, 1289,
02515      1412,  340,  340,  340, 1292,  340,  340, 1288, 2888, 1296,
02516       340,  340,  340,  340,  340, 1287,  340,  340, 1402, 2888,
02517       340, 2888,  340, 1403,  340,  340,  340, 1412, 1300, 2888,
02518      1297, 2888, 1299, 2888,  340,  340, 1296, 2888, 2888, 1301,
02519       340, 1298,  340, 1302,  340,  340,  340,  340,  340, 1303,
02520       340, 1403,  340,  340,  340,  340,  340, 1297,  340, 1299,
02521      1304, 1414, 1416,  340,  340,  340,  340, 1301,  340, 2888,
02522 
02523      1305, 1302, 1422,  340,  340,  340,  340, 1303, 2888, 1306,
02524      1307, 1423,  340,  340,  340, 2888,  340, 1304, 1414,  385,
02525      1416,  385,  340,  340,  340,  385,  340,  385, 1305,  385,
02526      1422,  340, 1309,  385,  340, 1313, 1306, 1307, 1314, 1423,
02527      2888, 1315,  385,  385,  385, 1424,  385,  385, 2888,  385,
02528       385,  385,  385,  385,  385,  385, 1316,  385, 1419, 1309,
02529      2888,  385, 1313, 2888, 1318, 1314, 1317,  385, 1315,  385,
02530       385,  385,  385, 1424,  385,  385,  385, 1324,  385,  385,
02531       385, 1319,  385, 1316,  385, 1419, 2888, 1322,  385, 2888,
02532       385, 1318,  385, 1317,  385,  385,  385,  385,  385, 2888,
02533 
02534       385, 2888,  385,  385,  385, 1324, 1328, 1330, 1319, 2888,
02535      2888, 2888,  385,  385, 1322, 1325,  385, 1326,  385,  385,
02536       385,  385,  385, 1329,  385, 2888,  385,  385,  385,  385,
02537       385,  385, 2888, 1328, 1330,  385,  385,  385,  385,  385,
02538      1333,  385, 1337,  385,  385, 2888,  385,  385, 1428,  385,
02539      2888, 1329, 1340, 1338,  385,  385, 1339,  385, 2888,  385,
02540       385, 2888,  385,  385,  385,  385,  385,  385,  385, 1337,
02541      1341,  385,  385, 1345,  385,  385, 1428,  385, 1344, 1340,
02542      1338, 1342,  385,  385,  385, 1343, 1346,  385,  385,  385,
02543       385,  259,  385,  259, 2888,  385,  385,  385, 1405,  259,
02544 
02545      1345,  259, 2888,  385, 1348,  385, 1344, 1425, 1347, 1342,
02546      1437,  385,  385, 1343, 1346,  385, 2888,  385, 2888,  259,
02547       385,  259,  259,  385, 1404,  385, 1405,  259, 2888,  259,
02548       259, 1348, 2888, 2888, 1425, 1347, 1373, 1373, 1437, 1373,
02549      1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373,  259,
02550       259,  259, 1404,  259, 1407, 1406, 1417,  259,  259,  259,
02551       259,  259, 2888, 1426, 1427, 1408, 1430, 1438,  259, 1439,
02552      2888, 1411, 1448, 1418, 1373, 1373, 1373,  259, 2888,  259,
02553      2888,  259, 1407, 1406, 1417,  259, 2888,  259,  259,  259,
02554      1426, 1427, 1408, 1430, 2888, 1438,  259, 1439, 1411, 1448,
02555 
02556      1418, 1373, 1373, 1373, 1373, 1373, 1409, 1409, 1450, 1409,
02557      1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409,  259,
02558       259,  259,  259,  259, 1452, 1421, 2888,  259,  259,  259,
02559       259,  259, 2888, 1415, 1420, 1450, 1455, 1413, 1458, 1459,
02560      2888, 2888, 2888, 2888, 1409, 1409, 1409,  259,  259,  259,
02561       259,  259, 1452, 1421,  259,  259,  259,  259,  259,  259,
02562      1415, 1420,  259, 1455, 1413, 1463, 1458, 1459,  259,  259,
02563       259, 1409, 1409, 1409, 1409, 1409,  259,  259,  259, 1471,
02564       259,  259,  259, 1431, 1433, 2888, 1460, 1429,  259,  259,
02565       259, 1434,  259, 1463, 1432,  259,  259,  259,  259,  259,
02566 
02567      2888, 2888, 1436,  259,  259,  259,  259, 1471,  259,  259,
02568       259, 1431, 1433, 1460, 1429,  301,  259,  259, 2888, 1434,
02569       259, 1432, 1435,  259, 2888, 1447,  301,  259,  301,  301,
02570      1436,  259,  301, 1440,  301,  301, 1472, 1441,  259, 1442,
02571       301, 1443, 1473,  301,  301,  301,  301,  301,  301,  301,
02572      2888,  301, 1447,  301,  301,  301,  301, 1461, 1462,  301,
02573      2888, 1440,  301,  301, 1472, 1441, 1453, 1442,  301, 1443,
02574      1473,  301,  301,  301,  301,  301,  301,  301,  301,  301,
02575      1482,  301,  301, 1454, 1461, 1462, 1449, 1444,  301, 1484,
02576      1489,  301, 2888, 1486, 1453, 2888, 2888, 2888, 2888, 2888,
02577 
02578      2888, 2888, 2888, 2888, 2888,  301,  301, 1482, 1492,  301,
02579      1454, 2888, 2888, 1449, 1444,  301, 1484, 1489,  301, 1373,
02580      1373, 1486, 1373, 1373, 1373, 1373, 1445, 1445, 1445, 1445,
02581      1445, 1445,  301,  301,  301, 2888, 1492, 1493, 1457,  301,
02582       301, 1494, 2888, 1451, 1456,  301,  301,  301,  301,  301,
02583       301,  301,  301,  301,  301,  340, 2888, 1373, 1373, 1445,
02584       301,  301,  301,  340, 2888, 1493, 1457,  301,  301, 1494,
02585      1451, 1456,  301,  301,  301,  301,  301,  301,  301,  301,
02586       301,  301, 1465,  340, 1373, 1373, 1373, 1373, 1373,  301,
02587       301,  340,  301,  301,  301, 2888, 1464,  301,  301, 2888,
02588 
02589      1495, 1496, 2888, 2888, 1497, 1466, 2888, 2888,  301,  301,
02590      1465, 2888,  301, 2888, 2888, 2888,  301,  301, 2888,  301,
02591       301, 1467,  301, 1464,  301,  301,  301, 1495, 1496,  301,
02592      1468, 1497, 1466,  301,  301,  301,  301,  301,  301,  301,
02593      1470,  301,  340,  340,  301, 1474,  340, 1475,  301, 1467,
02594       340,  340, 1476,  301,  340,  340,  340,  301, 1468, 1477,
02595      1469,  301,  301,  340,  340,  301,  301, 1478, 1470,  301,
02596       340,  340,  301, 1474,  340, 1475,  301, 2888,  340,  340,
02597      1476, 2888,  340,  340,  340, 2888, 2888, 1477, 2888, 2888,
02598      1498,  340,  340, 2888, 1478, 1479, 1373,  336, 1479, 1373,
02599 
02600      1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479,  340,  340,
02601      2888, 1487,  340,  340,  340,  340,  340,  340, 1498, 1481,
02602       340,  340,  340,  340, 2888, 1485, 1490, 1483, 1488, 1500,
02603       340, 2888, 2888, 1373, 1479, 1479,  340,  340,  340, 1487,
02604       340,  340,  340,  340,  340,  340, 1481, 1518,  340,  340,
02605       340,  340, 1485, 1490, 1483, 1488, 1500,  340,  340, 1491,
02606      1479, 1479, 1479, 1479, 1479,  340,  340,  340,  340,  340,
02607      1501,  340, 1503, 1507, 1518,  340,  340,  340, 2888,  340,
02608       340, 2888, 1502, 1504, 1506,  340, 1499, 1491, 1508, 1509,
02609      2888,  340,  340,  340,  340,  340,  340,  340, 1501,  340,
02610 
02611      1503, 1507,  340,  340,  340,  340,  385,  340,  340, 1502,
02612       385, 1504, 1506, 1499,  385, 1511, 1508, 1509,  385,  340,
02613       340, 1505,  340,  385, 1522, 1510, 1528,  385,  385,  385,
02614       340,  385, 1513, 1512,  385,  385,  385,  385,  385, 1520,
02615      1514, 2888,  385, 1511, 2888, 2888,  385, 2888, 2888, 2888,
02616      2888,  385, 1522, 1510, 1528,  385,  385,  385, 2888,  385,
02617      1513, 1512, 2888,  385,  385,  385, 1520, 1514, 1373, 1373,
02618      1525, 1373, 1373, 1373, 1515, 1515, 1515, 1515, 1515, 1515,
02619      1515,  385,  385, 1529, 1523,  385,  385,  385, 1530,  385,
02620       385, 2888, 1517,  385,  385,  385, 1534, 1525, 1521, 1526,
02621 
02622      1519, 1524, 1531, 2888, 1532, 2888, 1373, 1373, 1515,  385,
02623       385, 1529, 1523,  385,  385,  385, 1530,  385,  385, 1517,
02624      1533,  385,  385,  385, 1534, 1521, 1526, 1519, 1524, 1531,
02625       385, 1532, 1527, 1373, 1373, 1373, 1373, 1373,  385, 2888,
02626       385,  385, 2888,  385, 2888, 1536, 1547, 1533,  385,  385,
02627      2888,  385, 2888, 1543,  385,  385, 1539, 1537,  385, 1540,
02628      1527, 1535,  385,  385,  385,  385,  385,  385,  385,  385,
02629      1546,  385, 1536,  385, 1547, 1548,  385,  385, 1538,  385,
02630      1543,  385,  385,  385, 1539, 1537, 1542, 1540, 1535,  385,
02631       385,  385,  385,  385,  385,  385, 1550, 1546, 1551, 2888,
02632 
02633      1552,  385, 1553, 1548, 1555, 1538, 1556, 1557, 1541,  385,
02634      1558, 2888, 1559, 1560, 1542, 1561, 1562,  385, 1569, 1571,
02635      1572, 1575,  385, 1550, 1563, 1576, 1551, 1552, 1564, 1553,
02636      1573, 1555, 1566, 1556, 1557, 1574, 1567, 1578, 1558, 1559,
02637      1560, 1577, 1565, 1561, 1562, 1569, 1571, 1579, 1572, 1575,
02638      1568, 1580, 1563, 1576, 1581, 1582, 1564, 1573, 1583, 1584,
02639      1566, 1585, 1574, 1587, 1567, 1578, 1588, 1592, 1577, 1565,
02640      1589, 1590, 1591, 1593, 1579, 1594, 1595, 1568, 1580, 2888,
02641      1606, 1581,  259, 1582,  259, 2888, 1583, 1584, 1585, 1608,
02642       259, 1587,  259, 2888, 1588, 1592, 1612, 1589, 1590, 1591,
02643 
02644      1593, 1596, 1594,  259, 1595,  259,  259, 1606, 1610, 1598,
02645       259,  259,  259,  259,  259,  259, 1608, 1597,  259, 1599,
02646       259, 1611, 1600,  259, 1612, 2888, 1601, 2888, 1596, 1616,
02647      1613,  259, 1617,  259,  259, 1610, 2888, 1598,  259,  259,
02648      1602,  259,  259,  259, 1597, 2888,  259, 1599, 1611, 1618,
02649      1600,  259,  259, 1603, 1601,  259, 1616, 1604, 1613, 1617,
02650       259, 1609, 1619,  259,  259, 1607,  259, 1602, 1620,  259,
02651      2888, 1605,  259, 1615,  259, 1621, 1618,  259, 2888, 1622,
02652       259, 1603, 1614,  259, 1624, 1604,  259,  259,  259, 1609,
02653      1619,  259,  259, 1628,  259,  259, 1620,  259, 1605, 1630,
02654 
02655       259, 1615,  259, 1621, 1632,  259, 1622, 1631, 1625, 1614,
02656       259, 2888, 1624, 1623,  259,  259,  259,  259, 2888, 2888,
02657      1628, 1643,  259,  259,  259,  259, 1630, 1626, 1627,  259,
02658       259, 1629, 1632, 1645, 1631, 1647, 1625,  259,  259,  301,
02659      2888, 2888,  301,  301,  259,  259, 1635,  301, 1643, 2888,
02660       301, 1649,  259,  259, 1626, 1627, 1648,  259, 1633, 1629,
02661      1645,  301, 1647, 2888, 1634,  259, 1650,  301,  301,  301,
02662       301,  301,  301, 1636, 1635,  301,  301,  301,  301, 1649,
02663       301, 1655,  301, 1648, 1653, 1633,  301, 1656,  301, 1637,
02664       301, 1634, 2888, 1638, 1650,  301, 2888,  301, 1654,  301,
02665 
02666       301, 1636,  301, 1657,  301,  301, 1651, 1639,  301, 1655,
02667       301, 1653, 2888, 2888,  301, 1656,  301, 1637,  301,  301,
02668       301, 1638, 1646,  301,  301, 1654,  301,  301, 2888,  301,
02669      1658, 1657, 1663, 1651, 1639,  301, 1640,  301, 2888,  301,
02670      1641, 1652, 2888,  301,  301,  301, 1644,  301,  301, 1667,
02671      1646,  301,  301, 2888, 1642,  301, 1665, 1658,  301, 1663,
02672      1666, 2888,  301,  301, 1640,  301,  301,  301, 1641, 1652,
02673       301,  301, 2888,  301,  301, 1684,  301, 1667,  301, 2888,
02674       301, 1642, 1660, 1665,  301, 1659,  301, 1666, 1661, 1662,
02675       301,  301,  301, 2888,  301,  301,  301, 2888,  301,  340,
02676 
02677      1664,  340,  301, 1684,  301, 1685,  301,  340,  301,  340,
02678      1660,  301,  301, 1669,  301, 1661, 1662,  340,  301,  301,
02679      1668, 1670,  301,  301,  340,  340,  340,  340, 1664,  340,
02680      1671, 1691,  340, 1685,  340,  340, 1678,  340,  301, 1672,
02681      1669,  301,  340, 1673, 2888,  340, 1680, 1668, 1682, 1670,
02682       340, 2888,  340,  340,  340, 1683, 2888, 1674, 1671, 1691,
02683       340, 1692,  340, 1678,  340, 1675, 2888, 1672,  340, 1676,
02684       340, 1673,  340, 1680, 1688, 1682,  340, 1693,  340,  340,
02685       340, 2888, 1683, 1677, 1674, 1681,  340,  340,  340, 1692,
02686      1687, 1696,  340, 1675,  340, 1679,  340, 1676, 1686, 1689,
02687 
02688       340, 1688, 1690, 1694,  340, 1693, 1704,  340,  340,  340,
02689      1677, 2888,  340, 1681,  340,  340,  340,  340, 1687, 1696,
02690       340, 2888,  340, 1700, 1702, 1686, 1689,  340, 2888, 1690,
02691      1694,  340, 2888, 1697, 1704,  340, 1695,  340,  340,  340,
02692       340, 1703, 1698, 1715, 1721,  340,  340, 2888,  340, 1699,
02693      1700, 1702,  340, 2888, 1701,  340,  385,  385, 2888,  340,
02694       340, 1697, 1717,  340,  385,  385,  340,  340, 1703, 1698,
02695      1715, 1706, 1721,  385,  340, 1705, 1699, 1707,  385,  385,
02696       340,  385, 1701, 1708,  385,  385,  385,  385,  340, 1717,
02697      1709,  385,  385,  385, 1710, 2888,  385, 1722, 1706,  385,
02698 
02699      2888,  385, 1705, 1719,  385, 1707,  385,  385, 1711,  385,
02700      1720, 1708,  385, 1712,  385,  385, 1725, 1713, 1709,  385,
02701       385,  385, 1710, 1716,  385, 1722, 1726,  385,  385,  385,
02702      1719, 1714,  385, 1727, 1718, 1711,  385, 1720, 1731, 1723,
02703       385, 1712,  385, 1725, 1728, 1713, 1724, 1729,  385,  385,
02704       385, 1730, 1733, 1726, 1737,  385,  385,  385, 1714,  385,
02705      1727, 1741, 1718,  385,  385, 1731, 1723,  385, 2888, 1739,
02706       385, 1743, 1728, 1747, 1724, 1729, 1740,  385,  385, 1730,
02707      1733, 1737, 1732,  385,  385,  385,  385,  385, 1735, 1741,
02708      1734,  385,  385, 1748,  385,  385, 1739, 1736,  385, 1743,
02709 
02710      1738, 1747, 1742, 1740, 1744,  385,  385, 2888, 1745, 1749,
02711      1750, 1752,  385,  385,  385, 1735, 1751, 1753, 1734, 1754,
02712       385, 1748,  385, 1755, 1736, 1756,  385, 1757, 1738, 1742,
02713      1758, 1744, 1761, 1766,  385, 1745, 1749, 1759, 1750, 1752,
02714      1760, 1762, 1763, 1751, 1753, 1764, 1754, 1765, 1768, 1769,
02715      1772, 1755, 1756, 1770, 1771, 1757, 1773, 1758, 1774, 1783,
02716      1761, 1766, 1775, 1776, 1759, 1777, 1778, 1760, 1762, 1763,
02717      1779, 1780, 1764, 1781, 1765, 1768, 1782, 1769, 1772, 1784,
02718      1770, 1771, 1785,  259, 1773, 1786, 1774, 1783,  259, 1775,
02719      1776,  259, 1777, 1778, 1791, 1790,  259, 1779, 1780,  259,
02720 
02721      1781, 1788, 2888, 1782, 1798, 1787, 1784,  259, 1799,  259,
02722      1785,  259, 1786, 1801, 2888, 1802,  259,  259, 1794,  259,
02723      2888, 1791, 1789, 1790,  259, 1792,  259,  259, 1793, 1788,
02724       259, 1798, 1787,  259,  259,  259, 1799,  259,  259, 1806,
02725      1801,  259,  259, 1802, 1795,  259, 1794, 1796, 1803, 1789,
02726      1797, 1804, 1792, 1807,  259, 1793, 1805,  259,  259, 1808,
02727      1800,  259,  259, 1809,  259,  259,  259, 1806, 1810,  259,
02728       259, 1795, 1811, 1812, 1796, 1803, 1813, 1797, 1804, 1814,
02729       259, 1807, 1815,  259, 1805,  259, 1808, 1817,  259,  259,
02730      1809,  259,  259,  259,  259, 1810, 1818,  259, 1816, 1811,
02731 
02732      1812, 1819,  259, 1813, 2888, 2888, 1814, 1823,  259, 1815,
02733      1824,  259, 1825, 1831, 1817, 1826,  259,  259,  301,  259,
02734      1821, 1832,  259, 2888, 1818,  259, 1816,  301, 1819,  301,
02735       259,  301,  301, 1820,  301, 1823,  301, 1824, 1822, 1825,
02736      1831,  301, 1826,  301, 2888, 1835,  301,  301, 1821, 1832,
02737       301, 1834, 1836, 1837, 1829,  301,  301, 1830,  301,  301,
02738      1820,  301, 1827, 2888,  301, 1822,  301, 2888,  301,  301,
02739       301,  301, 1828, 1835,  301, 1840,  301,  301, 1834, 1836,
02740      1837, 1829, 1839, 2888, 1830, 1838,  301,  301, 2888,  301,
02741      1827,  301, 2888,  301,  301,  301,  301,  301,  301, 1828,
02742 
02743       301, 1841, 1840,  301, 1842, 1843, 1844, 1845,  301, 2888,
02744      1839, 1833,  301, 1838,  301,  301,  301,  301,  301,  301,
02745      1846,  301,  301,  301,  301, 1848,  301,  301, 1841, 1849,
02746       340, 1842, 1843, 1844, 1845,  301,  301,  301,  340,  301,
02747       301, 1847, 1854,  301,  301,  301,  301, 1846, 1850, 1855,
02748       301,  340, 1848,  340,  301, 1852, 1863, 1849,  340,  340,
02749      2888,  340, 2888,  301,  340,  301,  340,  301, 1851, 1847,
02750      1854,  301,  340,  301, 1862, 1850, 1855, 1853, 1858,  340,
02751       340,  340, 1856, 1852, 1863, 1857,  340,  340,  340,  340,
02752       340, 1866,  340, 1865, 1859, 1851, 1867,  340,  340, 1869,
02753 
02754       340, 1862, 1868,  340, 1853,  340, 1858,  340,  340, 1856,
02755      1860,  340, 1857, 1861,  340, 1870,  340, 1864,  340, 1866,
02756      1865, 1859, 1871, 1867, 1872,  340,  340, 1869, 1873, 1868,
02757      1874,  340, 1875,  340, 1876,  340, 1877, 1860, 1878,  340,
02758      1861,  340, 1882, 1870,  340,  340, 2888, 1879, 1881,  340,
02759      1871, 1872,  340,  340,  340, 1873, 1883, 1874, 1880, 1875,
02760      1887, 1876,  340, 1877, 1888, 1878, 1895, 2888,  385,  340,
02761      1882,  385,  340,  340, 1879, 1881,  385,  340, 1898,  385,
02762       340,  340,  340, 1883, 1886, 1884, 1880,  385, 1887, 1885,
02763       340, 1888,  385, 1895, 1889,  385,  385, 1890, 1891,  385,
02764 
02765       385, 1896,  385, 1899,  385, 1898,  385,  385, 2888, 1900,
02766       385, 1886, 1884, 1901,  385,  385, 1892, 1885, 1903,  385,
02767       385, 1889,  385,  385, 1890, 1902, 1891,  385,  385, 1896,
02768       385, 1899, 1893,  385,  385, 1894, 1900,  385,  385, 1904,
02769      1901, 1897,  385, 1892, 1905,  385, 1903,  385, 1906, 1907,
02770       385, 1908, 1909, 1902, 1910,  385, 1911, 1912,  385, 1893,
02771       385,  385, 1894, 1914,  385,  385,  385, 1904,  385, 2888,
02772      1915, 1905,  385,  385, 1916, 1906, 1907, 1917, 1908, 1909,
02773      1918, 1910, 1919, 1911, 1912,  385,  385, 1920,  385, 1913,
02774      1925, 1914,  385,  385,  385, 1922,  385, 1915, 1923, 1924,
02775 
02776       385, 1916, 1926, 1927, 1928, 1917, 1929, 1918, 1930, 1919,
02777      1931, 1932, 1933,  385, 1920, 1934, 1935, 1913, 1925, 1936,
02778      1937,  385, 1922, 1938, 1944, 1923, 1924, 1939, 1940, 1926,
02779      1927, 1941, 1928, 1929, 1942, 1930, 1943, 1945, 1931, 1932,
02780      1933, 1946, 1947, 1934, 1935, 1948, 1949, 1936, 1937, 1950,
02781      1952, 1938, 1944, 1951, 1939, 1940, 1953, 1954, 1941, 1955,
02782      1957, 1942, 1958, 1943, 1945, 1959,  259, 2888, 1946, 1947,
02783      1960,  259, 1948, 1949,  259, 1963, 1964, 1950, 1952,  259,
02784      1951, 1965, 1966, 1953, 2888, 1954, 1955,  259, 1957, 1958,
02785      1961, 2888, 1959, 2888,  259,  259, 2888, 1976, 1960,  259,
02786 
02787      1971, 1972,  259, 1963, 1964, 1962,  259,  259, 1967, 1965,
02788      1966,  259,  259, 1968,  259,  259,  259, 1961, 1970,  259,
02789       259, 1969, 1982,  259,  259, 1976, 1973, 1971, 1972, 1974,
02790      1975, 1977, 1962, 1979,  259, 1980, 1967, 1981, 1983,  259,
02791       259, 1968,  259,  259,  259, 1984, 1970,  259,  259, 1969,
02792      1982,  259,  259, 1973, 1978, 1985, 1974, 1975, 1977, 1986,
02793      1979, 1987, 1980, 1989, 1981, 1983,  259, 2888, 1990, 1991,
02794      2003,  259,  301, 1984,  259, 2888, 1992, 2888, 1995,  259,
02795       301, 1978, 1985, 1996, 1997,  301, 1998, 1986, 1987,  301,
02796      2888, 1989, 2004, 1988,  259, 1990, 1991, 2003,  301, 2005,
02797 
02798       301,  301,  259, 1993, 1992, 1994, 1995, 1999,  301, 2000,
02799      2888, 1996, 1997,  301, 1998, 2006, 2007,  301,  301, 2004,
02800       301,  301, 2009,  301, 2011,  301, 2005, 2008,  301, 2013,
02801      1993, 2012, 1994, 2015,  301, 1999,  301, 2000, 2001, 2019,
02802       301, 2002, 2006, 2007, 2014,  301, 2016,  301,  301, 2009,
02803       301, 2011,  301, 2010,  301, 2008,  301, 2013, 2012, 2017,
02804       301, 2015,  301, 2020,  301, 2021, 2001, 2019,  301, 2002,
02805      2025, 2014, 2026, 2016, 2033,  301,  340, 2888,  301,  301,
02806      2010,  301,  301,  301,  340,  340, 2017,  301,  340, 2022,
02807      2020, 2018, 2021,  340, 2888, 2023,  340, 2027, 2025, 2028,
02808 
02809      2026, 2033,  301, 2038,  340,  301, 2024, 2888, 2034,  301,
02810      2888, 2044,  340,  340, 2035, 2036,  340, 2022,  340, 2888,
02811      2029,  340, 2023, 2037,  340, 2027,  340, 2028,  340,  340,
02812      2030, 2038,  340, 2024, 2031, 2034,  340,  340, 2032, 2044,
02813       340, 2035, 2036, 2039,  340, 2046,  340, 2041, 2029, 2042,
02814      2037, 2043,  340, 2048,  340, 2040,  340,  340, 2030, 2045,
02815       340, 2047, 2031, 2049,  340,  340, 2032,  340,  340, 2051,
02816      2039, 2052,  340, 2046, 2041,  340, 2042, 2053, 2043,  385,
02817       340, 2048, 2040, 2054,  385, 2057, 2045,  385, 2047, 2058,
02818      2049,  385,  385, 2059, 2050,  340, 2060, 2051, 2052,  385,
02819 
02820      2888, 2065, 2056,  340, 2053, 2066,  385,  385, 2061, 2888,
02821      2055, 2054,  385, 2057,  385,  385, 2067, 2058, 2068,  385,
02822       385, 2059, 2069,  385, 2060, 2062, 2070,  385, 2065, 2056,
02823       385,  385, 2066,  385,  385, 2063, 2061, 2055,  385, 2064,
02824      2888,  385,  385, 2067, 2071, 2068, 2073, 2074, 2075, 2069,
02825      2076,  385, 2077, 2062, 2070, 2078, 2080,  385,  385,  385,
02826      2079,  385, 2081, 2063,  385,  385,  385, 2064, 2072,  385,
02827      2083, 2071,  385, 2073, 2074, 2075, 2084, 2085, 2076, 2077,
02828      2087, 2088, 2091, 2078, 2080,  385, 2089, 2079, 2090, 2081,
02829      2092, 2082,  385,  385, 2093, 2072, 2094, 2083, 2095, 2096,
02830 
02831       385, 2097, 2098, 2084, 2085, 2099, 2100, 2087, 2101, 2088,
02832      2091, 2102, 2103, 2089, 2104, 2090, 2105, 2092, 2106, 2888,
02833      2107, 2093, 2108, 2109, 2094, 2095, 2110, 2096, 2097, 2098,
02834      2111, 2112, 2099, 2100, 2113, 2115, 2101, 2114, 2102, 2103,
02835      2116, 2104, 2117, 2121, 2105, 2122, 2106, 2107,  259, 2108,
02836      2109, 2123,  259, 2110, 2118, 2119,  259, 2111, 2112, 2125,
02837       259, 2128, 2113, 2115, 2114, 2120,  259, 2116, 2126, 2124,
02838      2117, 2121, 2122, 2127,  259, 2133,  259,  259, 2888, 2123,
02839       259, 2134, 2118, 2119,  259,  259, 2125, 2129,  259, 2128,
02840       259, 2888, 2120,  259,  259, 2126, 2124, 2135,  259, 2140,
02841 
02842      2127,  259,  259, 2133, 2136,  259, 2137, 2131, 2134, 2130,
02843      2138,  259,  259,  259, 2129, 2132, 2888, 2139,  259,  259,
02844       259,  259, 2141, 2142, 2135, 2143,  259, 2140, 2144,  259,
02845      2148, 2136, 2149, 2137, 2131,  301, 2130, 2138,  301,  259,
02846       259, 2151,  301, 2132, 2139, 2152, 2153,  259,  259, 2141,
02847      2154, 2142, 2143, 2145, 2146, 2150, 2144, 2155, 2148, 2149,
02848      2161, 2888,  301,  301, 2147,  301,  301, 2160, 2151,  301,
02849       301,  301, 2152, 2153,  301, 2888,  301, 2154,  301, 2888,
02850       301, 2145, 2146, 2150, 2167, 2155, 2162, 2161, 2156,  301,
02851       301, 2147,  301,  301, 2157, 2160,  301,  301,  301,  301,
02852 
02853      2163,  301, 2158,  301,  301,  301,  301, 2159,  301, 2164,
02854      2165,  301, 2167, 2162,  301, 2156,  301, 2166,  301,  301,
02855      2168, 2157,  301,  301, 2169, 2170,  301, 2163, 2174, 2158,
02856      2175,  301, 2181,  301, 2178, 2159, 2164, 2165, 2179,  301,
02857      2171, 2172,  301, 2180, 2166, 2186,  301, 2168, 2187, 2188,
02858       301, 2173, 2169, 2170,  340,  340, 2174, 2175, 2176,  340,
02859      2181, 2178,  340,  340,  340, 2179, 2189,  340, 2171, 2172,
02860      2180, 2177,  340, 2186, 2182, 2187, 2188,  340, 2173, 2190,
02861       340,  340,  340,  340, 2191,  340, 2176,  340,  340,  340,
02862       340,  340,  340, 2189, 2184,  340, 2183, 2192, 2177,  340,
02863 
02864       340, 2182, 2193, 2185, 2195,  340, 2190,  340,  340,  340,
02865      2194, 2191, 2196,  340, 2197, 2201,  340,  340, 2198, 2199,
02866      2888, 2184, 2202, 2183, 2192, 2205,  385,  340, 2206, 2200,
02867      2193, 2185, 2195,  385,  385,  340, 2203, 2194, 2207, 2196,
02868       385,  385, 2197, 2201, 2208, 2213, 2198, 2199,  385, 2202,
02869       385, 2888, 2205, 2888,  385, 2206, 2200, 2204,  385, 2888,
02870      2209,  385,  385,  385, 2203, 2207,  385,  385,  385,  385,
02871      2214,  385, 2208, 2213,  385,  385,  385, 2215,  385, 2216,
02872      2211, 2217, 2210, 2218, 2204,  385,  385, 2209, 2219, 2212,
02873      2220,  385, 2221,  385,  385,  385, 2222, 2214, 2223,  385,
02874 
02875      2224, 2228,  385,  385, 2215, 2229, 2216, 2211, 2217, 2210,
02876      2218, 2225, 2226,  385, 2230, 2219, 2231, 2212, 2220, 2221,
02877      2232,  385, 2227, 2233, 2222, 2223, 2234, 2235, 2224, 2228,
02878      2236, 2237, 2229, 2238, 2239, 2888, 2240, 2241, 2243, 2225,
02879      2226, 2230, 2242, 2244, 2231, 2245, 2247, 2232, 2246, 2227,
02880      2233, 2248, 2251, 2234, 2235, 2249, 2252, 2236, 2253, 2237,
02881      2254, 2238, 2239, 2240, 2255, 2241, 2243, 2256, 2257, 2242,
02882      2244, 2258, 2260, 2245, 2247, 2246, 2261,  259, 2262, 2248,
02883      2251, 2263, 2249, 2270, 2252,  259, 2253, 2254, 2268,  259,
02884       259, 2255, 2266, 2259,  259, 2256, 2257,  259,  259, 2258,
02885 
02886      2260,  259,  259, 2261, 2269,  259, 2262, 2264, 2263,  259,
02887      2270, 2265, 2272,  259, 2273,  259, 2268,  259,  259, 2274,
02888      2266, 2259,  259,  259, 2277,  259,  259, 2275, 2267,  259,
02889       259, 2276, 2269, 2278, 2279, 2264, 2282,  259, 2265, 2281,
02890      2272,  301, 2273,  259, 2283,  301, 2888, 2274, 2284,  301,
02891      2888,  259, 2277, 2289, 2275, 2267,  301, 2888, 2276, 2291,
02892      2280, 2278, 2279, 2282,  301, 2290, 2888, 2281, 2296,  301,
02893       301, 2287, 2283,  301,  301, 2284, 2285,  301,  301,  301,
02894       301, 2289,  301,  301,  301,  301, 2291,  301, 2280, 2293,
02895      2888, 2288,  301, 2290,  301, 2296, 2286, 2294,  301, 2287,
02896 
02897      2295, 2298,  301, 2297, 2285, 2299,  301,  301,  301,  301,
02898      2300,  301,  301, 2302,  340,  301,  340, 2293, 2288, 2303,
02899      2301,  301,  340, 2286,  340, 2294, 2304, 2310, 2295, 2298,
02900      2297, 2305,  340, 2299, 2311, 2888, 2312,  340, 2300, 2314,
02901       340, 2302,  340, 2306,  340,  340, 2303, 2315, 2301, 2307,
02902       340,  340,  340, 2308, 2304, 2310,  340, 2316, 2305,  340,
02903       340, 2317, 2311, 2312,  340,  340, 2318, 2314,  340, 2309,
02904      2319, 2306, 2320,  340, 2321, 2315, 2307, 2323,  385,  340,
02905      2324, 2308, 2325, 2888,  340, 2316,  385,  340, 2317, 2326,
02906      2331,  385,  340, 2318, 2888, 2322, 2309, 2888, 2319,  385,
02907 
02908      2320, 2332, 2321,  385,  385, 2323,  385, 2324, 2333, 2327,
02909      2325,  385,  385, 2335,  385, 2336, 2326, 2337, 2331,  385,
02910      2338, 2328,  385, 2322, 2329,  385, 2340,  385, 2339, 2332,
02911       385,  385,  385,  385, 2341, 2333, 2342, 2327, 2330,  385,
02912       385, 2335, 2343, 2336, 2344, 2337, 2345, 2338, 2328, 2346,
02913       385, 2347, 2329,  385, 2340, 2339, 2348, 2349,  385, 2350,
02914      2352,  385, 2341, 2351, 2342, 2330, 2353, 2354, 2355, 2343,
02915      2356, 2344, 2357, 2345, 2358, 2359, 2346, 2360, 2347, 2361,
02916      2362, 2363, 2364, 2348, 2366, 2349, 2367, 2350, 2352, 2368,
02917      2351, 2369, 2370, 2353, 2354, 2355, 2372, 2373, 2356, 2357,
02918 
02919      2374, 2358, 2359, 2375, 2380, 2360, 2361, 2362, 2363, 2364,
02920      2381,  259, 2366, 2367, 2371, 2888, 2368, 2382, 2369,  259,
02921      2370,  259, 2387, 2372,  259, 2373,  259, 2374, 2377,  259,
02922      2375, 2380,  259,  259,  259, 2888, 2383, 2376, 2381,  259,
02923      2384,  259, 2371, 2385, 2382, 2378, 2388,  259, 2389,  259,
02924      2387, 2379,  259, 2390,  259, 2391, 2377,  259, 2393, 2394,
02925       259,  259,  259, 2383, 2376,  301, 2392, 2384, 2395,  259,
02926      2385, 2396, 2378, 2388, 2401, 2389,  301,  301, 2379,  301,
02927      2390, 2402, 2888, 2391, 2403, 2393, 2404, 2394,  301, 2405,
02928      2406, 2397,  301,  301, 2392, 2395, 2398, 2408, 2396, 2409,
02929 
02930       301, 2401, 2410,  301,  301,  301,  301,  301,  301, 2402,
02931       301, 2403, 2411, 2404, 2400,  301, 2405, 2406, 2397, 2412,
02932       301, 2414, 2399, 2415, 2398, 2408, 2409,  340,  301, 2410,
02933      2413, 2423,  301, 2416,  301,  340,  301,  301, 2417, 2411,
02934      2422, 2400,  340, 2888,  340,  340, 2419, 2412, 2414, 2399,
02935       340, 2415,  340,  340, 2429,  340,  340, 2433, 2413, 2423,
02936      2416, 2418, 2421,  340,  340, 2417, 2424, 2422, 2425, 2426,
02937       340, 2427,  340,  340, 2419, 2420, 2430, 2431,  340, 2432,
02938       340,  340, 2429,  385,  340, 2433, 2434, 2436, 2418, 2421,
02939      2435,  385,  340, 2424, 2437, 2425, 2426, 2438, 2427,  385,
02940 
02941       385,  385, 2420, 2430, 2431, 2440, 2432,  385,  385,  385,
02942      2444,  385,  385, 2450, 2434, 2436, 2439, 2435, 2441,  385,
02943       385, 2437, 2443, 2445, 2438, 2446, 2447,  385,  385,  385,
02944      2442, 2448, 2451, 2440, 2452,  385,  385,  385, 2444, 2453,
02945       385, 2450, 2454, 2439, 2455, 2441, 2456, 2457,  385, 2443,
02946      2445, 2458, 2446, 2447, 2459, 2461, 2462, 2442, 2448, 2451,
02947      2463, 2452, 2464, 2465, 2888, 2466, 2453, 2467, 2468, 2454,
02948      2470, 2455, 2471, 2456, 2457, 2472, 2473,  259, 2458, 2474,
02949      2475, 2459, 2461, 2476, 2462,  259, 2477, 2463, 2478, 2464,
02950       259, 2465, 2466, 2480, 2467, 2888, 2468, 2470,  259, 2483,
02951 
02952      2471,  259, 2486, 2472, 2473,  259, 2474, 2475,  259,  259,
02953      2476,  259, 2487,  259, 2477, 2478,  259, 2488,  259,  259,
02954      2492, 2480, 2479, 2482, 2485, 2489,  259, 2483, 2481,  259,
02955      2486, 2490, 2491, 2493, 2888,  301,  259,  259,  301,  259,
02956      2487, 2497,  301, 2888,  259, 2488, 2888,  259, 2492, 2479,
02957      2482, 2485, 2489, 2500,  301, 2481, 2504, 2494, 2490, 2491,
02958      2493,  301,  301, 2495, 2498,  301, 2501, 2502, 2497,  301,
02959       301,  301,  301,  301,  301,  301, 2496,  301,  301,  301,
02960      2500,  301, 2503, 2504, 2494, 2505, 2506, 2508,  301, 2507,
02961      2888, 2495, 2498, 2513, 2501, 2502, 2888,  301,  301,  301,
02962 
02963       301,  301,  301, 2496,  301,  301,  301,  340,  340, 2516,
02964      2503,  340, 2505, 2506, 2508,  340,  340, 2507, 2512,  340,
02965       340, 2513, 2509, 2510,  340, 2888, 2515, 2517,  340, 2518,
02966      2888, 2519,  340, 2888, 2520,  340,  340, 2516,  385,  340,
02967      2521, 2511, 2522,  340,  340, 2512,  385,  340,  340, 2509,
02968      2523, 2510,  340, 2515,  385, 2517,  340, 2518, 2519, 2527,
02969       340, 2520,  385, 2528,  385, 2531,  385, 2521, 2511, 2530,
02970      2522, 2526,  385,  385,  385,  385, 2525, 2523, 2524, 2532,
02971      2533,  385,  385,  385, 2888, 2534, 2527, 2535, 2536, 2538,
02972       385, 2528,  385, 2531, 2537, 2539, 2530, 2540, 2526, 2541,
02973 
02974       385,  385, 2542,  385, 2525, 2524, 2543, 2532, 2533,  385,
02975      2545,  385, 2534, 2546, 2535, 2547, 2536, 2538, 2548, 2549,
02976      2551, 2537, 2539, 2550, 2540, 2552, 2558, 2541, 2553, 2555,
02977      2542, 2556, 2563, 2543,  259, 2888, 2561, 2562, 2545, 2566,
02978      2546,  259,  259, 2547, 2564, 2565, 2548, 2549, 2551,  259,
02979      2550, 2568, 2569, 2552, 2558, 2553, 2555, 2571, 2556, 2563,
02980      2559, 2557,  259,  259, 2561, 2562, 2566, 2560, 2888,  259,
02981       259,  259, 2564, 2565, 2576, 2574,  301,  259, 2568, 2569,
02982       301, 2575, 2888, 2577,  301, 2571, 2578, 2559,  301, 2888,
02983      2579,  259,  301, 2888, 2572, 2560, 2573, 2888, 2581,  259,
02984 
02985       301, 2576,  301, 2574,  301, 2582, 2584,  340,  301, 2575,
02986      2570, 2577,  301, 2589, 2578,  340,  301, 2579, 2592,  340,
02987       301, 2572, 2587, 2588, 2573, 2581, 2585,  340,  301,  301,
02988      2590, 2591, 2582,  340, 2584,  340, 2594, 2586, 2888, 2595,
02989      2589,  340, 2597,  340,  385, 2592, 2583,  340,  385, 2600,
02990      2587, 2588,  385, 2585, 2601,  340,  385, 2603, 2590, 2591,
02991       385,  340, 2602, 2594, 2599, 2586, 2595, 2598,  385,  340,
02992      2597, 2596,  385, 2604, 2888, 2605,  385, 2600, 2607, 2608,
02993       385, 2609, 2601, 2610,  385, 2603, 2611, 2612,  385, 2602,
02994      2613, 2615, 2599, 2614, 2598, 2616,  385, 2617, 2618, 2888,
02995 
02996      2619, 2604, 2605, 2620, 2625, 2607, 2608, 2621, 2622, 2609,
02997      2623, 2610, 2624, 2611, 2626, 2612, 2627, 2628, 2613, 2615,
02998      2614, 2629, 2633, 2616, 2617,  259, 2618, 2619, 2632, 2634,
02999      2635, 2620, 2625,  259, 2621, 2622, 2636, 2623, 2630, 2624,
03000      2637, 2626, 2638, 2627,  259, 2628, 2639, 2631, 2641, 2629,
03001      2633, 2640,  259,  259, 2642, 2632, 2634, 2635, 2645, 2646,
03002       301,  259, 2647, 2636, 2648, 2630, 2649, 2637, 2650, 2652,
03003      2638, 2643,  259, 2639,  301, 2631, 2641, 2651, 2640, 2653,
03004       259, 2654, 2642,  301, 2644, 2645, 2655, 2646,  301, 2647,
03005      2658, 2648, 2659, 2649,  301, 2650, 2652,  301, 2643,  340,
03006 
03007       340,  301, 2657, 2888, 2660, 2651, 2653,  340,  340, 2654,
03008      2661,  301, 2644, 2656, 2655, 2662, 2663, 2658, 2664, 2667,
03009      2659,  301, 2665, 2666,  301, 2668,  385,  340,  340, 2672,
03010      2657, 2660, 2671, 2673,  385,  340,  340, 2661, 2674, 2669,
03011      2656, 2675, 2662, 2663, 2676, 2677, 2664, 2667,  385, 2665,
03012      2666, 2670, 2680, 2668,  385, 2678,  385, 2672, 2679, 2671,
03013      2673, 2681,  385, 2682, 2683, 2674, 2669, 2684, 2675, 2685,
03014      2686, 2676, 2687, 2677, 2688, 2689,  385, 2690, 2691, 2670,
03015      2680, 2692, 2678, 2693,  385, 2679, 2694, 2888, 2696, 2681,
03016      2697, 2682, 2683, 2698, 2699, 2684, 2685, 2700, 2686, 2701,
03017 
03018      2687, 2688, 2689, 2702, 2690, 2691,  259,  259, 2888, 2692,
03019      2695, 2693, 2703, 2694,  259,  259, 2696, 2697,  301, 2704,
03020      2698, 2699,  301, 2705, 2700, 2706, 2707, 2701, 2708,  301,
03021      2709, 2702,  301,  301,  259,  259,  301, 2710, 2695, 2703,
03022      2711,  340,  259,  259, 2712, 2714,  301, 2704, 2715,  340,
03023       301, 2705, 2706, 2707, 2716, 2708,  301, 2709,  340,  301,
03024       301, 2713, 2719,  301, 2717, 2710,  340, 2720, 2711,  340,
03025      2718, 2712, 2721, 2714,  385, 2715,  385,  340, 2723, 2722,
03026      2728, 2716,  385, 2730,  385, 2731,  340, 2724, 2725, 2713,
03027      2719, 2717, 2726, 2727,  340, 2720, 2729, 2718, 2732, 2721,
03028 
03029      2733, 2734,  385, 2735,  385, 2736, 2723, 2722, 2728, 2737,
03030       385, 2730,  385, 2731, 2724, 2725, 2738,  259, 2741, 2726,
03031      2727, 2739, 2740, 2729, 2742,  259, 2732, 2733, 2734, 2743,
03032      2744, 2735, 2736, 2745, 2746, 2747,  301, 2737, 2748, 2749,
03033      2750, 2888, 2751, 2752, 2738,  259, 2741,  301, 2739, 2740,
03034       301, 2742, 2753,  259,  340, 2888, 2754, 2743, 2744, 2755,
03035      2745, 2746,  340, 2747,  301, 2748, 2756, 2749, 2750, 2751,
03036      2752,  385, 2888, 2757,  301, 2758, 2759,  301, 2760,  385,
03037      2753, 2761,  340, 2754, 2762, 2763, 2765, 2755, 2764, 2766,
03038       340, 2767, 2888, 2768, 2756, 2769, 2888, 2770, 2771,  385,
03039 
03040      2757, 2772, 2758, 2773, 2759, 2760, 2774,  385, 2775, 2761,
03041      2776, 2777, 2762, 2763, 2765, 2764, 2766, 2778, 2779, 2767,
03042      2768, 2780, 2781, 2769, 2770, 2782, 2771, 2783, 2772, 2784,
03043      2785, 2773, 2786, 2774, 2787, 2789, 2775, 2776, 2788, 2777,
03044      2790, 2791, 2888, 2792, 2778, 2793, 2779, 2794, 2780, 2795,
03045      2781, 2797, 2782, 2798, 2802, 2783, 2784, 2799, 2785, 2786,
03046      2801, 2803, 2787, 2789, 2805, 2788, 2806, 2790, 2807, 2791,
03047      2792, 2809, 2793, 2810, 2813, 2794, 2795, 2811, 2797, 2814,
03048      2815, 2798, 2802, 2816, 2799, 2817, 2818, 2801, 2803, 2819,
03049      2820, 2805, 2821, 2822, 2806, 2807, 2823, 2824, 2809, 2825,
03050 
03051      2826, 2810, 2813, 2827, 2811, 2828, 2829, 2814, 2815, 2830,
03052      2831, 2816, 2832, 2817, 2818, 2833, 2834, 2819, 2820, 2835,
03053      2821, 2822, 2836, 2837, 2823, 2824, 2838, 2825, 2826, 2839,
03054      2840, 2827, 2828, 2841, 2829, 2842, 2830, 2831, 2843, 2845,
03055      2832, 2844, 2833, 2834, 2846, 2888, 2847, 2835, 2848, 2836,
03056      2837, 2849, 2888, 2850, 2838, 2851, 2839, 2840, 2852, 2888,
03057      2853, 2841, 2842, 2854, 2855, 2857, 2843, 2845, 2844, 2856,
03058      2863, 2864, 2846, 2847, 2865, 2866, 2848, 2867, 2888, 2849,
03059      2850, 2868, 2869, 2851, 2870, 2871, 2852, 2853, 2872, 2873,
03060      2874, 2854, 2855, 2857, 2875, 2876, 2856, 2877, 2863, 2864,
03061 
03062      2878, 2879, 2865, 2866, 2880, 2867, 2881, 2882, 2868, 2869,
03063      2883, 2870, 2871, 2884, 2885, 2872, 2873, 2874, 2886, 2887,
03064      2888, 2875, 2876, 2888, 2877, 2888, 2888, 2878, 2879, 2888,
03065      2888, 2880, 2888, 2881, 2882, 2888, 2888, 2888, 2883, 2888,
03066      2888, 2884, 2885, 2888, 2888, 2888, 2886, 2887,  174,  174,
03067       174,  174,  174,  174,  174,  174,  174,  176,  176,  176,
03068       176,  176,  176,  176,  176,  176,  209,  209,  209,  209,
03069       209,  209,  209,  209,  209,  214,  214,  214, 2888,  214,
03070       214,  214,  214,  214,  217,  217,  253,  253, 2888,  253,
03071       253,  253,  253,  253,  253,  254,  254, 2888,  254,  254,
03072 
03073       254,  254,  254,  254,  256,  256,  256,  256,  256,  256,
03074       256,  256,  256,  259,  259, 2888,  259,  259,  259,  259,
03075       259,  259,  295,  295, 2888,  295,  295,  295,  295,  295,
03076       295,  296,  296,  296, 2888,  296,  296,  296,  296,  296,
03077       299,  299,  299,  299,  301,  301,  301,  301,  336, 2888,
03078       336, 2888,  336,  336,  336,  336,  336,  340, 2888,  340,
03079      2888,  340,  340,  340,  340,  340,  374,  374,  374,  374,
03080       374,  374,  374,  374,  374,  379,  379,  382,  382,  382,
03081       382,  382,  385,  385,  385,  385,  385,  422,  422,  422,
03082       422,  422,  422,  422,  422,  422,  427,  427,  440,  440,
03083 
03084      2888,  440,  440,  440,  440,  440,  440,  453,  453, 2888,
03085       453,  453,  453,  453,  453,  453,  454,  454,  214,  214,
03086       214,  214,  214,  214,  214,  214,  214,  217,  217,  256,
03087       256,  256,  256,  256,  256,  256,  256,  256,  675,  675,
03088      2888,  675,  675,  675,  675,  675,  675,  710,  710, 2888,
03089       710,  710,  710,  710,  710,  710,  723,  723, 2888,  723,
03090       723,  723,  723,  723,  723,  758,  758, 2888,  758,  758,
03091       758,  758,  758,  758,  771,  771, 2888,  771,  771,  771,
03092       771,  771,  771,  805,  805, 2888,  805,  805,  805,  805,
03093       805,  805,  818,  818,  818,  818,  818,  818,  818,  818,
03094 
03095       818,  853,  853,  853,  853,  853,  853,  853,  853,  853,
03096       867,  867, 2888,  867,  867,  867,  867,  867,  867,  902,
03097       902, 2888,  902,  902,  902,  902,  902,  902,  709,  709,
03098      2888,  709,  709,  709,  709,  709,  709,  757,  757, 2888,
03099       757,  757,  757,  757,  757,  757,  804,  804, 2888,  804,
03100       804,  804,  804,  804,  804,  852,  852,  852,  852,  852,
03101       852,  852,  852,  852,  901,  901, 2888,  901,  901,  901,
03102       901,  901,  901, 1374, 1374, 2888, 1374, 1374, 1374, 1374,
03103      1374, 1374, 1410, 1410, 2888, 1410, 1410, 1410, 1410, 1410,
03104      1410, 1446, 1446, 2888, 1446, 1446, 1446, 1446, 1446, 1446,
03105 
03106      1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1516,
03107      1516, 2888, 1516, 1516, 1516, 1516, 1516, 1516,   35, 2888,
03108      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
03109      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
03110      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
03111      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
03112      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
03113      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
03114      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888
03115     } ;
03116 
03117 static yyconst flex_int16_t yy_chk[11390] =
03118     {   0,
03119         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
03120         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
03121         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
03122         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
03123         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
03124         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
03125         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
03126         2,   21,   21, 2857,    2,    3,    3,    3,    3,    3,
03127         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
03128         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
03129 
03130         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
03131         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
03132         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
03133         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
03134         3,    3,    3,    3,    3,    4,   67,    6,   67,    4,
03135         6,    6,    7,    7,    7,    7,    7,    7,    7,    7,
03136         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
03137         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
03138         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
03139         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
03140 
03141         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
03142         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
03143         7,    7,    8,   22,   22, 2854,    8,    9,    9,    9,
03144         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
03145         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
03146         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
03147         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
03148         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
03149         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
03150         9,    9,    9,    9,    9,    9,    9,   10,   11,   12,
03151 
03152        14,   10,   16,   12,   14,   18,   16,   20,   24,   18,
03153        46,   20,   24,   47,   27, 2851,   27,   28,   30,   28,
03154        27, 2848,   30,   28,   31,   31,   31,   50,   31,   33,
03155        33,   27,   52,   33,   28,   32,   32,   32,   46,   32,
03156        47, 2845,   27,   18,   27,   28, 2792,   28,   27,   34,
03157        34,   28,   62,   34,   50,   89,   62, 2786,   27,   89,
03158        52,   28,  176,  176,  422,  422,   11,   12,   15,   15,
03159        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
03160        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
03161        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
03162 
03163        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
03164        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
03165        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
03166        15,   15,   15,   15,   15,   15,   15,   15,   23,   23,
03167        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
03168        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
03169        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
03170        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
03171        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
03172        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
03173 
03174        23,   23,   23,   23,   23,   23,   23,   23,   25,   25,
03175        60,   25,  142,   25, 2780,   43,   48,   43,   25,   48,
03176        25,   25,   53,   25,   25,   55,   25,   25,   41,   41,
03177        41,   41,   41,   41, 2774,   56,   25,   25,   60,   25,
03178      2768,   25,   43,   48,   43,   25,   48,   25,   25,   53,
03179        25,   25,   55,   25,   25,  188,   44, 2534,   25,   25,
03180        29,   29,   56,   29,   44,   29,   54,   29,   29,   42,
03181        42,   42,   42,   42,   42,   45,   54,   29,   45,   29,
03182       142,  115,   45,  188,   44,  115, 2522,   57,   29,   29,
03183        42,   29,   44,   29,   54,   29,   29,   57,   51, 2519,
03184 
03185      2507,   51,   45,   54,   29,   45,   29, 2504,   51,   45,
03186        51,   58,   29,   29,   58,   57,   61,   42,  256,   59,
03187       256,  181,   61,   59,   57,   58,   51,   59,  170,   51,
03188      2492, 2489,  170,  141,  141,   51,  141,   51, 2477,   58,
03189      2474,  173,   58, 2465,   61,  173,  192,   59,  181,   61,
03190       192,   59,   58, 2462,  182,   59,   68,   68,   68,   68,
03191        68,   68,   69,   69,   69,   69,   69,   69,   72,   73,
03192       141,  183,   76,   73,  144,  184,   72,   73,  144,   72,
03193        76,  182,   72,   69, 2445, 2424,   72,   93,   93,   93,
03194        93,   93,   93, 2403, 2382, 2361,   72,   73,  183,   79,
03195 
03196        76,   73,  184,   79,   72,   73,   72,   79,   76,   72,
03197        69,   70,   70,   72,   70,   70,   70,   70,   70,   70,
03198        70,   70,   70,   70,   74,   75,   77,   79,  185,   82,
03199       195,   79,   74,   75,   77,   79,   75,   82, 2348,   75,
03200        77,   70,  144,   70,  187,  189,   74,  194,   82,   70,
03201        70,   70,   74,   75,   77,  185,  196,   82,  195, 2337,
03202        74,   75,   77,   75, 2316,   82,   75,   77,   70, 2295,
03203        70,  187,  189,   74,  194,   82,   70,   70,   70,   70,
03204        70,   71,   71,  196,   71,   71,   71,   71,   71,   71,
03205        71,   71,   71,   71,   71,   80,   81,   83,   88,  127,
03206 
03207        81, 2274,   71,   80,   81,   83,   88,  127, 2253,   80,
03208        81,   83,   88,  119,  119,  119,  119,  119,  119,   71,
03209        71,   71,   71,   80,   81,   83,   88,  127,   81,  197,
03210        71,   80,   81,   83,   88,  127,   80,   81,   83,   88,
03211       149,  149,  149,  149,  149,  149,   71,   71,   71,   71,
03212        71,   78,  198,  375,   78, 2217,  197,   78,  206,   78,
03213      2190,  125,  206, 2164,   78, 2137,   78,   84,   86,  125,
03214        85,   84,   86,  199,   85,   84,   86,   85,   85,   78,
03215       198,   84,   78,  125,  157,   78,   87,   78,   85,  125,
03216        87,   78,  157,   78,   87,   84,   86,  125,   85,   84,
03217 
03218        86,  199,   85,   84,   86,   85,   85,  251,   84,  112,
03219       125,  251,  157,  112,   87,   85, 2110,  112,   87, 1917,
03220       157,  375,   87,   94,   94,   94,   94,   94,   94,   98,
03221      1783,   99, 1747, 1572,   99,  200,   98,  112,   99,   98,
03222       216,  112,   99,   98,   94,  112,  120,  120,  120,  120,
03223       120,  120,  100,  101, 1551,  100,  101,   98,   99,  100,
03224       101,   99,  200,   98,  201,   99,   98,  120,  216,   99,
03225        98,   94,   95,   95,   95,   95,   95,   95, 1393,  100,
03226       101,  102,  100,  101,  102,  202,  100,  101,  102,  293,
03227      1377,  201,  186,  293,  120,   95,  186,   95,  215,  215,
03228 
03229       215,  215,  215,  215,  225,   95,  104, 1363,  102,  203,
03230       218,  102,  202,  104,  105,  102,  104,  105,  219,  186,
03231       104,  105,   95,  186,   95,   96,   96,   96,   96,   96,
03232        96,   96,  225,  226,  104,  220,  203,  218,  221,   96,
03233       104,  105, 1358,  104,  105,  219,  106,  104,  105,  224,
03234       223,  335,  223,  106,  227,  335,  106,  229,   96,   96,
03235       106,  226,  220,  231, 1353,  221,  232,   96,   97,   97,
03236        97,   97,   97,   97,  106,  108,  224,  223,  108,  223,
03237       106,  227,  108,  106,  229,   97,  236,  106,   97,  233,
03238       231,  107,   97,  232,  107, 1352,  234, 1185,  107,  107,
03239 
03240       238,   97,  108,  419,  961,  108,  124,  419,  128,  108,
03241       124,  235,   97,  236,  124,   97,  128,  233,  107,   97,
03242       103,  107,  128,  103,  234,  107,  107,  238,  103,  239,
03243       103,  103,  103,  109,  124,  103,  128,  240,  124,  235,
03244       109,  421,  124,  109,  128,  421,  955,  109,  103,  128,
03245       243,  103,  133,  948,  241,  103,  239,  103,  103,  103,
03246       133,  109,  103,  244,  240,  110,  245,  109,  110,  113,
03247       109,  133,  110,  113,  109,  110,  126,  113,  243,  110,
03248       133,  241,  378,  113,  126,  947,  378,  126,  133,  242,
03249       126,  244,  222,  110,  245,  131,  110,  113,  133,  110,
03250 
03251       222,  113,  110,  131,  126,  113,  110,  111,  930,  131,
03252       113,  111,  126,  228,  126,  111,  242,  126,  111,  237,
03253       222,  111,  237,  131,  228,  111,  918,  228,  222,  438,
03254       246,  131,  862,  438,  451,  111,  131,  701,  451,  111,
03255       258,  228,  247,  111,  300,  111,  237,  684,  111,  237,
03256       378,  228,  111,  121,  228,  121,  121,  246,  121,  121,
03257       121,  121,  121,  121,  121,  121,  123,  130,  258,  247,
03258       163,  130,  300,  134,  123,  130,  611,  123,  163,  479,
03259       123,  134,  426,  121,  123,  121,  248,  134,  249,  163,
03260       250,  424,  121,  121,  123,  130,  339,  420,  163,  130,
03261 
03262       428,  134,  123,  130,  123,  476,  163,  123,  381,  134,
03263       121,  123,  121,  248,  134,  249,  163,  250,  121,  121,
03264       121,  121,  121,  122,  339,  122,  122,  428,  122,  122,
03265       122,  122,  122,  122,  122,  122,  122,  132,  135,  476,
03266       259,  132,  135,  384,  122,  132,  135,  264,  259,  136,
03267       377,  132,  135,  136,  430,  264,  136,  136,  376,  429,
03268       297,  296,  122,  122,  122,  132,  135,  136,  259,  132,
03269       135,  384,  122,  132,  135,  264,  259,  136,  132,  135,
03270       431,  136,  430,  264,  136,  136,  429,  260,  122,  122,
03271       122,  122,  122,  129,  136,  260,  129,  374,  374,  129,
03272 
03273       374,  129,  255,  432,  260,  436,  129,  431,  129,  137,
03274       138,  139,  154,  137,  138,  260,  154,  137,  138,  139,
03275       154,  129,  433,  260,  129,  139,  214,  129,  212,  129,
03276       432,  260,  436,  129,  374,  129,  211,  137,  138,  139,
03277       154,  137,  138,  434,  154,  137,  138,  139,  154,  210,
03278       433,  179,  139,  146,  146,  146,  146,  146,  146,  146,
03279       146,  146,  146,  146,  146,  150,  150,  150,  150,  150,
03280       150,  434,  435,  178,  175,  155,  257,  257,  257,  257,
03281       257,  257,  437,  155,  172,  147,  150,  146,  146,  146,
03282       146,  146,  146,  156,  153,  441,  143,  155,  442,  446,
03283 
03284       435,  156,  153,  155,  156,  153,  118,  156,  153,  437,
03285       443,  155,  153,  150,  151,  151,  151,  151,  151,  151,
03286       151,  156,  153,  441,  155,  272,  442,  446,  444,  156,
03287       153,  156,  153,  272,  156,  153,   92,  443,  151,  153,
03288       151,  298,  298,  298,  298,  298,  298,   66,  151,  158,
03289       160,  263,  161,  272,  160,  444,  447,  158,  160,  263,
03290       161,  272,   65,  158,  263,  151,  161,  151,  152,  152,
03291       152,  152,  152,  152,  152,  152,   39,  158,  160,  263,
03292       161,  164,  160,  152,  447,  158,  160,  263,  161,  164,
03293       158,  263,  445,  161,  455,  164,  162,   37,  448,   35,
03294 
03295       162,  449,  152,  152,  162,  261,   19,  450,   17,  164,
03296       162,  152,  159,  261,  458,  159,   13,  164,  159,  445,
03297       159,  455,  164,  261,  162,  159,  448,  159,  162,  449,
03298       165,  461,  162,  261,  165,  450,  457,  162,  165,    5,
03299       159,  261,  458,  159,  165,    0,  159,  167,  159,  166,
03300       261,  167,  159,  166,  159,  167,  166,  166,  165,  461,
03301       168,  276,  165,  457,  168,  265,  165,  166,  168,  276,
03302         0,  165,  169,  265,  262,  167,  265,  166,  265,  167,
03303       169,  166,  262,  167,  166,  166,  169,    0,  168,  276,
03304       262,  266,  168,  265,  166,    0,  168,  276,  459,  266,
03305 
03306       169,  265,  262,  265,  267,  265,    0,  266,  169,  267,
03307       262,  462,  267,  169,  268,  269,    0,  262,  268,  266,
03308       463,    0,  268,  269,    0,  459,    0,  266,    0,  269,
03309         0,  270,  267,  270,  266,    0,  467,  267,  462,  270,
03310       267,  271,  268,  269,  270,  273,  268,  270,  463,  271,
03311       268,  269,  275,  273,  275,  274,  269,  271,  273,  270,
03312       275,  270,  277,  274,  467,  277,  468,  270,  278,  271,
03313       277,  270,  274,  273,  270,  469,  278,  271,    0,  279,
03314       275,  273,  275,  274,  271,  273,    0,  279,  275,  278,
03315       277,  274,  279,  277,  468,  279,  278,  281,  277,  274,
03316 
03317       280,  285,  284,  469,  278,  281,  282,  279,  280,  285,
03318       284,    0,  281,  286,  282,  279,  278,    0,  280,  279,
03319       284,  286,  279,  282,  288,  281,    0,  283,  280,  285,
03320       284,  472,  288,  281,  282,  283,  280,  285,  284,  281,
03321       288,  286,  282,  287,  287,  280,  289,  284,  283,  286,
03322       282,  287,  288,  290,  289,  283,  472,  291,  301,  472,
03323       288,  290,  301,  283,  289,  291,  301,  288,  464,  290,
03324       291,  287,  287,  466,  289,  283,  292,    0,    0,  287,
03325       303,  290,  289,  303,  292,  291,  301,  303,    0,  290,
03326       301,  289,  292,  291,  301,  464,  290,  291,  302,  473,
03327 
03328       466,  306,  302,    0,  292,  306,  302,  303,  465,  306,
03329       303,  313,  292,  304,  303,  302,  304,  465,  304,  292,
03330       304,  305,  313,  305,  305,  313,  302,  473,  305,  306,
03331       302,  470,  480,  306,  302,  465,  471,  306,  474,  313,
03332       304,  475,  302,  304,  487,  304,    0,  304,  305,  313,
03333       305,  305,  313,    0,  307,  305,  307,  307,  470,  308,
03334       480,  307,  308,  471,  308,  474,  308,  309,  475,  340,
03335       310,  314,  487,  309,  310,    0,  309,  340,  310,    0,
03336       309,  307,  314,  307,  307,  314,  308,  311,  307,  308,
03337       311,  308,  488,  308,  311,  309,  477,  340,  310,  314,
03338 
03339       309,    0,  310,  309,  315,  340,  310,  309,  481,  314,
03340       482,  345,  314,  316,  311,  315,    0,  311,  315,  345,
03341       488,  311,  312,  477,  316,    0,  483,  316,  316,  317,
03342         0,  312,  315,  312,  312,  481,  312,  482,  312,  345,
03343       317,  316,  315,  317,  318,  315,    0,  345,  318,    0,
03344       312,  316,  318,  483,  316,  316,  484,  317,  312,  485,
03345       312,  312,    0,  312,    0,  312,  490,  317,  489,  320,
03346       317,  319,  318,  320,  319,  319,  318,  320,  321,  319,
03347       318,  322,  491,  484,  322,  492,  485,    0,  322,  321,
03348       320,  323,  321,  490,  323,  323,  489,  320,  323,  319,
03349 
03350         0,  320,  319,  319,    0,  320,  321,  319,  322,  491,
03351         0,  322,  492,    0,  493,  322,  321,  320,  323,  321,
03352       324,  323,  323,  324,  494,  323,  324,  324,  325,  326,
03353       331,  325,  326,  331,  496,  325,  326,  331,  325,    0,
03354       327,  328,  493,    0,  327,  328,    0,  324,  327,  328,
03355       324,  494,  652,  324,  324,  325,  326,  331,  325,  326,
03356       331,  496,  325,  326,  331,  325,  329,  329,  327,  328,
03357       329,  330,  327,  328,  329,  332,  327,  328,  535,  333,
03358       652,    0,  330,  573,    0,  330,  332,    0,  612,  332,
03359       333,  650,  651,  333,  329,  329,    0,  334,  329,  330,
03360 
03361         0,    0,  329,  332,    0,  535,  341,  333,  334,  330,
03362       573,  334,  330,  332,  341,  612,  332,  333,  650,  651,
03363       333,  653,    0,  341,  343,  334,  338,  338,  338,  338,
03364       338,  338,  343,  342,  341,  334,  344,  654,  334,  655,
03365       343,  342,  341,  656,  344,  346,  347,  658,  653,  344,
03366       341,  342,  343,  346,  347,    0,  346,    0,  346,  657,
03367       343,  342,  347,  348,  344,  654,  655,  343,  348,  342,
03368       656,  348,  344,  346,  347,  658,  344,  659,  342,  350,
03369       349,  346,  347,  346,  349,  346,  657,  350,  349,  347,
03370       660,  348,    0,  350,  352,  353,  348,  662,  351,  348,
03371 
03372       351,    0,  352,  353,  659,    0,  351,  350,  349,    0,
03373       352,  351,  349,  665,  351,  350,  349,  660,  661,  354,
03374       350,  357,  352,  353,  662,  355,  351,  354,  351,  357,
03375       352,  353,  354,  355,  351,  664,  358,  352,  351,  358,
03376       665,  351,  355,  356,  358,  356,  661,  354,  361,  357,
03377       666,  356,  360,  355,  359,  354,  361,  357,    0,  354,
03378       360,  355,  359,  664,  358,  360,  361,  358,  360,  355,
03379       362,  356,  358,  356,  668,  359,  361,  666,  362,  356,
03380       360,  365,  359,  363,  361,  362,  364,    0,  360,  365,
03381       359,  363,  360,  361,  364,  360,  366,  367,  362,  365,
03382 
03383       363,  668,  359,  670,  366,  367,  362,  364,  667,  365,
03384       370,  363,  362,  369,  364,  368,  368,  365,  370,  363,
03385       669,  369,  364,  368,  366,  367,  365,  363,  370,  369,
03386       670,  371,  366,  367,  364,  671,  667,  372,  370,  371,
03387         0,  369,    0,  368,  368,  372,  370,  371,  669,  369,
03388       372,  368,  373,    0,    0,  370,  369,    0,    0,  371,
03389       373,  385,  386,  671,    0,  372,    0,  371,  373,  385,
03390       386,    0,    0,  372,  371,    0,  672,  372,  677,  386,
03391       373,  383,  383,  383,  383,  383,  383,  688,  373,  385,
03392       386,  387,  388,  390,  389,  373,  678,  385,  386,  387,
03393 
03394       388,  390,  389,  391,  672,  677,  386,  389,  388,  387,
03395       392,  391,    0,    0,  391,  688,  391,  692,  392,  387,
03396       388,  390,  389,  678,    0,    0,  392,  387,  388,  390,
03397       389,  391,  393,    0,  389,  388,  387,  393,  392,  391,
03398       393,  391,  395,  391,  394,  692,  392,  695,  394,    0,
03399       395,  397,  394,  392,  398,    0,  395,    0,    0,  397,
03400       393,  396,  398,  396,    0,  393,    0,  397,  393,  396,
03401       395,    0,  394,  680,  396,  695,  394,  396,  395,  397,
03402       394,  683,  398,  395,  401,  399,  401,  397,  400,  396,
03403       398,  396,  401,  399,  397,  402,  400,  396,  399,  403,
03404 
03405       680,  396,  403,  402,  396,  400,  685,  403,  683,    0,
03406         0,  686,  401,  399,  401,  704,  400,    0,  404,    0,
03407       401,  399,    0,  402,  400,  399,  404,  403,  405,  406,
03408       403,  402,  400,  685,  407,  403,  405,  406,  686,  404,
03409         0,  405,  407,  704,  405,  410,  404,  406,  689,  407,
03410       408,  409,  411,  410,  404,  690,  405,  406,  408,  409,
03411       411,  412,  407,  410,  405,  406,  404,  408,  405,  412,
03412       407,  405,  409,  410,  406,  689,  407,  414,  408,  409,
03413       411,  410,  690,  413,  413,  414,  408,  409,  411,  412,
03414       410,  413,    0,  414,  408,  497,  415,  412,  506,  409,
03415 
03416       416,  418,  417,  497,  415,  414,  506,  707,  416,  418,
03417       417,  413,  413,  414,  415,  417,  416,  418,    0,  413,
03418       414,    0,    0,  497,  415,    0,  506,    0,  416,  418,
03419       417,  497,  415,    0,  506,  707,  416,  418,  417,    0,
03420         0,  415,  417,  416,  418,  460,  460,    0,  460,  460,
03421       460,  460,  460,  460,  460,  460,  460,  460,  478,  478,
03422       478,  478,  478,  498,  501,  500,  502,  478,  500,  713,
03423       502,  498,  501,  500,  502,  676,    0,  498,  681,    0,
03424       691,  501,  681,  460,  460,  460,    0,    0,    0,    0,
03425       676,  498,  501,  500,  502,  478,  500,  713,  502,  498,
03426 
03427       501,  500,  502,  676,  498,    0,  681,  691,  501,  681,
03428       460,  460,  460,  460,  460,  486,  486,  676,  486,  486,
03429       486,  486,  486,  486,  486,  486,  486,  486,  503,    0,
03430       504,  505,  507,  674,  507,  508,  503,  675,  504,  505,
03431       507,    0,  505,  508,    0,  503,  693,  674,  504,  694,
03432       705,  675,    0,  486,  486,  486,  503,  504,  504,  505,
03433       507,  674,  507,  508,  503,  675,  504,  505,  507,  505,
03434         0,  508,  503,  693,  674,  504,  694,  705,  675,  512,
03435       486,  486,  486,  486,  486,  499,  499,  512,  499,  499,
03436       499,  499,  499,  499,  499,  499,  499,  499,  509,  714,
03437 
03438       510,    0,  511,  514,  511,  513,  509,  512,  510,  715,
03439       511,  514,    0,  513,  716,  512,    0,  509,  510,  513,
03440         0,  514,    0,  499,  499,  499,  509,  714,  510,  511,
03441       511,  514,  511,  513,  509,  518,  510,  715,  511,  514,
03442       515,  513,  716,  518,  509,  510,  513,  515,  514,  516,
03443       499,  499,  499,  499,  499,  515,  519,  516,  532,    0,
03444       519,  532,  518,  518,  519,  719,  532,    0,    0,  516,
03445         0,  518,    0,    0,  515,  515,    0,  516,  706,  520,
03446         0,    0,  711,  515,  519,  516,  532,  520,  519,  532,
03447       712,  520,  519,  719,  532,  522,  516,  517,  517,  517,
03448 
03449       517,  517,  517,  522,  521,  706,  517,  520,  523,  711,
03450       517,  767,  521,    0,  522,  520,  523,  712,  520,  521,
03451       524,  574,    0,  522,    0,    0,  523,    0,  524,  574,
03452       517,  522,  521,  814,  517,  717,  523,  524,  517,  767,
03453       521,  522,    0,    0,  523,    0,  521,    0,  524,  574,
03454       526,  529,  527,  523,  527,  526,  524,  574,  526,  529,
03455       527,  814,  717,  529,  524,  525,  525,  718,  525,  525,
03456       525,  525,  525,  525,  525,  525,  525,  525,  526,  529,
03457       527,  722,  527,  526,  528,  528,  526,  529,  527,  530,
03458       529,    0,  528,  531,  718,  722,    0,  530,    0,    0,
03459 
03460       530,  531,    0,  525,  525,  525,    0,    0,  533,  722,
03461         0,  531,  528,  528,  737,  536,  533,  530,  533,  536,
03462       528,  531,  722,  536,  729,  530,  546,  530,  729,  531,
03463       525,  525,  525,  525,  525,  741,  533,  546,  531,  537,
03464       546,  737,  537,  536,  533,  533,  537,  536,    0,    0,
03465         0,  536,  729,    0,  546,  729,    0,  852,  852,    0,
03466       852,  742,  741,    0,  546,    0,  537,  546,    0,  537,
03467         0,    0,  863,  537,  538,  538,  702,  538,  538,  538,
03468       538,  538,  538,  538,  538,  538,  538,  539,  742,  785,
03469       540,  789,  702,  540,  852,  539,  540,  540,  539,  541,
03470 
03471       863,    0,  539,  541,  702,  750,  777,  541,    0,    0,
03472       777,    0,  538,  538,  538,  539,  785,  540,  789,  702,
03473       540,  750,  539,  540,  540,  539,  916,  541,  542,  539,
03474       583,  541,  542,  750,  777,  541,  542,  777,  583,  538,
03475       538,  538,  538,  538,  544,  542,  543,  544,  750,  543,
03476         0,  544,  832,  543,  916,  545,  542,  547,  583,  545,
03477       542,  547,  543,  545,  542,  547,  583,  836,  925,  585,
03478         0,  544,  542,  543,  544,    0,  543,  585,  544,  832,
03479       543,  549,  548,  545,  549,  547,  548,  545,  549,  547,
03480       548,  545,  550,  547,  836,  552,  925,  585,  552,    0,
03481 
03482         0,  548,  552,  550,  837,  585,  550,  770,  549,  553,
03483       548,  549,  553,    0,  548,  549,  553,  550,  548,  551,
03484       550,  770,  552,  551,  554,  552,  589,  551,  548,  552,
03485       550,  837,  881,  550,  589,  770,  553,  555,    0,  553,
03486       555,  885,  554,  553,  555,  554,  555,  551,  770,  554,
03487         0,  551,    0,    0,  589,  551,    0,  557,  554,  881,
03488         0,  557,  589,    0,  555,  557,  558,  555,  885,  554,
03489       558,  555,  554,  555,  558,    0,  554,  556,  556,  556,
03490       556,  556,  556,  559,  557,  557,  556,  559,  560,  557,
03491       556,  559,  560,  557,  558,  559,  560,    0,  558,    0,
03492 
03493         0,    0,  558,  560,  561,    0,    0,    0,  561,  613,
03494       556,  559,  561,  575,  556,  559,  560,  613,  556,  559,
03495       560,  575,  559,  561,  560,  886,  562,  575,  563,  562,
03496       560,  563,  561,  562,  563,  563,  561,  613,  911,    0,
03497       561,  575,    0,    0,    0,  613,    0,    0,    0,  575,
03498       561,    0,  886,  562,  575,  563,  562,  914,  563,  942,
03499       562,  563,  563,  564,  564,  911,  564,  564,  564,  564,
03500       564,  564,  564,  564,  564,  564,  565,  566,  567,  567,
03501       817,    0,  565,  915,  914,  565,  568,  942,  566,  565,
03502       567,  566,  569,  567,  817,  569,  568,  568,    0,  569,
03503 
03504       568,  564,  564,  564,  565,  566,  567,  567,  817,  565,
03505       915,  866,  565,  943,  568,  566,  565,  567,  566,  569,
03506       567,  817,  569,  568,  568,  866,  569,  568,  564,  564,
03507       564,  564,  564,  570,  571,    0,  570,  917,  945,  866,
03508       570,  943,  571,  572,  572,  571,    0,  572,  919,  571,
03509       920,  572,  866,    0,    0,    0,    0,    0,    0,    0,
03510       570,    0,  571,  570,  917,  577,  945,  570,  577,  571,
03511       572,  572,  571,  577,  572,  919,  571,  920,  572,  576,
03512       576,  576,  576,  576,  576,  576,  576,  576,  576,  576,
03513       576,  576,  578,  577,  579,  580,  577,  581,  579,  582,
03514 
03515       578,  577,  579,  580,    0,  581,    0,  582,    0,  578,
03516       582,  923,  580,  622,    0,  581,    0,  576,  576,  576,
03517       578,  622,  579,  580,  581,  581,  579,  582,  578,    0,
03518       579,  580,  584,  581,  584,  582,  578,  582,  923,  580,
03519       584,  622,  581,  587,  576,  576,  576,  576,  576,  622,
03520       586,  587,    0,    0,    0,  588,  590,  588,  586,  591,
03521       584,  587,  584,  588,  590,  592,  624,  591,  584,  586,
03522       590,  587,  592,  593,  624,    0,    0,  591,  586,  587,
03523       592,  593,  588,  588,  590,  588,  586,  591,  587,  924,
03524       926,  588,  590,  593,  624,  591,  586,  590,    0,  592,
03525 
03526       592,  593,  624,  596,  591,  595,    0,  596,  592,  593,
03527         0,  596,    0,  595,    0,  946,  924,  926,    0,  949,
03528       593,  594,  594,  594,  594,  594,  594,    0,  597,  598,
03529       594,  596,  595,  595,  594,  596,  597,  598,  601,  596,
03530       597,  595,  599,  946,  598,  600,  601,  949,  927,  928,
03531       599,    0,  951,  600,  594,  601,  597,  598,  594,  929,
03532         0,  599,  594,  600,  597,  598,  601,  597,    0,    0,
03533       599,  598,    0,  600,  601,  927,  928,  606,  599,  603,
03534       951,  600,  601,    0,  603,  606,  929,  603,  599,  606,
03535       600,  602,  602,  602,  602,  602,  602,  602,  602,  602,
03536 
03537       602,  602,  602,  602,  958,  606,  604,  603,  604,  605,
03538       605,  607,  603,  606,  604,  603,  606,  605,  610,  607,
03539       824,    0,  607,  931,  824,  608,  610,    0,  610,  602,
03540       602,  602,  958,  608,  604,  932,  604,  605,  605,  607,
03541         0,    0,  604,  608,    0,  605,  610,  607,  824,  607,
03542       931,  824,  933,  608,  610,  610,  602,  602,  602,  602,
03543       602,  608,  932,  609,  614,  616,  609,  623,  616,  623,
03544       608,  609,  614,  616,  965,  623,    0,    0,  614,  933,
03545         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
03546         0,  609,  614,  616,  609,  623,  616,  623,    0,  609,
03547 
03548       614,  616,  965,  623,  873,  614,  615,  615,  873,  615,
03549       615,  615,  615,  615,  615,  615,  615,  615,  615,  617,
03550       618,  619,    0,  620,  618,  626,  621,  617,  618,  619,
03551         0,  620,  873,  626,  621,  873,  617,  621,  619,    0,
03552       935,  620,  937,  626,  615,  615,  615,  617,  618,  619,
03553       620,  620,  618,  626,  621,  617,  618,  619,  625,  620,
03554         0,  626,  621,  617,  621,  619,  625,  935,  620,  937,
03555       626,  615,  615,  615,  615,  615,  938,  625,  631,  627,
03556       628,  627,  629,  630,    0,  631,  625,  627,  628,    0,
03557       629,  630,  968,  631,  625,  940,  629,  632,    0,  941,
03558 
03559         0,  630,  982,  938,  625,  632,  627,  627,  628,  627,
03560       629,  630,  631,  631,    0,  627,  628,  632,  629,  630,
03561       968,  631,  940,  629,  634,  632,  941,  635,  630,  636,
03562       982,  635,  634,  632,  638,  635,    0,  636,    0,    0,
03563         0,  636,  638,    0,  632,  633,  633,  633,  633,  633,
03564       633,  634,  634,  638,  633,  635,  637,  636,  633,  635,
03565       634,  639,  638,  635,  637,  636,  640,  642,  636,  639,
03566       638,  637,  642,    0,  640,  642,    0,  721,  633,  639,
03567       638,  944,  633,  640,  637,  721,  633,    0,    0,  639,
03568         0,    0,  637,    0,  640,  642,    0,  639,  637,  643,
03569 
03570       642,  643,  640,  642,  950,  721,  639,  643,  944,  983,
03571       640,  641,  641,  721,  641,  641,  641,  641,  641,  641,
03572       641,  641,  641,  641,  644,  644,  645,  643,  646,  643,
03573       952,  950,  644,  727,  645,  643,  646,  983,  645,  646,
03574       985,  727,    0,  797,    0,  953,    0,    0,    0,  641,
03575       641,  641,  644,  644,  645,  647,  646,  952,  954,  797,
03576       644,  727,  645,  647,  646,  645,  646,  648,  985,  727,
03577       648,  797,  953,  647,  649,  648,  641,  641,  641,  641,
03578       641,  956,  649,  647,  649,  954,  797,  957,    0,    0,
03579         0,  647,    0,    0,    0,  648,    0,  989,  648,  720,
03580 
03581       647,    0,  649,  648,    0,  720,    0,  720,  956,    0,
03582       649,  649,  710,  710,  957,  710,  710,  710,  710,  710,
03583       710,  710,  710,  710,  710,  989,  723,  720,  726,  725,
03584       724,  723,  724,  720,  723,  720,  726,  725,  724,    0,
03585         0,  726,    0,  959,    0,  723,  725,  724,    0,    0,
03586       710,  710,  710,    0,  723,  728,  726,  725,  724,  723,
03587       724,  730,  723,  728,  726,  725,  724,  731,  726,  730,
03588       959,  728,  723,  725,  724,  731,  733,  710,  710,  710,
03589       710,  710,  732,  728,  733,    0,  731,    0,  734,  730,
03590       732,  728,  735,    0,  733,  731,  734,  730,  728,  934,
03591 
03592       735,    0,  934,  731,  733,  734,  738,  736,    0,  732,
03593       732,  736,  733,  731,  738,  736,  734,  739,  732,  740,
03594       735,  733,    0,  749,  734,  739,  934,  740,  735,  934,
03595       738,  749,  734,  739,  738,  736,  743,    0,  751,  736,
03596       743,  752,  738,  736,  743,  739,  751,  740,  753,  752,
03597       749,  749,  960,  739,  755,  740,  753,  738,  936,  749,
03598       739,  936,  755,  754,  743,  756,  751,  753,  743,  752,
03599       962,  754,  743,  756,  751,    0,  753,  752,  754,  960,
03600         0,  966,  755,    0,  753,  936,    0,    0,  936,    0,
03601       755,  754,  760,  756,  753,  762,  764,  962,  969,  754,
03602 
03603       760,  756,  760,  762,  764,  754,  758,  758,  966,  758,
03604       758,  758,  758,  758,  758,  758,  758,  758,  758,  759,
03605       760,    0,  761,  762,  764,  969,  761,  759,  760,  760,
03606       761,  762,  764,  815,  763,    0,    0,  759,  763,  815,
03607         0,  815,  763,    0,  758,  758,  758,  759,  766,  765,
03608       761,    0,  970,    0,  761,  759,  766,  765,  761,    0,
03609       816,  815,  763,  765,  759,  766,  763,  815,  816,  815,
03610       763,  758,  758,  758,  758,  758,  766,  765,  845,  970,
03611       769,  768,    0,  769,  766,  765,  768,  769,  816,  768,
03612       765,  771,  766,  768,  845,    0,  816,  771,    0,    0,
03613 
03614       771,  971,    0,    0,  771,  771,  845,  769,  973,  768,
03615       769,  772,    0,  768,  769,  993,  768,    0,  998,  771,
03616       768,  845,  772,  773,  771,  772,  772,  771,  971,  774,
03617       775,  771,  771,  994,  773,  973,    0,  773,  773,  772,
03618       774,  775,  993,  774,  775,  776,  998,    0,  996,  772,
03619         0,  773,  772,  772,    0,    0,  776,  774,  775,  776,
03620       994,  773,    0,  778,  773,  773, 1022,  774,  775,  894,
03621       774,  775,  997,  776,  778,  996, 1011,  778,  779,    0,
03622         0,  781,  780,  776,  781,  894,  776,  974,  781,  779,
03623       974,  778,  779,  780, 1022,  779,  780,  894,    0,  997,
03624 
03625      1013,  778,  783, 1011,  778,  783,  779,  780,  781,  783,
03626       780,  781,  894, 1023,  974,  781,  779,  974,  782,  779,
03627       780,  782,  779,  780,  782,  782,  784, 1013,    0,  783,
03628       784,  786,  783,  787,  784,  786,  783,    0, 1025,  786,
03629         0, 1023,  822,    0,  787,  782,    0,  787,  782,  788,
03630       822,  782,  782,  788,  784,  786,  790,  788,  784,  786,
03631       790,  787,  784,  786,  790,  798, 1025,  786,  796,  798,
03632       822,  787,  796,  798,  787,  799,  796,  788,  822,  799,
03633      1029,  788,  786,  799,  790,  788,  800,    0,  790,    0,
03634       800,    0,  790,  798,  800,  796,  796,  798,  801, 1037,
03635 
03636       796,  798,  801,  799,  796,  800,  801,  799, 1029,  825,
03637         0,  799, 1033,  801,  800,  802,  803,  825,  800,  802,
03638       803, 1061,  800,  802,  803,    0,  801, 1037, 1035,    0,
03639       801,    0,  800, 1014,  801,  806, 1014,  825,  806, 1033,
03640       801,    0,  806,  802,  803,  825, 1036,  802,  803, 1061,
03641         0,  802,  803,  804,  804, 1035,  804,  804,  804,  804,
03642      1014, 1062,  806, 1014,    0,  806,  807,  807,  808,  806,
03643       807,  809,  808, 1036,  807,  809,  808,  810,  811,  809,
03644       828,  810,  811,    0, 1050,  810,  811, 1064,  828, 1062,
03645      1052,  804,  804,  807,  807,    0,  808,  807,  828,  809,
03646 
03647       808,  807,    0,  809,  808,  810,  811,  809,  828,  810,
03648       811, 1050,    0,  810,  811, 1064,  828, 1052,  804,  804,
03649       804,  804,  804,  805,  805,  828,  805,  805,  805,  805,
03650       805,  805,  805,  805,  805,  805,    0,  812, 1072,  813,
03651       812,    0,  813, 1073,  812,  813,  813,  827,    0,  818,
03652         0,    0, 1068, 1077,  818,  827,    0,  818,    0,    0,
03653         0,  805,  805,  805,  812, 1072,  813,  812,  818,  813,
03654      1073,  812,  813,  813,  827,  827,  819,  818,  819,  820,
03655      1068, 1077,  818,  827,  819,  818,  821,  820,  805,  805,
03656       805,  805,  805,  819,  821,  818,  820,  823,    0,  821,
03657 
03658       826,  829,  830,    0,  819,  823,  819,  820,  826,  829,
03659       830, 1101,  819,  823,  821,  820,    0, 1075,  829,  826,
03660       819, 1102,  821,  820,  833,  823,  821,  831,  826,  829,
03661       830,  831,  833,  823,  834,  831,  826,  829,  830, 1101,
03662       823, 1104,  834,  835, 1075,  829,  826,    0,  833, 1102,
03663       834,  835,  833,  838,    0,  831,  844,  838,  846,  831,
03664       833,  838,  834,  831,  844,  847,  846,    0,  848, 1104,
03665       834,  835, 1076,  847,  850,  833,  848,  834, 1090,  835,
03666       849,  838,  850,  844,  844,  838,  846,  848,  849,  838,
03667       851, 1108,  844,  847,  846,  849,  848, 1092,  851, 1076,
03668 
03669         0,  847,  850,    0,  848, 1090,    0,    0,  849,    0,
03670       850,    0,    0,  855,  848, 1112,  849,  857,  851, 1108,
03671         0,  855,  849,  855, 1092,  857,  851,  853,  853,  853,
03672       853,  853,  853,  853,  853,  853,  853,  853,  853,  853,
03673       854,  855, 1112,  856, 1117,  857,  859,  856,  854,  855,
03674       855,  856,  858,  857,  859,    0,  858,    0,  854, 1053,
03675       858,    0, 1053, 1113,    0,  853,  853,  853,  854,  860,
03676       861,  856, 1117, 1115,  859,  856,  854,  860,  861,  856,
03677       858,    0,  859,  860,  858,  854, 1053,  861,  858, 1053,
03678      1113,  865,  853,  853,  853,  853,  853,  860,  861,  865,
03679 
03680      1115,  864,    0,  867,    0,  860,  861,  864,  867,  864,
03681       860,  867,  871, 1132,  861,  868,  869,  868,    0,  865,
03682       871,    0,  867,  868,  869,    0, 1139,  865,    0,  864,
03683       872,  867,  868,  869,  870,  864,  867,  864,  872,  867,
03684       871, 1132,  870,  868,  869,  868,  872,  870,  871,  867,
03685      1141,  868,  869,  874, 1139,  876,  875,  879,  872,  868,
03686       869,  874,  870,  876,  875,  879,  872,    0,  877,  884,
03687       870,  878,    0,  872,  870,  875,  877,  884, 1141,  878,
03688         0,  874,  876,  876,  875,  879,  877,    0,  878,  874,
03689       880,  876,  875,  879,  880,  882,  877,  884,  880,  878,
03690 
03691       883,  895,  875,  882,  877,  884,  887,  878,  883,  895,
03692       887,    0,  893,  877,  887,  878,  883,  896,  880,  882,
03693       893,    0,  880,  882, 1093,  896,  880, 1093,  883,  895,
03694         0,  882, 1116,  897,  887, 1142,  883,  895,  887,  893,
03695       893,  897,  887,  883, 1130,  896,  882,  898,  893,  899,
03696       900, 1093,  897,  896, 1093,  898,  903,  899,  900, 1116,
03697       904,  897,  898, 1142,  903,    0,    0,    0,  904,  897,
03698       904, 1130,  905,    0,  903,  898,  905,  899,  900,  897,
03699       905,    0,    0,  898,  903,  899,  900,    0,  904,  898,
03700       901,  901,  903,  901,  901,  901,  904,  904,  906,  907,
03701 
03702       905,  903,  908,  907,  905,  909,  906,  907,  905,  964,
03703       908,    0, 1131,  909,  979,  986,    0, 1133,    0,  909,
03704       964, 1148,  979,  986,  964,    0,  906,  907,  901,  901,
03705       908,  907,    0,  909,  906,  907,    0,    0,  908, 1131,
03706         0,  909,  979,  986, 1133,  910,  909,    0,  964, 1148,
03707       979,  986,  964,  910,    0,  901,  901,  901,  901,  901,
03708       902,  902,  910,  902,  902,  902,  902,  902,  902,  902,
03709       902,  902,  902,  910,  972,  976,  975,    0,    0, 1134,
03710      1135,  910,  972,  976,  975,    0,    0,  972,  976,  910,
03711       975,  976,    0, 1136, 1137, 1138, 1140,    0,  902,  902,
03712 
03713       902,    0,  972,  976,  975,  977, 1134, 1135,  978,    0,
03714       972,  976,  975,  977,  972,  976,  978,  975,  976,  977,
03715      1136, 1137, 1138, 1140,  980,  902,  902,  902,  902,  902,
03716      1143,  978,  980,  977,    0,  981,  978,  984,    0,    0,
03717      1144,  977,  980,  981,  978,  984,  977,    0,  984,  981,
03718         0,  987,  980,  988,  990,    0, 1149, 1143,  978,  987,
03719       980,  988,  990,  981,  992,  984,  991, 1144,  990,  980,
03720       991,  981,  992,  984,  991,  984,  981,  992,  987,  987,
03721       988,  988,  990,  995, 1149,  999, 1150,  987, 1151,  988,
03722       990,  995,  992,  999,  991,  990,  999, 1000,  991, 1001,
03723 
03724       992, 1002,  991,    0,  992, 1000, 1152, 1001,    0, 1002,
03725       995,  995, 1003,  999, 1150, 1000, 1151, 1002, 1145,  995,
03726      1003,  999, 1007,  999,    0, 1000, 1001, 1001, 1005, 1002,
03727      1007, 1005, 1004, 1000, 1152, 1001, 1005, 1002, 1006, 1004,
03728      1003, 1009, 1000, 1004, 1002, 1145, 1006, 1004, 1003, 1009,
03729      1007, 1006, 1008,    0, 1008, 1010, 1005, 1153, 1007, 1005,
03730      1008,    0, 1009, 1010, 1005, 1012, 1006, 1004, 1154, 1009,
03731      1010, 1004, 1155, 1157, 1006, 1004, 1012, 1009, 1006, 1012,
03732      1008, 1016, 1008, 1010, 1163, 1153, 1159, 1015, 1008, 1009,
03733      1015, 1010, 1016, 1012, 1015, 1016, 1154, 1010, 1017, 1155,
03734 
03735      1157, 1017, 1168, 1012, 1018, 1017, 1012, 1018, 1160, 1016,
03736         0, 1018, 1163, 1159, 1015,    0, 1018, 1015, 1161, 1016,
03737      1019, 1015, 1016, 1019, 1169, 1017, 1020, 1019, 1017, 1020,
03738      1168, 1018, 1017, 1020, 1018, 1160, 1162, 1021, 1018, 1024,
03739      1021,    0, 1024, 1018, 1021, 1161, 1024, 1019,    0, 1170,
03740      1019, 1026, 1169, 1020, 1019, 1026, 1020, 1027,    0, 1026,
03741      1020, 1027,    0, 1162, 1021, 1027, 1024, 1021, 1028, 1024,
03742      1165, 1021, 1028, 1024, 1166, 1030, 1028, 1170, 1030, 1026,
03743      1172,    0, 1030, 1026, 1027, 1027, 1031, 1026,    0, 1027,
03744      1031,    0, 1032, 1027, 1031, 1028, 1028, 1165, 1171, 1034,
03745 
03746      1028, 1166, 1030, 1032, 1028, 1030, 1032, 1172, 1038, 1030,
03747      1034, 1038, 1173, 1034, 1031, 1038, 1039, 1174, 1031, 1039,
03748      1032,    0, 1031, 1039, 1034, 1040, 1171, 1034, 1040, 1177,
03749      1032, 1178, 1040, 1032, 1041, 1038,    0, 1034, 1038, 1173,
03750      1034, 1040, 1038, 1039, 1174, 1041, 1039,    0, 1041, 1042,
03751      1039, 1180, 1040, 1045, 1043, 1040, 1179, 1177, 1178, 1040,
03752      1042, 1043, 1041, 1042, 1045, 1043,    0, 1045,    0, 1043,
03753      1044, 1046, 1041, 1044, 1044, 1041,    0, 1042, 1044, 1180,
03754         0, 1045, 1046, 1179,    0, 1046, 1181, 1042, 1183, 1043,
03755      1042, 1045, 1184, 1043, 1045, 1051, 1047, 1043, 1044, 1046,
03756 
03757      1048, 1044, 1044, 1051, 1049,    0, 1044, 1047, 1051, 1046,
03758      1047, 1048, 1046, 1181, 1048, 1049, 1183, 1049, 1049, 1048,
03759      1184,    0, 1054, 1051, 1047, 1058,    0,    0, 1048,    0,
03760      1054, 1051, 1049, 1058, 1047, 1051, 1054, 1047, 1048, 1055,
03761      1056, 1048, 1049, 1164, 1049, 1049, 1048, 1055, 1056, 1057,
03762      1054,    0, 1055, 1058, 1056, 1055, 1059, 1057, 1054,    0,
03763      1164, 1058, 1063, 1054, 1059, 1186,    0, 1055, 1056,    0,
03764      1063, 1164, 1057, 1063, 1059, 1055, 1056, 1057, 1065, 1055,
03765      1060, 1056, 1055, 1066, 1059, 1057, 1065, 1164, 1060, 1071,
03766      1063, 1066, 1059, 1186, 1060, 1067, 1189, 1071, 1063, 1057,
03767 
03768      1063, 1059, 1071, 1067, 1069, 1070, 1065, 1074, 1060, 1070,
03769      1066, 1066, 1069, 1070, 1065, 1074, 1060, 1071, 1069, 1066,
03770      1190, 1060, 1067, 1067, 1189, 1071,    0,    0, 1078, 1071,
03771      1200, 1067, 1069, 1070, 1074, 1074, 1078, 1070,    0, 1078,
03772      1069, 1070, 1079, 1074, 1080, 1069, 1081, 1082, 1190,    0,
03773      1079,    0, 1080, 1191, 1081, 1082, 1078, 1200, 1083,    0,
03774      1079,    0, 1081,    0, 1078, 1083, 1078,    0,    0, 1083,
03775      1079, 1080, 1080, 1083, 1081, 1082, 1084, 1085, 1079, 1084,
03776      1080, 1191, 1081, 1082, 1084, 1085, 1086, 1079, 1088, 1081,
03777      1085, 1202, 1204, 1083, 1086, 1089, 1088, 1083, 1087,    0,
03778 
03779      1087, 1083, 1210, 1089, 1084, 1085, 1087, 1084,    0, 1088,
03780      1089, 1211, 1084, 1085, 1086,    0, 1088, 1085, 1202, 1091,
03781      1204, 1094, 1086, 1089, 1088, 1095, 1087, 1091, 1087, 1094,
03782      1210, 1089, 1091, 1095, 1087, 1094, 1088, 1089, 1095, 1211,
03783         0, 1095, 1096, 1097, 1098, 1212, 1099, 1091,    0, 1094,
03784      1096, 1097, 1098, 1095, 1099, 1091, 1096, 1094, 1206, 1091,
03785         0, 1095, 1094,    0, 1099, 1095, 1097, 1100, 1095, 1105,
03786      1096, 1097, 1098, 1212, 1099, 1100, 1103, 1105, 1096, 1097,
03787      1098, 1100, 1099, 1096, 1103, 1206,    0, 1103, 1106,    0,
03788      1107, 1099, 1109, 1097, 1111, 1100, 1106, 1105, 1107,    0,
03789 
03790      1109,    0, 1111, 1100, 1103, 1105, 1109, 1111, 1100,    0,
03791         0,    0, 1103, 1114, 1103, 1106, 1106, 1107, 1107, 1110,
03792      1109, 1114, 1111, 1110, 1106,    0, 1107, 1110, 1109, 1120,
03793      1111, 1118,    0, 1109, 1111, 1119, 1121, 1120, 1122, 1118,
03794      1114, 1114, 1118, 1119, 1121,    0, 1122, 1110, 1218, 1114,
03795         0, 1110, 1121, 1119, 1126, 1110, 1120, 1120,    0, 1118,
03796      1125,    0, 1126, 1119, 1121, 1120, 1122, 1118, 1125, 1118,
03797      1123, 1119, 1121, 1125, 1122, 1124, 1218, 1123, 1124, 1121,
03798      1119, 1123, 1126, 1124, 1127, 1123, 1127, 1128, 1125, 1129,
03799      1126, 1188, 1127, 1193,    0, 1128, 1125, 1129, 1193, 1188,
03800 
03801      1125, 1193,    0, 1124, 1129, 1123, 1124, 1213, 1128, 1123,
03802      1230, 1124, 1127, 1123, 1127, 1128,    0, 1129,    0, 1188,
03803      1127, 1193, 1192, 1128, 1192, 1129, 1193, 1188,    0, 1193,
03804      1192, 1129,    0,    0, 1213, 1128, 1156, 1156, 1230, 1156,
03805      1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1194,
03806      1192, 1195, 1192, 1196, 1195, 1194, 1205, 1194, 1192, 1195,
03807      1198, 1196,    0, 1214, 1215, 1196, 1220, 1231, 1198, 1232,
03808         0, 1198, 1241, 1205, 1156, 1156, 1156, 1194,    0, 1195,
03809         0, 1196, 1195, 1194, 1205, 1194,    0, 1195, 1198, 1196,
03810      1214, 1215, 1196, 1220,    0, 1231, 1198, 1232, 1198, 1241,
03811 
03812      1205, 1156, 1156, 1156, 1156, 1156, 1197, 1197, 1243, 1197,
03813      1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1201,
03814      1203, 1207, 1208, 1209, 1245, 1209,    0, 1201, 1203, 1207,
03815      1208, 1209,    0, 1203, 1207, 1243, 1247, 1201, 1251, 1252,
03816         0,    0,    0,    0, 1197, 1197, 1197, 1201, 1203, 1207,
03817      1208, 1209, 1245, 1209, 1216, 1201, 1203, 1207, 1208, 1209,
03818      1203, 1207, 1216, 1247, 1201, 1258, 1251, 1252, 1217, 1219,
03819      1223, 1197, 1197, 1197, 1197, 1197, 1217, 1219, 1223, 1269,
03820      1221, 1222, 1216, 1221, 1224,    0, 1253, 1219, 1221, 1222,
03821      1216, 1225, 1224, 1258, 1222, 1226, 1217, 1219, 1223, 1225,
03822 
03823         0,    0, 1227, 1226, 1217, 1219, 1223, 1269, 1221, 1222,
03824      1227, 1221, 1224, 1253, 1219, 1229, 1221, 1222,    0, 1225,
03825      1224, 1222, 1226, 1226,    0, 1239, 1229, 1225, 1239, 1229,
03826      1227, 1226, 1239, 1233, 1234, 1235, 1270, 1234, 1227, 1235,
03827      1236, 1236, 1271, 1229, 1233, 1234, 1235, 1233, 1234, 1235,
03828         0, 1236, 1239, 1229, 1236, 1239, 1229, 1254, 1255, 1239,
03829         0, 1233, 1234, 1235, 1270, 1234, 1246, 1235, 1236, 1236,
03830      1271, 1233, 1234, 1235, 1233, 1234, 1235, 1237, 1236, 1242,
03831      1280, 1236, 1242, 1246, 1254, 1255, 1242, 1237, 1237, 1282,
03832      1286, 1237,    0, 1284, 1246,    0,    0,    0,    0,    0,
03833 
03834         0,    0,    0,    0,    0, 1237, 1242, 1280, 1290, 1242,
03835      1246,    0,    0, 1242, 1237, 1237, 1282, 1286, 1237, 1238,
03836      1238, 1284, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
03837      1238, 1238, 1244, 1248, 1249,    0, 1290, 1291, 1250, 1256,
03838      1257, 1292,    0, 1244, 1248, 1249, 1244, 1248, 1249, 1250,
03839      1256, 1257, 1250, 1256, 1257, 1268,    0, 1238, 1238, 1238,
03840      1244, 1248, 1249, 1268,    0, 1291, 1250, 1256, 1257, 1292,
03841      1244, 1248, 1249, 1244, 1248, 1249, 1250, 1256, 1257, 1250,
03842      1256, 1257, 1260, 1268, 1238, 1238, 1238, 1238, 1238, 1259,
03843      1260, 1268, 1259, 1260, 1261,    0, 1259, 1260, 1262,    0,
03844 
03845      1293, 1294,    0,    0, 1295, 1261,    0,    0, 1261, 1262,
03846      1260,    0, 1262,    0,    0,    0, 1259, 1260,    0, 1259,
03847      1260, 1263, 1261, 1259, 1260, 1263, 1262, 1293, 1294, 1263,
03848      1264, 1295, 1261, 1265, 1264, 1261, 1262, 1265, 1264, 1262,
03849      1266, 1265, 1273, 1272, 1266, 1272, 1274, 1273, 1266, 1263,
03850      1273, 1272, 1274, 1263, 1274, 1276, 1275, 1263, 1264, 1275,
03851      1265, 1265, 1264, 1276, 1275, 1265, 1264, 1276, 1266, 1265,
03852      1273, 1272, 1266, 1272, 1274, 1273, 1266,    0, 1273, 1272,
03853      1274,    0, 1274, 1276, 1275,    0,    0, 1275,    0,    0,
03854      1298, 1276, 1275,    0, 1276, 1277, 1277, 1277, 1277, 1277,
03855 
03856      1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1278, 1281,
03857         0, 1285, 1283, 1287, 1288, 1296, 1278, 1281, 1298, 1278,
03858      1283, 1287, 1288, 1296,    0, 1283, 1287, 1281, 1285, 1300,
03859      1297,    0,    0, 1277, 1277, 1277, 1278, 1281, 1297, 1285,
03860      1283, 1287, 1288, 1296, 1278, 1281, 1278, 1321, 1283, 1287,
03861      1288, 1296, 1283, 1287, 1281, 1285, 1300, 1289, 1297, 1289,
03862      1277, 1277, 1277, 1277, 1277, 1289, 1297, 1301, 1299, 1302,
03863      1301, 1303, 1304, 1310, 1321, 1301, 1299, 1302,    0, 1303,
03864      1304,    0, 1302, 1305, 1307, 1289, 1299, 1289, 1311, 1312,
03865         0, 1305, 1307, 1289, 1306, 1301, 1299, 1302, 1301, 1303,
03866 
03867      1304, 1310, 1306, 1301, 1299, 1302, 1309, 1303, 1304, 1302,
03868      1314, 1305, 1307, 1299, 1309, 1314, 1311, 1312, 1314, 1305,
03869      1307, 1306, 1306, 1313, 1325, 1313, 1331, 1315, 1317, 1316,
03870      1306, 1313, 1316, 1315, 1309, 1315, 1317, 1316, 1314, 1323,
03871      1317,    0, 1309, 1314,    0,    0, 1314,    0,    0,    0,
03872         0, 1313, 1325, 1313, 1331, 1315, 1317, 1316,    0, 1313,
03873      1316, 1315,    0, 1315, 1317, 1316, 1323, 1317, 1318, 1318,
03874      1327, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318,
03875      1318, 1319, 1322, 1332, 1326, 1324, 1328, 1329, 1333, 1319,
03876      1322,    0, 1319, 1324, 1328, 1329, 1339, 1327, 1324, 1328,
03877 
03878      1322, 1326, 1334,    0, 1335,    0, 1318, 1318, 1318, 1319,
03879      1322, 1332, 1326, 1324, 1328, 1329, 1333, 1319, 1322, 1319,
03880      1336, 1324, 1328, 1329, 1339, 1324, 1328, 1322, 1326, 1334,
03881      1330, 1335, 1330, 1318, 1318, 1318, 1318, 1318, 1330,    0,
03882      1337, 1338,    0, 1340,    0, 1341, 1355, 1336, 1337, 1338,
03883         0, 1340,    0, 1351, 1342, 1344, 1345, 1342, 1330, 1346,
03884      1330, 1340, 1342, 1344, 1345, 1343, 1330, 1346, 1337, 1338,
03885      1354, 1340, 1341, 1343, 1355, 1356, 1337, 1338, 1343, 1340,
03886      1351, 1347, 1342, 1344, 1345, 1342, 1348, 1346, 1340, 1347,
03887      1342, 1344, 1345, 1343, 1348, 1346, 1359, 1354, 1360,    0,
03888 
03889      1361, 1343, 1362, 1356, 1364, 1343, 1365, 1366, 1347, 1347,
03890      1367,    0, 1368, 1369, 1348, 1370, 1371, 1347, 1376, 1378,
03891      1379, 1382, 1348, 1359, 1373, 1383, 1360, 1361, 1373, 1362,
03892      1380, 1364, 1374, 1365, 1366, 1381, 1374, 1385, 1367, 1368,
03893      1369, 1384, 1373, 1370, 1371, 1376, 1378, 1386, 1379, 1382,
03894      1374, 1387, 1373, 1383, 1388, 1389, 1373, 1380, 1390, 1391,
03895      1374, 1392, 1381, 1394, 1374, 1385, 1396, 1400, 1384, 1373,
03896      1397, 1398, 1399, 1401, 1386, 1402, 1403, 1374, 1387,    0,
03897      1412, 1388, 1404, 1389, 1408,    0, 1390, 1391, 1392, 1414,
03898      1404, 1394, 1408,    0, 1396, 1400, 1418, 1397, 1398, 1399,
03899 
03900      1401, 1404, 1402, 1405, 1403, 1406, 1411, 1412, 1416, 1406,
03901      1404, 1405, 1408, 1406, 1411, 1407, 1414, 1405, 1404, 1407,
03902      1408, 1417, 1409, 1407, 1418,    0, 1409,    0, 1404, 1422,
03903      1419, 1405, 1423, 1406, 1411, 1416,    0, 1406, 1413, 1405,
03904      1409, 1406, 1411, 1407, 1405,    0, 1413, 1407, 1417, 1424,
03905      1409, 1407, 1410, 1410, 1409, 1415, 1422, 1410, 1419, 1423,
03906      1410, 1415, 1425, 1415, 1420, 1413, 1413, 1409, 1426, 1421,
03907         0, 1410, 1420, 1421, 1413, 1427, 1424, 1421,    0, 1428,
03908      1410, 1410, 1420, 1415, 1430, 1410, 1429, 1431, 1410, 1415,
03909      1425, 1415, 1420, 1435, 1429, 1431, 1426, 1421, 1410, 1437,
03910 
03911      1420, 1421, 1432, 1427, 1439, 1421, 1428, 1438, 1432, 1420,
03912      1432,    0, 1430, 1429, 1429, 1431, 1433, 1434,    0,    0,
03913      1435, 1448, 1429, 1431, 1433, 1434, 1437, 1433, 1434, 1436,
03914      1432, 1436, 1439, 1450, 1438, 1452, 1432, 1436, 1432, 1440,
03915         0,    0, 1442, 1440, 1433, 1434, 1442, 1440, 1448,    0,
03916      1442, 1454, 1433, 1434, 1433, 1434, 1453, 1436, 1440, 1436,
03917      1450, 1441, 1452,    0, 1441, 1436, 1455, 1440, 1441, 1443,
03918      1442, 1440, 1444, 1443, 1442, 1440, 1444, 1443, 1442, 1454,
03919      1444, 1460, 1447, 1453, 1458, 1440, 1447, 1461, 1441, 1445,
03920      1447, 1441,    0, 1445, 1455, 1441,    0, 1443, 1459, 1456,
03921 
03922      1444, 1443, 1456, 1462, 1444, 1443, 1456, 1445, 1444, 1460,
03923      1447, 1458,    0,    0, 1447, 1461, 1451, 1445, 1447, 1449,
03924      1451, 1445, 1451, 1449, 1451, 1459, 1456, 1449,    0, 1456,
03925      1463, 1462, 1469, 1456, 1445, 1446, 1446, 1457,    0, 1446,
03926      1446, 1457,    0, 1446, 1451, 1457, 1449, 1449, 1451, 1473,
03927      1451, 1449, 1451,    0, 1446, 1449, 1471, 1463, 1464, 1469,
03928      1472,    0, 1464, 1446, 1446, 1457, 1464, 1446, 1446, 1457,
03929      1465, 1446,    0, 1457, 1465, 1488, 1466, 1473, 1465,    0,
03930      1466, 1446, 1466, 1471, 1466, 1464, 1464, 1472, 1467, 1468,
03931      1464, 1467, 1468,    0, 1464, 1467, 1468,    0, 1465, 1475,
03932 
03933      1470, 1474, 1465, 1488, 1466, 1489, 1465, 1475, 1466, 1474,
03934      1466, 1470, 1466, 1475, 1470, 1467, 1468, 1476, 1467, 1468,
03935      1474, 1476, 1467, 1468, 1478, 1476, 1477, 1475, 1470, 1474,
03936      1477, 1495, 1478, 1489, 1477, 1475, 1482, 1474, 1470, 1479,
03937      1475, 1470, 1481, 1479,    0, 1476, 1484, 1474, 1486, 1476,
03938      1481,    0, 1478, 1476, 1477, 1487,    0, 1479, 1477, 1495,
03939      1478, 1496, 1477, 1482, 1480, 1480,    0, 1479, 1483, 1480,
03940      1481, 1479, 1480, 1484, 1492, 1486, 1483, 1497, 1481, 1485,
03941      1490,    0, 1487, 1480, 1479, 1485, 1491, 1485, 1490, 1496,
03942      1491, 1500, 1480, 1480, 1491, 1483, 1483, 1480, 1490, 1493,
03943 
03944      1480, 1492, 1494, 1498, 1483, 1497, 1509, 1485, 1490, 1499,
03945      1480,    0, 1501, 1485, 1491, 1485, 1490, 1499, 1491, 1500,
03946      1501,    0, 1491, 1505, 1507, 1490, 1493, 1502,    0, 1494,
03947      1498, 1503,    0, 1502, 1509, 1502, 1499, 1499, 1504, 1503,
03948      1501, 1508, 1503, 1518, 1524, 1499, 1504,    0, 1501, 1504,
03949      1505, 1507, 1506,    0, 1506, 1502, 1510, 1511,    0, 1503,
03950      1506, 1502, 1520, 1502, 1510, 1511, 1504, 1503, 1508, 1503,
03951      1518, 1511, 1524, 1512, 1504, 1510, 1504, 1512, 1514, 1513,
03952      1506, 1512, 1506, 1513, 1510, 1511, 1514, 1513, 1506, 1520,
03953      1515, 1517, 1510, 1511, 1515,    0, 1519, 1525, 1511, 1517,
03954 
03955         0, 1512, 1510, 1522, 1519, 1512, 1514, 1513, 1515, 1512,
03956      1523, 1513, 1516, 1516, 1514, 1513, 1528, 1516, 1515, 1517,
03957      1516, 1526, 1515, 1519, 1519, 1525, 1529, 1517, 1521, 1526,
03958      1522, 1516, 1519, 1530, 1521, 1515, 1521, 1523, 1534, 1526,
03959      1516, 1516, 1527, 1528, 1531, 1516, 1527, 1532, 1516, 1526,
03960      1527, 1533, 1536, 1529, 1541, 1535, 1521, 1526, 1516, 1537,
03961      1530, 1545, 1521, 1535, 1521, 1534, 1526, 1537,    0, 1543,
03962      1527, 1548, 1531, 1552, 1527, 1532, 1544, 1539, 1527, 1533,
03963      1536, 1541, 1535, 1535, 1538, 1539, 1540, 1537, 1539, 1545,
03964      1538, 1535, 1538, 1553, 1540, 1537, 1543, 1540, 1542, 1548,
03965 
03966      1542, 1552, 1546, 1544, 1549, 1539, 1542,    0, 1550, 1554,
03967      1555, 1557, 1538, 1539, 1540, 1539, 1556, 1558, 1538, 1559,
03968      1538, 1553, 1540, 1560, 1540, 1561, 1542, 1563, 1542, 1546,
03969      1564, 1549, 1566, 1571, 1542, 1550, 1554, 1565, 1555, 1557,
03970      1565, 1567, 1568, 1556, 1558, 1568, 1559, 1570, 1573, 1574,
03971      1577, 1560, 1561, 1575, 1576, 1563, 1579, 1564, 1580, 1592,
03972      1566, 1571, 1581, 1582, 1565, 1583, 1584, 1565, 1567, 1568,
03973      1585, 1586, 1568, 1587, 1570, 1573, 1591, 1574, 1577, 1593,
03974      1575, 1576, 1594, 1599, 1579, 1595, 1580, 1592, 1596, 1581,
03975      1582, 1599, 1583, 1584, 1601, 1600, 1596, 1585, 1586, 1597,
03976 
03977      1587, 1597,    0, 1591, 1607, 1596, 1593, 1597, 1608, 1598,
03978      1594, 1599, 1595, 1610,    0, 1611, 1596, 1598, 1603, 1599,
03979         0, 1601, 1598, 1600, 1596, 1602, 1603, 1597, 1602, 1597,
03980      1604, 1607, 1596, 1609, 1605, 1597, 1608, 1598, 1604, 1616,
03981      1610, 1609, 1605, 1611, 1604, 1598, 1603, 1605, 1612, 1598,
03982      1605, 1613, 1602, 1617, 1603, 1602, 1614, 1615, 1604, 1618,
03983      1609, 1609, 1605, 1619, 1614, 1615, 1604, 1616, 1620, 1609,
03984      1605, 1604, 1621, 1622, 1605, 1612, 1623, 1605, 1613, 1624,
03985      1625, 1617, 1628, 1626, 1614, 1615, 1618, 1630, 1625, 1627,
03986      1619, 1626, 1614, 1615, 1629, 1620, 1631, 1627, 1629, 1621,
03987 
03988      1622, 1632, 1629, 1623,    0,    0, 1624, 1637, 1625, 1628,
03989      1638, 1626, 1639, 1644, 1630, 1639, 1625, 1627, 1633, 1626,
03990      1634, 1645, 1629,    0, 1631, 1627, 1629, 1635, 1632, 1633,
03991      1629, 1634, 1633, 1633, 1634, 1637, 1636, 1638, 1635, 1639,
03992      1644, 1635, 1639, 1642,    0, 1648, 1633, 1636, 1634, 1645,
03993      1636, 1647, 1649, 1650, 1642, 1635, 1633, 1642, 1634, 1633,
03994      1633, 1634, 1640,    0, 1636, 1635, 1640,    0, 1635, 1641,
03995      1640, 1642, 1641, 1648, 1636, 1654, 1641, 1636, 1647, 1649,
03996      1650, 1642, 1653,    0, 1642, 1651, 1646, 1652,    0, 1651,
03997      1640, 1652,    0, 1651, 1640, 1652, 1641, 1646, 1640, 1641,
03998 
03999      1646, 1655, 1654, 1641, 1656, 1657, 1658, 1659, 1660,    0,
04000      1653, 1646, 1660, 1651, 1646, 1652, 1660, 1651, 1661, 1652,
04001      1663, 1651, 1661, 1652, 1646, 1665, 1661, 1646, 1655, 1666,
04002      1671, 1656, 1657, 1658, 1659, 1662, 1660, 1664, 1671, 1662,
04003      1660, 1664, 1672, 1662, 1660, 1664, 1661, 1663, 1667, 1673,
04004      1661, 1668, 1665, 1669, 1661, 1669, 1680, 1666, 1671, 1668,
04005         0, 1669,    0, 1662, 1670, 1664, 1671, 1662, 1668, 1664,
04006      1672, 1662, 1670, 1664, 1679, 1667, 1673, 1670, 1675, 1668,
04007      1676, 1669, 1674, 1669, 1680, 1674, 1675, 1668, 1676, 1669,
04008      1681, 1683, 1670, 1682, 1676, 1668, 1684, 1677, 1681, 1686,
04009 
04010      1670, 1679, 1685, 1687, 1670, 1677, 1675, 1686, 1676, 1674,
04011      1677, 1687, 1674, 1677, 1675, 1688, 1676, 1681, 1681, 1683,
04012      1682, 1676, 1689, 1684, 1690, 1677, 1681, 1686, 1691, 1685,
04013      1692, 1687, 1693, 1677, 1694, 1686, 1695, 1677, 1696, 1687,
04014      1677, 1697, 1703, 1688, 1698, 1699,    0, 1700, 1702, 1697,
04015      1689, 1690, 1698, 1699, 1701, 1691, 1704, 1692, 1701, 1693,
04016      1709, 1694, 1701, 1695, 1710, 1696, 1716,    0, 1705, 1697,
04017      1703, 1707, 1698, 1699, 1700, 1702, 1705, 1697, 1719, 1707,
04018      1698, 1699, 1701, 1704, 1707, 1705, 1701, 1706, 1709, 1706,
04019      1701, 1710, 1708, 1716, 1711, 1706, 1705, 1711, 1712, 1707,
04020 
04021      1708, 1717, 1713, 1720, 1705, 1719, 1712, 1707,    0, 1721,
04022      1713, 1707, 1705, 1722, 1718, 1706, 1713, 1706, 1725, 1714,
04023      1708, 1711, 1718, 1706, 1711, 1723, 1712, 1714, 1708, 1717,
04024      1713, 1720, 1714, 1723, 1712, 1714, 1721, 1724, 1713, 1726,
04025      1722, 1718, 1718, 1713, 1727, 1724, 1725, 1714, 1728, 1729,
04026      1718, 1730, 1731, 1723, 1732, 1714, 1733, 1737, 1734, 1714,
04027      1735, 1723, 1714, 1740, 1736, 1724, 1734, 1726, 1735,    0,
04028      1741, 1727, 1736, 1724, 1742, 1728, 1729, 1743, 1730, 1731,
04029      1744, 1732, 1745, 1733, 1737, 1738, 1734, 1746, 1735, 1738,
04030      1751, 1740, 1736, 1738, 1734, 1748, 1735, 1741, 1749, 1750,
04031 
04032      1736, 1742, 1752, 1753, 1754, 1743, 1755, 1744, 1756, 1745,
04033      1757, 1758, 1759, 1738, 1746, 1760, 1761, 1738, 1751, 1762,
04034      1763, 1738, 1748, 1764, 1770, 1749, 1750, 1765, 1766, 1752,
04035      1753, 1767, 1754, 1755, 1768, 1756, 1769, 1771, 1757, 1758,
04036      1759, 1772, 1773, 1760, 1761, 1774, 1775, 1762, 1763, 1776,
04037      1779, 1764, 1770, 1778, 1765, 1766, 1780, 1781, 1767, 1782,
04038      1784, 1768, 1785, 1769, 1771, 1786, 1787,    0, 1772, 1773,
04039      1787, 1788, 1774, 1775, 1787, 1790, 1791, 1776, 1779, 1788,
04040      1778, 1792, 1793, 1780,    0, 1781, 1782, 1789, 1784, 1785,
04041      1788,    0, 1786,    0, 1787, 1789,    0, 1803, 1787, 1788,
04042 
04043      1798, 1799, 1787, 1790, 1791, 1789, 1794, 1788, 1794, 1792,
04044      1793, 1795, 1797, 1795, 1794, 1789, 1796, 1788, 1797, 1795,
04045      1797, 1796, 1809, 1789, 1796, 1803, 1800, 1798, 1799, 1801,
04046      1802, 1804, 1789, 1806, 1794, 1807, 1794, 1808, 1811, 1795,
04047      1797, 1795, 1794, 1805, 1796, 1812, 1797, 1795, 1797, 1796,
04048      1809, 1805, 1796, 1800, 1805, 1813, 1801, 1802, 1804, 1814,
04049      1806, 1815, 1807, 1817, 1808, 1811, 1816,    0, 1818, 1819,
04050      1831, 1805, 1820, 1812, 1816,    0, 1820,    0, 1823, 1805,
04051      1820, 1805, 1813, 1824, 1825, 1821, 1826, 1814, 1815, 1821,
04052         0, 1817, 1832, 1816, 1816, 1818, 1819, 1831, 1822, 1833,
04053 
04054      1820, 1822, 1816, 1821, 1820, 1822, 1823, 1827, 1820, 1828,
04055         0, 1824, 1825, 1821, 1826, 1834, 1835, 1821, 1827, 1832,
04056      1828, 1827, 1837, 1828, 1839, 1822, 1833, 1836, 1822, 1841,
04057      1821, 1840, 1822, 1844, 1829, 1827, 1830, 1828, 1829, 1848,
04058      1830, 1830, 1834, 1835, 1843, 1827, 1845, 1828, 1827, 1837,
04059      1828, 1839, 1829, 1838, 1830, 1836, 1838, 1841, 1840, 1846,
04060      1838, 1844, 1829, 1849, 1830, 1850, 1829, 1848, 1830, 1830,
04061      1854, 1843, 1855, 1845, 1862, 1847, 1852,    0, 1847, 1829,
04062      1838, 1830, 1847, 1838, 1852, 1851, 1846, 1838, 1853, 1851,
04063      1849, 1847, 1850, 1851,    0, 1852, 1853, 1856, 1854, 1857,
04064 
04065      1855, 1862, 1847, 1867, 1852, 1847, 1853,    0, 1863, 1847,
04066         0, 1873, 1852, 1851, 1864, 1865, 1853, 1851, 1858,    0,
04067      1858, 1851, 1852, 1866, 1853, 1856, 1858, 1857, 1859, 1860,
04068      1859, 1867, 1861, 1853, 1860, 1863, 1859, 1860, 1861, 1873,
04069      1861, 1864, 1865, 1868, 1869, 1876, 1858, 1870, 1858, 1871,
04070      1866, 1872, 1869, 1878, 1858, 1869, 1859, 1860, 1859, 1875,
04071      1861, 1877, 1860, 1879, 1859, 1860, 1861, 1880, 1861, 1881,
04072      1868, 1882, 1869, 1876, 1870, 1880, 1871, 1883, 1872, 1884,
04073      1869, 1878, 1869, 1884, 1886, 1887, 1875, 1884, 1877, 1888,
04074      1879, 1885, 1886, 1889, 1880, 1880, 1890, 1881, 1882, 1885,
04075 
04076         0, 1895, 1886, 1880, 1883, 1896, 1891, 1884, 1891,    0,
04077      1885, 1884, 1886, 1887, 1891, 1884, 1897, 1888, 1898, 1885,
04078      1886, 1889, 1899, 1892, 1890, 1892, 1900, 1885, 1895, 1886,
04079      1893, 1892, 1896, 1894, 1891, 1893, 1891, 1885, 1893, 1894,
04080         0, 1894, 1891, 1897, 1901, 1898, 1903, 1904, 1905, 1899,
04081      1906, 1892, 1908, 1892, 1900, 1909, 1911, 1902, 1893, 1892,
04082      1910, 1894, 1912, 1893, 1913, 1902, 1893, 1894, 1902, 1894,
04083      1914, 1901, 1913, 1903, 1904, 1905, 1915, 1916, 1906, 1908,
04084      1918, 1919, 1922, 1909, 1911, 1902, 1920, 1910, 1921, 1912,
04085      1923, 1913, 1913, 1902, 1924, 1902, 1925, 1914, 1926, 1928,
04086 
04087      1913, 1929, 1931, 1915, 1916, 1932, 1933, 1918, 1934, 1919,
04088      1922, 1935, 1936, 1920, 1937, 1921, 1938, 1923, 1939,    0,
04089      1940, 1924, 1941, 1942, 1925, 1926, 1943, 1928, 1929, 1931,
04090      1944, 1949, 1932, 1933, 1950, 1953, 1934, 1952, 1935, 1936,
04091      1954, 1937, 1955, 1957, 1938, 1958, 1939, 1940, 1960, 1941,
04092      1942, 1960, 1961, 1943, 1956, 1956, 1960, 1944, 1949, 1963,
04093      1961, 1966, 1950, 1953, 1952, 1956, 1962, 1954, 1964, 1961,
04094      1955, 1957, 1958, 1965, 1962, 1971, 1960, 1967,    0, 1960,
04095      1961, 1972, 1956, 1956, 1960, 1967, 1963, 1967, 1961, 1966,
04096      1968,    0, 1956, 1969, 1962, 1964, 1961, 1973, 1968, 1982,
04097 
04098      1965, 1969, 1962, 1971, 1974, 1967, 1975, 1969, 1972, 1968,
04099      1976, 1970, 1978, 1967, 1967, 1970,    0, 1981, 1968, 1970,
04100      1978, 1969, 1984, 1985, 1973, 1986, 1968, 1982, 1987, 1969,
04101      1989, 1974, 1990, 1975, 1969, 1993, 1968, 1976, 1993, 1970,
04102      1978, 1993, 1993, 1970, 1981, 1995, 1996, 1970, 1978, 1984,
04103      1997, 1985, 1986, 1988, 1988, 1992, 1987, 1998, 1989, 1990,
04104      2004,    0, 1993, 1992, 1988, 1993, 1992, 2003, 1993, 1993,
04105      1992, 1994, 1995, 1996, 1994,    0, 2000, 1997, 1994,    0,
04106      2000, 1988, 1988, 1992, 2013, 1998, 2005, 2004, 1999, 1999,
04107      1992, 1988, 1999, 1992, 2000, 2003, 1999, 1992, 1994, 2001,
04108 
04109      2006, 1994, 2001, 2002, 2000, 1994, 2001, 2002, 2000, 2007,
04110      2008, 2002, 2013, 2005, 2010, 1999, 1999, 2012, 2010, 1999,
04111      2015, 2000, 2010, 1999, 2016, 2017, 2001, 2006, 2019, 2001,
04112      2020, 2002, 2028, 2001, 2025, 2002, 2007, 2008, 2026, 2002,
04113      2018, 2018, 2010, 2027, 2012, 2033, 2010, 2015, 2034, 2035,
04114      2010, 2018, 2016, 2017, 2023, 2022, 2019, 2020, 2022, 2024,
04115      2028, 2025, 2023, 2022, 2029, 2026, 2036, 2024, 2018, 2018,
04116      2027, 2023, 2029, 2033, 2029, 2034, 2035, 2030, 2018, 2037,
04117      2031, 2040, 2023, 2022, 2038, 2030, 2022, 2024, 2031, 2040,
04118      2023, 2022, 2029, 2036, 2031, 2024, 2030, 2043, 2023, 2032,
04119 
04120      2029, 2029, 2044, 2032, 2047, 2030, 2037, 2032, 2031, 2040,
04121      2046, 2038, 2048, 2030, 2049, 2051, 2031, 2040, 2050, 2050,
04122         0, 2031, 2052, 2030, 2043, 2057, 2056, 2032, 2058, 2050,
04123      2044, 2032, 2047, 2054, 2056, 2032, 2054, 2046, 2059, 2048,
04124      2055, 2054, 2049, 2051, 2060, 2065, 2050, 2050, 2055, 2052,
04125      2061,    0, 2057,    0, 2056, 2058, 2050, 2055, 2061,    0,
04126      2061, 2054, 2056, 2062, 2054, 2059, 2063, 2072, 2055, 2054,
04127      2066, 2062, 2060, 2065, 2063, 2072, 2055, 2067, 2061, 2068,
04128      2063, 2069, 2062, 2070, 2055, 2064, 2061, 2061, 2075, 2064,
04129      2076, 2062, 2078, 2064, 2063, 2072, 2079, 2066, 2080, 2062,
04130 
04131      2081, 2083, 2063, 2072, 2067, 2084, 2068, 2063, 2069, 2062,
04132      2070, 2082, 2082, 2064, 2085, 2075, 2086, 2064, 2076, 2078,
04133      2087, 2064, 2082, 2089, 2079, 2080, 2090, 2092, 2081, 2083,
04134      2093, 2095, 2084, 2097, 2098,    0, 2099, 2100, 2102, 2082,
04135      2082, 2085, 2101, 2103, 2086, 2104, 2106, 2087, 2105, 2082,
04136      2089, 2108, 2111, 2090, 2092, 2109, 2112, 2093, 2114, 2095,
04137      2115, 2097, 2098, 2099, 2118, 2100, 2102, 2119, 2120, 2101,
04138      2103, 2122, 2125, 2104, 2106, 2105, 2126, 2123, 2127, 2108,
04139      2111, 2128, 2109, 2136, 2112, 2123, 2114, 2115, 2133, 2124,
04140      2131, 2118, 2131, 2124, 2130, 2119, 2120, 2124, 2131, 2122,
04141 
04142      2125, 2129, 2130, 2126, 2135, 2123, 2127, 2129, 2128, 2129,
04143      2136, 2130, 2138, 2123, 2139, 2132, 2133, 2124, 2131, 2141,
04144      2131, 2124, 2130, 2132, 2146, 2124, 2131, 2142, 2132, 2129,
04145      2130, 2145, 2135, 2147, 2149, 2129, 2153, 2129, 2130, 2152,
04146      2138, 2150, 2139, 2132, 2154, 2150,    0, 2141, 2155, 2150,
04147         0, 2132, 2146, 2160, 2142, 2132, 2151,    0, 2145, 2163,
04148      2151, 2147, 2149, 2153, 2151, 2162,    0, 2152, 2169, 2150,
04149      2156, 2158, 2154, 2150, 2156, 2155, 2156, 2150, 2156, 2157,
04150      2159, 2160, 2158, 2157, 2151, 2158, 2163, 2157, 2151, 2165,
04151         0, 2159, 2151, 2162, 2159, 2169, 2157, 2166, 2156, 2158,
04152 
04153      2168, 2172, 2156, 2171, 2156, 2173, 2156, 2157, 2159, 2158,
04154      2175, 2157, 2158, 2178, 2176, 2157, 2177, 2165, 2159, 2179,
04155      2177, 2159, 2176, 2157, 2177, 2166, 2180, 2186, 2168, 2172,
04156      2171, 2181, 2183, 2173, 2188,    0, 2189, 2182, 2175, 2191,
04157      2183, 2178, 2176, 2182, 2177, 2182, 2179, 2192, 2177, 2183,
04158      2176, 2184, 2177, 2184, 2180, 2186, 2185, 2194, 2181, 2184,
04159      2183, 2195, 2188, 2189, 2185, 2182, 2198, 2191, 2183, 2185,
04160      2199, 2182, 2200, 2182, 2202, 2192, 2183, 2205, 2203, 2184,
04161      2206, 2184, 2207,    0, 2185, 2194, 2203, 2184, 2195, 2208,
04162      2213, 2204, 2185, 2198,    0, 2204, 2185,    0, 2199, 2204,
04163 
04164      2200, 2215, 2202, 2209, 2210, 2205, 2203, 2206, 2216, 2209,
04165      2207, 2209, 2210, 2218, 2203, 2219, 2208, 2221, 2213, 2204,
04166      2222, 2210, 2211, 2204, 2211, 2212, 2226, 2204, 2225, 2215,
04167      2211, 2209, 2210, 2212, 2227, 2216, 2229, 2209, 2212, 2209,
04168      2210, 2218, 2231, 2219, 2232, 2221, 2233, 2222, 2210, 2234,
04169      2211, 2235, 2211, 2212, 2226, 2225, 2236, 2237, 2211, 2238,
04170      2240, 2212, 2227, 2239, 2229, 2212, 2241, 2242, 2243, 2231,
04171      2244, 2232, 2245, 2233, 2246, 2247, 2234, 2248, 2235, 2249,
04172      2250, 2251, 2252, 2236, 2254, 2237, 2255, 2238, 2240, 2256,
04173      2239, 2257, 2258, 2241, 2242, 2243, 2260, 2261, 2244, 2245,
04174 
04175      2262, 2246, 2247, 2263, 2268, 2248, 2249, 2250, 2251, 2252,
04176      2269, 2259, 2254, 2255, 2259,    0, 2256, 2270, 2257, 2259,
04177      2258, 2264, 2275, 2260, 2265, 2261, 2266, 2262, 2265, 2264,
04178      2263, 2268, 2265, 2267, 2266,    0, 2271, 2264, 2269, 2259,
04179      2272, 2267, 2259, 2273, 2270, 2266, 2276, 2259, 2277, 2264,
04180      2275, 2267, 2265, 2278, 2266, 2279, 2265, 2264, 2281, 2282,
04181      2265, 2267, 2266, 2271, 2264, 2280, 2280, 2272, 2283, 2267,
04182      2273, 2284, 2266, 2276, 2289, 2277, 2280, 2285, 2267, 2280,
04183      2278, 2290,    0, 2279, 2291, 2281, 2292, 2282, 2285, 2293,
04184      2294, 2285, 2286, 2280, 2280, 2283, 2286, 2296, 2284, 2297,
04185 
04186      2286, 2289, 2298, 2280, 2287, 2285, 2280, 2288, 2287, 2290,
04187      2288, 2291, 2299, 2292, 2288, 2285, 2293, 2294, 2285, 2300,
04188      2286, 2302, 2287, 2303, 2286, 2296, 2297, 2301, 2286, 2298,
04189      2301, 2311, 2287, 2304, 2288, 2301, 2287, 2288, 2305, 2299,
04190      2310, 2288, 2307,    0, 2309, 2306, 2307, 2300, 2302, 2287,
04191      2307, 2303, 2309, 2306, 2317, 2301, 2308, 2321, 2301, 2311,
04192      2304, 2306, 2309, 2301, 2308, 2305, 2312, 2310, 2313, 2314,
04193      2307, 2315, 2309, 2306, 2307, 2308, 2318, 2319, 2307, 2320,
04194      2309, 2306, 2317, 2322, 2308, 2321, 2322, 2324, 2306, 2309,
04195      2323, 2322, 2308, 2312, 2325, 2313, 2314, 2326, 2315, 2329,
04196 
04197      2327, 2328, 2308, 2318, 2319, 2328, 2320, 2329, 2327, 2328,
04198      2332, 2322, 2330, 2338, 2322, 2324, 2327, 2323, 2329, 2322,
04199      2330, 2325, 2331, 2333, 2326, 2334, 2335, 2329, 2327, 2328,
04200      2330, 2336, 2339, 2328, 2340, 2329, 2327, 2328, 2332, 2341,
04201      2330, 2338, 2342, 2327, 2343, 2329, 2344, 2345, 2330, 2331,
04202      2333, 2346, 2334, 2335, 2347, 2351, 2352, 2330, 2336, 2339,
04203      2353, 2340, 2355, 2356,    0, 2357, 2341, 2359, 2360, 2342,
04204      2362, 2343, 2363, 2344, 2345, 2364, 2365, 2371, 2346, 2367,
04205      2369, 2347, 2351, 2372, 2352, 2371, 2373, 2353, 2374, 2355,
04206      2377, 2356, 2357, 2377, 2359,    0, 2360, 2362, 2377, 2381,
04207 
04208      2363, 2379, 2384, 2364, 2365, 2371, 2367, 2369, 2376, 2379,
04209      2372, 2378, 2385, 2371, 2373, 2374, 2376, 2386, 2377, 2378,
04210      2394, 2377, 2376, 2380, 2383, 2388, 2377, 2381, 2378, 2379,
04211      2384, 2390, 2393, 2395,    0, 2392, 2376, 2379, 2392, 2378,
04212      2385, 2401, 2392,    0, 2376, 2386,    0, 2378, 2394, 2376,
04213      2380, 2383, 2388, 2404, 2397, 2378, 2409, 2397, 2390, 2393,
04214      2395, 2397, 2392, 2398, 2402, 2392, 2405, 2406, 2401, 2392,
04215      2399, 2398, 2400, 2399, 2398, 2400, 2399, 2399, 2398, 2400,
04216      2404, 2397, 2407, 2409, 2397, 2411, 2414, 2416, 2397, 2415,
04217         0, 2398, 2402, 2423, 2405, 2406,    0, 2399, 2398, 2400,
04218 
04219      2399, 2398, 2400, 2399, 2399, 2398, 2400, 2413, 2418, 2426,
04220      2407, 2421, 2411, 2414, 2416, 2413, 2418, 2415, 2422, 2421,
04221      2419, 2423, 2418, 2419, 2420,    0, 2425, 2427, 2419, 2428,
04222         0, 2430, 2420,    0, 2432, 2413, 2418, 2426, 2434, 2421,
04223      2435, 2420, 2436, 2413, 2418, 2422, 2434, 2421, 2419, 2418,
04224      2437, 2419, 2420, 2425, 2441, 2427, 2419, 2428, 2430, 2443,
04225      2420, 2432, 2441, 2444, 2439, 2447, 2434, 2435, 2420, 2446,
04226      2436, 2441, 2439, 2440, 2434, 2442, 2440, 2437, 2439, 2448,
04227      2449, 2440, 2441, 2442,    0, 2451, 2443, 2453, 2454, 2456,
04228      2441, 2444, 2439, 2447, 2455, 2457, 2446, 2458, 2441, 2459,
04229 
04230      2439, 2440, 2460, 2442, 2440, 2439, 2461, 2448, 2449, 2440,
04231      2463, 2442, 2451, 2464, 2453, 2466, 2454, 2456, 2467, 2468,
04232      2470, 2455, 2457, 2469, 2458, 2472, 2478, 2459, 2473, 2475,
04233      2460, 2476, 2484, 2461, 2480,    0, 2482, 2483, 2463, 2488,
04234      2464, 2479, 2480, 2466, 2485, 2487, 2467, 2468, 2470, 2479,
04235      2469, 2490, 2491, 2472, 2478, 2473, 2475, 2493, 2476, 2484,
04236      2479, 2480, 2480, 2481, 2482, 2483, 2488, 2481,    0, 2479,
04237      2480, 2481, 2485, 2487, 2499, 2497, 2494, 2479, 2490, 2491,
04238      2494, 2498,    0, 2500, 2495, 2493, 2502, 2479, 2495,    0,
04239      2503, 2481, 2496,    0, 2494, 2481, 2496,    0, 2505, 2481,
04240 
04241      2496, 2499, 2495, 2497, 2494, 2506, 2508, 2509, 2494, 2498,
04242      2495, 2500, 2495, 2514, 2502, 2509, 2495, 2503, 2518, 2510,
04243      2496, 2494, 2512, 2513, 2496, 2505, 2509, 2510, 2496, 2495,
04244      2515, 2517, 2506, 2511, 2508, 2509, 2520, 2511,    0, 2521,
04245      2514, 2511, 2523, 2509, 2525, 2518, 2510, 2510, 2524, 2527,
04246      2512, 2513, 2525, 2509, 2528, 2510, 2524, 2530, 2515, 2517,
04247      2526, 2511, 2529, 2520, 2526, 2511, 2521, 2524, 2526, 2511,
04248      2523, 2525, 2525, 2532,    0, 2533, 2524, 2527, 2535, 2537,
04249      2525, 2538, 2528, 2539, 2524, 2530, 2540, 2541, 2526, 2529,
04250      2542, 2544, 2526, 2543, 2524, 2545, 2526, 2546, 2547,    0,
04251 
04252      2548, 2532, 2533, 2549, 2554, 2535, 2537, 2550, 2551, 2538,
04253      2552, 2539, 2553, 2540, 2555, 2541, 2556, 2557, 2542, 2544,
04254      2543, 2558, 2562, 2545, 2546, 2559, 2547, 2548, 2561, 2563,
04255      2564, 2549, 2554, 2559, 2550, 2551, 2565, 2552, 2559, 2553,
04256      2566, 2555, 2567, 2556, 2560, 2557, 2568, 2560, 2570, 2558,
04257      2562, 2569, 2560, 2559, 2571, 2561, 2563, 2564, 2574, 2575,
04258      2572, 2559, 2576, 2565, 2577, 2559, 2578, 2566, 2579, 2581,
04259      2567, 2572, 2560, 2568, 2572, 2560, 2570, 2580, 2569, 2582,
04260      2560, 2583, 2571, 2573, 2573, 2574, 2584, 2575, 2572, 2576,
04261      2587, 2577, 2588, 2578, 2573, 2579, 2581, 2573, 2572, 2586,
04262 
04263      2585, 2572, 2586,    0, 2589, 2580, 2582, 2586, 2585, 2583,
04264      2590, 2573, 2573, 2585, 2584, 2591, 2592, 2587, 2593, 2596,
04265      2588, 2573, 2594, 2595, 2573, 2597, 2598, 2586, 2585, 2601,
04266      2586, 2589, 2600, 2602, 2598, 2586, 2585, 2590, 2603, 2598,
04267      2585, 2604, 2591, 2592, 2605, 2606, 2593, 2596, 2599, 2594,
04268      2595, 2599, 2609, 2597, 2598, 2607, 2599, 2601, 2608, 2600,
04269      2602, 2610, 2598, 2611, 2612, 2603, 2598, 2614, 2604, 2615,
04270      2617, 2605, 2619, 2606, 2620, 2621, 2599, 2622, 2624, 2599,
04271      2609, 2625, 2607, 2627, 2599, 2608, 2628,    0, 2632, 2610,
04272      2633, 2611, 2612, 2634, 2635, 2614, 2615, 2637, 2617, 2638,
04273 
04274      2619, 2620, 2621, 2640, 2622, 2624, 2631, 2630,    0, 2625,
04275      2630, 2627, 2641, 2628, 2631, 2630, 2632, 2633, 2643, 2643,
04276      2634, 2635, 2644, 2645, 2637, 2646, 2647, 2638, 2648, 2643,
04277      2650, 2640, 2643, 2644, 2631, 2630, 2644, 2651, 2630, 2641,
04278      2653, 2657, 2631, 2630, 2654, 2658, 2643, 2643, 2659, 2657,
04279      2644, 2645, 2646, 2647, 2660, 2648, 2643, 2650, 2656, 2643,
04280      2644, 2656, 2664, 2644, 2661, 2651, 2656, 2666, 2653, 2657,
04281      2663, 2654, 2667, 2658, 2670, 2659, 2669, 2657, 2671, 2669,
04282      2677, 2660, 2670, 2681, 2669, 2682, 2656, 2672, 2673, 2656,
04283      2664, 2661, 2674, 2676, 2656, 2666, 2679, 2663, 2685, 2667,
04284 
04285      2687, 2689, 2670, 2690, 2669, 2691, 2671, 2669, 2677, 2692,
04286      2670, 2681, 2669, 2682, 2672, 2673, 2694, 2695, 2699, 2674,
04287      2676, 2696, 2698, 2679, 2700, 2695, 2685, 2687, 2689, 2701,
04288      2703, 2690, 2691, 2705, 2707, 2708, 2704, 2692, 2709, 2710,
04289      2712,    0, 2714, 2716, 2694, 2695, 2699, 2704, 2696, 2698,
04290      2704, 2700, 2717, 2695, 2713,    0, 2718, 2701, 2703, 2719,
04291      2705, 2707, 2713, 2708, 2704, 2709, 2721, 2710, 2712, 2714,
04292      2716, 2722,    0, 2723, 2704, 2725, 2726, 2704, 2727, 2722,
04293      2717, 2728, 2713, 2718, 2731, 2732, 2734, 2719, 2733, 2735,
04294      2713, 2736,    0, 2737, 2721, 2738,    0, 2739, 2740, 2722,
04295 
04296      2723, 2741, 2725, 2742, 2726, 2727, 2743, 2722, 2744, 2728,
04297      2745, 2746, 2731, 2732, 2734, 2733, 2735, 2747, 2748, 2736,
04298      2737, 2749, 2750, 2738, 2739, 2751, 2740, 2752, 2741, 2753,
04299      2754, 2742, 2755, 2743, 2756, 2758, 2744, 2745, 2757, 2746,
04300      2759, 2760,    0, 2761, 2747, 2763, 2748, 2766, 2749, 2767,
04301      2750, 2769, 2751, 2772, 2778, 2752, 2753, 2773, 2754, 2755,
04302      2775, 2779, 2756, 2758, 2781, 2757, 2784, 2759, 2785, 2760,
04303      2761, 2787, 2763, 2790, 2793, 2766, 2767, 2791, 2769, 2795,
04304      2796, 2772, 2778, 2797, 2773, 2799, 2800, 2775, 2779, 2801,
04305      2803, 2781, 2804, 2805, 2784, 2785, 2807, 2808, 2787, 2809,
04306 
04307      2811, 2790, 2793, 2812, 2791, 2813, 2814, 2795, 2796, 2815,
04308      2816, 2797, 2817, 2799, 2800, 2818, 2819, 2801, 2803, 2820,
04309      2804, 2805, 2821, 2822, 2807, 2808, 2823, 2809, 2811, 2824,
04310      2825, 2812, 2813, 2826, 2814, 2827, 2815, 2816, 2828, 2830,
04311      2817, 2829, 2818, 2819, 2831,    0, 2832, 2820, 2833, 2821,
04312      2822, 2834,    0, 2835, 2823, 2836, 2824, 2825, 2837,    0,
04313      2838, 2826, 2827, 2839, 2840, 2842, 2828, 2830, 2829, 2841,
04314      2858, 2859, 2831, 2832, 2860, 2861, 2833, 2862,    0, 2834,
04315      2835, 2863, 2864, 2836, 2865, 2866, 2837, 2838, 2867, 2868,
04316      2869, 2839, 2840, 2842, 2870, 2871, 2841, 2872, 2858, 2859,
04317 
04318      2873, 2874, 2860, 2861, 2875, 2862, 2876, 2877, 2863, 2864,
04319      2878, 2865, 2866, 2879, 2880, 2867, 2868, 2869, 2881, 2882,
04320         0, 2870, 2871,    0, 2872,    0,    0, 2873, 2874,    0,
04321         0, 2875,    0, 2876, 2877,    0,    0,    0, 2878,    0,
04322         0, 2879, 2880,    0,    0,    0, 2881, 2882, 2889, 2889,
04323      2889, 2889, 2889, 2889, 2889, 2889, 2889, 2890, 2890, 2890,
04324      2890, 2890, 2890, 2890, 2890, 2890, 2891, 2891, 2891, 2891,
04325      2891, 2891, 2891, 2891, 2891, 2892, 2892, 2892,    0, 2892,
04326      2892, 2892, 2892, 2892, 2893, 2893, 2894, 2894,    0, 2894,
04327      2894, 2894, 2894, 2894, 2894, 2895, 2895,    0, 2895, 2895,
04328 
04329      2895, 2895, 2895, 2895, 2896, 2896, 2896, 2896, 2896, 2896,
04330      2896, 2896, 2896, 2897, 2897,    0, 2897, 2897, 2897, 2897,
04331      2897, 2897, 2898, 2898,    0, 2898, 2898, 2898, 2898, 2898,
04332      2898, 2899, 2899, 2899,    0, 2899, 2899, 2899, 2899, 2899,
04333      2900, 2900, 2900, 2900, 2901, 2901, 2901, 2901, 2902,    0,
04334      2902,    0, 2902, 2902, 2902, 2902, 2902, 2903,    0, 2903,
04335         0, 2903, 2903, 2903, 2903, 2903, 2904, 2904, 2904, 2904,
04336      2904, 2904, 2904, 2904, 2904, 2905, 2905, 2906, 2906, 2906,
04337      2906, 2906, 2907, 2907, 2907, 2907, 2907, 2908, 2908, 2908,
04338      2908, 2908, 2908, 2908, 2908, 2908, 2909, 2909, 2910, 2910,
04339 
04340         0, 2910, 2910, 2910, 2910, 2910, 2910, 2911, 2911,    0,
04341      2911, 2911, 2911, 2911, 2911, 2911, 2912, 2912, 2913, 2913,
04342      2913, 2913, 2913, 2913, 2913, 2913, 2913, 2914, 2914, 2915,
04343      2915, 2915, 2915, 2915, 2915, 2915, 2915, 2915, 2916, 2916,
04344         0, 2916, 2916, 2916, 2916, 2916, 2916, 2917, 2917,    0,
04345      2917, 2917, 2917, 2917, 2917, 2917, 2918, 2918,    0, 2918,
04346      2918, 2918, 2918, 2918, 2918, 2919, 2919,    0, 2919, 2919,
04347      2919, 2919, 2919, 2919, 2920, 2920,    0, 2920, 2920, 2920,
04348      2920, 2920, 2920, 2921, 2921,    0, 2921, 2921, 2921, 2921,
04349      2921, 2921, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922,
04350 
04351      2922, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923,
04352      2924, 2924,    0, 2924, 2924, 2924, 2924, 2924, 2924, 2925,
04353      2925,    0, 2925, 2925, 2925, 2925, 2925, 2925, 2926, 2926,
04354         0, 2926, 2926, 2926, 2926, 2926, 2926, 2927, 2927,    0,
04355      2927, 2927, 2927, 2927, 2927, 2927, 2928, 2928,    0, 2928,
04356      2928, 2928, 2928, 2928, 2928, 2929, 2929, 2929, 2929, 2929,
04357      2929, 2929, 2929, 2929, 2930, 2930,    0, 2930, 2930, 2930,
04358      2930, 2930, 2930, 2931, 2931,    0, 2931, 2931, 2931, 2931,
04359      2931, 2931, 2932, 2932,    0, 2932, 2932, 2932, 2932, 2932,
04360      2932, 2933, 2933,    0, 2933, 2933, 2933, 2933, 2933, 2933,
04361 
04362      2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2935,
04363      2935,    0, 2935, 2935, 2935, 2935, 2935, 2935, 2888, 2888,
04364      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
04365      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
04366      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
04367      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
04368      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
04369      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
04370      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888
04371     } ;
04372 
04373 extern int yy_flex_debug;
04374 int yy_flex_debug = 0;
04375 
04376 static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
04377 static char *yy_full_match;
04378 static int yy_lp;
04379 static int yy_looking_for_trail_begin = 0;
04380 static int yy_full_lp;
04381 static int *yy_full_state;
04382 #define YY_TRAILING_MASK 0x2000
04383 #define YY_TRAILING_HEAD_MASK 0x4000
04384 #define REJECT \
04385 { \
04386 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ \
04387 yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
04388 (yy_lp) = (yy_full_lp); /* restore orig. accepting pos. */ \
04389 (yy_state_ptr) = (yy_full_state); /* restore orig. state */ \
04390 yy_current_state = *(yy_state_ptr); /* restore curr. state */ \
04391 ++(yy_lp); \
04392 goto find_rule; \
04393 }
04394 
04395 #define yymore() yymore_used_but_not_detected
04396 #define YY_MORE_ADJ 0
04397 #define YY_RESTORE_YY_MORE_OFFSET
04398 char *yytext;
04399 #line 1 "src/cfgparse.l"
04400 /*
04401  * vim:ts=4:sw=4:expandtab
04402  *
04403  */
04404 #define YY_NO_INPUT 1
04405 #line 11 "src/cfgparse.l"
04406 #include <stdio.h>
04407 #include <string.h>
04408 #include <stdint.h>
04409 #include <xcb/xcb.h>
04410 
04411 #include "log.h"
04412 #include "data.h"
04413 #include "config.h"
04414 #include "util.h"
04415 #include "libi3.h"
04416 
04417 #include "cfgparse.tab.h"
04418 
04419 int yycolumn = 1;
04420 
04421 #define YY_DECL int yylex (struct context *context)
04422 
04423 #define YY_USER_ACTION { \
04424     context->first_column = yycolumn; \
04425     context->last_column = yycolumn+yyleng-1; \
04426     yycolumn += yyleng; \
04427 }
04428 
04429 /* macro to first eat whitespace, then expect a string */
04430 #define WS_STRING do { \
04431     yy_push_state(WANT_STRING); \
04432     yy_push_state(EAT_WHITESPACE); \
04433 } while (0)
04434 
04435 #define BAR_DOUBLE_COLOR do { \
04436     yy_push_state(BAR_COLOR); \
04437     yy_push_state(BAR_COLOR); \
04438 } while (0)
04439 
04440 
04441 
04442 
04443 
04444 
04445 
04446 
04447 
04448 
04449 
04450 
04451 
04452 
04453 
04454 
04455 
04456 #line 4457 "src/cfgparse.yy.c"
04457 
04458 #define INITIAL 0
04459 #define WANT_STRING 1
04460 #define WANT_QSTRING 2
04461 #define BINDSYM_COND 3
04462 #define ASSIGN_COND 4
04463 #define ASSIGN_TARGET_COND 5
04464 #define COLOR_COND 6
04465 #define OUTPUT_COND 7
04466 #define FOR_WINDOW_COND 8
04467 #define EAT_WHITESPACE 9
04468 #define BUFFER_LINE 10
04469 #define BAR 11
04470 #define BAR_MODE 12
04471 #define BAR_POSITION 13
04472 #define BAR_COLORS 14
04473 #define BAR_COLOR 15
04474 #define EXEC 16
04475 
04476 #ifndef YY_NO_UNISTD_H
04477 /* Special case for "unistd.h", since it is non-ANSI. We include it way
04478  * down here because we want the user's section 1 to have been scanned first.
04479  * The user has a chance to override it with an option.
04480  */
04481 #include <unistd.h>
04482 #endif
04483 
04484 #ifndef YY_EXTRA_TYPE
04485 #define YY_EXTRA_TYPE void *
04486 #endif
04487 
04488 static int yy_init_globals (void );
04489 
04490 /* Accessor methods to globals.
04491    These are made visible to non-reentrant scanners for convenience. */
04492 
04493 int yylex_destroy (void );
04494 
04495 int yyget_debug (void );
04496 
04497 void yyset_debug (int debug_flag  );
04498 
04499 YY_EXTRA_TYPE yyget_extra (void );
04500 
04501 void yyset_extra (YY_EXTRA_TYPE user_defined  );
04502 
04503 FILE *yyget_in (void );
04504 
04505 void yyset_in  (FILE * in_str  );
04506 
04507 FILE *yyget_out (void );
04508 
04509 void yyset_out  (FILE * out_str  );
04510 
04511 int yyget_leng (void );
04512 
04513 char *yyget_text (void );
04514 
04515 int yyget_lineno (void );
04516 
04517 void yyset_lineno (int line_number  );
04518 
04519 /* Macros after this point can all be overridden by user definitions in
04520  * section 1.
04521  */
04522 
04523 #ifndef YY_SKIP_YYWRAP
04524 #ifdef __cplusplus
04525 extern "C" int yywrap (void );
04526 #else
04527 extern int yywrap (void );
04528 #endif
04529 #endif
04530 
04531 #ifndef yytext_ptr
04532 static void yy_flex_strncpy (char *,yyconst char *,int );
04533 #endif
04534 
04535 #ifdef YY_NEED_STRLEN
04536 static int yy_flex_strlen (yyconst char * );
04537 #endif
04538 
04539 #ifndef YY_NO_INPUT
04540 
04541 #ifdef __cplusplus
04542 static int yyinput (void );
04543 #else
04544 static int input (void );
04545 #endif
04546 
04547 #endif
04548 
04549         static int yy_start_stack_ptr = 0;
04550         static int yy_start_stack_depth = 0;
04551         static int *yy_start_stack = NULL;
04552     
04553     static void yy_push_state (int new_state );
04554     
04555     static void yy_pop_state (void );
04556     
04557 /* Amount of stuff to slurp up with each read. */
04558 #ifndef YY_READ_BUF_SIZE
04559 #define YY_READ_BUF_SIZE 8192
04560 #endif
04561 
04562 /* Copy whatever the last rule matched to the standard output. */
04563 #ifndef ECHO
04564 /* This used to be an fputs(), but since the string might contain NUL's,
04565  * we now use fwrite().
04566  */
04567 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
04568 #endif
04569 
04570 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
04571  * is returned in "result".
04572  */
04573 #ifndef YY_INPUT
04574 #define YY_INPUT(buf,result,max_size) \
04575         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
04576                 { \
04577                 int c = '*'; \
04578                 unsigned n; \
04579                 for ( n = 0; n < max_size && \
04580                              (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
04581                         buf[n] = (char) c; \
04582                 if ( c == '\n' ) \
04583                         buf[n++] = (char) c; \
04584                 if ( c == EOF && ferror( yyin ) ) \
04585                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
04586                 result = n; \
04587                 } \
04588         else \
04589                 { \
04590                 errno=0; \
04591                 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
04592                         { \
04593                         if( errno != EINTR) \
04594                                 { \
04595                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
04596                                 break; \
04597                                 } \
04598                         errno=0; \
04599                         clearerr(yyin); \
04600                         } \
04601                 }\
04602 \
04603 
04604 #endif
04605 
04606 /* No semi-colon after return; correct usage is to write "yyterminate();" -
04607  * we don't want an extra ';' after the "return" because that will cause
04608  * some compilers to complain about unreachable statements.
04609  */
04610 #ifndef yyterminate
04611 #define yyterminate() return YY_NULL
04612 #endif
04613 
04614 /* Number of entries by which start-condition stack grows. */
04615 #ifndef YY_START_STACK_INCR
04616 #define YY_START_STACK_INCR 25
04617 #endif
04618 
04619 /* Report a fatal error. */
04620 #ifndef YY_FATAL_ERROR
04621 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
04622 #endif
04623 
04624 /* end tables serialization structures and prototypes */
04625 
04626 /* Default declaration of generated scanner - a define so the user can
04627  * easily add parameters.
04628  */
04629 #ifndef YY_DECL
04630 #define YY_DECL_IS_OURS 1
04631 
04632 extern int yylex (void);
04633 
04634 #define YY_DECL int yylex (void)
04635 #endif /* !YY_DECL */
04636 
04637 /* Code executed at the beginning of each rule, after yytext and yyleng
04638  * have been set up.
04639  */
04640 #ifndef YY_USER_ACTION
04641 #define YY_USER_ACTION
04642 #endif
04643 
04644 /* Code executed at the end of each rule. */
04645 #ifndef YY_BREAK
04646 #define YY_BREAK break;
04647 #endif
04648 
04649 #define YY_RULE_SETUP \
04650         if ( yyleng > 0 ) \
04651                 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
04652                                 (yytext[yyleng - 1] == '\n'); \
04653         YY_USER_ACTION
04654 
04657 YY_DECL
04658 {
04659         register yy_state_type yy_current_state;
04660         register char *yy_cp, *yy_bp;
04661         register int yy_act;
04662     
04663 #line 68 "src/cfgparse.l"
04664 
04665 
04666     {
04667         /* This is called when a new line is lexed. We only want the
04668          * first line to match to go into state BUFFER_LINE */
04669         if (context->line_number == 0) {
04670             context->line_number = 1;
04671             BEGIN(INITIAL);
04672             yy_push_state(BUFFER_LINE);
04673         }
04674     }
04675 
04676 #line 4677 "src/cfgparse.yy.c"
04677 
04678         if ( !(yy_init) )
04679                 {
04680                 (yy_init) = 1;
04681 
04682 #ifdef YY_USER_INIT
04683                 YY_USER_INIT;
04684 #endif
04685 
04686         /* Create the reject buffer large enough to save one state per allowed character. */
04687         if ( ! (yy_state_buf) )
04688             (yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE  );
04689             if ( ! (yy_state_buf) )
04690                 YY_FATAL_ERROR( "out of dynamic memory in yylex()" );
04691 
04692                 if ( ! (yy_start) )
04693                         (yy_start) = 1; /* first start state */
04694 
04695                 if ( ! yyin )
04696                         yyin = stdin;
04697 
04698                 if ( ! yyout )
04699                         yyout = stdout;
04700 
04701                 if ( ! YY_CURRENT_BUFFER ) {
04702                         yyensure_buffer_stack ();
04703                         YY_CURRENT_BUFFER_LVALUE =
04704                                 yy_create_buffer(yyin,YY_BUF_SIZE );
04705                 }
04706 
04707                 yy_load_buffer_state( );
04708                 }
04709 
04710         while ( 1 )             /* loops until end-of-file is reached */
04711                 {
04712                 yy_cp = (yy_c_buf_p);
04713 
04714                 /* Support of yytext. */
04715                 *yy_cp = (yy_hold_char);
04716 
04717                 /* yy_bp points to the position in yy_ch_buf of the start of
04718                  * the current run.
04719                  */
04720                 yy_bp = yy_cp;
04721 
04722                 yy_current_state = (yy_start);
04723                 yy_current_state += YY_AT_BOL();
04724 
04725                 (yy_state_ptr) = (yy_state_buf);
04726                 *(yy_state_ptr)++ = yy_current_state;
04727 
04728 yy_match:
04729                 do
04730                         {
04731                         register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
04732                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
04733                                 {
04734                                 yy_current_state = (int) yy_def[yy_current_state];
04735                                 if ( yy_current_state >= 2889 )
04736                                         yy_c = yy_meta[(unsigned int) yy_c];
04737                                 }
04738                         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
04739                         *(yy_state_ptr)++ = yy_current_state;
04740                         ++yy_cp;
04741                         }
04742                 while ( yy_base[yy_current_state] != 11319 );
04743 
04744 yy_find_action:
04745                 yy_current_state = *--(yy_state_ptr);
04746                 (yy_lp) = yy_accept[yy_current_state];
04747 find_rule: /* we branch to this label when backing up */
04748                 for ( ; ; ) /* until we find what rule we matched */
04749                         {
04750                         if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
04751                                 {
04752                                 yy_act = yy_acclist[(yy_lp)];
04753                                 if ( yy_act & YY_TRAILING_HEAD_MASK ||
04754                                      (yy_looking_for_trail_begin) )
04755                                         {
04756                                         if ( yy_act == (yy_looking_for_trail_begin) )
04757                                                 {
04758                                                 (yy_looking_for_trail_begin) = 0;
04759                                                 yy_act &= ~YY_TRAILING_HEAD_MASK;
04760                                                 break;
04761                                                 }
04762                                         }
04763                                 else if ( yy_act & YY_TRAILING_MASK )
04764                                         {
04765                                         (yy_looking_for_trail_begin) = yy_act & ~YY_TRAILING_MASK;
04766                                         (yy_looking_for_trail_begin) |= YY_TRAILING_HEAD_MASK;
04767                                         }
04768                                 else
04769                                         {
04770                                         (yy_full_match) = yy_cp;
04771                                         (yy_full_state) = (yy_state_ptr);
04772                                         (yy_full_lp) = (yy_lp);
04773                                         break;
04774                                         }
04775                                 ++(yy_lp);
04776                                 goto find_rule;
04777                                 }
04778                         --yy_cp;
04779                         yy_current_state = *--(yy_state_ptr);
04780                         (yy_lp) = yy_accept[yy_current_state];
04781                         }
04782 
04783                 YY_DO_BEFORE_ACTION;
04784 
04785 do_action:      /* This label is used only to access EOF actions. */
04786 
04787                 switch ( yy_act )
04788         { /* beginning of action switch */
04789 case 1:
04790 /* rule 1 can match eol */
04791 YY_RULE_SETUP
04792 #line 80 "src/cfgparse.l"
04793 {
04794     /* save whole line */
04795     context->line_copy = sstrdup(yytext);
04796 
04797     yyless(0);
04798     yy_pop_state();
04799     yy_set_bol(true);
04800     yycolumn = 1;
04801 }
04802         YY_BREAK
04803 /* This part of the lexer handles the bar {} blocks */
04804 case 2:
04805 YY_RULE_SETUP
04806 #line 91 "src/cfgparse.l"
04807 { /* ignore whitespace */ ; }
04808         YY_BREAK
04809 case 3:
04810 YY_RULE_SETUP
04811 #line 92 "src/cfgparse.l"
04812 { return '{'; }
04813         YY_BREAK
04814 case 4:
04815 YY_RULE_SETUP
04816 #line 93 "src/cfgparse.l"
04817 { yy_pop_state(); return '}'; }
04818         YY_BREAK
04819 case 5:
04820 YY_RULE_SETUP
04821 #line 94 "src/cfgparse.l"
04822 { return TOKCOMMENT; }
04823         YY_BREAK
04824 case 6:
04825 YY_RULE_SETUP
04826 #line 95 "src/cfgparse.l"
04827 { WS_STRING; return TOK_BAR_OUTPUT; }
04828         YY_BREAK
04829 case 7:
04830 YY_RULE_SETUP
04831 #line 96 "src/cfgparse.l"
04832 { WS_STRING; return TOK_BAR_TRAY_OUTPUT; }
04833         YY_BREAK
04834 case 8:
04835 YY_RULE_SETUP
04836 #line 97 "src/cfgparse.l"
04837 { WS_STRING; return TOK_BAR_SOCKET_PATH; }
04838         YY_BREAK
04839 case 9:
04840 YY_RULE_SETUP
04841 #line 98 "src/cfgparse.l"
04842 { yy_push_state(BAR_MODE); return TOK_BAR_MODE; }
04843         YY_BREAK
04844 case 10:
04845 YY_RULE_SETUP
04846 #line 99 "src/cfgparse.l"
04847 { yy_pop_state(); return TOK_BAR_HIDE; }
04848         YY_BREAK
04849 case 11:
04850 YY_RULE_SETUP
04851 #line 100 "src/cfgparse.l"
04852 { yy_pop_state(); return TOK_BAR_DOCK; }
04853         YY_BREAK
04854 case 12:
04855 YY_RULE_SETUP
04856 #line 101 "src/cfgparse.l"
04857 { yy_push_state(BAR_POSITION); return TOK_BAR_POSITION; }
04858         YY_BREAK
04859 case 13:
04860 YY_RULE_SETUP
04861 #line 102 "src/cfgparse.l"
04862 { yy_pop_state(); return TOK_BAR_BOTTOM; }
04863         YY_BREAK
04864 case 14:
04865 YY_RULE_SETUP
04866 #line 103 "src/cfgparse.l"
04867 { yy_pop_state(); return TOK_BAR_TOP; }
04868         YY_BREAK
04869 case 15:
04870 YY_RULE_SETUP
04871 #line 104 "src/cfgparse.l"
04872 { WS_STRING; return TOK_BAR_STATUS_COMMAND; }
04873         YY_BREAK
04874 case 16:
04875 YY_RULE_SETUP
04876 #line 105 "src/cfgparse.l"
04877 { WS_STRING; return TOK_BAR_FONT; }
04878         YY_BREAK
04879 case 17:
04880 YY_RULE_SETUP
04881 #line 106 "src/cfgparse.l"
04882 { return TOK_BAR_WORKSPACE_BUTTONS; }
04883         YY_BREAK
04884 case 18:
04885 YY_RULE_SETUP
04886 #line 107 "src/cfgparse.l"
04887 { return TOK_BAR_VERBOSE; }
04888         YY_BREAK
04889 case 19:
04890 YY_RULE_SETUP
04891 #line 108 "src/cfgparse.l"
04892 { yy_push_state(BAR_COLORS); return TOK_BAR_COLORS; }
04893         YY_BREAK
04894 case 20:
04895 YY_RULE_SETUP
04896 #line 109 "src/cfgparse.l"
04897 { return '{'; }
04898         YY_BREAK
04899 case 21:
04900 YY_RULE_SETUP
04901 #line 110 "src/cfgparse.l"
04902 { yy_pop_state(); return '}'; }
04903         YY_BREAK
04904 case 22:
04905 YY_RULE_SETUP
04906 #line 111 "src/cfgparse.l"
04907 { return TOKCOMMENT; }
04908         YY_BREAK
04909 case 23:
04910 YY_RULE_SETUP
04911 #line 112 "src/cfgparse.l"
04912 { yy_push_state(BAR_COLOR); return TOK_BAR_COLOR_BACKGROUND; }
04913         YY_BREAK
04914 case 24:
04915 YY_RULE_SETUP
04916 #line 113 "src/cfgparse.l"
04917 { yy_push_state(BAR_COLOR); return TOK_BAR_COLOR_STATUSLINE; }
04918         YY_BREAK
04919 case 25:
04920 YY_RULE_SETUP
04921 #line 114 "src/cfgparse.l"
04922 { BAR_DOUBLE_COLOR; return TOK_BAR_COLOR_FOCUSED_WORKSPACE; }
04923         YY_BREAK
04924 case 26:
04925 YY_RULE_SETUP
04926 #line 115 "src/cfgparse.l"
04927 { BAR_DOUBLE_COLOR; return TOK_BAR_COLOR_ACTIVE_WORKSPACE; }
04928         YY_BREAK
04929 case 27:
04930 YY_RULE_SETUP
04931 #line 116 "src/cfgparse.l"
04932 { BAR_DOUBLE_COLOR; return TOK_BAR_COLOR_INACTIVE_WORKSPACE; }
04933         YY_BREAK
04934 case 28:
04935 YY_RULE_SETUP
04936 #line 117 "src/cfgparse.l"
04937 { BAR_DOUBLE_COLOR; return TOK_BAR_COLOR_URGENT_WORKSPACE; }
04938         YY_BREAK
04939 case 29:
04940 YY_RULE_SETUP
04941 #line 118 "src/cfgparse.l"
04942 { yy_pop_state(); yylval.string = sstrdup(yytext); return HEXCOLOR; }
04943         YY_BREAK
04944 case 30:
04945 YY_RULE_SETUP
04946 #line 119 "src/cfgparse.l"
04947 { yylval.string = sstrdup(yytext); return WORD; }
04948         YY_BREAK
04949 case 31:
04950 YY_RULE_SETUP
04951 #line 123 "src/cfgparse.l"
04952 { yy_pop_state(); return ']'; }
04953         YY_BREAK
04954 case 32:
04955 YY_RULE_SETUP
04956 #line 124 "src/cfgparse.l"
04957 {
04958                                   /* this is the case for the new assign syntax
04959                                    * that uses criteria */
04960                                   yy_pop_state();
04961                                   yy_push_state(FOR_WINDOW_COND);
04962                                   /* afterwards we will be in ASSIGN_TARGET_COND */
04963                                   return '[';
04964                                 }
04965         YY_BREAK
04966 case 33:
04967 YY_RULE_SETUP
04968 #line 132 "src/cfgparse.l"
04969 { yy_pop_state(); }
04970         YY_BREAK
04971 case 34:
04972 /* rule 34 can match eol */
04973 YY_RULE_SETUP
04974 #line 133 "src/cfgparse.l"
04975 {
04976                                   yy_pop_state();
04977                                   /* strip quotes */
04978                                   char *copy = sstrdup(yytext+1);
04979                                   copy[strlen(copy)-1] = '\0';
04980                                   yylval.string = copy;
04981                                   return STR;
04982                                 }
04983         YY_BREAK
04984 case 35:
04985 YY_RULE_SETUP
04986 #line 141 "src/cfgparse.l"
04987 { yy_pop_state(); yylval.string = sstrdup(yytext); return STR; }
04988         YY_BREAK
04989 case 36:
04990 YY_RULE_SETUP
04991 #line 142 "src/cfgparse.l"
04992 { yy_pop_state(); yylval.string = sstrdup(yytext); return OUTPUT; }
04993         YY_BREAK
04994 case 37:
04995 YY_RULE_SETUP
04996 #line 143 "src/cfgparse.l"
04997 { return TOKCOMMENT; }
04998         YY_BREAK
04999 case 38:
05000 YY_RULE_SETUP
05001 #line 144 "src/cfgparse.l"
05002 { yy_pop_state(); yylval.string = sstrdup(yytext); return HEXCOLOR; }
05003         YY_BREAK
05004 case 39:
05005 YY_RULE_SETUP
05006 #line 145 "src/cfgparse.l"
05007 { BEGIN(WANT_STRING); }
05008         YY_BREAK
05009 case 40:
05010 YY_RULE_SETUP
05011 #line 146 "src/cfgparse.l"
05012 { BEGIN(WANT_STRING); }
05013         YY_BREAK
05014 case 41:
05015 YY_RULE_SETUP
05016 #line 147 "src/cfgparse.l"
05017 { printf("no startup id\n"); yy_pop_state(); return TOK_NO_STARTUP_ID; }
05018         YY_BREAK
05019 case 42:
05020 YY_RULE_SETUP
05021 #line 148 "src/cfgparse.l"
05022 { printf("anything else: *%s*\n", yytext); yyless(0); yy_pop_state(); yy_pop_state(); }
05023         YY_BREAK
05024 case 43:
05025 YY_RULE_SETUP
05026 #line 149 "src/cfgparse.l"
05027 { yylval.number = atoi(yytext); return NUMBER; }
05028         YY_BREAK
05029 case 44:
05030 YY_RULE_SETUP
05031 #line 150 "src/cfgparse.l"
05032 { yy_push_state(BAR); return TOK_BAR; }
05033         YY_BREAK
05034 case 45:
05035 YY_RULE_SETUP
05036 #line 151 "src/cfgparse.l"
05037 { return TOKMODE; }
05038         YY_BREAK
05039 case 46:
05040 YY_RULE_SETUP
05041 #line 152 "src/cfgparse.l"
05042 { yy_push_state(WANT_STRING); yy_push_state(EAT_WHITESPACE); yy_push_state(EAT_WHITESPACE); return TOKBINDCODE; }
05043         YY_BREAK
05044 case 47:
05045 YY_RULE_SETUP
05046 #line 153 "src/cfgparse.l"
05047 { yy_push_state(WANT_STRING); yy_push_state(EAT_WHITESPACE); yy_push_state(EAT_WHITESPACE); return TOKBINDCODE; }
05048         YY_BREAK
05049 case 48:
05050 YY_RULE_SETUP
05051 #line 154 "src/cfgparse.l"
05052 { yy_push_state(BINDSYM_COND); yy_push_state(EAT_WHITESPACE); return TOKBINDSYM; }
05053         YY_BREAK
05054 case 49:
05055 YY_RULE_SETUP
05056 #line 155 "src/cfgparse.l"
05057 { return TOKFLOATING_MODIFIER; }
05058         YY_BREAK
05059 case 50:
05060 YY_RULE_SETUP
05061 #line 156 "src/cfgparse.l"
05062 { return TOKWORKSPACE; }
05063         YY_BREAK
05064 case 51:
05065 YY_RULE_SETUP
05066 #line 157 "src/cfgparse.l"
05067 { yy_push_state(OUTPUT_COND); yy_push_state(EAT_WHITESPACE); return TOKOUTPUT; }
05068         YY_BREAK
05069 case 52:
05070 YY_RULE_SETUP
05071 #line 158 "src/cfgparse.l"
05072 { WS_STRING; return TOKTERMINAL; }
05073         YY_BREAK
05074 case 53:
05075 YY_RULE_SETUP
05076 #line 159 "src/cfgparse.l"
05077 { WS_STRING; return TOKFONT; }
05078         YY_BREAK
05079 case 54:
05080 YY_RULE_SETUP
05081 #line 160 "src/cfgparse.l"
05082 { yy_push_state(ASSIGN_TARGET_COND); yy_push_state(ASSIGN_COND); return TOKASSIGN; }
05083         YY_BREAK
05084 case 55:
05085 YY_RULE_SETUP
05086 #line 161 "src/cfgparse.l"
05087 { return TOKCOMMENT; }
05088         YY_BREAK
05089 case 56:
05090 YY_RULE_SETUP
05091 #line 162 "src/cfgparse.l"
05092 { WS_STRING; return TOKIPCSOCKET; }
05093         YY_BREAK
05094 case 57:
05095 YY_RULE_SETUP
05096 #line 163 "src/cfgparse.l"
05097 { WS_STRING; return TOKIPCSOCKET; }
05098         YY_BREAK
05099 case 58:
05100 YY_RULE_SETUP
05101 #line 164 "src/cfgparse.l"
05102 { WS_STRING; return TOKRESTARTSTATE; }
05103         YY_BREAK
05104 case 59:
05105 YY_RULE_SETUP
05106 #line 165 "src/cfgparse.l"
05107 { return TOK_ORIENTATION; }
05108         YY_BREAK
05109 case 60:
05110 YY_RULE_SETUP
05111 #line 166 "src/cfgparse.l"
05112 { return TOK_HORIZ; }
05113         YY_BREAK
05114 case 61:
05115 YY_RULE_SETUP
05116 #line 167 "src/cfgparse.l"
05117 { return TOK_VERT; }
05118         YY_BREAK
05119 case 62:
05120 YY_RULE_SETUP
05121 #line 168 "src/cfgparse.l"
05122 { return TOK_AUTO; }
05123         YY_BREAK
05124 case 63:
05125 YY_RULE_SETUP
05126 #line 169 "src/cfgparse.l"
05127 { return TOK_WORKSPACE_LAYOUT; }
05128         YY_BREAK
05129 case 64:
05130 YY_RULE_SETUP
05131 #line 170 "src/cfgparse.l"
05132 { return TOKNEWWINDOW; }
05133         YY_BREAK
05134 case 65:
05135 YY_RULE_SETUP
05136 #line 171 "src/cfgparse.l"
05137 { return TOKNEWFLOAT; }
05138         YY_BREAK
05139 case 66:
05140 YY_RULE_SETUP
05141 #line 172 "src/cfgparse.l"
05142 { return TOK_NORMAL; }
05143         YY_BREAK
05144 case 67:
05145 YY_RULE_SETUP
05146 #line 173 "src/cfgparse.l"
05147 { return TOK_NONE; }
05148         YY_BREAK
05149 case 68:
05150 YY_RULE_SETUP
05151 #line 174 "src/cfgparse.l"
05152 { return TOK_1PIXEL; }
05153         YY_BREAK
05154 case 69:
05155 YY_RULE_SETUP
05156 #line 175 "src/cfgparse.l"
05157 { return TOKFOCUSFOLLOWSMOUSE; }
05158         YY_BREAK
05159 case 70:
05160 YY_RULE_SETUP
05161 #line 176 "src/cfgparse.l"
05162 { return TOK_FORCE_FOCUS_WRAPPING; }
05163         YY_BREAK
05164 case 71:
05165 YY_RULE_SETUP
05166 #line 177 "src/cfgparse.l"
05167 { return TOK_FORCE_XINERAMA; }
05168         YY_BREAK
05169 case 72:
05170 YY_RULE_SETUP
05171 #line 178 "src/cfgparse.l"
05172 { return TOK_WORKSPACE_AUTO_BAF; }
05173         YY_BREAK
05174 case 73:
05175 YY_RULE_SETUP
05176 #line 179 "src/cfgparse.l"
05177 { return TOKWORKSPACEBAR; }
05178         YY_BREAK
05179 case 74:
05180 YY_RULE_SETUP
05181 #line 180 "src/cfgparse.l"
05182 { return TOK_POPUP_DURING_FULLSCREEN; }
05183         YY_BREAK
05184 case 75:
05185 YY_RULE_SETUP
05186 #line 181 "src/cfgparse.l"
05187 { return TOK_IGNORE; }
05188         YY_BREAK
05189 case 76:
05190 YY_RULE_SETUP
05191 #line 182 "src/cfgparse.l"
05192 { return TOK_LEAVE_FULLSCREEN; }
05193         YY_BREAK
05194 case 77:
05195 YY_RULE_SETUP
05196 #line 183 "src/cfgparse.l"
05197 {
05198                                   /* Example: for_window [class="urxvt"] border none
05199                                    *
05200                                    * First, we wait for the ']' that finishes a match (FOR_WINDOW_COND)
05201                                    * Then, we require a whitespace (EAT_WHITESPACE)
05202                                    * And the rest of the line is parsed as a string
05203                                    */
05204                                   yy_push_state(WANT_STRING);
05205                                   yy_push_state(EAT_WHITESPACE);
05206                                   yy_push_state(FOR_WINDOW_COND);
05207                                   return TOK_FOR_WINDOW;
05208                                 }
05209         YY_BREAK
05210 case 78:
05211 YY_RULE_SETUP
05212 #line 195 "src/cfgparse.l"
05213 { /* yylval.number = MODE_DEFAULT; */return TOK_DEFAULT; }
05214         YY_BREAK
05215 case 79:
05216 YY_RULE_SETUP
05217 #line 196 "src/cfgparse.l"
05218 { /* yylval.number = MODE_STACK; */return TOK_STACKING; }
05219         YY_BREAK
05220 case 80:
05221 YY_RULE_SETUP
05222 #line 197 "src/cfgparse.l"
05223 { return TOK_STACKING; }
05224         YY_BREAK
05225 case 81:
05226 YY_RULE_SETUP
05227 #line 198 "src/cfgparse.l"
05228 { /* yylval.number = MODE_TABBED; */return TOK_TABBED; }
05229         YY_BREAK
05230 case 82:
05231 YY_RULE_SETUP
05232 #line 199 "src/cfgparse.l"
05233 { return TOKSTACKLIMIT; }
05234         YY_BREAK
05235 case 83:
05236 YY_RULE_SETUP
05237 #line 200 "src/cfgparse.l"
05238 { /* yylval.number = STACK_LIMIT_COLS; */return TOKSTACKLIMIT; }
05239         YY_BREAK
05240 case 84:
05241 YY_RULE_SETUP
05242 #line 201 "src/cfgparse.l"
05243 { /* yylval.number = STACK_LIMIT_ROWS; */return TOKSTACKLIMIT; }
05244         YY_BREAK
05245 case 85:
05246 YY_RULE_SETUP
05247 #line 202 "src/cfgparse.l"
05248 { WS_STRING; yy_push_state(EXEC); yy_push_state(EAT_WHITESPACE); return TOKEXEC; }
05249         YY_BREAK
05250 case 86:
05251 YY_RULE_SETUP
05252 #line 203 "src/cfgparse.l"
05253 { WS_STRING; yy_push_state(EXEC); yy_push_state(EAT_WHITESPACE); return TOKEXEC_ALWAYS; }
05254         YY_BREAK
05255 case 87:
05256 YY_RULE_SETUP
05257 #line 204 "src/cfgparse.l"
05258 { yy_push_state(COLOR_COND); yylval.single_color = &config.client.background; return TOKSINGLECOLOR; }
05259         YY_BREAK
05260 case 88:
05261 YY_RULE_SETUP
05262 #line 205 "src/cfgparse.l"
05263 { yy_push_state(COLOR_COND); yy_push_state(COLOR_COND); yy_push_state(COLOR_COND); yylval.color = &config.client.focused; return TOKCOLOR; }
05264         YY_BREAK
05265 case 89:
05266 YY_RULE_SETUP
05267 #line 206 "src/cfgparse.l"
05268 { yy_push_state(COLOR_COND); yy_push_state(COLOR_COND); yy_push_state(COLOR_COND); yylval.color = &config.client.focused_inactive; return TOKCOLOR; }
05269         YY_BREAK
05270 case 90:
05271 YY_RULE_SETUP
05272 #line 207 "src/cfgparse.l"
05273 { yy_push_state(COLOR_COND); yy_push_state(COLOR_COND); yy_push_state(COLOR_COND); yylval.color = &config.client.unfocused; return TOKCOLOR; }
05274         YY_BREAK
05275 case 91:
05276 YY_RULE_SETUP
05277 #line 208 "src/cfgparse.l"
05278 { yy_push_state(COLOR_COND); yy_push_state(COLOR_COND); yy_push_state(COLOR_COND); yylval.color = &config.client.urgent; return TOKCOLOR; }
05279         YY_BREAK
05280 case 92:
05281 YY_RULE_SETUP
05282 #line 209 "src/cfgparse.l"
05283 { yy_push_state(COLOR_COND); yylval.color = &config.bar.focused; return TOKCOLOR; }
05284         YY_BREAK
05285 case 93:
05286 YY_RULE_SETUP
05287 #line 210 "src/cfgparse.l"
05288 { yy_push_state(COLOR_COND); yylval.color = &config.bar.unfocused; return TOKCOLOR; }
05289         YY_BREAK
05290 case 94:
05291 YY_RULE_SETUP
05292 #line 211 "src/cfgparse.l"
05293 { yy_push_state(COLOR_COND); yylval.color = &config.bar.urgent; return TOKCOLOR; }
05294         YY_BREAK
05295 case 95:
05296 YY_RULE_SETUP
05297 #line 212 "src/cfgparse.l"
05298 { yylval.number = BIND_MOD1; return MODIFIER; }
05299         YY_BREAK
05300 case 96:
05301 YY_RULE_SETUP
05302 #line 213 "src/cfgparse.l"
05303 { yylval.number = BIND_MOD2; return MODIFIER; }
05304         YY_BREAK
05305 case 97:
05306 YY_RULE_SETUP
05307 #line 214 "src/cfgparse.l"
05308 { yylval.number = BIND_MOD3; return MODIFIER; }
05309         YY_BREAK
05310 case 98:
05311 YY_RULE_SETUP
05312 #line 215 "src/cfgparse.l"
05313 { yylval.number = BIND_MOD4; return MODIFIER; }
05314         YY_BREAK
05315 case 99:
05316 YY_RULE_SETUP
05317 #line 216 "src/cfgparse.l"
05318 { yylval.number = BIND_MOD5; return MODIFIER; }
05319         YY_BREAK
05320 case 100:
05321 YY_RULE_SETUP
05322 #line 217 "src/cfgparse.l"
05323 { yylval.number = BIND_MODE_SWITCH; return MODIFIER; }
05324         YY_BREAK
05325 case 101:
05326 YY_RULE_SETUP
05327 #line 218 "src/cfgparse.l"
05328 { return TOKCONTROL; }
05329         YY_BREAK
05330 case 102:
05331 YY_RULE_SETUP
05332 #line 219 "src/cfgparse.l"
05333 { return TOKCONTROL; }
05334         YY_BREAK
05335 case 103:
05336 YY_RULE_SETUP
05337 #line 220 "src/cfgparse.l"
05338 { return TOKSHIFT; }
05339         YY_BREAK
05340 case 104:
05341 YY_RULE_SETUP
05342 #line 222 "src/cfgparse.l"
05343 { yy_push_state(WANT_QSTRING); return TOK_CLASS; }
05344         YY_BREAK
05345 case 105:
05346 YY_RULE_SETUP
05347 #line 223 "src/cfgparse.l"
05348 { yy_push_state(WANT_QSTRING); return TOK_INSTANCE; }
05349         YY_BREAK
05350 case 106:
05351 YY_RULE_SETUP
05352 #line 224 "src/cfgparse.l"
05353 { yy_push_state(WANT_QSTRING); return TOK_WINDOW_ROLE; }
05354         YY_BREAK
05355 case 107:
05356 YY_RULE_SETUP
05357 #line 225 "src/cfgparse.l"
05358 { yy_push_state(WANT_QSTRING); return TOK_ID; }
05359         YY_BREAK
05360 case 108:
05361 YY_RULE_SETUP
05362 #line 226 "src/cfgparse.l"
05363 { yy_push_state(WANT_QSTRING); return TOK_CON_ID; }
05364         YY_BREAK
05365 case 109:
05366 YY_RULE_SETUP
05367 #line 227 "src/cfgparse.l"
05368 { yy_push_state(WANT_QSTRING); return TOK_MARK; }
05369         YY_BREAK
05370 case 110:
05371 YY_RULE_SETUP
05372 #line 228 "src/cfgparse.l"
05373 { yy_push_state(WANT_QSTRING); return TOK_TITLE; }
05374         YY_BREAK
05375 case 111:
05376 /* rule 111 can match eol */
05377 YY_RULE_SETUP
05378 #line 230 "src/cfgparse.l"
05379 {
05380                                   FREE(context->line_copy);
05381                                   context->line_number++;
05382                                   yy_push_state(BUFFER_LINE);
05383                                 }
05384         YY_BREAK
05385 case 112:
05386 YY_RULE_SETUP
05387 #line 235 "src/cfgparse.l"
05388 { yy_pop_state(); yy_push_state(WANT_STRING); }
05389         YY_BREAK
05390 case 113:
05391 YY_RULE_SETUP
05392 #line 236 "src/cfgparse.l"
05393 { yy_pop_state(); yy_push_state(WANT_STRING); }
05394         YY_BREAK
05395 case 114:
05396 YY_RULE_SETUP
05397 #line 237 "src/cfgparse.l"
05398 { /* ignore whitespace */ ; }
05399         YY_BREAK
05400 case 115:
05401 /* rule 115 can match eol */
05402 YY_RULE_SETUP
05403 #line 238 "src/cfgparse.l"
05404 {
05405                                   /* if ASSIGN_COND then */
05406                                   if (yy_start_stack_ptr > 0)
05407                                       yy_pop_state();
05408                                   /* yylval will be the string, but without quotes */
05409                                   char *copy = sstrdup(yytext+1);
05410                                   copy[strlen(copy)-1] = '\0';
05411                                   yylval.string = copy;
05412                                   return QUOTEDSTRING;
05413                                 }
05414         YY_BREAK
05415 case 116:
05416 /* rule 116 can match eol */
05417 YY_RULE_SETUP
05418 #line 248 "src/cfgparse.l"
05419 { BEGIN(ASSIGN_TARGET_COND); yylval.string = sstrdup(yytext); return STR_NG; }
05420         YY_BREAK
05421 case 117:
05422 YY_RULE_SETUP
05423 #line 249 "src/cfgparse.l"
05424 { yylval.string = sstrdup(yytext); return WORD; }
05425         YY_BREAK
05426 case 118:
05427 YY_RULE_SETUP
05428 #line 250 "src/cfgparse.l"
05429 { yylval.string = sstrdup(yytext); return WORD; }
05430         YY_BREAK
05431 case 119:
05432 YY_RULE_SETUP
05433 #line 251 "src/cfgparse.l"
05434 { return (int)yytext[0]; }
05435         YY_BREAK
05436 case YY_STATE_EOF(INITIAL):
05437 case YY_STATE_EOF(WANT_STRING):
05438 case YY_STATE_EOF(WANT_QSTRING):
05439 case YY_STATE_EOF(BINDSYM_COND):
05440 case YY_STATE_EOF(ASSIGN_COND):
05441 case YY_STATE_EOF(ASSIGN_TARGET_COND):
05442 case YY_STATE_EOF(COLOR_COND):
05443 case YY_STATE_EOF(OUTPUT_COND):
05444 case YY_STATE_EOF(FOR_WINDOW_COND):
05445 case YY_STATE_EOF(EAT_WHITESPACE):
05446 case YY_STATE_EOF(BUFFER_LINE):
05447 case YY_STATE_EOF(BAR):
05448 case YY_STATE_EOF(BAR_MODE):
05449 case YY_STATE_EOF(BAR_POSITION):
05450 case YY_STATE_EOF(BAR_COLORS):
05451 case YY_STATE_EOF(BAR_COLOR):
05452 case YY_STATE_EOF(EXEC):
05453 #line 253 "src/cfgparse.l"
05454 {
05455     while (yy_start_stack_ptr > 0)
05456         yy_pop_state();
05457     yyterminate();
05458 }
05459         YY_BREAK
05460 case 120:
05461 YY_RULE_SETUP
05462 #line 259 "src/cfgparse.l"
05463 ECHO;
05464         YY_BREAK
05465 #line 5466 "src/cfgparse.yy.c"
05466 
05467         case YY_END_OF_BUFFER:
05468                 {
05469                 /* Amount of text matched not including the EOB char. */
05470                 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
05471 
05472                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
05473                 *yy_cp = (yy_hold_char);
05474                 YY_RESTORE_YY_MORE_OFFSET
05475 
05476                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
05477                         {
05478                         /* We're scanning a new file or input source.  It's
05479                          * possible that this happened because the user
05480                          * just pointed yyin at a new source and called
05481                          * yylex().  If so, then we have to assure
05482                          * consistency between YY_CURRENT_BUFFER and our
05483                          * globals.  Here is the right place to do so, because
05484                          * this is the first action (other than possibly a
05485                          * back-up) that will match for the new input source.
05486                          */
05487                         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
05488                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
05489                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
05490                         }
05491 
05492                 /* Note that here we test for yy_c_buf_p "<=" to the position
05493                  * of the first EOB in the buffer, since yy_c_buf_p will
05494                  * already have been incremented past the NUL character
05495                  * (since all states make transitions on EOB to the
05496                  * end-of-buffer state).  Contrast this with the test
05497                  * in input().
05498                  */
05499                 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
05500                         { /* This was really a NUL. */
05501                         yy_state_type yy_next_state;
05502 
05503                         (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
05504 
05505                         yy_current_state = yy_get_previous_state(  );
05506 
05507                         /* Okay, we're now positioned to make the NUL
05508                          * transition.  We couldn't have
05509                          * yy_get_previous_state() go ahead and do it
05510                          * for us because it doesn't know how to deal
05511                          * with the possibility of jamming (and we don't
05512                          * want to build jamming into it because then it
05513                          * will run more slowly).
05514                          */
05515 
05516                         yy_next_state = yy_try_NUL_trans( yy_current_state );
05517 
05518                         yy_bp = (yytext_ptr) + YY_MORE_ADJ;
05519 
05520                         if ( yy_next_state )
05521                                 {
05522                                 /* Consume the NUL. */
05523                                 yy_cp = ++(yy_c_buf_p);
05524                                 yy_current_state = yy_next_state;
05525                                 goto yy_match;
05526                                 }
05527 
05528                         else
05529                                 {
05530                                 yy_cp = (yy_c_buf_p);
05531                                 goto yy_find_action;
05532                                 }
05533                         }
05534 
05535                 else switch ( yy_get_next_buffer(  ) )
05536                         {
05537                         case EOB_ACT_END_OF_FILE:
05538                                 {
05539                                 (yy_did_buffer_switch_on_eof) = 0;
05540 
05541                                 if ( yywrap( ) )
05542                                         {
05543                                         /* Note: because we've taken care in
05544                                          * yy_get_next_buffer() to have set up
05545                                          * yytext, we can now set up
05546                                          * yy_c_buf_p so that if some total
05547                                          * hoser (like flex itself) wants to
05548                                          * call the scanner after we return the
05549                                          * YY_NULL, it'll still work - another
05550                                          * YY_NULL will get returned.
05551                                          */
05552                                         (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
05553 
05554                                         yy_act = YY_STATE_EOF(YY_START);
05555                                         goto do_action;
05556                                         }
05557 
05558                                 else
05559                                         {
05560                                         if ( ! (yy_did_buffer_switch_on_eof) )
05561                                                 YY_NEW_FILE;
05562                                         }
05563                                 break;
05564                                 }
05565 
05566                         case EOB_ACT_CONTINUE_SCAN:
05567                                 (yy_c_buf_p) =
05568                                         (yytext_ptr) + yy_amount_of_matched_text;
05569 
05570                                 yy_current_state = yy_get_previous_state(  );
05571 
05572                                 yy_cp = (yy_c_buf_p);
05573                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
05574                                 goto yy_match;
05575 
05576                         case EOB_ACT_LAST_MATCH:
05577                                 (yy_c_buf_p) =
05578                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
05579 
05580                                 yy_current_state = yy_get_previous_state(  );
05581 
05582                                 yy_cp = (yy_c_buf_p);
05583                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
05584                                 goto yy_find_action;
05585                         }
05586                 break;
05587                 }
05588 
05589         default:
05590                 YY_FATAL_ERROR(
05591                         "fatal flex scanner internal error--no action found" );
05592         } /* end of action switch */
05593                 } /* end of scanning one token */
05594 } /* end of yylex */
05595 
05596 /* yy_get_next_buffer - try to read in a new buffer
05597  *
05598  * Returns a code representing an action:
05599  *      EOB_ACT_LAST_MATCH -
05600  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
05601  *      EOB_ACT_END_OF_FILE - end of file
05602  */
05603 static int yy_get_next_buffer (void)
05604 {
05605         register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
05606         register char *source = (yytext_ptr);
05607         register int number_to_move, i;
05608         int ret_val;
05609 
05610         if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
05611                 YY_FATAL_ERROR(
05612                 "fatal flex scanner internal error--end of buffer missed" );
05613 
05614         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
05615                 { /* Don't try to fill the buffer, so this is an EOF. */
05616                 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
05617                         {
05618                         /* We matched a single character, the EOB, so
05619                          * treat this as a final EOF.
05620                          */
05621                         return EOB_ACT_END_OF_FILE;
05622                         }
05623 
05624                 else
05625                         {
05626                         /* We matched some text prior to the EOB, first
05627                          * process it.
05628                          */
05629                         return EOB_ACT_LAST_MATCH;
05630                         }
05631                 }
05632 
05633         /* Try to read more data. */
05634 
05635         /* First move last chars to start of buffer. */
05636         number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
05637 
05638         for ( i = 0; i < number_to_move; ++i )
05639                 *(dest++) = *(source++);
05640 
05641         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
05642                 /* don't do the read, it's not guaranteed to return an EOF,
05643                  * just force an EOF
05644                  */
05645                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
05646 
05647         else
05648                 {
05649                         int num_to_read =
05650                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
05651 
05652                 while ( num_to_read <= 0 )
05653                         { /* Not enough room in the buffer - grow it. */
05654 
05655                         YY_FATAL_ERROR(
05656 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
05657 
05658                         }
05659 
05660                 if ( num_to_read > YY_READ_BUF_SIZE )
05661                         num_to_read = YY_READ_BUF_SIZE;
05662 
05663                 /* Read in more data. */
05664                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
05665                         (yy_n_chars), (size_t) num_to_read );
05666 
05667                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
05668                 }
05669 
05670         if ( (yy_n_chars) == 0 )
05671                 {
05672                 if ( number_to_move == YY_MORE_ADJ )
05673                         {
05674                         ret_val = EOB_ACT_END_OF_FILE;
05675                         yyrestart(yyin  );
05676                         }
05677 
05678                 else
05679                         {
05680                         ret_val = EOB_ACT_LAST_MATCH;
05681                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
05682                                 YY_BUFFER_EOF_PENDING;
05683                         }
05684                 }
05685 
05686         else
05687                 ret_val = EOB_ACT_CONTINUE_SCAN;
05688 
05689         if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
05690                 /* Extend the array by 50%, plus the number we really need. */
05691                 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
05692                 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
05693                 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
05694                         YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
05695         }
05696 
05697         (yy_n_chars) += number_to_move;
05698         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
05699         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
05700 
05701         (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
05702 
05703         return ret_val;
05704 }
05705 
05706 /* yy_get_previous_state - get the state just before the EOB char was reached */
05707 
05708     static yy_state_type yy_get_previous_state (void)
05709 {
05710         register yy_state_type yy_current_state;
05711         register char *yy_cp;
05712     
05713         yy_current_state = (yy_start);
05714         yy_current_state += YY_AT_BOL();
05715 
05716         (yy_state_ptr) = (yy_state_buf);
05717         *(yy_state_ptr)++ = yy_current_state;
05718 
05719         for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
05720                 {
05721                 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
05722                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
05723                         {
05724                         yy_current_state = (int) yy_def[yy_current_state];
05725                         if ( yy_current_state >= 2889 )
05726                                 yy_c = yy_meta[(unsigned int) yy_c];
05727                         }
05728                 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
05729                 *(yy_state_ptr)++ = yy_current_state;
05730                 }
05731 
05732         return yy_current_state;
05733 }
05734 
05735 /* yy_try_NUL_trans - try to make a transition on the NUL character
05736  *
05737  * synopsis
05738  *      next_state = yy_try_NUL_trans( current_state );
05739  */
05740     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
05741 {
05742         register int yy_is_jam;
05743     
05744         register YY_CHAR yy_c = 1;
05745         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
05746                 {
05747                 yy_current_state = (int) yy_def[yy_current_state];
05748                 if ( yy_current_state >= 2889 )
05749                         yy_c = yy_meta[(unsigned int) yy_c];
05750                 }
05751         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
05752         yy_is_jam = (yy_current_state == 2888);
05753         if ( ! yy_is_jam )
05754                 *(yy_state_ptr)++ = yy_current_state;
05755 
05756         return yy_is_jam ? 0 : yy_current_state;
05757 }
05758 
05759 #ifndef YY_NO_INPUT
05760 #ifdef __cplusplus
05761     static int yyinput (void)
05762 #else
05763     static int input  (void)
05764 #endif
05765 
05766 {
05767         int c;
05768     
05769         *(yy_c_buf_p) = (yy_hold_char);
05770 
05771         if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
05772                 {
05773                 /* yy_c_buf_p now points to the character we want to return.
05774                  * If this occurs *before* the EOB characters, then it's a
05775                  * valid NUL; if not, then we've hit the end of the buffer.
05776                  */
05777                 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
05778                         /* This was really a NUL. */
05779                         *(yy_c_buf_p) = '\0';
05780 
05781                 else
05782                         { /* need more input */
05783                         int offset = (yy_c_buf_p) - (yytext_ptr);
05784                         ++(yy_c_buf_p);
05785 
05786                         switch ( yy_get_next_buffer(  ) )
05787                                 {
05788                                 case EOB_ACT_LAST_MATCH:
05789                                         /* This happens because yy_g_n_b()
05790                                          * sees that we've accumulated a
05791                                          * token and flags that we need to
05792                                          * try matching the token before
05793                                          * proceeding.  But for input(),
05794                                          * there's no matching to consider.
05795                                          * So convert the EOB_ACT_LAST_MATCH
05796                                          * to EOB_ACT_END_OF_FILE.
05797                                          */
05798 
05799                                         /* Reset buffer status. */
05800                                         yyrestart(yyin );
05801 
05802                                         /*FALLTHROUGH*/
05803 
05804                                 case EOB_ACT_END_OF_FILE:
05805                                         {
05806                                         if ( yywrap( ) )
05807                                                 return EOF;
05808 
05809                                         if ( ! (yy_did_buffer_switch_on_eof) )
05810                                                 YY_NEW_FILE;
05811 #ifdef __cplusplus
05812                                         return yyinput();
05813 #else
05814                                         return input();
05815 #endif
05816                                         }
05817 
05818                                 case EOB_ACT_CONTINUE_SCAN:
05819                                         (yy_c_buf_p) = (yytext_ptr) + offset;
05820                                         break;
05821                                 }
05822                         }
05823                 }
05824 
05825         c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
05826         *(yy_c_buf_p) = '\0';   /* preserve yytext */
05827         (yy_hold_char) = *++(yy_c_buf_p);
05828 
05829         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
05830 
05831         return c;
05832 }
05833 #endif  /* ifndef YY_NO_INPUT */
05834 
05840     void yyrestart  (FILE * input_file )
05841 {
05842     
05843         if ( ! YY_CURRENT_BUFFER ){
05844         yyensure_buffer_stack ();
05845                 YY_CURRENT_BUFFER_LVALUE =
05846             yy_create_buffer(yyin,YY_BUF_SIZE );
05847         }
05848 
05849         yy_init_buffer(YY_CURRENT_BUFFER,input_file );
05850         yy_load_buffer_state( );
05851 }
05852 
05857     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
05858 {
05859     
05860         /* TODO. We should be able to replace this entire function body
05861          * with
05862          *              yypop_buffer_state();
05863          *              yypush_buffer_state(new_buffer);
05864      */
05865         yyensure_buffer_stack ();
05866         if ( YY_CURRENT_BUFFER == new_buffer )
05867                 return;
05868 
05869         if ( YY_CURRENT_BUFFER )
05870                 {
05871                 /* Flush out information for old buffer. */
05872                 *(yy_c_buf_p) = (yy_hold_char);
05873                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
05874                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
05875                 }
05876 
05877         YY_CURRENT_BUFFER_LVALUE = new_buffer;
05878         yy_load_buffer_state( );
05879 
05880         /* We don't actually know whether we did this switch during
05881          * EOF (yywrap()) processing, but the only time this flag
05882          * is looked at is after yywrap() is called, so it's safe
05883          * to go ahead and always set it.
05884          */
05885         (yy_did_buffer_switch_on_eof) = 1;
05886 }
05887 
05888 static void yy_load_buffer_state  (void)
05889 {
05890         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
05891         (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
05892         yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
05893         (yy_hold_char) = *(yy_c_buf_p);
05894 }
05895 
05902     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
05903 {
05904         YY_BUFFER_STATE b;
05905     
05906         b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
05907         if ( ! b )
05908                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
05909 
05910         b->yy_buf_size = size;
05911 
05912         /* yy_ch_buf has to be 2 characters longer than the size given because
05913          * we need to put in 2 end-of-buffer characters.
05914          */
05915         b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
05916         if ( ! b->yy_ch_buf )
05917                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
05918 
05919         b->yy_is_our_buffer = 1;
05920 
05921         yy_init_buffer(b,file );
05922 
05923         return b;
05924 }
05925 
05930     void yy_delete_buffer (YY_BUFFER_STATE  b )
05931 {
05932     
05933         if ( ! b )
05934                 return;
05935 
05936         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
05937                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
05938 
05939         if ( b->yy_is_our_buffer )
05940                 yyfree((void *) b->yy_ch_buf  );
05941 
05942         yyfree((void *) b  );
05943 }
05944 
05945 #ifndef __cplusplus
05946 extern int isatty (int );
05947 #endif /* __cplusplus */
05948     
05949 /* Initializes or reinitializes a buffer.
05950  * This function is sometimes called more than once on the same buffer,
05951  * such as during a yyrestart() or at EOF.
05952  */
05953     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
05954 
05955 {
05956         int oerrno = errno;
05957     
05958         yy_flush_buffer(b );
05959 
05960         b->yy_input_file = file;
05961         b->yy_fill_buffer = 1;
05962 
05963     /* If b is the current buffer, then yy_init_buffer was _probably_
05964      * called from yyrestart() or through yy_get_next_buffer.
05965      * In that case, we don't want to reset the lineno or column.
05966      */
05967     if (b != YY_CURRENT_BUFFER){
05968         b->yy_bs_lineno = 1;
05969         b->yy_bs_column = 0;
05970     }
05971 
05972         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
05973     
05974         errno = oerrno;
05975 }
05976 
05981     void yy_flush_buffer (YY_BUFFER_STATE  b )
05982 {
05983         if ( ! b )
05984                 return;
05985 
05986         b->yy_n_chars = 0;
05987 
05988         /* We always need two end-of-buffer characters.  The first causes
05989          * a transition to the end-of-buffer state.  The second causes
05990          * a jam in that state.
05991          */
05992         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
05993         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
05994 
05995         b->yy_buf_pos = &b->yy_ch_buf[0];
05996 
05997         b->yy_at_bol = 1;
05998         b->yy_buffer_status = YY_BUFFER_NEW;
05999 
06000         if ( b == YY_CURRENT_BUFFER )
06001                 yy_load_buffer_state( );
06002 }
06003 
06010 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
06011 {
06012         if (new_buffer == NULL)
06013                 return;
06014 
06015         yyensure_buffer_stack();
06016 
06017         /* This block is copied from yy_switch_to_buffer. */
06018         if ( YY_CURRENT_BUFFER )
06019                 {
06020                 /* Flush out information for old buffer. */
06021                 *(yy_c_buf_p) = (yy_hold_char);
06022                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
06023                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
06024                 }
06025 
06026         /* Only push if top exists. Otherwise, replace top. */
06027         if (YY_CURRENT_BUFFER)
06028                 (yy_buffer_stack_top)++;
06029         YY_CURRENT_BUFFER_LVALUE = new_buffer;
06030 
06031         /* copied from yy_switch_to_buffer. */
06032         yy_load_buffer_state( );
06033         (yy_did_buffer_switch_on_eof) = 1;
06034 }
06035 
06040 void yypop_buffer_state (void)
06041 {
06042         if (!YY_CURRENT_BUFFER)
06043                 return;
06044 
06045         yy_delete_buffer(YY_CURRENT_BUFFER );
06046         YY_CURRENT_BUFFER_LVALUE = NULL;
06047         if ((yy_buffer_stack_top) > 0)
06048                 --(yy_buffer_stack_top);
06049 
06050         if (YY_CURRENT_BUFFER) {
06051                 yy_load_buffer_state( );
06052                 (yy_did_buffer_switch_on_eof) = 1;
06053         }
06054 }
06055 
06056 /* Allocates the stack if it does not exist.
06057  *  Guarantees space for at least one push.
06058  */
06059 static void yyensure_buffer_stack (void)
06060 {
06061         int num_to_alloc;
06062     
06063         if (!(yy_buffer_stack)) {
06064 
06065                 /* First allocation is just for 2 elements, since we don't know if this
06066                  * scanner will even need a stack. We use 2 instead of 1 to avoid an
06067                  * immediate realloc on the next call.
06068          */
06069                 num_to_alloc = 1;
06070                 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
06071                                                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
06072                                                                 );
06073                 if ( ! (yy_buffer_stack) )
06074                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
06075                                                                   
06076                 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
06077                                 
06078                 (yy_buffer_stack_max) = num_to_alloc;
06079                 (yy_buffer_stack_top) = 0;
06080                 return;
06081         }
06082 
06083         if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
06084 
06085                 /* Increase the buffer to prepare for a possible push. */
06086                 int grow_size = 8 /* arbitrary grow size */;
06087 
06088                 num_to_alloc = (yy_buffer_stack_max) + grow_size;
06089                 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
06090                                                                 ((yy_buffer_stack),
06091                                                                 num_to_alloc * sizeof(struct yy_buffer_state*)
06092                                                                 );
06093                 if ( ! (yy_buffer_stack) )
06094                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
06095 
06096                 /* zero only the new slots.*/
06097                 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
06098                 (yy_buffer_stack_max) = num_to_alloc;
06099         }
06100 }
06101 
06108 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
06109 {
06110         YY_BUFFER_STATE b;
06111     
06112         if ( size < 2 ||
06113              base[size-2] != YY_END_OF_BUFFER_CHAR ||
06114              base[size-1] != YY_END_OF_BUFFER_CHAR )
06115                 /* They forgot to leave room for the EOB's. */
06116                 return 0;
06117 
06118         b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
06119         if ( ! b )
06120                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
06121 
06122         b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
06123         b->yy_buf_pos = b->yy_ch_buf = base;
06124         b->yy_is_our_buffer = 0;
06125         b->yy_input_file = 0;
06126         b->yy_n_chars = b->yy_buf_size;
06127         b->yy_is_interactive = 0;
06128         b->yy_at_bol = 1;
06129         b->yy_fill_buffer = 0;
06130         b->yy_buffer_status = YY_BUFFER_NEW;
06131 
06132         yy_switch_to_buffer(b  );
06133 
06134         return b;
06135 }
06136 
06145 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
06146 {
06147     
06148         return yy_scan_bytes(yystr,strlen(yystr) );
06149 }
06150 
06158 YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
06159 {
06160         YY_BUFFER_STATE b;
06161         char *buf;
06162         yy_size_t n;
06163         int i;
06164     
06165         /* Get memory for full buffer, including space for trailing EOB's. */
06166         n = _yybytes_len + 2;
06167         buf = (char *) yyalloc(n  );
06168         if ( ! buf )
06169                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
06170 
06171         for ( i = 0; i < _yybytes_len; ++i )
06172                 buf[i] = yybytes[i];
06173 
06174         buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
06175 
06176         b = yy_scan_buffer(buf,n );
06177         if ( ! b )
06178                 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
06179 
06180         /* It's okay to grow etc. this buffer, and we should throw it
06181          * away when we're done.
06182          */
06183         b->yy_is_our_buffer = 1;
06184 
06185         return b;
06186 }
06187 
06188     static void yy_push_state (int  new_state )
06189 {
06190         if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
06191                 {
06192                 yy_size_t new_size;
06193 
06194                 (yy_start_stack_depth) += YY_START_STACK_INCR;
06195                 new_size = (yy_start_stack_depth) * sizeof( int );
06196 
06197                 if ( ! (yy_start_stack) )
06198                         (yy_start_stack) = (int *) yyalloc(new_size  );
06199 
06200                 else
06201                         (yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
06202 
06203                 if ( ! (yy_start_stack) )
06204                         YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
06205                 }
06206 
06207         (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
06208 
06209         BEGIN(new_state);
06210 }
06211 
06212     static void yy_pop_state  (void)
06213 {
06214         if ( --(yy_start_stack_ptr) < 0 )
06215                 YY_FATAL_ERROR( "start-condition stack underflow" );
06216 
06217         BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
06218 }
06219 
06220 #ifndef YY_EXIT_FAILURE
06221 #define YY_EXIT_FAILURE 2
06222 #endif
06223 
06224 static void yy_fatal_error (yyconst char* msg )
06225 {
06226         (void) fprintf( stderr, "%s\n", msg );
06227         exit( YY_EXIT_FAILURE );
06228 }
06229 
06230 /* Redefine yyless() so it works in section 3 code. */
06231 
06232 #undef yyless
06233 #define yyless(n) \
06234         do \
06235                 { \
06236                 /* Undo effects of setting up yytext. */ \
06237         int yyless_macro_arg = (n); \
06238         YY_LESS_LINENO(yyless_macro_arg);\
06239                 yytext[yyleng] = (yy_hold_char); \
06240                 (yy_c_buf_p) = yytext + yyless_macro_arg; \
06241                 (yy_hold_char) = *(yy_c_buf_p); \
06242                 *(yy_c_buf_p) = '\0'; \
06243                 yyleng = yyless_macro_arg; \
06244                 } \
06245         while ( 0 )
06246 
06247 /* Accessor  methods (get/set functions) to struct members. */
06248 
06252 int yyget_lineno  (void)
06253 {
06254         
06255     return yylineno;
06256 }
06257 
06261 FILE *yyget_in  (void)
06262 {
06263         return yyin;
06264 }
06265 
06269 FILE *yyget_out  (void)
06270 {
06271         return yyout;
06272 }
06273 
06277 int yyget_leng  (void)
06278 {
06279         return yyleng;
06280 }
06281 
06286 char *yyget_text  (void)
06287 {
06288         return yytext;
06289 }
06290 
06295 void yyset_lineno (int  line_number )
06296 {
06297     
06298     yylineno = line_number;
06299 }
06300 
06307 void yyset_in (FILE *  in_str )
06308 {
06309         yyin = in_str ;
06310 }
06311 
06312 void yyset_out (FILE *  out_str )
06313 {
06314         yyout = out_str ;
06315 }
06316 
06317 int yyget_debug  (void)
06318 {
06319         return yy_flex_debug;
06320 }
06321 
06322 void yyset_debug (int  bdebug )
06323 {
06324         yy_flex_debug = bdebug ;
06325 }
06326 
06327 static int yy_init_globals (void)
06328 {
06329         /* Initialization is the same as for the non-reentrant scanner.
06330      * This function is called from yylex_destroy(), so don't allocate here.
06331      */
06332 
06333     (yy_buffer_stack) = 0;
06334     (yy_buffer_stack_top) = 0;
06335     (yy_buffer_stack_max) = 0;
06336     (yy_c_buf_p) = (char *) 0;
06337     (yy_init) = 0;
06338     (yy_start) = 0;
06339 
06340     (yy_start_stack_ptr) = 0;
06341     (yy_start_stack_depth) = 0;
06342     (yy_start_stack) =  NULL;
06343 
06344     (yy_state_buf) = 0;
06345     (yy_state_ptr) = 0;
06346     (yy_full_match) = 0;
06347     (yy_lp) = 0;
06348 
06349 /* Defined in main.c */
06350 #ifdef YY_STDINIT
06351     yyin = stdin;
06352     yyout = stdout;
06353 #else
06354     yyin = (FILE *) 0;
06355     yyout = (FILE *) 0;
06356 #endif
06357 
06358     /* For future reference: Set errno on error, since we are called by
06359      * yylex_init()
06360      */
06361     return 0;
06362 }
06363 
06364 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
06365 int yylex_destroy  (void)
06366 {
06367     
06368     /* Pop the buffer stack, destroying each element. */
06369         while(YY_CURRENT_BUFFER){
06370                 yy_delete_buffer(YY_CURRENT_BUFFER  );
06371                 YY_CURRENT_BUFFER_LVALUE = NULL;
06372                 yypop_buffer_state();
06373         }
06374 
06375         /* Destroy the stack itself. */
06376         yyfree((yy_buffer_stack) );
06377         (yy_buffer_stack) = NULL;
06378 
06379     /* Destroy the start condition stack. */
06380         yyfree((yy_start_stack)  );
06381         (yy_start_stack) = NULL;
06382 
06383     yyfree ( (yy_state_buf) );
06384     (yy_state_buf)  = NULL;
06385 
06386     /* Reset the globals. This is important in a non-reentrant scanner so the next time
06387      * yylex() is called, initialization will occur. */
06388     yy_init_globals( );
06389 
06390     return 0;
06391 }
06392 
06393 /*
06394  * Internal utility routines.
06395  */
06396 
06397 #ifndef yytext_ptr
06398 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
06399 {
06400         register int i;
06401         for ( i = 0; i < n; ++i )
06402                 s1[i] = s2[i];
06403 }
06404 #endif
06405 
06406 #ifdef YY_NEED_STRLEN
06407 static int yy_flex_strlen (yyconst char * s )
06408 {
06409         register int n;
06410         for ( n = 0; s[n]; ++n )
06411                 ;
06412 
06413         return n;
06414 }
06415 #endif
06416 
06417 void *yyalloc (yy_size_t  size )
06418 {
06419         return (void *) malloc( size );
06420 }
06421 
06422 void *yyrealloc  (void * ptr, yy_size_t  size )
06423 {
06424         /* The cast to (char *) in the following accommodates both
06425          * implementations that use char* generic pointers, and those
06426          * that use void* generic pointers.  It works with the latter
06427          * because both ANSI C and C++ allow castless assignment from
06428          * any pointer type to void*, and deal with argument conversions
06429          * as though doing an assignment.
06430          */
06431         return (void *) realloc( (char *) ptr, size );
06432 }
06433 
06434 void yyfree (void * ptr )
06435 {
06436         free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
06437 }
06438 
06439 #define YYTABLES_NAME "yytables"
06440 
06441 #line 259 "src/cfgparse.l"
06442 
06443 
06444