doctokenizer.cpp

Go to the documentation of this file.
00001 
00002 #line 3 "<stdout>"
00003 
00004 #define  YY_INT_ALIGNED short int
00005 
00006 /* A lexical scanner generated by flex */
00007 
00008 #define FLEX_SCANNER
00009 #define YY_FLEX_MAJOR_VERSION 2
00010 #define YY_FLEX_MINOR_VERSION 5
00011 #define YY_FLEX_SUBMINOR_VERSION 33
00012 #if YY_FLEX_SUBMINOR_VERSION > 0
00013 #define FLEX_BETA
00014 #endif
00015 
00016 /* First, we deal with  platform-specific or compiler-specific issues. */
00017 
00018 /* begin standard C headers. */
00019 #include <stdio.h>
00020 #include <string.h>
00021 #include <errno.h>
00022 #include <stdlib.h>
00023 
00024 /* end standard C headers. */
00025 
00026 /* flex integer type definitions */
00027 
00028 #ifndef FLEXINT_H
00029 #define FLEXINT_H
00030 
00031 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
00032 
00033 #if __STDC_VERSION__ >= 199901L
00034 
00035 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
00036  * if you want the limit (max/min) macros for int types. 
00037  */
00038 #ifndef __STDC_LIMIT_MACROS
00039 #define __STDC_LIMIT_MACROS 1
00040 #endif
00041 
00042 #include <inttypes.h>
00043 typedef int8_t flex_int8_t;
00044 typedef uint8_t flex_uint8_t;
00045 typedef int16_t flex_int16_t;
00046 typedef uint16_t flex_uint16_t;
00047 typedef int32_t flex_int32_t;
00048 typedef uint32_t flex_uint32_t;
00049 #else
00050 typedef signed char flex_int8_t;
00051 typedef short int flex_int16_t;
00052 typedef int flex_int32_t;
00053 typedef unsigned char flex_uint8_t; 
00054 typedef unsigned short int flex_uint16_t;
00055 typedef unsigned int flex_uint32_t;
00056 #endif /* ! C99 */
00057 
00058 /* Limits of integral types. */
00059 #ifndef INT8_MIN
00060 #define INT8_MIN               (-128)
00061 #endif
00062 #ifndef INT16_MIN
00063 #define INT16_MIN              (-32767-1)
00064 #endif
00065 #ifndef INT32_MIN
00066 #define INT32_MIN              (-2147483647-1)
00067 #endif
00068 #ifndef INT8_MAX
00069 #define INT8_MAX               (127)
00070 #endif
00071 #ifndef INT16_MAX
00072 #define INT16_MAX              (32767)
00073 #endif
00074 #ifndef INT32_MAX
00075 #define INT32_MAX              (2147483647)
00076 #endif
00077 #ifndef UINT8_MAX
00078 #define UINT8_MAX              (255U)
00079 #endif
00080 #ifndef UINT16_MAX
00081 #define UINT16_MAX             (65535U)
00082 #endif
00083 #ifndef UINT32_MAX
00084 #define UINT32_MAX             (4294967295U)
00085 #endif
00086 
00087 #endif /* ! FLEXINT_H */
00088 
00089 #ifdef __cplusplus
00090 
00091 /* The "const" storage-class-modifier is valid. */
00092 #define YY_USE_CONST
00093 
00094 #else   /* ! __cplusplus */
00095 
00096 #if __STDC__
00097 
00098 #define YY_USE_CONST
00099 
00100 #endif  /* __STDC__ */
00101 #endif  /* ! __cplusplus */
00102 
00103 #ifdef YY_USE_CONST
00104 #define yyconst const
00105 #else
00106 #define yyconst
00107 #endif
00108 
00109 /* Returned upon end-of-file. */
00110 #define YY_NULL 0
00111 
00112 /* Promotes a possibly negative, possibly signed char to an unsigned
00113  * integer for use as an array index.  If the signed char is negative,
00114  * we want to instead treat it as an 8-bit unsigned char, hence the
00115  * double cast.
00116  */
00117 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00118 
00119 /* Enter a start condition.  This macro really ought to take a parameter,
00120  * but we do it the disgusting crufty way forced on us by the ()-less
00121  * definition of BEGIN.
00122  */
00123 #define BEGIN (yy_start) = 1 + 2 *
00124 
00125 /* Translate the current start state into a value that can be later handed
00126  * to BEGIN to return to the state.  The YYSTATE alias is for lex
00127  * compatibility.
00128  */
00129 #define YY_START (((yy_start) - 1) / 2)
00130 #define YYSTATE YY_START
00131 
00132 /* Action number for EOF rule of a given start state. */
00133 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00134 
00135 /* Special action meaning "start processing a new file". */
00136 #define YY_NEW_FILE doctokenizerYYrestart(doctokenizerYYin  )
00137 
00138 #define YY_END_OF_BUFFER_CHAR 0
00139 
00140 /* Size of default input buffer. */
00141 #ifndef YY_BUF_SIZE
00142 #define YY_BUF_SIZE 16384
00143 #endif
00144 
00145 /* The state buf must be large enough to hold one state per character in the main buffer.
00146  */
00147 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
00148 
00149 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
00150 #define YY_TYPEDEF_YY_BUFFER_STATE
00151 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00152 #endif
00153 
00154 extern int doctokenizerYYleng;
00155 
00156 extern FILE *doctokenizerYYin, *doctokenizerYYout;
00157 
00158 #define EOB_ACT_CONTINUE_SCAN 0
00159 #define EOB_ACT_END_OF_FILE 1
00160 #define EOB_ACT_LAST_MATCH 2
00161 
00162     /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
00163      *       access to the local variable yy_act. Since yyless() is a macro, it would break
00164      *       existing scanners that call yyless() from OUTSIDE doctokenizerYYlex. 
00165      *       One obvious solution it to make yy_act a global. I tried that, and saw
00166      *       a 5% performance hit in a non-doctokenizerYYlineno scanner, because yy_act is
00167      *       normally declared as a register variable-- so it is not worth it.
00168      */
00169     #define  YY_LESS_LINENO(n) \
00170             do { \
00171                 int yyl;\
00172                 for ( yyl = n; yyl < doctokenizerYYleng; ++yyl )\
00173                     if ( doctokenizerYYtext[yyl] == '\n' )\
00174                         --doctokenizerYYlineno;\
00175             }while(0)
00176     
00177 /* Return all but the first "n" matched characters back to the input stream. */
00178 #define yyless(n) \
00179         do \
00180                 { \
00181                 /* Undo effects of setting up doctokenizerYYtext. */ \
00182         int yyless_macro_arg = (n); \
00183         YY_LESS_LINENO(yyless_macro_arg);\
00184                 *yy_cp = (yy_hold_char); \
00185                 YY_RESTORE_YY_MORE_OFFSET \
00186                 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
00187                 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */ \
00188                 } \
00189         while ( 0 )
00190 
00191 #define unput(c) yyunput( c, (yytext_ptr)  )
00192 
00193 /* The following is because we cannot portably get our hands on size_t
00194  * (without autoconf's help, which isn't available because we want
00195  * flex-generated scanners to compile on their own).
00196  */
00197 
00198 #ifndef YY_TYPEDEF_YY_SIZE_T
00199 #define YY_TYPEDEF_YY_SIZE_T
00200 typedef unsigned int yy_size_t;
00201 #endif
00202 
00203 #ifndef YY_STRUCT_YY_BUFFER_STATE
00204 #define YY_STRUCT_YY_BUFFER_STATE
00205 struct yy_buffer_state
00206         {
00207         FILE *yy_input_file;
00208 
00209         char *yy_ch_buf;                /* input buffer */
00210         char *yy_buf_pos;               /* current position in input buffer */
00211 
00212         /* Size of input buffer in bytes, not including room for EOB
00213          * characters.
00214          */
00215         yy_size_t yy_buf_size;
00216 
00217         /* Number of characters read into yy_ch_buf, not including EOB
00218          * characters.
00219          */
00220         int yy_n_chars;
00221 
00222         /* Whether we "own" the buffer - i.e., we know we created it,
00223          * and can realloc() it to grow it, and should free() it to
00224          * delete it.
00225          */
00226         int yy_is_our_buffer;
00227 
00228         /* Whether this is an "interactive" input source; if so, and
00229          * if we're using stdio for input, then we want to use getc()
00230          * instead of fread(), to make sure we stop fetching input after
00231          * each newline.
00232          */
00233         int yy_is_interactive;
00234 
00235         /* Whether we're considered to be at the beginning of a line.
00236          * If so, '^' rules will be active on the next match, otherwise
00237          * not.
00238          */
00239         int yy_at_bol;
00240 
00241     int yy_bs_lineno; 
00242     int yy_bs_column; 
00244         /* Whether to try to fill the input buffer when we reach the
00245          * end of it.
00246          */
00247         int yy_fill_buffer;
00248 
00249         int yy_buffer_status;
00250 
00251 #define YY_BUFFER_NEW 0
00252 #define YY_BUFFER_NORMAL 1
00253         /* When an EOF's been seen but there's still some text to process
00254          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
00255          * shouldn't try reading from the input source any more.  We might
00256          * still have a bunch of tokens to match, though, because of
00257          * possible backing-up.
00258          *
00259          * When we actually see the EOF, we change the status to "new"
00260          * (via doctokenizerYYrestart()), so that the user can continue scanning by
00261          * just pointing doctokenizerYYin at a new input file.
00262          */
00263 #define YY_BUFFER_EOF_PENDING 2
00264 
00265         };
00266 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
00267 
00268 /* Stack of input buffers. */
00269 static size_t yy_buffer_stack_top = 0; 
00270 static size_t yy_buffer_stack_max = 0; 
00271 static YY_BUFFER_STATE * yy_buffer_stack = 0; 
00273 /* We provide macros for accessing buffer states in case in the
00274  * future we want to put the buffer states in a more general
00275  * "scanner state".
00276  *
00277  * Returns the top of the stack, or NULL.
00278  */
00279 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
00280                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
00281                           : NULL)
00282 
00283 /* Same as previous macro, but useful when we know that the buffer stack is not
00284  * NULL or when we need an lvalue. For internal use only.
00285  */
00286 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
00287 
00288 /* yy_hold_char holds the character lost when doctokenizerYYtext is formed. */
00289 static char yy_hold_char;
00290 static int yy_n_chars;          /* number of characters read into yy_ch_buf */
00291 int doctokenizerYYleng;
00292 
00293 /* Points to current character in buffer. */
00294 static char *yy_c_buf_p = (char *) 0;
00295 static int yy_init = 0;         /* whether we need to initialize */
00296 static int yy_start = 0;        /* start state number */
00297 
00298 /* Flag which is used to allow doctokenizerYYwrap()'s to do buffer switches
00299  * instead of setting up a fresh doctokenizerYYin.  A bit of a hack ...
00300  */
00301 static int yy_did_buffer_switch_on_eof;
00302 
00303 void doctokenizerYYrestart (FILE *input_file  );
00304 void doctokenizerYY_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
00305 YY_BUFFER_STATE doctokenizerYY_create_buffer (FILE *file,int size  );
00306 void doctokenizerYY_delete_buffer (YY_BUFFER_STATE b  );
00307 void doctokenizerYY_flush_buffer (YY_BUFFER_STATE b  );
00308 void doctokenizerYYpush_buffer_state (YY_BUFFER_STATE new_buffer  );
00309 void doctokenizerYYpop_buffer_state (void );
00310 
00311 static void doctokenizerYYensure_buffer_stack (void );
00312 static void doctokenizerYY_load_buffer_state (void );
00313 static void doctokenizerYY_init_buffer (YY_BUFFER_STATE b,FILE *file  );
00314 
00315 #define YY_FLUSH_BUFFER doctokenizerYY_flush_buffer(YY_CURRENT_BUFFER )
00316 
00317 YY_BUFFER_STATE doctokenizerYY_scan_buffer (char *base,yy_size_t size  );
00318 YY_BUFFER_STATE doctokenizerYY_scan_string (yyconst char *yy_str  );
00319 YY_BUFFER_STATE doctokenizerYY_scan_bytes (yyconst char *bytes,int len  );
00320 
00321 void *doctokenizerYYalloc (yy_size_t  );
00322 void *doctokenizerYYrealloc (void *,yy_size_t  );
00323 void doctokenizerYYfree (void *  );
00324 
00325 #define yy_new_buffer doctokenizerYY_create_buffer
00326 
00327 #define yy_set_interactive(is_interactive) \
00328         { \
00329         if ( ! YY_CURRENT_BUFFER ){ \
00330         doctokenizerYYensure_buffer_stack (); \
00331                 YY_CURRENT_BUFFER_LVALUE =    \
00332             doctokenizerYY_create_buffer(doctokenizerYYin,YY_BUF_SIZE ); \
00333         } \
00334         YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
00335         }
00336 
00337 #define yy_set_bol(at_bol) \
00338         { \
00339         if ( ! YY_CURRENT_BUFFER ){\
00340         doctokenizerYYensure_buffer_stack (); \
00341                 YY_CURRENT_BUFFER_LVALUE =    \
00342             doctokenizerYY_create_buffer(doctokenizerYYin,YY_BUF_SIZE ); \
00343         } \
00344         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
00345         }
00346 
00347 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
00348 
00349 /* Begin user sect3 */
00350 
00351 #define doctokenizerYYwrap(n) 1
00352 #define YY_SKIP_YYWRAP
00353 
00354 typedef unsigned char YY_CHAR;
00355 
00356 FILE *doctokenizerYYin = (FILE *) 0, *doctokenizerYYout = (FILE *) 0;
00357 
00358 typedef int yy_state_type;
00359 
00360 extern int doctokenizerYYlineno;
00361 
00362 int doctokenizerYYlineno = 1;
00363 
00364 extern char *doctokenizerYYtext;
00365 #define yytext_ptr doctokenizerYYtext
00366 
00367 static yy_state_type yy_get_previous_state (void );
00368 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
00369 static int yy_get_next_buffer (void );
00370 static void yy_fatal_error (yyconst char msg[]  );
00371 
00372 /* Done after the current pattern has been matched and before the
00373  * corresponding action - sets up doctokenizerYYtext.
00374  */
00375 #define YY_DO_BEFORE_ACTION \
00376         (yytext_ptr) = yy_bp; \
00377         doctokenizerYYleng = (size_t) (yy_cp - yy_bp); \
00378         (yy_hold_char) = *yy_cp; \
00379         *yy_cp = '\0'; \
00380         (yy_c_buf_p) = yy_cp;
00381 
00382 #define YY_NUM_RULES 152
00383 #define YY_END_OF_BUFFER 153
00384 /* This struct is not used in this scanner,
00385    but its presence is necessary. */
00386 struct yy_trans_info
00387         {
00388         flex_int32_t yy_verify;
00389         flex_int32_t yy_nxt;
00390         };
00391 static yyconst flex_int16_t yy_acclist[1234] =
00392     {   0,
00393       112,  112,  153,  151,  152,  149,  152,  150,  151,  152,
00394        26,  151,  152,   29,  151,  152,   30,  149,  152,    1,
00395        29,  151,  152,   26,  151,  152,  150,  151,  152,  150,
00396       151,  152,  150,  151,  152,  150,  151,  152,   27,  151,
00397       152,   26,  151,  152,   26,  151,  152,   27,  151,  152,
00398        27,  151,  152,  150,  151,  152,  150,  151,  152,   21,
00399        26,  151,  152,16403,  150,  151,  152,   21,   26,  151,
00400       152,16403,   21,   26,  151,  152,16403,   21,   26,  151,
00401       152,16403,   21,   26,  151,  152,16403,   26,  151,  152,
00402        26,  151,  152,   26,  150,  151,  152,   29,  151,  152,
00403 
00404         1,   29,  151,  152,   26,  151,  152,   26,  151,  152,
00405        27,  151,  152,   26,  151,  152,  117,  118,  151,  152,
00406       117,  118,  150,  151,  152,  118,  151,  152,   68,  151,
00407       152,   67,   68,  151,  152,   69,  149,  152,   66,   68,
00408       151,  152,   68,  150,  151,  152,   68,  150,  151,  152,
00409        74,  151,  152,   76,  151,  152,   77,  149,  152,   74,
00410       151,  152,  150,  151,  152,  150,  151,  152,   75,  151,
00411       152,  150,  151,  152,  150,  151,  152,   74,  151,  152,
00412        74,  150,  151,  152,   81,  151,  152,   83,  151,  152,
00413        85,  149,  152,   84,  151,  152,  150,  151,  152,  150,
00414 
00415       151,  152,   82,  151,  152,  150,  151,  152,   81,  150,
00416       151,  152,   88,  151,  152,   88,  151,  152,   89,  149,
00417       152,   88,  150,  151,  152,   88,  151,  152,   87,   88,
00418       151,  152,   87,   88,  150,  151,  152,   35,   37,  151,
00419       152,   35,   37,  151,  152,   36,  149,  152,   35,   37,
00420       150,  151,  152,   37,  150,  151,  152,   37,  150,  151,
00421       152,   35,   37,  151,  152,   36,  149,  152,   37,  150,
00422       151,  152,   39,   41,  151,  152,   40,  149,  152,   39,
00423        41,  150,  151,  152,   41,  150,  151,  152,   41,  150,
00424       151,  152,   43,   45,  151,  152,   44,  149,  152,   43,
00425 
00426        45,  150,  151,  152,   45,  150,  151,  152,   45,  150,
00427       151,  152,   47,   49,  151,  152,   48,  149,  152,   47,
00428        49,  150,  151,  152,   49,  150,  151,  152,   51,   53,
00429       151,  152,   52,  149,  152,   51,   53,  150,  151,  152,
00430        53,  150,  151,  152,   55,   57,  151,  152,   56,  149,
00431       152,   55,   57,  150,  151,  152,   57,  150,  151,  152,
00432        59,   61,  151,  152,   60,  149,  152,   59,   61,  150,
00433       151,  152,   61,  150,  151,  152,   63,   65,  151,  152,
00434        64,  149,  152,   63,   65,  150,  151,  152,   65,  150,
00435       151,  152,  109,  151,  152,  111,  151,  152,  111,  149,
00436 
00437       152,  109,  111,  151,  152,  109,  151,  152,  109,  150,
00438       151,  152,  110,  151,  152,  105,  151,  152,  104,  151,
00439       152,  151,  152,  151,  152,  112,  151,  152,  151,  152,
00440       151,  152,  150,  151,  152,  114,  151,  152,  114,  150,
00441       151,  152,  115,  151,  152,  115,  150,  151,  152,   94,
00442       151,  152,   91,   94,  151,  152,   93,  149,  152,   94,
00443       150,  151,  152,   94,  150,  151,  152,   94,  151,  152,
00444        90,   94,  151,  152,  100,  151,  152,  102,  151,  152,
00445       103,  149,  152,  103,  151,  152,  150,  151,  152,  150,
00446       151,  152,  101,  151,  152,  150,  151,  152,  150,  151,
00447 
00448       152,  100,  150,  151,  152,  151,  152,   95,  150,  151,
00449       152,   95,  151,  152,   29,  151,  152,   30,  149,  152,
00450        31,  150,  151,  152,   31,  150,  151,  152,   31,  150,
00451       151,  152,   26,  151,  152,   26,   31,  150,  151,  152,
00452       119,  151,  152,  120,  149,  152,  119,  150,  151,  152,
00453       121,  141,  151,  152,  142,  149,  152,  121,  141,  150,
00454       151,  152,  121,  141,  150,  151,  152,  141,  150,  151,
00455       152,  141,  150,  151,  152,  148,  151,  152,  148,  150,
00456       151,  152,  143,  148,  151,  152,  145,  148,  151,  152,
00457       146,  148,  151,  152,  147,  149,  152,  146,  148,  150,
00458 
00459       151,  152,  138,  139,  151,  152,  138,  140,  149,  152,
00460       138,  139,  150,  151,  152,  139,  151,  152,  139,  151,
00461       152,  139,  150,  151,  152,   26,   29,   30,   30,   32,
00462        26,   21,   21,   26,   26,   26,   11,   10,   10,   10,
00463        10,   21,   26,16403,   21,   10,   21,   26,16403,   21,
00464        26,16403,   21,   26,16403,   21,   26,16403,   21,   26,
00465     16403,   21,   26,   29,   26,   26,    2,    4,   26,  117,
00466        67,   74,   76,   74,   73,   72,   72,   81,   83,   80,
00467        79,   79,   86,   87,   35,   35,   35,   39,   43,   47,
00468        51,   55,   59,   63,  109,  110,  109,  109,  110,  104,
00469 
00470       106,  112,  112,  114,  115,  115,  115,  115,   92,   90,
00471        90,   90,  100,  102,   99,   98,   98,   96,   95,   29,
00472        30,   30,   26,  121,  121,  122,  143,  144,  145,  146,
00473       147,  138,  136,    3,    5,   26,   21,   21,   21,   21,
00474        18,   24,   26,   17,   10,   10,   10,   21,   21,   22,
00475        21,   24,   21,   24,   21,   10,   21,   26,16403,   21,
00476        26,16403,   21,   26,16403,   21,   26,16403,   21,   26,
00477     16403,   21,   26,  116,   74,   70,   71,   72,   78,   79,
00478        86,  108,  109,  108,  113,  112,  115,  115,  115,  115,
00479       115,  115,  115,   90,   97,   98,   26,  121,  137,  136,
00480 
00481        21,   21,   21,   21,   21,   16,  107,   10,   10,   10,
00482        21,   21,   21,   21,   24,   21,   24,   21, 8211,   21,
00483        10,   21,   26,16403,   21,   21,   26,16403,   21,   26,
00484     16403,   21,   26,16403,   21,   72,   79,  115,  115,  115,
00485       115,  115,   98,   26,  121,  135,   21,   21,   21,   21,
00486        15,   24,   10,   10,   10,   21,   21,   21,   21,   21,
00487        24,   21,   24,   21,   24, 8211,   20,   21,   10,   13,
00488        13,   13,   21,   26,16403,   21,   26,16403,   72,   79,
00489       115,  115,  115,  115,   98,   26,  129,  130,   21,   21,
00490        21,   21,   20,   21,   21,   14,   10,   10,   21,   21,
00491 
00492        21,   21,   24,   21,   24,   21,   24,   20,   10,   13,
00493        21,   13,   21,   13,   13,   13,   13,   21,   21,   26,
00494     16403,    6,   20,   21,   72,   79,  115,  115,  115,  115,
00495        98,   26,  134,   21,   21,   21,   21,    9,   10,   21,
00496        20,   21,   21,   21,   24,   21,   24,   10,   13,   13,
00497        13,   21,   13,   21,   13,   21,   13,   21,   13,   13,
00498        13,   13,   21,   26,16403,   72,   79,   34,   58,   62,
00499       115,  115,  115,  115,   98,   26,   21,   20,   21,   21,
00500        21,   10,   21,   21,   21,   24,   21,   24,    8,   10,
00501        13,   21,   13,   21,   13,   22,   13,   13,   21,   13,
00502 
00503        21,   13,   13,   22,   13,   21,   26,16403,   72,   79,
00504        33,  115,  115,  115,  115,   98,   26,  123,   21,   21,
00505        21,   10,   21,   21,   25,   22,   25,   21,   24,   21,
00506        24,   13,   21,   13,   13,   21,   13,   13,   21,   13,
00507        21,   13,   22,   13,   13,   13,   26,   26,   26,   26,
00508        26,   26,   26,   26,   26,   72,   79,  115,  115,   90,
00509        98,  124,  133,   21,   21,   23,   23,   23,   23,   23,
00510        23,   23,   23,   23,   23,   23,   23,   23,   12,   10,
00511        21,   21,   21,   24,   21,   24,   13,   21,   13,   21,
00512        13,   13,   22,   26,   26,   72,   79,   98,  131,  128,
00513 
00514        21,   21,   23,   23,   23,   23,   23,   23,   23,   23,
00515        23,   23,   23,   23,   23,   22,   23,   23,   23,   23,
00516        21,   21,   24,   13,   21,   13,   21,   13,   13,   23,
00517        21,   28, 8211,   21,   28,   42,   50,   28,  132,  127,
00518        21,   23,   23,   23,   23,   23,   23,   23,   23,   23,
00519        23,   23,   23,   23,   23,   23,   23,   23,   23,   21,
00520        21,   24,   13,   21,   13,   21,   13,   13, 8211,   20,
00521        21,   28,   38,   54,  125,   21,   23,   23,   23,   23,
00522        23,   13,   21,   13,   21,   13,   13,    7,   46,   13,
00523        21,   13,   13,   13,   13,   13,   13,   13,   13,   25,
00524 
00525        22,   25,   13,   25,   25,   13,   13,   21,   13,   22,
00526        13,   13,   13,  126,   23,   13,   23,   13,   13,   13,
00527        13,   23,   23,   23,   13,   13,   23,   23,   23,   13,
00528        13,   13,   13
00529     } ;
00530 
00531 static yyconst flex_int16_t yy_accept[1459] =
00532     {   0,
00533         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00534         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00535         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00536         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00537         1,    2,    3,    3,    3,    3,    3,    3,    3,    3,
00538         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
00539         3,    3,    3,    3,    3,    3,    3,    4,    6,    8,
00540        11,   14,   17,   20,   24,   27,   30,   33,   36,   39,
00541        42,   45,   48,   51,   54,   57,   60,   65,   68,   73,
00542        78,   83,   88,   91,   94,   98,  101,  105,  108,  111,
00543 
00544       114,  117,  121,  126,  129,  132,  136,  139,  143,  147,
00545       151,  154,  157,  160,  163,  166,  169,  172,  175,  178,
00546       181,  185,  188,  191,  194,  197,  200,  203,  206,  209,
00547       213,  216,  219,  222,  226,  229,  233,  238,  242,  246,
00548       249,  254,  258,  262,  266,  269,  273,  277,  280,  285,
00549       289,  293,  297,  300,  305,  309,  313,  317,  320,  325,
00550       329,  333,  336,  341,  345,  349,  352,  357,  361,  365,
00551       368,  373,  377,  381,  384,  389,  393,  396,  399,  402,
00552       406,  409,  413,  416,  419,  422,  424,  426,  429,  431,
00553       433,  436,  439,  443,  446,  450,  453,  457,  460,  464,
00554 
00555       468,  471,  475,  478,  481,  484,  487,  490,  493,  496,
00556       499,  502,  506,  508,  512,  515,  518,  521,  525,  529,
00557       533,  536,  541,  544,  547,  551,  555,  558,  563,  568,
00558       572,  576,  579,  583,  587,  591,  595,  598,  603,  607,
00559       611,  616,  619,  622,  626,  627,  628,  629,  630,  631,
00560       631,  631,  631,  631,  632,  632,  633,  634,  634,  634,
00561       634,  634,  635,  635,  635,  636,  636,  637,  637,  637,
00562       637,  637,  637,  638,  639,  640,  641,  642,  642,  642,
00563       642,  645,  646,  646,  647,  650,  653,  656,  659,  662,
00564       662,  662,  664,  665,  665,  665,  665,  665,  665,  666,
00565 
00566       667,  668,  668,  668,  669,  670,  671,  671,  672,  673,
00567       674,  675,  675,  675,  675,  675,  676,  677,  678,  679,
00568       680,  680,  681,  682,  683,  683,  683,  683,  683,  684,
00569       685,  686,  687,  687,  687,  687,  688,  688,  688,  688,
00570       689,  689,  690,  690,  691,  691,  692,  692,  693,  693,
00571       694,  694,  695,  695,  696,  696,  697,  698,  699,  699,
00572       700,  701,  702,  702,  702,  703,  703,  703,  704,  704,
00573       705,  706,  706,  707,  708,  709,  709,  710,  711,  711,
00574       711,  711,  712,  713,  714,  715,  715,  716,  717,  718,
00575       718,  719,  720,  721,  722,  723,  724,  725,  726,  727,
00576 
00577       727,  727,  727,  727,  727,  727,  727,  727,  727,  727,
00578       728,  729,  730,  731,  732,  733,  733,  734,  734,  734,
00579       735,  735,  735,  736,  736,  737,  737,  738,  739,  739,
00580       740,  741,  741,  741,  741,  741,  742,  742,  743,  744,
00581       744,  744,  744,  744,  744,  745,  746,  747,  748,  749,
00582       750,  750,  751,  753,  755,  755,  755,  755,  756,  756,
00583       756,  756,  756,  756,  756,  756,  756,  756,  756,  756,
00584       756,  756,  756,  756,  756,  756,  756,  756,  756,  756,
00585       756,  756,  756,  756,  756,  756,  756,  756,  756,  757,
00586       760,  763,  766,  769,  772,  772,  772,  774,  774,  774,
00587 
00588       774,  775,  776,  776,  777,  777,  777,  777,  778,  779,
00589       779,  780,  781,  782,  782,  782,  782,  782,  782,  782,
00590       782,  782,  782,  784,  785,  786,  787,  787,  787,  787,
00591       787,  788,  788,  788,  789,  790,  791,  792,  793,  794,
00592       794,  795,  795,  796,  797,  798,  799,  799,  799,  799,
00593       799,  799,  799,  799,  799,  799,  799,  799,  800,  801,
00594       801,  802,  803,  803,  804,  804,  805,  806,  807,  807,
00595       807,  807,  807,  808,  808,  809,  810,  811,  811,  812,
00596       813,  813,  814,  814,  814,  814,  814,  816,  818,  818,
00597       818,  819,  819,  821,  821,  821,  821,  821,  821,  821,
00598 
00599       821,  821,  821,  821,  821,  821,  821,  821,  821,  821,
00600       821,  821,  821,  821,  821,  821,  821,  821,  821,  822,
00601       825,  826,  829,  832,  835,  835,  835,  835,  836,  836,
00602       836,  837,  838,  838,  838,  838,  838,  838,  838,  838,
00603       838,  838,  838,  838,  839,  839,  839,  840,  841,  842,
00604       843,  843,  843,  843,  844,  845,  847,  847,  847,  847,
00605       847,  847,  847,  847,  847,  847,  847,  847,  847,  848,
00606       849,  849,  850,  850,  850,  851,  852,  852,  853,  853,
00607       853,  853,  854,  855,  856,  857,  858,  858,  859,  859,
00608       860,  860,  860,  862,  864,  866,  866,  866,  866,  866,
00609 
00610       866,  866,  866,  869,  869,  869,  869,  869,  869,  869,
00611       870,  871,  872,  873,  876,  879,  879,  879,  879,  879,
00612       879,  879,  880,  881,  881,  881,  881,  881,  881,  881,
00613       881,  881,  881,  881,  881,  881,  881,  882,  883,  884,
00614       885,  885,  885,  886,  887,  887,  887,  888,  888,  888,
00615       889,  889,  889,  889,  889,  889,  890,  891,  891,  892,
00616       892,  893,  895,  896,  897,  897,  897,  897,  897,  897,
00617       898,  899,  900,  900,  901,  901,  902,  902,  902,  904,
00618       906,  908,  909,  909,  909,  909,  909,  909,  909,  909,
00619       909,  909,  909,  910,  910,  912,  914,  915,  915,  916,
00620 
00621       916,  917,  919,  922,  922,  923,  925,  925,  925,  925,
00622       925,  926,  927,  927,  927,  927,  927,  927,  927,  927,
00623       927,  927,  927,  927,  927,  927,  928,  929,  930,  931,
00624       931,  931,  932,  933,  933,  934,  934,  934,  934,  934,
00625       934,  934,  934,  934,  935,  935,  936,  936,  937,  938,
00626       938,  938,  938,  938,  939,  939,  939,  940,  941,  943,
00627       944,  944,  944,  946,  948,  948,  948,  948,  948,  948,
00628       948,  949,  949,  950,  951,  951,  953,  955,  957,  959,
00629       960,  961,  962,  962,  962,  963,  966,  966,  966,  966,
00630       966,  966,  967,  968,  968,  969,  969,  969,  969,  969,
00631 
00632       969,  970,  971,  971,  971,  971,  971,  972,  973,  974,
00633       975,  975,  975,  976,  977,  977,  977,  977,  977,  977,
00634       977,  977,  977,  977,  978,  980,  981,  982,  982,  982,
00635       982,  983,  984,  985,  985,  985,  987,  989,  989,  989,
00636       991,  993,  995,  995,  997,  998, 1000, 1002, 1002, 1003,
00637      1005, 1006, 1009, 1009, 1010, 1011, 1012, 1012, 1012, 1012,
00638      1012, 1012, 1013, 1013, 1013, 1013, 1014, 1015, 1016, 1016,
00639      1016, 1017, 1018, 1019, 1019, 1019, 1019, 1019, 1019, 1019,
00640      1019, 1019, 1020, 1021, 1022, 1022, 1022, 1023, 1024, 1025,
00641      1026, 1028, 1028, 1030, 1032, 1034, 1035, 1037, 1038, 1040,
00642 
00643      1042, 1043, 1044, 1044, 1045, 1046, 1047, 1047, 1048, 1048,
00644      1048, 1048, 1049, 1050, 1050, 1051, 1052, 1052, 1053, 1053,
00645      1053, 1054, 1055, 1056, 1056, 1057, 1058, 1058, 1058, 1058,
00646      1058, 1058, 1058, 1059, 1059, 1060, 1061, 1061, 1062, 1062,
00647      1062, 1062, 1062, 1062, 1063, 1063, 1063, 1063, 1064, 1065,
00648      1066, 1066, 1067, 1068, 1069, 1069, 1070, 1071, 1072, 1073,
00649      1074, 1075, 1076, 1077, 1077, 1078, 1079, 1079, 1079, 1080,
00650      1080, 1081, 1082, 1083, 1083, 1083, 1083, 1083, 1085, 1087,
00651      1089, 1091, 1092, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
00652      1093, 1093, 1093, 1093, 1093, 1093, 1093, 1094, 1095, 1096,
00653 
00654      1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096,
00655      1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096,
00656      1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096,
00657      1096, 1096, 1096, 1096, 1096, 1097, 1098, 1098, 1098, 1098,
00658      1098, 1098, 1098, 1098, 1099, 1099, 1100, 1100, 1100, 1100,
00659      1100, 1101, 1102, 1103, 1103, 1103, 1104, 1105, 1106, 1106,
00660      1107, 1108, 1109, 1110, 1111, 1112, 1113, 1113, 1114, 1114,
00661      1114, 1115, 1116, 1116, 1118, 1119, 1120, 1121, 1121, 1121,
00662      1121, 1121, 1122, 1122, 1122, 1122, 1122, 1124, 1124, 1124,
00663      1126, 1128, 1129, 1130, 1130, 1130, 1130, 1131, 1133, 1136,
00664 
00665      1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136,
00666      1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136,
00667      1136, 1136, 1136, 1136, 1136, 1136, 1136, 1137, 1137, 1138,
00668      1138, 1139, 1140, 1141, 1141, 1141, 1142, 1143, 1143, 1143,
00669      1143, 1143, 1144, 1145, 1146, 1146, 1147, 1148, 1149, 1150,
00670      1151, 1152, 1153, 1153, 1154, 1154, 1154, 1155, 1156, 1156,
00671      1157, 1158, 1159, 1159, 1159, 1159, 1160, 1160, 1160, 1160,
00672      1161, 1161, 1161, 1161, 1163, 1163, 1165, 1167, 1168, 1169,
00673      1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169,
00674      1169, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1174,
00675 
00676      1174, 1175, 1176, 1176, 1177, 1177, 1178, 1179, 1180, 1180,
00677      1181, 1181, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1184,
00678      1186, 1187, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188,
00679      1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1189,
00680      1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190,
00681      1190, 1190, 1190, 1190, 1190, 1190, 1190, 1192, 1193, 1194,
00682      1195, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1203, 1205,
00683      1206, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207,
00684      1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207,
00685      1207, 1209, 1209, 1211, 1211, 1212, 1213, 1214, 1214, 1214,
00686 
00687      1214, 1214, 1214, 1215, 1215, 1215, 1215, 1215, 1216, 1216,
00688      1216, 1216, 1216, 1218, 1219, 1220, 1220, 1220, 1220, 1220,
00689      1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1221,
00690      1222, 1222, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1224,
00691      1225, 1225, 1226, 1227, 1227, 1228, 1228, 1229, 1229, 1230,
00692      1230, 1231, 1232, 1232, 1232, 1233, 1234, 1234
00693     } ;
00694 
00695 static yyconst flex_int32_t yy_ec[256] =
00696     {   0,
00697         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
00698         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
00699         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00700         1,    5,    6,    7,    8,    9,   10,   11,   12,   13,
00701        14,   15,   16,   17,   18,   19,   20,   21,   21,   21,
00702        21,   21,   21,   21,   21,   21,   21,   22,   23,   24,
00703        25,   26,   27,   28,   29,   30,   31,   32,   33,   34,
00704        35,   36,   37,   38,   39,   40,   41,   42,   43,   44,
00705        38,   45,   46,   47,   48,   49,   38,   38,   38,   38,
00706        50,   51,   52,   53,   54,    1,   55,   56,   57,   58,
00707 
00708        59,   60,   61,   62,   63,   38,   64,   65,   66,   67,
00709        68,   69,   38,   70,   71,   72,   73,   74,   75,   76,
00710        77,   38,   78,   79,   80,   81,    1,    1,    1,    1,
00711         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00712         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00713         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00714         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00715         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00716         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00717         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00718 
00719         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00720         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00721         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00722         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00723         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00724         1,    1,    1,    1,    1
00725     } ;
00726 
00727 static yyconst flex_int32_t yy_meta[82] =
00728     {   0,
00729         1,    2,    3,    4,    2,    5,    6,    7,    8,    9,
00730        10,   11,   12,   13,   14,   15,   16,   17,   18,   19,
00731        20,   21,   22,   23,   24,   25,   26,   27,   28,   28,
00732        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
00733        28,   28,   28,   28,   28,   28,   28,   28,   28,   29,
00734        30,   31,   32,   28,   28,   28,   28,   28,   28,   28,
00735        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
00736        28,   28,   28,   28,   28,   28,   28,   33,   32,   34,
00737        35
00738     } ;
00739 
00740 static yyconst flex_int16_t yy_base[1860] =
00741     {   0,
00742         0,    9,   90,   25,  169,  180,  260,  340,  420,  500,
00743       580,  660,  741,    0,  821,  901,  981, 1061, 1141, 1221,
00744       191,  202,  213,  249,  271,  282,  293,  329,  351,  375,
00745       385,  465,  545,  625, 1301, 1381, 1462,    0,  832,  856,
00746      1543,    0,  865,  930, 1623, 1703, 1784,    0, 1864, 1944,
00747      2025, 2106, 2186, 2266,  952, 1010, 1032, 1090, 2347,    0,
00748      2428,    0, 1112, 1170, 2509,    0, 5539,20917,20917,20917,
00749         0,    2,   44,   11, 2589,    1, 5525,    0,    0,20917,
00750      1254, 2669, 5503, 5506,   16, 1146, 2750, 2824, 2905,    2,
00751         7,    4,   50,20917, 2986,  477,  557,  230, 3067,  412,
00752 
00753      5507,    0,    0, 5507,20917,   29,20917,20917,20917, 5518,
00754         0,   36,20917, 3147,    0,    0,20917, 5503, 1289,20917,
00755         0,    0,   37,20917,20917,    0,    0,20917, 1313,    0,
00756     20917,   81,20917,20917,  171,    0,    0,    0,  455,  535,
00757         0,20917, 5463,  310,  322, 5501,    0,20917,    0, 5507,
00758      5460,    0,20917,    0,20917, 5459,    0,20917,    0, 5457,
00759         0,20917,    0, 5456,    0,20917,    0, 5455,    0,20917,
00760         0, 5454,    0,20917,    0, 5453,    0,  402,  447,  482,
00761        51,    0,  367,20917,    0,  528,    0,  443,  187,  523,
00762       590,    0,    0,  635,  641,20917,  563,  611,    0,20917,
00763 
00764      5489,  677,    0,   70,20917,20917,    0,    0,20917, 5504,
00765      1345,    0,  385,    0,    0,  617,  180,20917,    0,    0,
00766      5440,    0,20917,20917,20917,    0,20917,    0, 5502,  661,
00767      1346,20917,20917,    0,  242, 5504,20917, 5503,    0,    0,
00768         0, 5487,20917,    0,    0,  698,  997, 1077,  834,  689,
00769       892,  883, 5484, 3226, 5496,  709, 1140,    0,    0, 5480,
00770      5478, 1638, 5472,    0, 3306,  902, 1663,    0,    3, 5481,
00771         0,  945,20917,    0, 5430, 5442, 5437,  146, 5481, 1009,
00772      3387,  265, 3467, 5434, 3544,  160,   15,  168,  127,  516,
00773       191, 3625, 1184, 1235,  964,  940, 5473, 1049, 1266, 1100,
00774 
00775     20917,  991, 1042,20917, 1273,    0, 5466,  318,    0,  326,
00776      3705, 5484, 5467,    0, 1208,20917,    0, 5430,    0,  371,
00777      5465,20917,    0, 5428,  596,  846, 1105, 1122,  676,    0,
00778         0, 1214, 1291, 5427, 5418, 1341, 1355, 5464, 5426,    0,
00779      5415,    0, 5414,    0, 5413,    0, 5412,    0, 5411,    0,
00780      5410,    0, 5407,    0, 1071, 1129, 1345, 1231, 5462, 1180,
00781         0,20917, 1372, 5456,  605,  285,  955, 1004, 1380,    0,
00782      1663, 1376, 3784, 1682, 1905, 1432,20917, 1405,    0,    0,
00783      5448, 1433,   10,    0,  395, 5432,20917,    0, 5393,  850,
00784     20917,    0, 1254, 1156, 1203, 5392,    0, 5431,20917, 5381,
00785 
00786      5379, 5378, 5373, 5389, 5372, 5386,  308, 5381, 5373,    0,
00787      1239, 1285, 5433,20917,    0, 5409,    0, 1440, 1636,20917,
00788      1454, 1657,20917, 1728,20917,  248, 1702,  512,  210, 1876,
00789        37, 5417, 5404,    0, 5402,20917, 5403, 1674, 3864,  978,
00790      5403, 1756, 5389, 1899,20917, 5340, 5339, 5337, 1744, 1909,
00791      5391, 1919, 1984, 1991, 5342, 5371, 5361, 1756, 5353,  409,
00792       412, 1943,  177,  443,  214,  382,   51,  427,  566, 1879,
00793      2035,  489,  618, 5348,  509,  864, 1997,  292,  808,  591,
00794       309,  532,  640,  844, 1388, 1683,  649,  435, 5318, 3945,
00795      4026,  229,  601,  535, 5305, 5307, 4107,  603, 2068, 2120,
00796 
00797     20917,20917, 5344,20917, 2140, 5338, 2144,20917, 5290, 5334,
00798     20917, 5286, 1326, 5295, 5283, 5292, 5289, 5288, 5270, 5266,
00799      5265, 5264,    0,20917,20917, 1677, 1860,  841, 5251, 5250,
00800      4187, 1984, 5300, 4266, 2149, 4345, 4424, 2167, 2238, 5299,
00801      2093, 5289,20917, 5237, 5235, 5286, 5243, 5239, 5223, 5227,
00802      5212, 5224, 5208, 5220, 5220, 5203, 5202,20917,    0, 2213,
00803      2066, 2203, 5235, 2155,  889, 2231,  700,20917, 5244, 5246,
00804         0,    0,20917, 2294, 5187, 5194, 5191,  574, 2239,  712,
00805       872, 2601, 2617, 5176, 5175, 2614, 2313, 2637, 5170, 5216,
00806      1026, 5213, 2314,  695,  356,  515,  802,  694,  801,  148,
00807 
00808       944,  836,  978,  896,  891, 5207,  882, 1058,   31, 1068,
00809       451,  873,  250,  898,  909, 1616,  931, 1165, 5166, 4504,
00810      4580, 4661, 5154, 1261, 5162, 5151, 5187, 1093, 1250, 2698,
00811      5156, 5153, 5149, 5143, 5131, 5122, 5122, 5107, 5107, 5121,
00812      5112, 5103, 5099, 2642, 1043, 1266, 4741, 4820, 2702, 2724,
00813      2675, 5091, 5084, 5085, 5080,    0, 5068, 5066,    0, 5052,
00814      5045,    0, 5046, 5026, 5020, 5028, 5015, 1109, 2630, 1115,
00815      1310, 2649, 5049, 5042, 2722,20917, 5047, 5043, 2780, 2784,
00816      2089, 4994,  412, 1023, 2723, 2789, 4953, 2799, 1325, 2806,
00817      4908, 4907, 2838, 2872, 2918, 4940, 1220, 1402, 1026,  612,
00818 
00819      1395, 1174, 2855,  938, 1103,  820, 1236, 1300, 1341, 1193,
00820      1616, 4895, 4976, 5057, 5138, 4906, 4896, 4928, 2839, 2945,
00821      2303, 4893, 4892, 4876, 4881, 4867, 4869, 4855, 4836, 4840,
00822      4828, 4824, 4820, 4829, 1622, 1249, 5218, 5297, 2959, 2977,
00823      4815, 4815, 4824, 4802, 4800,    0,20917, 4792, 4770,20917,
00824      4784, 4779, 1357, 4785, 4770, 2873, 2954, 4810, 2961, 1611,
00825      2986, 3005, 3006, 4816, 2707, 3033, 4823, 4811, 4799, 1932,
00826      2688, 3033, 4796, 3072, 4791, 3080, 4745, 4758, 3093, 3106,
00827      3164,20917, 1335, 1414, 1696, 1604, 1647, 1023, 1692, 1617,
00828      1871, 1708, 2788, 1879, 5372, 5448, 5524, 5605, 5685, 5765,
00829 
00830      5845, 5926, 6007, 4720,20917, 1749, 3191, 3198, 4777, 4765,
00831      4695, 4694, 4705, 4722, 4678, 4674, 4667, 4673, 4667, 4655,
00832      4668, 4646, 4637, 1885, 1925, 6087, 6166, 3134, 3210, 4637,
00833      4648, 4619, 4620, 4608,20917, 4608, 4604, 4601, 4598, 4608,
00834      4597, 4570, 4561, 3238, 4601, 3250, 4594, 3272, 3273, 3285,
00835      4599, 3297, 4583, 4563, 2016, 2949, 4516, 3311, 3324, 3332,
00836      4496, 4484, 3347, 3354, 1609, 1150, 1714, 1630, 1709, 1868,
00837      4482, 1894,20917, 6241, 6321, 6397, 6473, 6549, 6625, 6706,
00838      6786, 6866, 6946, 7027, 7107, 7188, 4480, 3416, 4534, 3425,
00839      4506, 4432, 4422, 4424,20917, 4414, 4405, 4405, 4393, 4404,
00840 
00841     20917,20917, 2012, 4388, 1871, 1892, 7268, 7347, 2865, 3420,
00842      4369, 4364, 4371, 4362, 2041, 4366, 4360, 4366, 4345, 4326,
00843      4313, 4303, 4280, 3557, 3424, 3567, 3574, 3202, 4281, 4257,
00844      4260, 3431, 3451, 2171, 4261, 3592, 3640, 1870, 1914,    0,
00845      7422, 7498, 7578, 3059, 7654, 7730, 7806, 7887, 7968, 8049,
00846      8129, 8209, 4236, 4239, 4207,20917, 4201, 4199, 4176, 4168,
00847      4178, 2244, 4167, 2622, 1709, 3544, 8289, 3617, 2255, 4158,
00848      4152, 3103, 2282, 4132, 4138, 4111, 2338, 4107, 4093, 4071,
00849         0, 3647, 3452, 8368, 3668, 4061, 2750, 3671, 3675,20917,
00850      3185, 4046, 3722, 3745, 8444, 2041, 8520, 8596, 8672, 8748,
00851 
00852      8829, 8910, 8990, 3766, 3800, 3812, 9069, 3805, 1752, 2115,
00853      4084, 3848, 9150, 4076, 9231, 3887, 9311, 3906, 2194, 4024,
00854      3923, 3970, 3334, 4027, 2822, 2835, 3989, 3988, 3975, 3975,
00855      3945, 3947, 2905, 1936, 9387,20917, 3937, 2897, 3138,    0,
00856         0, 3916, 3916, 2955, 3891, 3893,    0,20917, 3679, 3910,
00857      9466, 2031, 2034, 2298, 3935, 2179, 2579, 3931, 2890, 2208,
00858      2919, 2300, 2638, 3872, 2653, 2692, 3732, 3348,20917, 3770,
00859      3174, 3823, 9546, 3933, 3852, 3836, 3833, 3963, 9626, 9702,
00860      9778, 9859, 9939, 2673, 3873, 2700, 2984, 3119, 2836, 2858,
00861      2978, 3007, 3822, 3816, 3196, 3846, 3995,10019,10100, 1153,
00862 
00863      3375, 3029, 4056, 4070, 4095, 4124, 3792, 3969, 3989, 3988,
00864      4023, 2687, 4054, 4121, 3418, 3066, 4125, 4147, 4150, 4172,
00865      4176, 4190, 4211, 4252, 4242, 4253, 4102, 4275, 4263, 4321,
00866      4272, 4330, 3035, 3769, 3569, 3602, 3763, 3734, 3734, 3722,
00867      3733, 1711, 3689, 3631, 3716,20917,    0, 3721, 3672, 3649,
00868     20917, 4319,10180, 3698,10260, 3037, 3064, 3207, 3682, 3116,
00869      3213, 3290, 3231, 3258, 3285, 3436, 2068, 3336, 1928, 1952,
00870      3621, 3673, 3668, 4329, 1917, 3366, 3371, 3937, 3607, 4390,
00871      3893, 4392,10340, 4384, 3594, 3592, 4431, 3467, 3734,10416,
00872     10492, 1606, 2034, 3587, 3538, 3589, 4413, 4450, 4458, 4215,
00873 
00874      4444, 4331, 4493, 4474, 3050, 4456, 4502, 4505, 4514, 4530,
00875      4531, 4540, 4577, 4578, 4581, 4582, 4603, 4600, 4535, 4604,
00876      4623, 4650, 4660, 4664, 3542, 3511,20917, 3518,20917, 3511,
00877     20917,20917, 3776, 3844, 3498, 4702, 4704, 3505, 3503, 3478,
00878     10572, 3385, 3410, 3542, 3476, 3454, 3599, 3841, 3565, 3604,
00879      3629, 3830, 2089, 3638, 2025, 2123, 3741, 3474, 3467, 3444,
00880      2168, 3652, 1273,  343, 3442, 4731, 3359, 3984, 3347,10652,
00881      3752, 3342, 3353,10732, 3778, 2106, 2232, 1919, 2750, 3330,
00882      4718, 4754, 3315, 3306, 4717, 4739, 4742, 4753, 4763, 4762,
00883      4819, 4767, 4815, 4819, 4818, 4829, 4887, 4060,20917, 3287,
00884 
00885     20917, 4008, 3261,10812, 3300, 4852, 4868, 3692, 3279, 4884,
00886      2139, 4933, 4888, 3173, 3154, 4143, 3144, 3141, 2210,10892,
00887     10973, 2265, 3113, 4370, 3132, 3114, 3103, 4896, 4917, 3232,
00888      4927, 5027, 5046, 5055, 5056, 5060, 5065, 4173,20917,20917,
00889      3096, 5111, 3085, 3082, 5118, 3058, 3035, 2055, 5124, 4463,
00890      2635, 3014, 3011, 4441,    0, 3003, 2175, 3838, 4012, 4105,
00891     11053, 4247, 2087, 5093, 4289, 4326, 3045, 5129, 2988,11134,
00892      2982, 2985, 2972, 2971, 5133, 5150, 5164, 5168, 5194, 5205,
00893      4224, 2954, 2930, 2899, 2890, 2142, 2900, 2867, 2859, 2839,
00894     11213,11293, 5246, 5252, 1706, 2161, 1811, 5266, 2817, 2815,
00895 
00896      5240, 5295, 4452, 2802, 2817, 2765, 2762, 5281, 2744, 2723,
00897      2721,11373, 5258, 2540, 2702, 4697, 2712, 4495, 2698, 2671,
00898      2668, 2667, 2611, 5336, 4776, 2701, 4927, 2609, 2191, 2226,
00899      2645,20917, 2572, 4951, 2565, 4966, 2261, 2252, 2269,20917,
00900      2170, 2863, 2924, 2143,20917, 2072,20917, 2000, 2026, 1946,
00901      5286, 2566, 1926, 1901, 1848, 2280,20917,11454,11489,11524,
00902     11559,11594,11629,11664,11699,11734,11769,11804,11839,11874,
00903     11909,11944,11979,12014,12049,12084,12119,12154,12189,12224,
00904     12259,12294, 2987, 2606, 1720,12329,12364,12385, 3877,12407,
00905     12442,12477,12512,12547,12582, 1672, 2582,12611,12646, 1620,
00906 
00907     12675, 2792, 5335,12710,12745,12780,12815,12850,12885,12920,
00908     12955,12990,13025,13060, 2771,13095,13116,13132,13162,13197,
00909      1420,13226,13254, 1401,13283,13312,13340, 1382,13375, 4146,
00910      5341,13410,13445, 1236,13480,13515,13544,  986,  960, 3564,
00911      2825,13572,13593, 4185,13621,13642,13670, 4197, 3233,  873,
00912     13704, 3139, 3406,13731,13745,13780, 4081,13815,13850,13885,
00913     13920,13955,13990, 3799,  622,14024, 3227,14052, 4046, 3300,
00914      3340, 5399,14087,14122,14157,14192,14227,14262,14297,14332,
00915     14367,14402,14437,14472, 3574,14507,14528,14544,14560,14590,
00916     14625,14660,14689,  536,14716,14744, 4360, 3647,14773,14801,
00917 
00918     14836, 4222, 5400,14871,14906, 3661, 3519,14935, 4378,14962,
00919      5120, 3893, 3934,14990, 4402, 4613,15011,15039,15058,15087,
00920     15114, 3762,15136,15163,15185, 4063,15212,15240,15275,15309,
00921      4531,15336,15363, 3772, 4632, 3857,15391,15412,15428,15458,
00922     15493,15528,15562, 5127, 3881,15590,15625, 3894,15654,15681,
00923     15703, 5149, 3964,15731, 4847, 3991,15765, 4075, 3898,15787,
00924      5193,15814,15828,15857, 4123,15884,15912,15943,15977,16004,
00925      4165, 4179,16032,16067,16102, 4226,16137,16172,16207,16242,
00926      4229,16271,16298,16325,16347, 5316, 4293,16374,16401,16429,
00927      4487,16458,16485,16507,16529,16551,16578,16602,16633,16668,
00928 
00929     16702,16729,16756,16784, 4263, 4268,16819,16854,16889, 4300,
00930     16924,16959,16988,17015,17037,17059, 5348,17087,17122,17157,
00931      5404,17186,17213,17235,17257,17279,17306,17330,17361,17392,
00932     17427,17462,17497,17532,17567,17602,17637, 4332, 4361,17672,
00933     17707,17742, 4510,17777,17806,17833,17855,17877,17905,17940,
00934     17975, 4553,18004,18026,18048,18070,18097,18121,18152,18186,
00935     18217,18248,18279,18314,18349,18384,18419,18454,18489,18524,
00936      4599, 4628,18559,18594,18629, 4667,18664,18693,18715,18737,
00937      4685,18759,18781,18809,18838,18860,18887,18911,18945,18976,
00938     19007,19038,19073,19108,19143,19178, 4733, 4742,19213,19248,
00939 
00940     19283, 4763,19318,19353,19382,19404,19431,19460,19482,19504,
00941     19526,19550,19581,19612,19643,19674,19709,19744,19778,19806,
00942     19841,19876, 5409, 5410,19911,19946, 5414, 4784,19981,20016,
00943     20045,20067,20095,20129,20151,20178,20207,20234,20265,20296,
00944     20331,20365,20393,20428,20462,20490,20525,20560,20594,20621,
00945     20638,20665,20692,20719,20747,20778,20812,20847,20881
00946     } ;
00947 
00948 static yyconst flex_int16_t yy_def[1860] =
00949     {   0,
00950      1458, 1458, 1457,    3, 1459, 1459, 1460, 1460, 1461, 1461,
00951      1462, 1462, 1457,   13, 1463, 1463, 1464, 1464, 1464, 1464,
00952      1465, 1465, 1466, 1466, 1467, 1467, 1468, 1468, 1469, 1469,
00953      1470, 1470, 1471, 1471, 1472, 1472, 1457,   37, 1458, 1458,
00954      1457,   41, 1473, 1473, 1474, 1474, 1457,   47, 1475, 1475,
00955      1476, 1476, 1477, 1477, 1478, 1478, 1479, 1479, 1457,   59,
00956      1457,   61, 1480, 1480, 1457,   65, 1457, 1457, 1457, 1457,
00957      1481, 1457, 1457, 1457, 1482, 1483, 1484, 1481, 1485, 1457,
00958      1486, 1487, 1488, 1457, 1489, 1490, 1491, 1490, 1491,   89,
00959        89,   89, 1457, 1457, 1492, 1457, 1457, 1481, 1487, 1488,
00960 
00961      1481, 1493, 1493, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
00962      1494, 1457, 1457, 1495, 1494, 1496, 1457, 1497, 1498, 1457,
00963      1494, 1499, 1457, 1457, 1457, 1499, 1500, 1457, 1501, 1499,
00964      1457, 1502, 1457, 1457, 1503, 1504, 1504, 1505, 1505, 1457,
00965      1505, 1457, 1457, 1505, 1457, 1457, 1506, 1457, 1506, 1457,
00966      1457, 1507, 1457, 1507, 1457, 1457, 1508, 1457, 1508, 1457,
00967      1509, 1457, 1509, 1457, 1510, 1457, 1510, 1457, 1511, 1457,
00968      1511, 1457, 1512, 1457, 1512, 1457, 1513, 1457, 1457, 1513,
00969      1514, 1513, 1457, 1457, 1515, 1457, 1516, 1517, 1518, 1517,
00970      1517, 1519, 1519, 1520, 1520, 1457, 1457, 1457, 1521, 1457,
00971 
00972      1457, 1522, 1523, 1457, 1457, 1457, 1523, 1524, 1457, 1457,
00973      1525, 1523, 1457, 1526, 1526, 1457, 1457, 1457, 1527, 1528,
00974      1527, 1527, 1457, 1457, 1457, 1529, 1457, 1529, 1529, 1457,
00975      1457, 1457, 1457, 1530, 1531, 1532, 1457, 1532, 1533, 1533,
00976      1533, 1457, 1457, 1534, 1527, 1457, 1457, 1457, 1457, 1457,
00977      1457, 1457, 1457, 1535, 1536, 1537, 1537, 1538, 1539, 1540,
00978      1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1457,
00979      1550, 1551, 1457, 1552, 1552, 1552, 1552, 1553, 1554, 1555,
00980      1556, 1557, 1457, 1552, 1556,  285,  285,  285,  285, 1457,
00981      1457, 1558, 1457, 1457, 1457, 1457, 1457, 1457, 1559, 1559,
00982 
00983      1457, 1457, 1457, 1457, 1559, 1560, 1457, 1457, 1561, 1457,
00984      1562, 1563, 1564, 1565, 1566, 1457, 1567, 1567, 1568, 1457,
00985      1569, 1457, 1570, 1570, 1571, 1572, 1457, 1572, 1457, 1573,
00986      1574, 1574, 1457, 1457, 1457, 1574, 1457, 1457, 1457, 1575,
00987      1457, 1576, 1457, 1577, 1457, 1578, 1457, 1579, 1457, 1580,
00988      1457, 1581, 1457, 1582, 1457, 1457, 1582, 1583, 1584, 1457,
00989      1585, 1457, 1457, 1586, 1587, 1588, 1587, 1589, 1589, 1590,
00990      1591, 1457, 1592, 1591, 1591, 1457, 1457, 1593, 1594, 1594,
00991      1595, 1593, 1457, 1596, 1457, 1597, 1457, 1598, 1598, 1457,
00992      1457, 1599, 1457, 1457, 1457, 1600, 1601, 1601, 1457, 1457,
00993 
00994      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1602,
00995      1457, 1603, 1604, 1457, 1605, 1457, 1606, 1457, 1457, 1457,
00996      1457, 1457, 1457, 1457, 1457, 1607, 1608, 1609, 1610, 1608,
00997      1611, 1612, 1613, 1614, 1615, 1457, 1616, 1617, 1618, 1619,
00998      1457, 1620, 1457, 1621, 1457, 1622, 1622, 1622, 1623, 1623,
00999      1624, 1457, 1625, 1625, 1457, 1626, 1627, 1457, 1627, 1627,
01000      1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627,
01001      1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627,
01002      1627, 1627, 1627, 1627, 1627, 1627, 1627, 1627, 1622, 1628,
01003      1628,  491,  491,  491, 1457, 1457, 1629, 1630, 1457, 1457,
01004 
01005      1457, 1457, 1631, 1457, 1632, 1457, 1633, 1457, 1634, 1635,
01006      1457, 1636, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01007      1457, 1457, 1637, 1457, 1457, 1638, 1638, 1639, 1457, 1457,
01008      1640, 1641, 1641, 1640, 1642, 1640, 1640, 1642, 1642, 1643,
01009      1457, 1644, 1457, 1645, 1646, 1647, 1457, 1457, 1457, 1457,
01010      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1648, 1457,
01011      1649, 1649, 1650, 1457, 1650, 1651, 1652, 1457, 1653, 1654,
01012      1655, 1656, 1457, 1657, 1658, 1658, 1658, 1659, 1660, 1661,
01013      1662, 1660, 1457, 1457, 1457, 1663, 1664, 1664, 1457, 1665,
01014      1661, 1457, 1457, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
01015 
01016      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
01017      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1658, 1667,
01018      1668, 1667,  622,  622, 1457, 1457, 1669, 1457, 1669, 1670,
01019      1671, 1672, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01020      1457, 1457, 1457, 1457, 1673, 1673, 1674, 1674, 1675, 1675,
01021      1457, 1457, 1457, 1676, 1677, 1678, 1457, 1457, 1679, 1457,
01022      1457, 1680, 1457, 1457, 1457, 1457, 1457, 1681, 1682, 1661,
01023      1683, 1682, 1457, 1684, 1685, 1457, 1686, 1687, 1688, 1689,
01024      1690, 1691, 1691, 1691, 1692, 1692, 1693, 1457, 1693, 1694,
01025      1457, 1457, 1695, 1695, 1696, 1457, 1697, 1697, 1697, 1697,
01026 
01027      1697, 1697, 1457, 1697, 1697, 1697, 1697, 1697, 1697, 1691,
01028      1698, 1699, 1457, 1700, 1700, 1457, 1457, 1701, 1702, 1703,
01029      1704, 1705, 1706, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01030      1457, 1457, 1457, 1457, 1707, 1707, 1708, 1708, 1709, 1709,
01031      1457, 1457, 1710, 1711, 1457, 1712, 1457, 1457, 1457, 1457,
01032      1457, 1457, 1457, 1457, 1457, 1713, 1713, 1714, 1457, 1714,
01033      1715, 1457, 1716, 1717, 1718, 1718, 1719, 1720, 1457, 1721,
01034      1721, 1722, 1457, 1722, 1723, 1724, 1457, 1457, 1725, 1725,
01035      1726, 1457, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727,
01036      1727, 1727, 1721, 1728, 1729, 1729, 1730, 1731, 1732, 1733,
01037 
01038      1457, 1457, 1734, 1457, 1457, 1457, 1735, 1735, 1736, 1737,
01039      1738, 1739, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01040      1457, 1457, 1457, 1740, 1740, 1741, 1741, 1742, 1742, 1457,
01041      1457, 1743, 1744, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01042      1457, 1457, 1457, 1745, 1457, 1745, 1746, 1747, 1748, 1749,
01043      1750, 1457, 1751, 1457, 1457, 1457, 1752, 1753, 1457, 1754,
01044      1457, 1457, 1755, 1756, 1757, 1757, 1757, 1757, 1757, 1757,
01045      1752, 1758, 1457, 1759, 1760, 1761, 1762, 1761, 1763, 1764,
01046      1765, 1764, 1766, 1764, 1457, 1767, 1457, 1768, 1769, 1457,
01047      1770, 1771, 1772, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01048 
01049      1457, 1457, 1457, 1457, 1773, 1773, 1774, 1774, 1457, 1775,
01050      1457, 1457, 1776, 1777, 1457, 1457, 1457, 1457, 1457, 1457,
01051      1457, 1457, 1457, 1778, 1457, 1779, 1780, 1457, 1457, 1457,
01052      1781, 1782, 1783, 1784, 1457, 1785, 1786, 1787, 1787, 1781,
01053      1788, 1788, 1789, 1457, 1790, 1791, 1792, 1793, 1794, 1795,
01054      1795, 1796, 1457, 1797, 1798, 1457, 1457, 1457, 1457, 1457,
01055      1457, 1457, 1457, 1799, 1799, 1799, 1800, 1801, 1457, 1457,
01056      1802, 1803, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01057      1804, 1805, 1806, 1807, 1457, 1457, 1781, 1808, 1809, 1457,
01058      1457, 1457, 1810, 1811, 1812, 1813, 1812, 1814, 1815, 1816,
01059 
01060      1817, 1818, 1818, 1003, 1003, 1003, 1457, 1803, 1457, 1457,
01061      1819, 1803, 1820, 1457, 1821, 1822, 1457, 1803, 1457, 1457,
01062      1803, 1803, 1803, 1457, 1823, 1824, 1457, 1457, 1457, 1457,
01063      1457, 1457, 1825, 1825, 1826, 1457, 1457, 1827, 1457, 1828,
01064      1829, 1457, 1457, 1457, 1457, 1457, 1830, 1457, 1831, 1832,
01065      1833, 1457, 1457, 1457, 1819, 1457, 1457, 1457, 1457, 1457,
01066      1834, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01067      1457, 1835, 1836, 1457, 1457, 1457, 1457, 1837, 1838, 1839,
01068      1840, 1841, 1841, 1457, 1457, 1457, 1457, 1457, 1457, 1828,
01069      1457, 1457, 1457, 1457, 1457, 1842, 1457, 1843, 1844, 1457,
01070 
01071      1845, 1457, 1845, 1845, 1845, 1845, 1106, 1106, 1106, 1106,
01072      1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
01073      1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
01074      1106, 1106, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01075      1457, 1825, 1457, 1457, 1828, 1457, 1846, 1457, 1457, 1457,
01076      1457, 1831, 1832, 1847, 1848, 1847, 1847, 1847, 1457, 1847,
01077      1847, 1847, 1847, 1457, 1847, 1847, 1847, 1847, 1847, 1847,
01078      1847, 1847, 1849, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01079      1457, 1835, 1457, 1850, 1457, 1457, 1837, 1851, 1851, 1839,
01080      1840, 1083, 1083, 1457, 1457, 1842, 1457, 1457, 1457, 1106,
01081 
01082      1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
01083      1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
01084      1106, 1106, 1106, 1106, 1457, 1457, 1457, 1457, 1457, 1457,
01085      1457, 1457, 1457, 1457, 1457, 1831, 1852, 1847, 1853, 1847,
01086      1848, 1847, 1847, 1847, 1853, 1847, 1847, 1847, 1847, 1847,
01087      1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1854, 1847,
01088      1847, 1847, 1847, 1847, 1849, 1457, 1457, 1457, 1457, 1835,
01089      1457, 1457, 1457, 1837, 1851, 1190, 1191, 1083, 1083, 1457,
01090      1457, 1457, 1457, 1457, 1106, 1106, 1106, 1106, 1106, 1106,
01091      1457, 1106, 1106, 1106, 1106, 1106, 1106, 1457, 1457, 1457,
01092 
01093      1457, 1457, 1457, 1831, 1853, 1457, 1457, 1847, 1854, 1457,
01094      1847, 1847, 1457, 1457, 1457, 1457, 1457, 1457, 1190, 1191,
01095      1083, 1083, 1457, 1457, 1457, 1457, 1457, 1106, 1106, 1106,
01096      1106, 1106, 1106, 1106, 1106, 1106, 1106, 1457, 1457, 1457,
01097      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1847, 1847, 1457,
01098      1847, 1457, 1457, 1457, 1855, 1457, 1190, 1856, 1856, 1856,
01099      1857, 1856, 1856, 1856, 1856, 1856, 1083, 1083, 1083, 1858,
01100      1083, 1457, 1457, 1457, 1106, 1106, 1106, 1106, 1106, 1106,
01101      1457, 1457, 1457, 1457, 1457, 1847, 1457, 1457, 1457, 1457,
01102      1190, 1859, 1457, 1083, 1083, 1083, 1083, 1457, 1457, 1457,
01103 
01104      1106, 1106, 1457, 1457, 1457, 1457, 1457, 1847, 1457, 1457,
01105      1457, 1859, 1457, 1083, 1083, 1457, 1457, 1457, 1457, 1457,
01106      1457, 1457, 1457, 1847, 1457, 1847, 1457, 1457, 1083, 1083,
01107      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1847, 1457,
01108      1457, 1083, 1083, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01109      1321, 1083, 1457, 1457, 1083, 1083,    0, 1457, 1457, 1457,
01110      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01111      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01112      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01113      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01114 
01115      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01116      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01117      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01118      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01119      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01120      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01121      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01122      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01123      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01124      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01125 
01126      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01127      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01128      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01129      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01130      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01131      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01132      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01133      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01134      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01135      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01136 
01137      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01138      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01139      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01140      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01141      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01142      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01143      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01144      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01145      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01146      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01147 
01148      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01149      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01150      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01151      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01152      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01153      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457
01154     } ;
01155 
01156 static yyconst flex_int16_t yy_nxt[20999] =
01157     {   0,
01158      1457, 1457,   69,  246,  247,  246,  246,   70,   70,   70,
01159        70,   69,  246,  247,  246,  246,   70,   70,   70,   70,
01160      1457,  270,  381,   70, 1457,   70,   96,   70,   97,   96,
01161       308,  380,   70,  308,   70,  271,   70,  310,  320,   98,
01162       310,  320,   99,  100,  101,  248,  249,  248,  248,  279,
01163        70,  290,  359,  290,  290,  359,  458,  354,  250,   70,
01164       498,  251,  252,  253,  281,  288,  281,  359,  257,  281,
01165       257,  385,  289,  287,  385,  281,  458,  291,  281,  281,
01166        70,  258,  325,  258,  325,  325,  492,  459,  706,   70,
01167        71,   72,   73,   74,   72,   71,   75,   76,   77,   78,
01168 
01169        79,   71,   80,   80,   71,   81,   80,   82,   83,   71,
01170        82,   84,   80,   85,   71,   70,   80,   86,   87,   87,
01171        87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
01172        87,   87,   87,   87,   87,   87,   87,   87,   87,   80,
01173        88,   80,   71,   87,   87,   87,   87,   87,   87,   89,
01174        87,   90,   87,   87,   87,   87,   91,   92,   87,   87,
01175        87,   87,   87,   87,   87,   87,   87,   93,   71,   94,
01176        95,   69,  327,  458,  327,  327,  103,  103,  103,  103,
01177       459,  395,   69,  395,  395,  494,  104,  103,  103,  103,
01178       103,  281,  103,  148,  103,  329,  103,  104,  149,  150,
01179 
01180       149,  149,  458,  103,  148,  103,  369,  103,  369,  149,
01181       150,  149,  149,  450,  149,  153,  149,  459,  151,  103,
01182       154,  155,  154,  154,  281,  149,  258,  149,  491,  151,
01183       103,  298,  281,  298,  298,  564,  154,  369,  154,  593,
01184       156,  151,  493,  411,  299,  411,  411,  300,  296,  103,
01185       282,  153,  151,  495,  598,  496,  154,  155,  154,  154,
01186       103,  106,  107,  156,  106,  565,  108,  109,  109,  109,
01187       109,  149,  154,  158,  154,  458,  156,  279,  159,  159,
01188       159,  159,  149,  110,  158,  109,  278,  109,  455,  159,
01189       159,  159,  159,  154,  159,  162,  159,  622,  160,  156,
01190 
01191       163,  163,  163,  163,  527,  159,  527,  159,  474,  160,
01192       109,  336,  337,  336,  336,  562,  163,  458,  163,  308,
01193       164,  160,  308,  337,  337,  337,  337,  310,  258,  154,
01194       310,  162,  160,  338,  458,  527,  163,  163,  163,  163,
01195       109,  106,  107,  164,  106,  338,  108,  109,  109,  109,
01196       109,  159,  163,  166,  163, 1239,  164,  474,  167,  167,
01197       167,  167,  159,  110,  612,  109,  554,  109,  360,  360,
01198       360,  360,  320,  163,  167,  320,  167,  166,  168,  164,
01199       555,  458,  167,  167,  167,  167,  390,  170,  390,  390,
01200       109,  391,  171,  171,  171,  171,  385,  698,  167,  385,
01201 
01202       167,  168,  168,  355,  355,  355,  355,  458,  171,  163,
01203       171,  599,  172,  303,  304,  303,  303, 1312,  356, 1457,
01204       109,  112,  113,   68,  112,  168,  114,   70,   70,  115,
01205       116,  167,  117,  117,  593,  172,  117,  458,  117,  264,
01206       594,  117,  117,  118,  595,   70,  117,  119,  355,  355,
01207       355,  355,  458,  459,  596,  167,  332,  333,  332,  332,
01208       458,  366,  367,  356,  367,  171,  459,  170,  458,  117,
01209       119,  117,  171,  171,  171,  171,  458,  770,  293,  247,
01210       293,  293,  334,  355,  355,  357,  355,  459,  171,  618,
01211       171,  294,  172,  367,  295,  296,  297,  120,  356,  120,
01212 
01213       121,  112,  113,   68,  112,  334,  114,   70,   70,  115,
01214       116,  474,  117,  117,  458,  172,  117,  290,  117,  290,
01215       290,  117,  117,  118,  279,   70,  117,  119,  459,  362,
01216       362,  362,  362,  426,  593,  455,  333,  333,  333,  333,
01217       458, 1457,  367,  291,  367,  171,  699,  174,  363,  117,
01218       119,  117,  175,  175,  175,  175,  282,  458,  293,  247,
01219       293,  293,  334,  378,  376,  376,  376,  376,  175,  377,
01220       175,  294,  176,  367,  295,  296,  297,  120,  606,  120,
01221       121,  123,  124,   68,  123,  334,  125,   70,   70,  126,
01222       127,  593,  128,  128,  474,  176,  128,  325,  128,  325,
01223 
01224       325,  128,  128,   70,  624,   70,  128,  129, 1457,  367,
01225       600,  367,  376,  376,  376,  376,  593,  377,  393,  394,
01226       393,  393,  282,  366,  367,  175,  367,  174,  628,  128,
01227       129,  128,  175,  175,  175,  175,  372,  458,  372,  372,
01228       367,  686,  372,  458,  372,  372,  605,  373,  175,  315,
01229       175,  785,  176,  373,  258,  367,  611,   68,  629,   68,
01230       130,  123,  124,   68,  123,  458,  125,   70,   70,  126,
01231       127,  623,  128,  128,  458,  176,  128,  513,  128,  513,
01232       513,  128,  128,   70,  380,   70,  128,  129,  399,  381,
01233       419,  374,  419,  419,  380,  380,  380,  374,  383,  246,
01234 
01235       247,  246,  246,  250,  474,  175,  251,  252,  375,  128,
01236       129,  128,  279,  474,  375,  400,  426,  401,  402,  458,
01237       458,  279,  403,  498,  279,  404,  405,  426,  459,  406,
01238       428,  407,  429,  578,  408,  455,  409,   68,  697,   68,
01239       130,  131,  132,  133,  132,  132,  131,  131,  134,  134,
01240       134,  134,  131,  131,  131,  131,  131,  131,  131,  131,
01241       131,  131,  131,  131,  134,  131,  134,  131,  134,  135,
01242       135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
01243       135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
01244       131,  134,  131,  131,  135,  135,  135,  135,  135,  135,
01245 
01246       135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
01247       135,  135,  135,  135,  135,  135,  135,  135,  131,  131,
01248       131,  134,  131,  133,  131,  131,  458,  458,  137,  137,
01249       137,  137,  459,  458,   69,  418,  249,  418,  418,   70,
01250        70,   70,   70,  459,  137,  458,  137,  327,  137,  327,
01251       327,  390,  186,  390,  390,   70,  391,   70,   69,   70,
01252       369,  458,  369,   70,   70,   70,   70,   69,   68,  593,
01253       329,  137,  193,  193,  193,  193,  186,  474,  474,   70,
01254       701,   70,   70,   70,  422,  423,  422,  422,  193,  458,
01255       193,  369,  193,  420,  420,  420,  420,  688,  458,  421,
01256 
01257       272,  137,  131,  133,  131,  131,   70,  458,  137,  137,
01258       137,  137,   70,  613,  564,  193,  458,  263,  607,  263,
01259       263,  458,  608,  458,  137,  702,  137,  689,  137,  264,
01260       474,  609,   69,   68,  458,  459,   70,  193,  193,  193,
01261       193,  303,  304,  303,  303,  193,  442,  442,  442,  442,
01262       704,  137,  707,  193,  224,  193,  458,  193,  674,  225,
01263       225,  225,  225,  458,  443,  301,  301,  301,  301,  458,
01264       445,  302,  700, 1457,  367,  225,  367,  225,  708,  225,
01265       193,  137,  139,  140,  139,  139,  709,  432,  141,  141,
01266       141,  141,  301,  301,  301,  301,  572,  268,  248,  249,
01267 
01268       248,  248,  225,  458,  142,  367,  141,  459,  143,  788,
01269       193,  250,  224,  431,  251,  252,  253,  225,  225,  225,
01270       225,  459,  528,  369,  263,  369,  263,  263,  268,  438,
01271      1457,  143,  225,  225,  227,  225,  264,  225,  279,  228,
01272       228,  228,  228,  303,  304,  303,  303, 1457,  458,  455,
01273       298,  458,  298,  298,  369,  229,  644,  228,  459,  230,
01274       225,  141,  139,  140,  139,  139,  295,  296,  141,  141,
01275       141,  141,  355,  355,  355,  355,  454,  771,  248,  249,
01276       248,  248,  231,  458,  142,  868,  141,  356,  143,  258,
01277       225,  250,  227,  458,  251,  252,  253,  228,  228,  228,
01278 
01279       228,  301,  301,  301,  301,  279,  327,  302,  327,  327,
01280       735,  143,  228,  229,  237,  228,  455,  230, 1457,  238,
01281       238,  238,  238,  327,  705,  327,  327,  279,  458,  329,
01282       360,  360,  360,  360,  474,  238,  668,  238,  455,  238,
01283       231,  141,  144,  145,  144,  144,  329,  426,  141,  141,
01284       141,  141,  279,  273,  273,  273,  273,  395,  426,  395,
01285       395,  428,  238,  429,  146, 1096,  141, 1014,  142,  273,
01286       228,  273,  237,  273,  789,  458,  757,  238,  238,  238,
01287       238,  360,  360,  360,  360,  293,  247,  293,  293,  258,
01288       458,  142,  238,  238,  459,  238,  273,  238,  294,  458,
01289 
01290      1457,  295,  296,  297,  395,  275,  395,  395,  430,  505,
01291       505,  505,  505,  787,  276,  332,  333,  332,  332,  277,
01292       238,  141,  144,  145,  144,  144,  273,  506,  141,  141,
01293       141,  141,  359,  508,  474,  359,  298,  523,  298,  298,
01294       411,  334,  411,  411,  146,  458,  141,  359,  142,  294,
01295       238,  793,  295,  296,  245,  393,  394,  393,  393,  245,
01296       245,  458,  644,  417,  334,  245,  783,  298,  245,  298,
01297       298,  142,  263,  245,  500,  628,  500,  500,  245,  644,
01298       299,  264,  282,  300,  296, 1239,  411,  299,  411,  411,
01299       300,  296,  333,  333,  333,  333,  316,  316,  316,  316,
01300 
01301       790,  141,  178,  179,  180,  178,  245,  181,  182,  182,
01302       182,  182,  316,  825,  316,  715,  316,  183,  334,  718,
01303       322,  322,  322,  322,  182,  458,  182,  513,  182,  513,
01304       513,  281,  245,  736,  245,  759,  322, 1311,  322,  316,
01305       322,  334,  336,  337,  336,  336,  355,  355,  357,  355,
01306       688,  182,  387,  387,  387,  387,  337,  337,  337,  337,
01307       458,  356,  318,  322,  338,  760,  458,  791,  387,  316,
01308       387,  865,  387,  362,  362,  362,  362,  372,  338,  372,
01309       372,  182,  178,  179,  180,  178,  324,  181,  182,  182,
01310       182,  182,  363,  322,  775,  387,  399,  183, 1457,  369,
01311 
01312       400,  369,  401,  402,  182,  792,  182,  403,  182,  261,
01313       404,  405,  380,  458,  406,  840,  407,  381,  389,  408,
01314       458,  409,  380,  380,  380,  387,  383,  458,  386,  841,
01315       369,  182,  529,  376,  376,  376,  376,  786,  377,  458,
01316       380,  418,  249,  418,  418,  381,  866,  378,  784,  530,
01317       380,  380,  380,  614,  383,  420,  420,  420,  420,  615,
01318       616,  182,   68,   68,   69,   68,  184,   68,   68,   70,
01319        70,   70,   70,   68,   68,   68,   68,   68,   68,   68,
01320        68,   68,   68,   68,   68,   70,   68,   70,   68,   70,
01321       185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
01322 
01323       185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
01324       185,   68,   70,   68,   68,  185,  185,  185,  185,  185,
01325       185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
01326       185,  185,  185,  185,  185,  185,  185,  185,  185,   68,
01327        68,   68,   70,   68,   68,   69,   68,   68,   68,  187,
01328        70,   70,   70,   70,   68,   68,   68,   68,  188,   68,
01329       188,  189,  190,  188,  190,   68,   70,   68,   70,   68,
01330        70,  188,  188,  188,  188,  188,  188,  188,  188,  188,
01331       188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
01332       188,  188,   68,  191,   68,   68,  188,  188,  188,  188,
01333 
01334       188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
01335       188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
01336        68,   68,   68,   70,   68,   69,   68,   68,  794,  458,
01337       195,   70,  195,   70,  458,  644,  759,  419,  245,  419,
01338       419,  458,  458,  245,  245,  867,   70,  321,  195,  245,
01339        70,  938,  245,  251,  252,  458,  263,  245,  422,  423,
01340       422,  422,  245,  245,  372,  264,  372,  372,  245,  245,
01341       880,  474,  458,   70,  245,  373, 1278,  245,  245,  459,
01342       847,  474,  245,  372,  474,  372,  372,  245,  824,  263,
01343       245,  263,  266,  794,  373,  366,  527,  939,  527,  313,
01344 
01345        68,  264,   68,  195,   68,   69,   68,   68,  458,  426,
01346       195,   70,  195,   70,  279,  245,  245,  458,  245,  374,
01347       426,  458,  644,  428,  644,  429,   70,  527,  195,  560,
01348        70,  560,  560,  458,  458,  459,  375,  617,  374,  458,
01349       474,  245,  250,  245,  474,  251,  252,  261,  459,  538,
01350       869,  578,  474,   70,  474,  375,  279,  442,  442,  442,
01351       442,  279,  578,  278, 1096,  580,  474,  581,  279,  964,
01352       880, 1034,  455, 1414,  278,  443, 1014,  592,  474,  455,
01353        68,  445,   68,  195,  196,  197,  198,  197,  197,  196,
01354       196,  199,  200,  200,  200,  196,  196,  196,  196,  196,
01355 
01356       196,  196,  196,  196,  196,  201,  196,  200,  196,  200,
01357       196,  200,  202,  202,  202,  202,  202,  202,  202,  202,
01358       202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
01359       202,  202,  202,  196,  200,  196,  196,  202,  202,  202,
01360       202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
01361       202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
01362       202,  196,  196,  196,  200,  204,  205,   68,  204, 1321,
01363       206,   70,   70,  207,  208,  880,  209,  209, 1457,  527,
01364       209,  527,  209,  426,  644,  209,  209,  210,  279,   70,
01365       209,  211,  873,  458,  426,  458,  458,  428,  644,  429,
01366 
01367       442,  442,  442,  442,  458,  644,  372,  873,  372,  372,
01368       527,  459, 1456,  209,  211,  209,  578,  373,  443,  601,
01369       583,  279,  583,  583,  445,  602,  603,  578,  474, 1173,
01370       580, 1058,  581,  855,  566,  855,  855,  870,  644,  458,
01371      1239,   68,  964,   68,  212,  204,  205,   68,  204,  644,
01372       206,   70,   70,  207,  208,  905,  209,  209,  873, 1436,
01373       209,  374,  209,  965, 1239,  209,  209,  210,  458,   70,
01374       209,  211,  539,  873,  459,  584,  597,  582,  375,  906,
01375       474,  856,  459,  880, 1434,  532, 1263,  532,  532,  459,
01376      1321,  578,  585,  209,  211,  209,  279,  644,  578,  263,
01377 
01378      1142,  263,  586,  279, 1427,  580,  263,  581,  263,  586,
01379      1264,  264,  580,  962,  581,  962,  962,  855,  264,  855,
01380       855,   68,  458,   68,  212,   68,  213,   69,  213,  213,
01381        68,   68,  214,   70,   70,   70,   68, 1239, 1173,   68,
01382       645,   68,  973, 1173,  973,  973, 1173,   68,   70,   68,
01383        70,   68,   70,  794,  474, 1058,  610,  646, 1058,  588,
01384       458,  474,  874,  604, 1454,  856,  459, 1239,  474,  500,
01385       459,  500,  500,  668,   68,   70,   68,   68,  279,  459,
01386      1239,  459,  294, 1263,  668,  295,  296,  670, 1279,  671,
01387       766,  766,  766,  766,  651,  767,  651,  651,  880, 1392,
01388 
01389       768, 1239,   68,   68,   68,   70,   68,  213,   69,  213,
01390       213,   68,   68,  214,   70,   70,   70,   68,  794, 1260,
01391        68,  500,   68,  500,  500, 1014, 1386, 1096,   68,   70,
01392        68,   70,   68,   70,  294, 1239, 1453,  295,  296, 1014,
01393      1260,  505,  505,  505,  505,  505,  505,  505,  505,  652,
01394       372, 1239,  372,  372, 1239,   68,   70,   68,   68,  506,
01395       995,  373,  426,  506,  794,  508,  653,  279,  372,  508,
01396       372,  372,  991,  426,  991,  991,  673, 1319,  455,  373,
01397      1259, 1264, 1260,   68,   68,   68,   70,  216,  217,  216,
01398       216, 1173,   75,  218,  218,  219,  220, 1348,   80,   80,
01399 
01400      1408, 1418,   80, 1058,   80,  374, 1096,   80,   80,  218,
01401       668,  218,   80,  218,  560,  279,  560,  560, 1014, 1133,
01402      1173,  668,  375,  374,  670,  880,  671,  250, 1415,  995,
01403       251,  252, 1058,  649, 1450,   80,  218,   80,  426,  372,
01404       375,  372,  372,  279, 1391,  962,  578,  962,  962,  426,
01405       373,  279,  428,  221,  429,  880, 1036,  578, 1036, 1036,
01406       580, 1442,  581,   94,  995,   94,  222,  216,  217,  216,
01407       216,  672,   75,  218,  218,  219,  220, 1357,   80,   80,
01408      1443, 1259,   80,  973,   80,  973,  973,   80,   80,  218,
01409       880,  218,   80,  218,  374,  679,  679,  679,  679,  876,
01410 
01411       675, 1320,  650, 1449,  808,  808,  808,  808, 1058,  809,
01412      1173,  375, 1173,  443,  810,   80,  218,   80,  681,  445,
01413       578,  278, 1058, 1448, 1058,  279,  279, 1371,  263,  880,
01414       263,  586,  278,  221,  580,  592,  581,  455, 1451, 1044,
01415       264, 1044, 1044,   94,  880,   94,  222,  232,  232,   69,
01416       232,  232,  232,  232,  233,  233,  233,  233,  232,  232,
01417       232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
01418       233,  232,  233,  232,  233,  234,  234,  234,  234,  234,
01419       234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
01420       234,  234,  234,  234,  234,  234,  232,  233,  232,  232,
01421 
01422       234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
01423       234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
01424       234,  234,  234,  234,  232,  232,  232,  233,  232,  232,
01425        69,  232,  232,  232,  232,  233,  233,  233,  233,  232,
01426       232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
01427       232,  233,  232,  233,  232,  233,  235,  235,  235,  235,
01428       235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
01429       235,  235,  235,  235,  235,  235,  235,  232,  233,  232,
01430       232,  235,  235,  235,  235,  235,  235,  235,  235,  235,
01431       235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
01432 
01433       235,  235,  235,  235,  235,  232,  232,  232,  233,  239,
01434       239,  240,  239,  239,  239,  239,  241,  241,  241,  241,
01435       239,  239,  239,  239,  239,  239,  242,  239,  239,  243,
01436       239,  239,  241,  239,  241,  239,  244,  243,  243,  243,
01437       243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
01438       243,  243,  243,  243,  243,  243,  243,  243,  239,  244,
01439       239,  239,  243,  243,  243,  243,  243,  243,  243,  243,
01440       243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
01441       243,  243,  243,  243,  243,  243,  239,  239,  239,  241,
01442       255, 1173,  255,  255, 1058,  245,  255,  255,  255,  255,
01443 
01444       315,  255,  255, 1058,  880,  255, 1429,  255,  578,  315,
01445       255,  255,  255,  279,  255,  255,  255,  260,  583,  578,
01446       583,  583,  580, 1033,  581, 1033, 1033, 1446, 1455,  263,
01447       880,  263,  263,  260,  438,  644, 1444,  668,  255,  255,
01448       255,  264,  279,  372,  578,  372,  372, 1239,  668,  279,
01449      1173,  670,  263,  671,  263,  586,  668, 1096,  580,  690,
01450       581,  279, 1058, 1177,  264, 1173,  255,  668,  255,  245,
01451       670, 1441,  671,  584,  245,  245,  651, 1058,  651,  651,
01452       245,  694, 1437,  245,  262, 1096, 1260,  266,  267, 1457,
01453       585, 1457, 1457,  245,  258,  695,  264, 1014,  529,  719,
01454 
01455       719,  719,  719,  372, 1173,  372,  372,  761,  442,  442,
01456       442,  442, 1096, 1239,  373,  530, 1058,  506, 1101,  268,
01457      1101,  245,  721,  508, 1014,  372,  850,  372,  372,  426,
01458       578,  652,  445, 1101,  279,  279,  373, 1457, 1436, 1435,
01459       426,  578, 1434,  428,  773,  429,  581,  245,  653,  245,
01460       245, 1071, 1439, 1071, 1071,  245,  245,  278,  374,  857,
01461      1433,  245,  279, 1431,  245,  262, 1430,  265,  280,  267,
01462      1058,  282,  739,  283,  245,  375,  763,  264,  740, 1355,
01463       374,  679,  679,  679,  679,  679,  679,  679,  679, 1457,
01464       361, 1457, 1457,  326, 1428,  326,  578,  375,  361,  443,
01465 
01466       268,  279,  245,  443,  681,  445,  578,  578,  681,  445,
01467       773,  279,  581,  578,  880, 1427, 1423,  578,  279,  326,
01468       773, 1322,  455, 1135,  578, 1135, 1135,  580,  245,  581,
01469       245,  273,  273,  273,  273, 1422, 1136, 1457, 1136, 1136,
01470       719,  719,  719,  719,  435,  578,  435,  273, 1096,  273,
01471       279,  273,  435,  263,  871,  263,  586,  774,  506,  773,
01472      1014,  581,  278,  721,  508,  264,  909,  279,  909,  909,
01473      1096, 1421, 1420,  278,  273,  776,  592,  284,  455,  578,
01474       668, 1102, 1014,  275,  279,  279, 1419,  263, 1418,  263,
01475       586,  668,  276,  773,  845,  581,  671,  277, 1144,  264,
01476 
01477      1144, 1144, 1173, 1411,  273,  245, 1033, 1058, 1033, 1033,
01478       245,  245,  278, 1410, 1058, 1175,  245,  279,  644,  245,
01479       262,  529,  265,  280,  267,  578,  282,  880,  283,  245,
01480       279, 1173,  264,  263, 1451,  263,  586, 1409,  530,  580,
01481       780,  581, 1176, 1058,  564,  264,  719,  719,  719,  719,
01482       928, 1058,  928,  928, 1407,  268, 1044,  245, 1044, 1044,
01483       372,  668,  372,  372,  506, 1406,  279,  285,  668,  721,
01484       508,  373,  668,  279,  565,  845,  286,  671,  372,  668,
01485       372,  372,  845,  245,  455,  245,  245,  781,  880,  373,
01486      1096,  245,  245,  668, 1405, 1452, 1096,  245,  279, 1014,
01487 
01488       245,  245, 1014,  245,  668,  245,  245,  670, 1014,  671,
01489       245,  929,  426,  426,  256,  374,  930,  279,  279, 1096,
01490      1404,  256,  846,  426,  426, 1400,  673,  428,  455,  429,
01491       828, 1014,  375,  374,  766,  766,  766,  766,  245,  767,
01492       578, 1096, 1399, 1398,  768,  279, 1397, 1096,  829, 1259,
01493       375,  578,  880, 1014,  773,  848,  581,  798, 1457, 1014,
01494       583, 1260,  583,  583,  245, 1390,  245,  245,  301,  301,
01495       301,  301,  245,  245,  302, 1389, 1259,  849,  245,  578,
01496      1388,  245,  262, 1101,  279,  266,  267,  578, 1260, 1101,
01497       578,  245,  279,  773,  264,  581, 1101, 1101,  578, 1101,
01498 
01499       578,  580, 1385,  581, 1039,  279, 1039, 1039,  263,  880,
01500       263,  586, 1101,  578,  773,  584,  581,  268,  279,  245,
01501       264,  263,  798,  263,  586, 1384, 1040,  773, 1259,  581,
01502       858, 1096,  585,  264,  860,  909, 1014,  909,  909, 1039,
01503      1260, 1039, 1039, 1014, 1100,  245,  373,  245,  312, 1383,
01504       312,  312, 1382,  309,  312,  312,  312,  312,  274,  312,
01505       312, 1040, 1381,  312,  863,  312,  274, 1374,  312,  312,
01506       312,  578,  312,  312,  312, 1071,  279, 1071, 1071,  263,
01507      1373,  263,  586, 1014, 1372,  580, 1074,  581, 1074, 1074,
01508       374,  264,  505,  505,  505,  505,  312,  312,  312,  808,
01509 
01510       808,  808,  808,  928,  809,  928,  928,  375, 1096,  810,
01511       888,  372, 1356,  372,  372, 1355,  508, 1260,  864, 1259,
01512      1014, 1353,  373, 1457,  312, 1259,  312,  255, 1260,  255,
01513       255, 1260,  245,  255,  255,  255,  255, 1260,  255,  255,
01514      1352, 1075,  255, 1259,  255,  668,  317,  255,  255,  255,
01515       279,  255,  255,  255,  317, 1260,  668,  668, 1076,  845,
01516       256,  671,  279, 1101,  929, 1101,  374,  256,  668,  930,
01517      1173,  845,  910,  671, 1014,  255,  255,  255, 1101,  668,
01518       426, 1176, 1058,  375,  279,  279,  442,  442,  442,  442,
01519       668,  426, 1310,  670,  428,  671,  429, 1259,  442,  442,
01520 
01521       442,  442, 1259,  255,  850,  255,  245, 1260,  924, 1260,
01522       445,  245,  245, 1306, 1260, 1261,  443,  245,  578,  323,
01523       245,  262,  445,  279,  266,  267,  926,  323, 1341,  578,
01524       245,  578,  773,  264,  581, 1457,  279, 1457, 1457,  578,
01525       927,  326,  578,  326,  279,  773, 1096,  455, 1259, 1178,
01526       578, 1178, 1178,  580,  578,  581,  268, 1457,  245,  279,
01527      1260,  578,  263, 1340,  263,  586,  279,  326,  773,  263,
01528       581,  263,  586, 1327,  264,  580,  457,  581, 1173,  457,
01529       932,  264, 1326, 1173,  245,  457,  245,  245, 1323,  457,
01530      1058,  457,  245,  245,  278, 1058,  457, 1259,  245,  279,
01531 
01532      1198,  245,  262,  933,  265,  280,  267, 1318,  282, 1260,
01533       283,  245, 1317, 1316,  264, 1179,  936,  505,  505,  505,
01534       505,  372, 1259,  372,  372,  937,  505,  505,  505,  505,
01535      1316,  668,  373,  449, 1260,  888,  279,  268,  578,  245,
01536       449,  508,  668,  279,  506,  845, 1210,  455, 1259,  578,
01537       508, 1101,  773, 1103,  581, 1266, 1259, 1101,  578,  668,
01538      1260, 1262, 1103,  279,  279,  245, 1259,  245,  457,  578,
01539       668,  457,  580,  670,  581,  671,  374,  457, 1260, 1096,
01540      1310,  457, 1275,  457,  968,  988, 1259,  457,  457, 1307,
01541      1239, 1014,  458,  375,  264,  459,  460,  461,  462,  463,
01542 
01543       457,  457,  464,  465,  457,  466,  467,  457,  457,  468,
01544       469,  457,  470,  471,  472,  473, 1306, 1239,  989, 1050,
01545       457,  474,  475,  476,  477,  478,  457,  457,  479,  480,
01546       481,  482,  457,  457,  483,  484,  457,  485,  486,  487,
01547       488,  457,  457,  457,  245,  966,  561,  966,  966,  245,
01548       245,  278, 1260,  561, 1259,  245,  279,  644,  245,  262,
01549      1303,  265,  280,  267,  668,  282, 1260,  283,  245,  279,
01550      1135,  264, 1135, 1135,  668,  668, 1301, 1259,  845,  279,
01551       671,  426, 1300,  433,  433,  668,  279, 1299,  670, 1260,
01552       671,  433,  426,  361,  268,  428,  245,  429, 1298,  578,
01553 
01554       645,  361, 1197, 1136,  279, 1136, 1136,  263,  490,  263,
01555       586, 1259, 1281,  773, 1260,  581, 1259,  646,  372,  264,
01556       372,  372,  245, 1260,  245,  245,  982, 1308, 1260,  373,
01557       245,  245, 1144, 1259, 1144, 1144,  245,  279,  983,  245,
01558       245, 1259,  245,  984,  245, 1260,  993,  578,  498,  245,
01559      1259, 1280,  279, 1260,  668,  263, 1273,  263,  586,  279,
01560      1272,  580, 1260,  581, 1259,  668,  388,  264,  845, 1067,
01561       671, 1067, 1067,  374,  388,  828, 1260,  245,  578, 1267,
01562       559, 1266,  578,  279, 1068, 1259,  668,  279,  559,  578,
01563       375,  279,  773,  578,  581, 1058,  580,  668,  581, 1260,
01564 
01565       845, 1049,  671,  245, 1259,  245,  312,  994,  312,  312,
01566      1239,  309,  312,  312,  312,  312, 1260,  312,  312, 1069,
01567      1235,  312, 1233,  312, 1233, 1233,  312,  312,  312,  578,
01568       312,  312,  312, 1067,  279, 1067, 1067,  263, 1234,  263,
01569       586, 1231, 1072,  773, 1073,  581, 1096,  969, 1068,  264,
01570      1152, 1275,  578, 1259,  312,  312,  312,  279, 1014, 1100,
01571       263,  264,  263,  586, 1096, 1260,  580,  798,  581,  798,
01572       798, 1180,  264, 1180, 1180, 1102, 1014, 1233,  800, 1233,
01573      1233,  274,  312, 1069,  312,  532, 1181,  532,  532,  274,
01574      1096,  317,  533, 1078,  533, 1230,  534,  535, 1229,  317,
01575 
01576      1228,  798, 1457,  798,  798,  264, 1457,  533, 1457, 1457,
01577      1227,  533,  800,  798, 1079,  798,  798, 1096,  503, 1260,
01578       503, 1069,  880, 1101,  800, 1101,  503, 1226, 1457, 1023,
01579       578, 1101, 1103, 1082,  533,  279, 1225,  782, 1101,  880,
01580       536,  578, 1259,  800,  773, 1302,  581, 1302, 1302, 1457,
01581      1392, 1457, 1457, 1259, 1260, 1262,  880,  537, 1260, 1197,
01582      1096,  533, 1363,  533,  245, 1260, 1261, 1083,  880,  245,
01583       245, 1457, 1023,  880, 1195,  245,  323,  800,  245,  245,
01584      1194,  272,  572,  267,  323,  880, 1014,  245,  245,  800,
01585      1182,  934,  245,  245, 1268,  272, 1268, 1268,  245, 1096,
01586 
01587       388,  245,  245, 1186,  272,  569,  245, 1457,  388, 1457,
01588      1457, 1023,  569,  559,  268,  794,  245,  668, 1096, 1185,
01589       569,  559,  279, 1058, 1457,  685, 1457, 1457,  668, 1457,
01590      1023,  670,  685,  671, 1074, 1096, 1074, 1074, 1178,  245,
01591      1178, 1178,  245, 1173,  245,  245, 1457, 1023, 1174, 1150,
01592       245,  245,  278,  433,  433, 1269,  245,  279, 1149,  245,
01593       262,  433,  265,  280,  267,  245,  282,  245,  283,  245,
01594       578, 1457,  264, 1457, 1457,  279,  569, 1148,  263, 1153,
01595       263,  586, 1096,  569,  773, 1268,  581, 1268, 1268, 1075,
01596       264,  569, 1147, 1457, 1023,  268,  583,  245,  583,  583,
01597 
01598      1101, 1143, 1101,  620, 1179,  903, 1076, 1096, 1101, 1302,
01599       678, 1302, 1302, 1103, 1199, 1101, 1141, 1205,  678, 1101,
01600      1101, 1101, 1101,  245, 1392,  245,  245, 1101, 1101, 1204,
01601      1187,  245,  245,  278, 1101, 1101, 1363,  245,  279, 1140,
01602       245,  262, 1139,  265,  280,  267, 1269,  621, 1023,  283,
01603       245,  584, 1138,  264, 1101, 1137, 1101,  457, 1134, 1103,
01604       457, 1338, 1101, 1338, 1338,  510,  457,  510,  585, 1101,
01605       457,  457,  457,  510,  457, 1014,  268,  457,  245, 1199,
01606       457, 1199,  590,  590,  457, 1101,  457, 1101, 1096,  794,
01607       590,  457,  456, 1101,  274, 1199,  457, 1097, 1206,  457,
01608 
01609      1101,  456,  274,  456,  245,  457,  245,  245,  456,  457,
01610      1077,  457,  245,  245, 1103, 1363,  457, 1392,  245,  279,
01611      1198,  245,  245, 1200,  245,  457,  245, 1201,  457, 1363,
01612       498,  245, 1070, 1101,  457, 1101, 1047, 1202,  457, 1339,
01613       457, 1101,  590,  590, 1354,  457, 1354, 1354, 1101, 1198,
01614       590, 1046, 1101, 1211, 1101, 1103, 1101, 1203, 1101,  245,
01615      1101, 1207,  410, 1103, 1101,  410, 1118, 1208, 1209, 1045,
01616      1103, 1101, 1199,  410, 1338, 1199, 1338, 1338, 1101, 1043,
01617      1101, 1101,  794, 1101,  317,  245, 1101,  245,  532, 1101,
01618       532,  532,  317, 1101, 1069,  533, 1101,  533,  323,  534,
01619 
01620       535,  437, 1042, 1101,  437, 1101,  323, 1101, 1041, 1101,
01621       533, 1101,  437,  440,  533, 1101,  440, 1038, 1101, 1212,
01622      1037, 1101, 1101, 1101,  440, 1403, 1213, 1403, 1403, 1101,
01623      1214, 1032, 1031, 1118, 1030, 1216, 1101,  533,  410, 1215,
01624      1118,  410, 1101,  536, 1101,  388, 1101, 1118, 1101,  410,
01625      1101, 1029, 1339,  388, 1101, 1118,  756, 1101, 1285, 1392,
01626       537, 1101, 1363,  756,  533, 1028,  533,  532, 1027,  532,
01627       532, 1363, 1026, 1101,  533, 1101,  533, 1199,  534,  535,
01628      1118, 1101,  317, 1101, 1101, 1101, 1101,  323, 1101,  533,
01629       317, 1101, 1101,  533, 1101,  323, 1101, 1218, 1101, 1101,
01630 
01631      1199, 1392, 1101, 1101, 1025, 1101, 1101, 1024, 1101, 1101,
01632       678, 1101,  678, 1363, 1101, 1118,  533, 1217, 1101,  388,
01633       678, 1101,  536,  992,  794,  987,  668,  388, 1220,  986,
01634       583,  279,  583,  583, 1221, 1222, 1118,  668, 1392,  537,
01635       845, 1173,  671,  533, 1219,  533,  532,  985,  532,  532,
01636      1363,  317, 1101,  533, 1101,  533,  981,  534,  535,  317,
01637      1101, 1101, 1287, 1101, 1101,  980,  794, 1101,  533, 1101,
01638      1101, 1324,  533, 1324, 1324, 1223, 1101, 1101, 1118,  542,
01639       323,  542, 1118,  979, 1224,  584, 1236,  542,  323,  456,
01640      1118, 1180, 1118, 1180, 1180,  533, 1096,  978,  456,  578,
01641 
01642       456,  536,  585,  794,  279,  456, 1181, 1102, 1014,  688,
01643       578,  977,  647,  773, 1282,  581, 1282, 1282,  537, 1325,
01644       976,  435,  533,  435,  533,  532,  975,  532,  532,  435,
01645       974,  972,  533,  971,  533,  970,  534,  535,  578,  689,
01646       969, 1069, 1354,  279, 1354, 1354,  263,  533,  263,  586,
01647       963,  533,  773, 1403,  581, 1403, 1403,  278,  264,  961,
01648       960, 1270,  279,  959, 1350,  278, 1350, 1350,  278, 1283,
01649       279,  592,  958,  455,  533, 1101,  278, 1101,  957,  592,
01650       536,  455,  956, 1101,  955, 1286, 1284, 1101, 1103, 1101,
01651      1101,  648, 1069,  274,  954, 1101, 1432,  537, 1432, 1432,
01652 
01653      1274,  533, 1101,  533,  245, 1101,  274, 1101, 1103,  245,
01654       245,  278, 1387, 1101,  274,  245,  279,  890,  245,  262,
01655      1101,  265,  280,  267, 1101,  621, 1101,  283,  245,  388,
01656      1288,  264, 1101, 1101, 1103, 1101, 1101,  388, 1101, 1101,
01657       890, 1101,  953, 1103, 1101, 1101,  940, 1101, 1101, 1289,
01658       503, 1101,  503, 1101,  268,  935,  245, 1103,  503, 1290,
01659      1101, 1101, 1101, 1101, 1101, 1291, 1101,  934, 1101, 1101,
01660      1101, 1101,  274, 1101, 1101, 1103, 1101, 1101,  931, 1101,
01661       274, 1101,  245,  854,  245,  711, 1101,  711,  711,  711,
01662       711,  711,  279, 1118,  852,  711,  711,  711,  711,  711,
01663 
01664       711,  712,  711,  455,  711,  852,  711,  711, 1101, 1101,
01665      1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101,  317,  925,
01666      1101, 1101,  668, 1101, 1101,  923,  317, 1101, 1101,  437,
01667       437, 1101,  437, 1101, 1101, 1101, 1101, 1101, 1294, 1101,
01668       437,  922, 1101, 1101, 1293, 1292, 1101,  323, 1118, 1101,
01669      1101,  510,  921,  510, 1101,  323, 1101, 1118, 1295,  510,
01670       711,  245, 1101, 1118,  920,  919,  245,  245,  278, 1101,
01671       918,  917,  245,  279,  916,  245,  262,  915,  265,  280,
01672       267, 1101,  621, 1101,  283,  245,  388,  914,  264, 1101,
01673       913, 1101, 1296, 1101,  388, 1101, 1101, 1101, 1416, 1101,
01674 
01675      1416, 1416,  912, 1101,  274, 1118, 1101,  911,  904,  668,
01676      1101,  268,  274,  245,  279, 1297, 1173,  903, 1118, 1324,
01677       668, 1324, 1324,  845,  902,  671,  901, 1176, 1058,  759,
01678      1096,  714, 1313, 1118, 1313, 1313,  900,  899,  898,  245,
01679       897,  245,  532,  896,  532,  532, 1417,  895, 1101,  533,
01680      1101,  533,  317,  534,  535, 1282, 1101, 1282, 1282,  760,
01681       317,  323,  894, 1328,  533,  893,  892, 1325,  533,  323,
01682      1101, 1304, 1101, 1101, 1103, 1101,  890, 1425, 1101, 1425,
01683      1425, 1101,  388,  890, 1101, 1329, 1101, 1314, 1101,  887,
01684       388,  533, 1330, 1101, 1101, 1101, 1101,  536, 1101, 1101,
01685 
01686      1101, 1332, 1101, 1145, 1315, 1331, 1101,  737, 1101, 1101,
01687      1283, 1145,  862, 1101,  537,  861,  859,  578,  533,  854,
01688       533,  532,  852,  532,  532, 1438,  278, 1284,  533,  852,
01689       533,  279,  534,  535,  571,  759,  843,  278, 1333,  842,
01690       592,  839,  455,  533,  838,  837, 1101,  533, 1101, 1101,
01691      1101, 1101, 1101, 1342, 1101, 1342, 1342, 1101, 1101,  836,
01692      1101, 1101, 1101,  677, 1101, 1101,  677,  834, 1101, 1342,
01693       533, 1342, 1342,  833,  677, 1101,  536, 1118,  832,  831,
01694      1173,  830, 1335,  823,  738, 1345, 1334, 1345, 1345, 1313,
01695       822, 1313, 1313,  537,  821,  820, 1336,  533,  819,  533,
01696 
01697       711,  818,  711,  711,  711,  711,  711,  794, 1343,  817,
01698       711,  711,  711,  711,  711,  711,  711,  711, 1101,  711,
01699      1101,  711,  711,  816, 1343, 1344, 1101, 1101, 1440, 1101,
01700      1440, 1440, 1375, 1101, 1349, 1101, 1350, 1349,  815,  814,
01701      1346, 1344, 1101,  813, 1314, 1259,  812,  811, 1101, 1376,
01702      1101, 1337, 1445,  806, 1445, 1445, 1101, 1347, 1101,  805,
01703      1101, 1315,  796, 1101,  804,  782, 1101, 1447, 1377, 1447,
01704      1447,  778,  794, 1101,  777,  797,  798,  798,  688,  798,
01705       798,  799, 1351,  799,  799,  799,  799,  799,  800,  798,
01706       798,  799,  799,  799,  799,  799,  801,  802,  799,  798,
01707 
01708       799,  769,  799,  799,  801,  801,  801,  801,  801,  801,
01709       801,  801,  801,  801,  801,  801,  801,  801,  801,  801,
01710       801,  801,  801,  801,  801,  798,  798,  798,  798,  801,
01711       801,  801,  801,  801,  801,  801,  801,  801,  801,  801,
01712       801,  801,  801,  801,  801,  801,  801,  801,  801,  801,
01713       801,  801,  801,  800,  798,  798,  799,  245, 1101, 1103,
01714      1101,  572,  245,  245,  278,  571, 1101,  762,  245,  279,
01715       426,  245,  262, 1101,  265,  280,  267, 1101,  621, 1101,
01716       283,  245,  755,  754,  264, 1101, 1101, 1101, 1101, 1101,
01717       753, 1101, 1101, 1101, 1101, 1101, 1101,  752, 1101, 1101,
01718 
01719       751, 1101, 1101,  749, 1101, 1392, 1101,  268, 1378,  245,
01720      1363, 1101, 1342, 1379, 1342, 1342,  748, 1363, 1100, 1345,
01721      1118, 1345, 1345, 1118,  746, 1349, 1380, 1350, 1349,  745,
01722      1394,  567, 1394, 1394,  744,  245, 1239,  245,  245,  567,
01723       743,  798,  567,  245,  245,  278,  542,  567,  542,  245,
01724       279,  742,  245,  262,  542,  265,  280,  267,  741,  282,
01725       567,  283,  245,  734, 1101,  264, 1101, 1343,  567,  733,
01726       794,  567, 1101, 1351, 1346, 1401,  567,  732,  731, 1101,
01727       730, 1101,  729, 1101, 1344, 1395,  728,  727,  268, 1101,
01728       245, 1347,  726,  880, 1103, 1101, 1101, 1101, 1103, 1101,
01729 
01730       725, 1101, 1396, 1101,  456,  724,  798, 1101,  723,  803,
01731      1101,  722,  628,  456, 1101,  456,  245,  717,  245,  532,
01732       456,  532,  532,  716,  281, 1101,  533, 1101,  533,  710,
01733       534,  535,  703, 1101,  278, 1402, 1101,  591, 1101,  696,
01734      1101,  533,  692,  691, 1101,  533,  684,  583,  683,  583,
01735       583, 1101,  682, 1394,  676, 1394, 1394,  568, 1096, 1282,
01736       564, 1282, 1282, 1118,  798, 1118,  667, 1416,  533, 1416,
01737      1416, 1101,  666, 1101,  536,  665,  664,  663, 1096, 1101,
01738       662, 1103, 1424,  661, 1425, 1424, 1101, 1367,  826, 1367,
01739      1367,  537,  660, 1259,  659,  533,  658,  533,  532,  657,
01740 
01741       532,  532,  584,  656,  655,  533,  654,  533, 1395,  534,
01742       535,  543,  541,  644, 1283, 1417,  880,  643,  642,  585,
01743       533,  641,  640,  639,  533, 1396, 1101,  638, 1101,  798,
01744      1426, 1284,  764,  764, 1101,  764,  328, 1424,  328, 1425,
01745      1424, 1101,  412,  764,  412,  637,  636,  533, 1239,  635,
01746       634,  827,  633,  536,  328,  632,  511,  412,  328,  631,
01747       412, 1118,  328,  508,  764,  764,  504,  764,  412,  626,
01748       537,  625,  619,  593,  533,  764,  533,  711,  593,  874,
01749       711,  711,  711,  711,  875, 1426,  458,  711,  711,  711,
01750       874,  711,  591,  877,  711,  581,  711,  589,  711,  711,
01751 
01752       328,  412,  328,  412,  452,  274,  577,  274,  576,  575,
01753       317,  323,  317,  323,  445,  388,  412,  388,  328,  412,
01754       573,  571,  328,  274,  436,  434,  328,  412,  317,  323,
01755       568,  274,  274,  388,  558,  414,  317,  323,  557,  556,
01756       553,  388,  552,  551,  550,  549,  548,  547,  546,  794,
01757       545,  544,  711,  711,  543,  874,  711,  711,  711,  711,
01758       875,  541,  525,  711,  711,  711,  874,  711,  524,  877,
01759       711,  581,  711,  522,  711,  711,  521,  520,  519,  518,
01760       517,  516,  515,  339,  514,  335,  512,  511,  509,  504,
01761       502,  501,  499,  489,  452,  448,  447,  446,  441,  264,
01762 
01763       436,  434,  425,  424,  416,  414,  414,  398,  396,  270,
01764       379,  353,  351,  349,  347,  345,  878,  343,  341,  259,
01765       339,  335,  314,  270,  307,  794,  305,  269,  711,  711,
01766       264,  711,  711,  711,  711,  711,  794,  259, 1457,  711,
01767       711,  711,  711,  711,  711,  711,  711, 1457,  711, 1457,
01768       711,  711, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01769      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01770      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01771      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01772      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01773 
01774      1457,  794, 1457, 1457,  711,  798,  798, 1457,  798,  798,
01775      1457, 1457, 1457, 1457, 1457, 1457, 1457,  798,  798,  798,
01776      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  798, 1457,
01777      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01778      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01779      1457, 1457, 1457, 1457,  798,  798,  798,  798, 1457, 1457,
01780      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01781      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01782      1457, 1457,  798,  798,  798,  798,  798, 1457,  798,  798,
01783      1457, 1457, 1457, 1457, 1457, 1457, 1457,  800,  798,  798,
01784 
01785      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  798, 1457,
01786      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01787      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01788      1457, 1457, 1457, 1457,  798,  798,  798,  798, 1457, 1457,
01789      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01790      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01791      1457, 1457,  800,  798,  798,  798,  798, 1457,  798,  798,
01792      1457, 1457, 1457, 1457, 1457, 1457, 1457,  798,  882,  798,
01793      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  798, 1457,
01794      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01795 
01796      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01797      1457, 1457, 1457, 1457,  798,  798,  798,  798, 1457, 1457,
01798      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01799      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01800      1457, 1457,  798,  798,  882,  798,  798, 1457,  798,  798,
01801       799, 1457,  799,  799,  799,  799,  799,  800,  798,  798,
01802       799,  799,  799,  799,  799,  801,  802,  799,  798,  799,
01803      1457,  799,  799,  801,  801,  801,  801,  801,  801,  801,
01804       801,  801,  801,  801,  801,  801,  801,  801,  801,  801,
01805       801,  801,  801,  801,  798,  798,  798,  798,  801,  801,
01806 
01807       801,  801,  801,  801,  801,  801,  801,  801,  801,  801,
01808       801,  801,  801,  801,  801,  801,  801,  801,  801,  801,
01809       801,  801,  800,  798,  798,  799,  798,  798, 1457,  798,
01810       798,  799, 1457,  799,  799,  799,  799,  799,  883,  798,
01811       798,  799,  799,  799,  799,  799,  799,  799,  799,  884,
01812       799, 1457,  799,  799,  885,  885,  885,  885,  885,  885,
01813       885,  885,  885,  885,  885,  885,  885,  885,  885,  885,
01814       885,  885,  885,  885,  885,  798,  798,  798,  798,  885,
01815       885,  885,  885,  885,  885,  885,  885,  885,  885,  885,
01816       885,  885,  885,  885,  885,  885,  885,  885,  885,  885,
01817 
01818       885,  885,  885,  800,  798,  798,  799,  245, 1457, 1457,
01819      1457, 1457,  245,  245,  278, 1457, 1457, 1457,  245,  279,
01820      1457,  245,  262, 1457,  265,  280,  267, 1457,  282, 1457,
01821       283,  245, 1457, 1457,  264, 1457, 1457, 1457, 1457, 1457,
01822      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01823      1457, 1457, 1457, 1457, 1457, 1457, 1457,  268, 1457,  245,
01824      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01825      1457, 1457, 1457, 1457,  886, 1457, 1457, 1457, 1457, 1457,
01826      1457, 1457, 1457, 1457, 1457,  245, 1457,  245,  532, 1457,
01827       532,  532, 1457, 1457, 1457,  533, 1457,  533, 1457,  534,
01828 
01829       535, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01830       533, 1457, 1457, 1457,  533, 1457, 1457, 1457, 1457, 1457,
01831      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01832      1457, 1457, 1457, 1457, 1457, 1457, 1457,  533, 1457, 1457,
01833      1457, 1457, 1457,  536, 1457, 1457, 1457, 1457, 1457, 1457,
01834      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  907, 1457,
01835       537, 1457, 1457, 1457,  533, 1457,  533,  532, 1457,  532,
01836       532, 1457, 1457, 1457,  533, 1457,  533, 1457,  534,  535,
01837      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  533,
01838      1457, 1457, 1457,  533, 1457, 1457, 1457, 1457, 1457, 1457,
01839 
01840      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01841      1457, 1457, 1457, 1457, 1457, 1457,  533, 1457, 1457, 1457,
01842      1457, 1457,  536, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01843      1457, 1457, 1457, 1457, 1457, 1457, 1457,  908, 1457,  537,
01844      1457, 1457, 1457,  533, 1457,  533,  711, 1457,  711,  711,
01845       711,  711,  711,  794, 1457, 1457,  711,  711,  711,  711,
01846       711,  711,  711,  711, 1457,  711, 1457,  711,  711, 1457,
01847      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01848      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01849      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01850 
01851      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  942, 1457,
01852      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  794, 1457,
01853      1457,  797,  451, 1457, 1457,  451,  872, 1457,  872,  872,
01854       872, 1457,  872, 1457,  944,  451,  872, 1457,  872,  872,
01855       872, 1457, 1457,  872,  451,  872,  451,  872,  872, 1457,
01856      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01857      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01858      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01859      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01860      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01861 
01862       873,  872,  711, 1457,  874,  711,  711,  711,  711,  875,
01863      1457, 1457,  711,  711,  711,  874,  711, 1457,  877,  711,
01864       581,  711, 1457,  711,  711, 1457, 1457, 1457, 1457, 1457,
01865      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01866      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01867      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01868      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01869      1457, 1457, 1457, 1457,  794, 1457, 1457,  711,  711, 1457,
01870       711,  711,  711,  711,  711,  875, 1457, 1457,  711,  711,
01871       711,  711,  711,  711,  874,  711,  455,  711, 1457,  711,
01872 
01873       711, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01874      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01875      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01876      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01877      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01878       794, 1457, 1457,  711,  711, 1457,  874,  711,  711,  711,
01879       711,  875, 1457, 1457,  711,  711,  711,  874,  711, 1457,
01880       877,  711,  581,  711, 1457,  711,  711, 1457, 1457, 1457,
01881      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01882      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01883 
01884      1457, 1457, 1457, 1457, 1457, 1457, 1457,  946, 1457, 1457,
01885      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01886      1457, 1457, 1457, 1457, 1457, 1457,  794, 1457, 1457,  711,
01887       711, 1457,  711,  711,  711,  711,  711,  875, 1457, 1457,
01888       711,  711,  711,  711,  711, 1457,  711,  711,  498,  711,
01889      1457,  711,  711, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01890      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01891      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01892      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01893      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01894 
01895      1457, 1457,  794, 1457, 1457,  711,  798,  798, 1457,  798,
01896       798, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  800,  798,
01897       798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  798,
01898      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01899      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01900      1457, 1457, 1457, 1457, 1457,  798,  798,  798,  798, 1457,
01901      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01902      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01903      1457, 1457, 1457,  800,  798,  798,  798,  798, 1457,  798,
01904       798, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  800,  882,
01905 
01906       798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  798,
01907      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01908      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01909      1457, 1457, 1457, 1457, 1457,  798,  798,  798,  798, 1457,
01910      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01911      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01912      1457, 1457, 1457,  800,  798,  882,  798,  798, 1457,  798,
01913       798, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  798,  798,
01914       798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  798,
01915      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01916 
01917      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01918      1457, 1457, 1457, 1457, 1457,  798,  798,  798,  798, 1457,
01919      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01920      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01921      1457, 1457, 1457,  798,  798,  798,  798,  948, 1457,  798,
01922       948,  881, 1457,  881,  881,  881, 1457,  881,  798,  950,
01923       948,  881, 1457,  881,  881,  881, 1457, 1457,  881,  948,
01924       881,  451,  881,  881, 1457, 1457, 1457, 1457, 1457, 1457,
01925      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01926      1457, 1457, 1457, 1457, 1457,  798,  798,  798,  798, 1457,
01927 
01928      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01929      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01930      1457, 1457, 1457,  798,  798,  882,  881,  798,  798, 1457,
01931       798,  798, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  798,
01932       798,  798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01933       798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01934      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01935      1457, 1457, 1457, 1457, 1457, 1457,  798,  798,  798,  798,
01936      1457, 1457,  951, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01937      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01938 
01939      1457, 1457, 1457, 1457,  798,  798,  798,  798,  798, 1457,
01940       798,  798,  799, 1457,  799,  799,  799,  799,  799,  800,
01941       798,  798,  799,  799,  799,  799,  799,  801,  802,  799,
01942       798,  799, 1457,  799,  799,  801,  801,  801,  801,  801,
01943       801,  801,  801,  801,  801,  801,  801,  801,  801,  801,
01944       801,  801,  801,  801,  801,  801,  798,  798,  798,  798,
01945       801,  801,  801,  801,  801,  801,  801,  801,  801,  801,
01946       801,  801,  801,  801,  801,  801,  801,  801,  801,  801,
01947       801,  801,  801,  801,  800,  798,  798,  799,  245, 1457,
01948      1457, 1457, 1457,  245,  245,  278, 1457, 1457, 1457,  245,
01949 
01950       279, 1457,  245,  262, 1457,  265,  280,  267, 1457,  282,
01951      1457,  283,  245, 1457, 1457,  264, 1457, 1457, 1457, 1457,
01952      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01953      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  268, 1457,
01954       245, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01955      1457, 1457, 1457, 1457, 1457, 1457, 1457,  952, 1457, 1457,
01956      1457, 1457, 1457, 1457, 1457, 1457,  245, 1457,  245,  966,
01957      1457,  966,  966, 1457, 1457, 1457,  533, 1457,  533, 1457,
01958       534,  535, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01959      1457,  533, 1457, 1457, 1457,  533, 1457, 1457, 1457, 1457,
01960 
01961      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01962      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  533, 1457,
01963      1457, 1457, 1457, 1457,  536, 1457, 1457, 1457, 1457, 1457,
01964      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01965      1457,  537, 1457, 1457, 1457,  533, 1457,  533,  532, 1457,
01966       532,  532, 1457, 1457, 1457,  533, 1457,  533, 1457,  534,
01967       535, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01968       533, 1457, 1457, 1457,  533, 1457, 1457, 1457, 1457, 1457,
01969      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01970      1457, 1457, 1457, 1457, 1457, 1457, 1457,  533, 1457, 1457,
01971 
01972      1457, 1457, 1457,  536, 1457, 1457, 1457, 1457, 1457,  967,
01973      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01974       537, 1457, 1457, 1457,  533, 1457,  533,  711, 1457,  874,
01975       711,  711,  711,  711,  875, 1457, 1457,  711,  711,  711,
01976       874,  711, 1457,  996,  711,  581,  711, 1457,  711,  711,
01977      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01978      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01979      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01980      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01981      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  794,
01982 
01983      1457, 1457,  711,  711, 1457,  874,  711,  711,  711,  711,
01984       875, 1457, 1457,  711,  711,  711,  874,  711, 1457,  996,
01985       711,  581,  711, 1457,  711,  711, 1457, 1457, 1457, 1457,
01986      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01987      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01988      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01989      1457, 1457, 1457, 1457, 1457, 1457,  997, 1457, 1457, 1457,
01990      1457, 1457, 1457, 1457, 1457,  794, 1457, 1457,  711,  451,
01991      1457, 1457,  451,  872, 1457,  872,  872,  872, 1457,  872,
01992      1457,  944,  451,  872, 1457,  872,  872,  872, 1457, 1457,
01993 
01994       872,  451,  872,  451,  872,  872, 1457, 1457, 1457, 1457,
01995      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01996      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01997      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01998      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
01999      1457, 1457, 1457, 1457, 1457, 1457, 1457,  873,  872,  711,
02000      1457,  711,  711,  711,  711,  711,  794, 1457, 1457,  711,
02001       711,  711,  711,  711, 1457,  999,  711, 1457,  711, 1457,
02002       711,  711, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02003      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02004 
02005      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02006      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02007      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02008      1457,  794, 1457, 1457,  711,  711, 1457,  874,  711,  711,
02009       711,  711,  875, 1457, 1457,  711,  711,  711,  874,  711,
02010      1457,  877,  711,  581,  711, 1457,  711,  711, 1457, 1457,
02011      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02012      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02013      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02014      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1000,
02015 
02016      1457, 1457, 1457, 1457, 1457, 1457, 1457,  794, 1457, 1457,
02017       711,  711, 1457,  711,  711,  711,  711,  711,  875, 1457,
02018      1457,  711,  711,  711,  711,  711, 1457,  711,  711,  498,
02019       711, 1457,  711,  711, 1457, 1457, 1457, 1457, 1457, 1457,
02020      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02021      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02022      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02023      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02024      1457, 1457, 1457,  794, 1457, 1457,  711,  798,  948, 1457,
02025       798,  948,  880, 1457,  880,  880,  880, 1457,  880,  798,
02026 
02027      1002,  948,  880, 1457,  880,  880,  880, 1457, 1457,  880,
02028       948,  880,  451,  880,  880, 1457, 1457, 1457, 1457, 1457,
02029      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02030      1457, 1457, 1457, 1457, 1457, 1457,  798,  798,  798,  798,
02031      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02032      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02033      1457, 1457, 1457, 1457,  798,  798,  798,  880,  798,  948,
02034      1457,  798,  948,  881, 1457,  881,  881,  881, 1457,  881,
02035       800,  950,  948,  881, 1457,  881,  881,  881, 1457, 1457,
02036       881,  948,  881,  451,  881,  881, 1457, 1457, 1457, 1457,
02037 
02038      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02039      1457, 1457, 1457, 1457, 1457, 1457, 1457,  798,  798,  798,
02040       798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02041      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02042      1457, 1457, 1457, 1457, 1457,  800,  798,  882,  881,  798,
02043      1003, 1457, 1003, 1003, 1457, 1457, 1457, 1457, 1457, 1457,
02044      1457,  798,  798,  798, 1457, 1457, 1457, 1457, 1457, 1457,
02045      1457, 1457,  798, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02046      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02047      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  798,  798,
02048 
02049       798,  798, 1457, 1457, 1457, 1004, 1457, 1457, 1457, 1457,
02050      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02051      1457, 1457, 1005, 1457, 1457, 1457,  798,  798,  798,  798,
02052       798, 1457,  798,  798, 1457, 1457, 1457, 1457, 1457, 1457,
02053      1457,  800,  798,  798, 1457, 1457, 1457, 1457, 1457, 1457,
02054      1457, 1457,  798, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02055      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02056      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  798,  798,
02057       798,  798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02058      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1006, 1457,
02059 
02060      1457, 1457, 1457, 1457, 1457, 1457,  800,  798,  798,  245,
02061      1007, 1457, 1007, 1007, 1008,  245,  278, 1457, 1009, 1010,
02062       245, 1011, 1457, 1012, 1013, 1014, 1015,  280, 1016, 1457,
02063       282, 1457, 1017, 1018, 1019, 1457,  264, 1457, 1457, 1457,
02064      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02065      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1020,  268,
02066      1457, 1021, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02067      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02068      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1022, 1457, 1023,
02069       532, 1457,  532,  532, 1457, 1457, 1457,  533, 1457,  533,
02070 
02071      1457,  534,  535, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02072      1457, 1457,  533, 1457, 1457, 1457,  533, 1457, 1457, 1457,
02073      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02074      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  533,
02075      1457, 1457, 1457, 1457, 1457,  536, 1457, 1457, 1457, 1457,
02076      1457, 1457, 1457, 1035, 1457, 1457, 1457, 1457, 1457, 1457,
02077      1457, 1457,  537, 1457, 1457, 1457,  533, 1457,  533, 1051,
02078      1457, 1051, 1051, 1052, 1457,  426, 1457, 1053, 1054, 1457,
02079      1055, 1457, 1056, 1057, 1058, 1059,  426, 1060, 1457,  428,
02080      1457, 1061, 1062, 1063, 1457, 1457, 1457, 1457, 1457, 1457,
02081 
02082      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02083      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1064, 1457, 1457,
02084      1065, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02085      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02086      1457, 1457, 1457, 1457, 1457, 1457, 1066, 1457, 1058,  711,
02087      1457,  874,  711,  711,  711,  711,  875, 1457, 1457,  711,
02088       711,  711,  874,  711, 1457,  996,  711,  581,  711, 1457,
02089       711,  711, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02090      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02091      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02092 
02093      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02094      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02095      1457,  794, 1457, 1457,  711,  711, 1457,  874,  711,  711,
02096       711,  711,  875, 1457, 1457,  711,  711,  711,  874,  711,
02097      1457,  996,  711,  581,  711, 1457,  711,  711, 1457, 1457,
02098      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02099      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02100      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1080, 1457,
02101      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02102      1457, 1457, 1457, 1457, 1457, 1457, 1457,  794, 1457, 1457,
02103 
02104       711,  711, 1457,  711,  711,  711,  711,  711,  794, 1457,
02105      1457,  711,  711,  711,  711,  711, 1457,  999,  711, 1457,
02106       711, 1457,  711,  711, 1457, 1457, 1457, 1457, 1457, 1457,
02107      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02108      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02109      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02110      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02111      1457, 1457, 1457,  794, 1457, 1457,  711,  711, 1457,  711,
02112       711,  711,  711,  711,  875, 1457, 1457,  711,  711,  711,
02113       711,  711,  711,  711,  711,  455,  711, 1457,  711,  711,
02114 
02115      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02116      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02117      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02118      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02119      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  794,
02120      1457, 1457,  711,  711, 1457,  874,  711,  711,  711,  711,
02121       875, 1457, 1457,  711,  711,  711,  874,  711, 1457,  877,
02122       711,  581,  711, 1457,  711,  711, 1457, 1457, 1457, 1457,
02123      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02124      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02125 
02126      1457, 1457, 1081, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02127      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02128      1457, 1457, 1457, 1457, 1457,  794, 1457, 1457,  711,  798,
02129       948, 1457,  798,  948,  880, 1457,  880,  880,  880, 1457,
02130       880,  800, 1002,  948,  880, 1457,  880,  880,  880, 1457,
02131      1457,  880,  948,  880,  451,  880,  880, 1457, 1457, 1457,
02132      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02133      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  798,  798,
02134       798,  798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02135      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02136 
02137      1457, 1457, 1457, 1457, 1457, 1457,  800,  798,  798,  880,
02138       798, 1003, 1457, 1003, 1003, 1457, 1457, 1457, 1457, 1457,
02139      1457, 1457,  798,  798,  798, 1457, 1457, 1457, 1457, 1457,
02140      1457, 1457, 1457,  798, 1457, 1457, 1457, 1457, 1457, 1457,
02141      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02142      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  798,
02143       798,  798,  798, 1457, 1457, 1457, 1004, 1457, 1457, 1457,
02144      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02145      1457, 1457, 1457, 1005, 1457, 1457, 1457,  798,  798,  798,
02146       798, 1003, 1457, 1003, 1003, 1457, 1457, 1457, 1457, 1457,
02147 
02148      1457, 1457,  798,  798,  798, 1457, 1457, 1457, 1457, 1457,
02149      1457, 1457, 1457,  798, 1457, 1457, 1457, 1457, 1457, 1457,
02150      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02151      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  798,
02152       798,  798,  798, 1457, 1457, 1457, 1004, 1457, 1457, 1457,
02153      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02154      1457, 1457, 1457, 1005, 1457, 1457, 1457,  798,  798,  798,
02155      1007, 1457, 1007, 1007, 1084, 1457, 1457, 1457, 1009, 1010,
02156      1457, 1085, 1457, 1086, 1087, 1014, 1088, 1457, 1089, 1457,
02157      1457, 1457, 1090, 1091, 1019, 1457, 1457, 1457, 1457, 1457,
02158 
02159      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02160      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1020, 1457,
02161      1457, 1092, 1457, 1457, 1457, 1457, 1093, 1457, 1457, 1457,
02162      1457, 1457, 1457, 1457, 1457, 1094, 1457, 1457, 1457, 1457,
02163      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1095, 1457, 1014,
02164       245, 1457, 1457, 1457, 1457,  245,  245, 1457, 1457, 1457,
02165      1457,  245, 1096, 1457,  245, 1098, 1457, 1457,  263,  245,
02166      1457, 1457, 1457, 1457, 1023, 1457, 1457,  264, 1457, 1457,
02167      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02168      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02169 
02170      1457, 1457,  245, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02171      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02172      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  245, 1457,
02173       245,  245, 1457, 1457, 1457, 1457,  245,  245, 1457, 1457,
02174      1457, 1457,  245, 1096, 1457,  245,  262, 1457, 1099,  266,
02175       267, 1457, 1457, 1457, 1457, 1023, 1100, 1457,  264, 1457,
02176      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02177      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02178      1457,  268, 1457,  245, 1457, 1457, 1457, 1457, 1457, 1457,
02179      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02180 
02181      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  245,
02182      1457,  245,  457, 1457, 1457,  457, 1457, 1457, 1457, 1457,
02183      1457,  457, 1457, 1096, 1457,  457, 1457,  457, 1457, 1457,
02184      1457, 1101,  457, 1457, 1102, 1014,  458, 1457, 1457, 1103,
02185      1104, 1105, 1106, 1107, 1101, 1101, 1108, 1109, 1101, 1110,
02186      1111, 1101, 1101, 1112, 1113, 1101, 1114, 1115, 1116, 1117,
02187      1457, 1457, 1457, 1457, 1101, 1118, 1119, 1120, 1121, 1122,
02188      1101, 1101, 1123, 1124, 1125, 1126, 1101, 1101, 1127, 1128,
02189      1101, 1129, 1130, 1131, 1132, 1101, 1101, 1101,  532, 1457,
02190       532,  532, 1457, 1457, 1457,  533, 1457,  533, 1457,  534,
02191 
02192       535, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02193       533, 1457, 1457, 1457,  533, 1457, 1457, 1457, 1457, 1457,
02194      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02195      1457, 1457, 1457, 1457, 1457, 1457, 1457,  533, 1457, 1457,
02196      1457, 1457, 1457,  536, 1457,  907, 1457, 1457, 1457, 1457,
02197      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02198       537, 1457, 1457, 1457,  533, 1457,  533, 1155, 1457, 1051,
02199      1155, 1156, 1457, 1457, 1457, 1157, 1158, 1457, 1159, 1457,
02200      1160, 1161, 1058, 1162, 1457, 1163, 1457, 1457, 1457, 1164,
02201      1165, 1166, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02202 
02203      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02204      1457, 1457, 1457, 1457, 1457, 1167, 1457, 1457, 1168, 1457,
02205      1457, 1457, 1457, 1169, 1457, 1457, 1457, 1457, 1457, 1457,
02206      1457, 1457, 1170, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02207      1457, 1457, 1457, 1457, 1171, 1457, 1172, 1183, 1457, 1183,
02208      1183, 1084, 1457,  578, 1457, 1009, 1010, 1457, 1011, 1457,
02209      1086, 1087, 1014, 1088,  578, 1089, 1457,  580, 1457, 1184,
02210      1091, 1019, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02211      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02212      1457, 1457, 1457, 1457, 1457, 1020, 1457, 1457, 1092, 1457,
02213 
02214      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02215      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02216      1457, 1457, 1457, 1457, 1095, 1457, 1014, 1183, 1457, 1183,
02217      1183, 1084, 1457,  578, 1457, 1009, 1010, 1457, 1011, 1457,
02218      1086, 1188, 1014, 1189,  586, 1089, 1457,  580, 1457, 1184,
02219      1091, 1019, 1457,  264, 1457, 1457, 1457, 1457, 1457, 1457,
02220      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02221      1457, 1457, 1457, 1457, 1457, 1020, 1457, 1457, 1092, 1457,
02222      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02223      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02224 
02225      1457, 1457, 1457, 1457, 1095, 1457, 1014,  711, 1457,  874,
02226       711,  711,  711,  711,  875, 1457, 1457,  711,  711,  711,
02227       874,  711, 1457,  996,  711,  581,  711, 1457,  711,  711,
02228      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02229      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02230      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02231      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02232      1457, 1190, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  794,
02233      1457, 1457,  711,  711, 1457,  874,  711,  711,  711,  711,
02234       875, 1457, 1457,  711,  711,  711,  874,  711, 1457,  877,
02235 
02236       711,  581,  711, 1457,  711,  711, 1457, 1457, 1457, 1457,
02237      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02238      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02239      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02240      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1191,
02241      1457, 1457, 1457, 1457, 1457,  794, 1457, 1457,  711,  798,
02242       798, 1457,  798,  798, 1457, 1457, 1457, 1457, 1457, 1457,
02243      1457,  800,  798,  798, 1457, 1457, 1457, 1457, 1457, 1457,
02244      1457, 1457,  798, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02245      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02246 
02247      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  798,  798,
02248       798,  798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02249      1457, 1457, 1457, 1457, 1457, 1192, 1457, 1457, 1457, 1457,
02250      1457, 1457, 1457, 1457, 1457, 1457,  800,  798,  798,  798,
02251       798, 1457,  798,  798, 1457, 1457, 1457, 1457, 1457, 1457,
02252      1457,  800,  798,  798, 1457, 1457, 1457, 1457, 1457, 1457,
02253      1457, 1457,  798, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02254      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02255      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  798,  798,
02256       798,  798, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02257 
02258      1457, 1457, 1457, 1193, 1457, 1457, 1457, 1457, 1457, 1457,
02259      1457, 1457, 1457, 1457, 1457, 1457,  800,  798,  798,  245,
02260      1457, 1457, 1457, 1457,  245,  245, 1457, 1457, 1457, 1457,
02261       245, 1096, 1457,  245, 1457, 1457, 1457,  263,  245, 1457,
02262      1457, 1457, 1457,  245, 1457, 1457,  264, 1457, 1457, 1457,
02263      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02264      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02265      1457,  245, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02266      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02267      1457, 1457, 1457, 1457, 1457, 1457, 1457,  245, 1457,  245,
02268 
02269       245, 1457, 1457, 1457, 1457,  245,  245, 1457, 1457, 1457,
02270      1457,  245, 1096, 1457,  245,  262, 1457, 1457,  266,  267,
02271      1457, 1457, 1457, 1457,  245, 1457, 1457,  264, 1457, 1457,
02272      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02273      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02274       268, 1457,  245, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02275      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02276      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  245, 1457,
02277       245, 1051, 1457, 1051, 1051, 1052, 1457,  668, 1457, 1053,
02278      1054, 1457, 1055, 1457, 1056, 1057, 1058, 1059,  668, 1060,
02279 
02280      1457,  670, 1457, 1237, 1062, 1063, 1457, 1457, 1457, 1457,
02281      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02282      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1064,
02283      1457, 1457, 1065, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02284      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02285      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1066, 1457,
02286      1058, 1241, 1457, 1051, 1241, 1242, 1457, 1457, 1457, 1243,
02287      1244, 1457, 1245, 1457, 1246, 1247, 1058, 1248, 1457, 1249,
02288      1457, 1457, 1457, 1250, 1251, 1252, 1457, 1457, 1457, 1457,
02289      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02290 
02291      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1253,
02292      1457, 1457, 1254, 1457, 1457, 1457, 1457, 1255, 1457, 1457,
02293      1457, 1457, 1457, 1457, 1457, 1457, 1256, 1457, 1457, 1457,
02294      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1257, 1457,
02295      1258, 1183, 1457, 1183, 1183, 1084, 1457, 1457, 1457, 1009,
02296      1010, 1457, 1085, 1457, 1086, 1087, 1014, 1088, 1457, 1089,
02297      1457, 1457, 1457, 1271, 1091, 1019, 1457, 1457, 1457, 1457,
02298      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02299      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1020,
02300      1457, 1457, 1092, 1457, 1457, 1457, 1457, 1093, 1457, 1457,
02301 
02302      1457, 1457, 1457, 1457, 1457, 1457, 1094, 1457, 1457, 1457,
02303      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1095, 1457,
02304      1014,  711, 1457,  874,  711,  711,  711,  711,  875, 1457,
02305      1457,  711,  711,  711,  874,  711, 1457,  996,  711,  581,
02306       711, 1457,  711,  711, 1457, 1457, 1457, 1457, 1457, 1457,
02307      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02308      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02309      1276, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02310      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02311      1457, 1457, 1457,  794, 1457, 1457,  711,  711, 1457,  874,
02312 
02313       711,  711,  711,  711,  875, 1457, 1457,  711,  711,  711,
02314       874,  711, 1457,  877,  711,  581,  711, 1457,  711,  711,
02315      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02316      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02317      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02318      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1277,
02319      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  794,
02320      1457, 1457,  711, 1241, 1457, 1051, 1241, 1242, 1457, 1457,
02321      1457, 1243, 1244, 1457, 1245, 1457, 1246, 1247, 1058, 1248,
02322      1457, 1249, 1457, 1457, 1457, 1250, 1251, 1252, 1457, 1457,
02323 
02324      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02325      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02326      1457, 1253, 1457, 1457, 1254, 1457, 1457, 1457, 1457, 1255,
02327      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1256, 1457,
02328      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02329      1257, 1457, 1258, 1183, 1457, 1183, 1183, 1084, 1457,  578,
02330      1457, 1009, 1010, 1457, 1011, 1457, 1086, 1087, 1014, 1088,
02331       578, 1089, 1457,  773, 1457, 1184, 1091, 1019, 1457, 1457,
02332      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02333      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02334 
02335      1457, 1020, 1457, 1457, 1092, 1457, 1457, 1457, 1457, 1457,
02336      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02337      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02338      1095, 1457, 1014, 1183, 1457, 1183, 1183, 1084, 1457,  578,
02339      1457, 1009, 1010, 1457, 1011, 1457, 1086, 1188, 1014, 1189,
02340       586, 1089, 1457,  773, 1457, 1184, 1091, 1019, 1457,  264,
02341      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02342      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02343      1457, 1020, 1457, 1457, 1092, 1457, 1457, 1457, 1457, 1457,
02344      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02345 
02346      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02347      1095, 1457, 1014, 1051, 1457, 1051, 1051, 1052, 1457,  668,
02348      1457, 1053, 1054, 1457, 1055, 1457, 1056, 1057, 1058, 1059,
02349       668, 1060, 1457,  845, 1457, 1237, 1062, 1063, 1457, 1457,
02350      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02351      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02352      1457, 1064, 1457, 1457, 1065, 1457, 1457, 1457, 1457, 1457,
02353      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02354      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02355      1066, 1457, 1058, 1183, 1457, 1183, 1183, 1358, 1457, 1457,
02356 
02357      1457, 1359, 1360, 1457, 1361, 1457, 1086, 1362, 1363, 1364,
02358      1457, 1365, 1457, 1457, 1457, 1184, 1366, 1019, 1457, 1457,
02359      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02360      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02361      1457, 1020, 1457, 1457, 1092, 1457, 1457, 1457, 1457, 1457,
02362      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  876,
02363      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02364      1095, 1457, 1363, 1367, 1368,  990, 1368, 1368, 1369,  990,
02365      1369, 1369, 1369, 1369, 1369, 1370, 1367, 1367, 1369, 1369,
02366      1369, 1369, 1369, 1457, 1369, 1369, 1367, 1369,  990, 1369,
02367 
02368      1369, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02369      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02370      1457, 1457, 1367, 1367, 1367, 1367, 1457, 1457, 1457, 1457,
02371      1457, 1457, 1457, 1457, 1457, 1457, 1457,  880, 1457, 1457,
02372      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02373      1370, 1367, 1367, 1369,  451, 1457, 1457,  451,  872, 1457,
02374       872,  872,  872, 1457,  872, 1457, 1393,  451,  872, 1457,
02375       872,  872,  872, 1457, 1457,  872,  451,  872,  451,  872,
02376       872, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02377      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02378 
02379      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02380      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02381      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02382      1457, 1457,  873,  872,  798,  798, 1457,  798,  798, 1457,
02383      1457, 1457, 1457, 1457, 1457, 1457,  798,  882,  798, 1457,
02384      1457, 1457, 1457, 1457, 1457, 1457, 1457,  798, 1457, 1457,
02385      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02386      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02387      1457, 1457, 1457,  798,  798,  798,  798, 1457, 1457, 1457,
02388      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02389 
02390      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02391      1457,  798,  798,  882, 1183, 1457, 1183, 1183, 1358, 1457,
02392      1457, 1457, 1359, 1360, 1457, 1361, 1457, 1086, 1362, 1363,
02393      1364, 1457, 1365, 1457, 1457, 1457, 1184, 1366, 1019, 1457,
02394      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02395      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02396      1457, 1457, 1020, 1457, 1457, 1092, 1457,  995, 1457, 1457,
02397      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02398      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02399      1457, 1095, 1457, 1363, 1196, 1457, 1457, 1196,  872, 1457,
02400 
02401       872,  872,  872, 1457,  872, 1457, 1413, 1196,  872, 1457,
02402       872,  872,  872, 1457, 1457,  872, 1196,  872, 1196,  872,
02403       872, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02404      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02405      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02406      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02407      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02408      1457, 1457,  873,  872, 1196, 1457, 1457, 1196,  872, 1457,
02409       872,  872,  872, 1457,  872, 1457, 1413, 1196,  872, 1457,
02410       872,  872,  872, 1457, 1457,  872, 1196,  872, 1196,  872,
02411 
02412       872, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02413      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02414      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02415      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02416      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02417      1457, 1457,  873,  872,   68,   68,   68,   68,   68,   68,
02418        68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
02419        68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
02420        68,   68,   68,   68,   68,   68,   68,   68,   68,  102,
02421       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
02422 
02423       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
02424       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
02425       102,  102,  102,  102,  105,  105,  105,  105,  105,  105,
02426       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
02427       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
02428       105,  105,  105,  105,  105,  105,  105,  105,  105,  111,
02429       111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
02430       111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
02431       111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
02432       111,  111,  111,  111,  122,  122,  122,  122,  122,  122,
02433 
02434       122,  122,  122,  122,  122,  122,  122,  122,  122,  122,
02435       122,  122,  122,  122,  122,  122,  122,  122,  122,  122,
02436       122,  122,  122,  122,  122,  122,  122,  122,  122,  136,
02437       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
02438       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
02439       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
02440       136,  136,  136,  136,  138,  138,  138,  138,  138,  138,
02441       138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
02442       138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
02443       138,  138,  138,  138,  138,  138,  138,  138,  138,  147,
02444 
02445       147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
02446       147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
02447       147,  147,  147,  147,  147,  147,  147,  147,  147,  147,
02448       147,  147,  147,  147,  152,  152,  152,  152,  152,  152,
02449       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
02450       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
02451       152,  152,  152,  152,  152,  152,  152,  152,  152,  157,
02452       157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
02453       157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
02454       157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
02455 
02456       157,  157,  157,  157,  161,  161,  161,  161,  161,  161,
02457       161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
02458       161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
02459       161,  161,  161,  161,  161,  161,  161,  161,  161,  165,
02460       165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
02461       165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
02462       165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
02463       165,  165,  165,  165,  169,  169,  169,  169,  169,  169,
02464       169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
02465       169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
02466 
02467       169,  169,  169,  169,  169,  169,  169,  169,  169,  173,
02468       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
02469       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
02470       173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
02471       173,  173,  173,  173,  177,  177,  177,  177,  177,  177,
02472       177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
02473       177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
02474       177,  177,  177,  177,  177,  177,  177,  177,  177,  192,
02475       192,  192,  192,  192,  192,  192,  192,  192,  192,  192,
02476       192,  192,  192,  192,  192,  192,  192,  192,  192,  192,
02477 
02478       192,  192,  192,  192,  192,  192,  192,  192,  192,  192,
02479       192,  192,  192,  192,  194,  194,  194,  194,  194,  194,
02480       194,  194,  194,  194,  194,  194,  194,  194,  194,  194,
02481       194,  194,  194,  194,  194,  194,  194,  194,  194,  194,
02482       194,  194,  194,  194,  194,  194,  194,  194,  194,  203,
02483       203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
02484       203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
02485       203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
02486       203,  203,  203,  203,  215,  215,  215,  215,  215,  215,
02487       215,  215,  215,  215,  215,  215,  215,  215,  215,  215,
02488 
02489       215,  215,  215,  215,  215,  215,  215,  215,  215,  215,
02490       215,  215,  215,  215,  215,  215,  215,  215,  215,   71,
02491        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
02492        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
02493        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
02494        71,   71,   71,   71,  223,  223,  223,  223,  223,  223,
02495       223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
02496       223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
02497       223,  223,  223,  223,  223,  223,  223,  223,  223,  226,
02498       226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
02499 
02500       226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
02501       226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
02502       226,  226,  226,  226,  236,  236,  236,  236,  236,  236,
02503       236,  236,  236,  236,  236,  236,  236,  236,  236,  236,
02504       236,  236,  236,  236,  236,  236,  236,  236,  236,  236,
02505       236,  236,  236,  236,  236,  236,  236,  236,  236,  245,
02506      1457, 1457, 1457,  245,  245, 1457, 1457, 1457, 1457,  245,
02507      1457, 1457,  245,  245, 1457,  245, 1457,  245,  245, 1457,
02508      1457, 1457,  245, 1457, 1457, 1457,  245, 1457, 1457, 1457,
02509       245, 1457, 1457,  245,  254,  254, 1457,  254,  254,  254,
02510 
02511       254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
02512       254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
02513       254,  254,  254,  254,  254,  254,  254,  254,  254,  262,
02514      1457, 1457, 1457,  262,  262, 1457, 1457, 1457, 1457,  262,
02515      1457, 1457,  262,  262, 1457,  262,  262,  262,  262, 1457,
02516      1457, 1457,  262, 1457, 1457,  262,  262, 1457, 1457, 1457,
02517       262, 1457, 1457,  262,  265, 1457, 1457, 1457,  265,  265,
02518      1457, 1457, 1457, 1457,  265, 1457, 1457,  265,  265, 1457,
02519       265,  265,  265,  265, 1457, 1457, 1457,  265, 1457, 1457,
02520       265,  265, 1457,  265, 1457,  265, 1457, 1457,  265,  263,
02521 
02522      1457,  263,  263, 1457,  263, 1457, 1457, 1457, 1457, 1457,
02523      1457,  263,  263,  274,  274,  274,  274, 1457, 1457, 1457,
02524      1457, 1457, 1457, 1457, 1457, 1457,  274, 1457, 1457,  274,
02525      1457,  274, 1457,  274,  274, 1457,  274, 1457, 1457, 1457,
02526      1457,  274,  281, 1457, 1457, 1457,  281,  281,  281, 1457,
02527      1457, 1457,  281,  281, 1457,  281,  281, 1457,  281,  281,
02528       281,  281,  281, 1457,  281,  281, 1457, 1457,  281,  281,
02529      1457,  281, 1457,  281, 1457, 1457,  281,  292, 1457, 1457,
02530      1457,  292,  292, 1457, 1457, 1457, 1457,  292, 1457, 1457,
02531       292,  292, 1457,  292, 1457,  292,  292, 1457, 1457, 1457,
02532 
02533       292, 1457, 1457, 1457,  292, 1457, 1457, 1457,  292, 1457,
02534      1457,  292,  306,  306, 1457,  306,  306,  306,  306,  306,
02535       306,  306,  306,  306,  306,  306,  306,  306, 1457,  306,
02536       306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
02537       306,  306,  306,  306,  306,  306,  306,  309, 1457, 1457,
02538      1457,  309,  309, 1457, 1457, 1457, 1457,  309, 1457, 1457,
02539       309,  309, 1457,  309, 1457,  309,  309, 1457, 1457, 1457,
02540       309, 1457, 1457, 1457,  309, 1457, 1457, 1457,  309, 1457,
02541      1457,  309,  311,  311, 1457,  311,  311,  311,  311,  311,
02542       311,  311,  311,  311,  311,  311,  311,  311,  311,  311,
02543 
02544       311,  311,  311,  311,  311,  311,  311,  311,  311,  311,
02545       311,  311,  311,  311,  311,  311,  311,  317,  317,  317,
02546       317, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02547       317, 1457, 1457,  317, 1457,  317, 1457,  317,  317, 1457,
02548       317, 1457, 1457, 1457, 1457,  317,  319, 1457, 1457, 1457,
02549       319, 1457, 1457, 1457, 1457, 1457,  319, 1457, 1457,  319,
02550       319, 1457,  319, 1457,  319,  319, 1457, 1457, 1457,  319,
02551      1457, 1457, 1457,  319, 1457, 1457, 1457,  319, 1457, 1457,
02552       319,  323,  323,  323,  323, 1457, 1457, 1457, 1457, 1457,
02553      1457, 1457, 1457, 1457,  323, 1457, 1457,  323, 1457,  323,
02554 
02555      1457,  323,  323, 1457,  323, 1457, 1457, 1457, 1457,  323,
02556       330, 1457, 1457, 1457,  330,  330,  330,  330,  330,  330,
02557       330,  330,  330,  330,  330,  330,  330,  330,  330,  330,
02558       330,  330,  330,  330,  330,  330,  330,  330,  330,  330,
02559       330,  330,  330,  330,  330,  331,  331, 1457,  331,  331,
02560       331,  331,  331,  331,  331,  331,  331,  331,  331,  331,
02561       331,  331,  331,  331,  331,  331,  331, 1457,  331,  331,
02562       331, 1457,  331,  331, 1457,  331,  331,  331,  331,  331,
02563       340,  340, 1457,  340,  340,  340,  340, 1457,  340,  340,
02564       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
02565 
02566       340,  340,  340,  340,  340,  340, 1457,  340,  340, 1457,
02567       340,  340,  340,  340,  340,  342,  342, 1457,  342,  342,
02568       342,  342, 1457,  342,  342,  342,  342,  342,  342,  342,
02569       342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
02570       342, 1457,  342,  342, 1457,  342,  342,  342,  342,  342,
02571       344,  344, 1457,  344,  344,  344,  344,  344,  344,  344,
02572       344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
02573       344,  344,  344,  344,  344,  344, 1457,  344,  344, 1457,
02574       344,  344,  344,  344,  344,  346,  346, 1457,  346,  346,
02575       346,  346,  346,  346,  346,  346,  346,  346,  346,  346,
02576 
02577       346,  346,  346,  346,  346,  346,  346,  346,  346,  346,
02578       346, 1457,  346,  346, 1457,  346,  346,  346,  346,  346,
02579       348,  348, 1457,  348,  348,  348,  348,  348,  348,  348,
02580       348,  348,  348,  348,  348,  348,  348,  348,  348,  348,
02581       348,  348,  348,  348,  348,  348, 1457,  348,  348, 1457,
02582       348,  348,  348,  348,  348,  350,  350, 1457,  350,  350,
02583       350,  350,  350,  350,  350,  350,  350,  350,  350,  350,
02584       350,  350,  350,  350,  350,  350,  350,  350,  350,  350,
02585       350, 1457,  350,  350, 1457,  350,  350,  350,  350,  350,
02586       352,  352, 1457,  352,  352,  352,  352,  352,  352,  352,
02587 
02588       352,  352,  352,  352,  352,  352,  352,  352,  352,  352,
02589       352,  352,  352,  352,  352,  352, 1457,  352,  352, 1457,
02590       352,  352,  352,  352,  352,  354, 1457, 1457,  354,  354,
02591       354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
02592      1457,  354,  354,  354,  354,  354,  354,  354,  354,  354,
02593       354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
02594       358,  358, 1457,  358,  358,  358,  358,  358,  358,  358,
02595       358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
02596       358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
02597       358,  358,  358,  358,  358,  364,  364, 1457,  364,  364,
02598 
02599      1457,  364,  364,  364,  364,  364,  364,  364,  364,  364,
02600       364,  364,  364,  364,  364,  364,  364,  364,  364,  364,
02601       364,  364,  364,  364,  364,  364,  364,  364,  364,  364,
02602       365, 1457,  365,  365,  365,  365,  365, 1457, 1457, 1457,
02603      1457, 1457, 1457,  365, 1457,  365,  368, 1457,  368, 1457,
02604       368,  368,  368, 1457, 1457, 1457, 1457, 1457, 1457,  368,
02605      1457,  368,  370,  370, 1457, 1457,  370,  370,  370,  370,
02606       370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
02607       370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
02608       370,  370,  370,  370,  370,  370,  370,  371,  371, 1457,
02609 
02610       371,  371,  371,  371, 1457,  371, 1457,  371,  371,  371,
02611       371,  371,  371,  371,  371,  371,  371,  371,  371, 1457,
02612       371,  371,  371, 1457,  371,  371, 1457,  371,  371, 1457,
02613      1457,  371,  382, 1457, 1457, 1457, 1457,  382, 1457, 1457,
02614      1457, 1457,  382,  382,  382,  382,  382, 1457, 1457, 1457,
02615      1457, 1457, 1457,  382,  384, 1457, 1457, 1457,  384, 1457,
02616      1457, 1457, 1457, 1457,  384, 1457, 1457,  384,  384, 1457,
02617       384, 1457,  384,  384, 1457, 1457, 1457,  384, 1457, 1457,
02618      1457,  384, 1457, 1457, 1457,  384, 1457, 1457,  384,  388,
02619       388,  388,  388, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02620 
02621      1457, 1457,  388, 1457, 1457,  388, 1457,  388, 1457,  388,
02622       388, 1457,  388, 1457, 1457, 1457, 1457,  388,  392, 1457,
02623      1457, 1457, 1457,  392,  392, 1457,  392, 1457,  392,  392,
02624       392,  392,  392, 1457, 1457, 1457, 1457, 1457, 1457,  392,
02625       245, 1457, 1457, 1457,  245,  245, 1457, 1457, 1457, 1457,
02626       245, 1457, 1457,  245,  245, 1457,  245, 1457,  245,  245,
02627      1457, 1457, 1457,  245, 1457, 1457, 1457,  245, 1457, 1457,
02628      1457,  245, 1457, 1457,  245,  397,  397, 1457,  397,  397,
02629       397,  397,  397,  397,  397,  397,  397,  397,  397,  397,
02630       397,  397,  397,  397,  397,  397,  397,  397,  397,  397,
02631 
02632       397, 1457,  397,  397, 1457,  397,  397,  397,  397,  397,
02633       413,  413,  413,  413,  413,  413,  413,  413,  413,  413,
02634       413,  413,  413,  413,  413,  413,  413,  413,  413,  413,
02635       413,  413,  413,  413,  413,  413,  413,  413,  413,  413,
02636       413,  413,  413,  413,  413,  415,  415,  415,  415,  415,
02637       415,  415,  415,  415,  415,  415,  415,  415,  415,  415,
02638       415, 1457,  415,  415, 1457,  415,  415,  415,  415,  415,
02639       415, 1457, 1457,  415, 1457,  415,  415,  415,  415,  415,
02640       254,  254, 1457,  254,  254,  254,  254,  254,  254,  254,
02641       254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
02642 
02643       254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
02644       254,  254,  254,  254,  254,  255,  255, 1457,  255,  255,
02645       255,  255,  255,  255,  255,  255,  255,  255,  255,  255,
02646       255,  255,  255,  255,  255,  255,  255,  255,  255,  255,
02647       255,  255,  255,  255,  255,  255,  255,  255,  255,  255,
02648       427, 1457, 1457, 1457, 1457,  427, 1457, 1457, 1457, 1457,
02649      1457,  427, 1457,  427,  427, 1457,  427, 1457, 1457, 1457,
02650      1457,  427,  262, 1457, 1457, 1457,  262,  262, 1457, 1457,
02651      1457, 1457,  262, 1457, 1457,  262,  262, 1457,  262,  262,
02652       262,  262, 1457, 1457, 1457,  262, 1457, 1457,  262,  262,
02653 
02654      1457, 1457, 1457,  262, 1457, 1457,  262,  263, 1457,  263,
02655       263, 1457,  263, 1457, 1457, 1457, 1457, 1457, 1457,  263,
02656       263,  265, 1457, 1457, 1457,  265,  265, 1457, 1457, 1457,
02657      1457,  265, 1457, 1457,  265,  265, 1457,  265,  265,  265,
02658       265, 1457, 1457, 1457,  265, 1457, 1457,  265,  265, 1457,
02659       265, 1457,  265, 1457, 1457,  265,  438, 1457,  438,  438,
02660      1457,  438, 1457, 1457, 1457, 1457, 1457, 1457,  438,  438,
02661       439, 1457, 1457, 1457,  439,  439, 1457, 1457, 1457, 1457,
02662       439, 1457, 1457,  439,  439, 1457,  439, 1457,  439,  439,
02663      1457, 1457, 1457,  439, 1457, 1457, 1457,  439, 1457, 1457,
02664 
02665      1457,  439, 1457, 1457,  439,  444,  444,  444, 1457, 1457,
02666      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02667      1457, 1457,  444,  444, 1457, 1457, 1457, 1457,  444, 1457,
02668      1457,  444,  451, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02669       451, 1457, 1457,  451,  451, 1457,  451, 1457, 1457, 1457,
02670       451,  451, 1457,  451, 1457,  451, 1457, 1457,  451,  453,
02671      1457,  453,  453, 1457,  453, 1457, 1457, 1457, 1457, 1457,
02672      1457,  453,  453, 1457, 1457, 1457, 1457, 1457, 1457,  453,
02673       281, 1457, 1457, 1457,  281,  281,  281, 1457, 1457, 1457,
02674       281,  281, 1457,  281,  281, 1457,  281,  281,  281,  281,
02675 
02676       281, 1457,  281,  281, 1457, 1457,  281,  281, 1457,  281,
02677      1457,  281, 1457, 1457,  281,  497, 1457, 1457, 1457,  497,
02678       497, 1457, 1457, 1457, 1457,  497,  497, 1457,  497,  497,
02679      1457,  497, 1457,  497,  497, 1457, 1457,  497,  497, 1457,
02680      1457, 1457,  497, 1457, 1457, 1457,  497, 1457, 1457,  497,
02681       245,  245, 1457,  245,  245,  245, 1457, 1457, 1457, 1457,
02682       245, 1457, 1457,  245,  245, 1457,  245,  245,  245,  245,
02683      1457, 1457, 1457,  245, 1457, 1457, 1457,  245, 1457, 1457,
02684      1457,  245, 1457, 1457,  245,  306,  306, 1457,  306,  306,
02685       306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
02686 
02687       306, 1457,  306,  306,  306,  306,  306,  306,  306,  306,
02688       306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
02689       309, 1457, 1457, 1457,  309,  309, 1457, 1457, 1457, 1457,
02690       309, 1457, 1457,  309,  309, 1457,  309, 1457,  309,  309,
02691      1457, 1457, 1457,  309, 1457, 1457, 1457,  309, 1457, 1457,
02692      1457,  309, 1457, 1457,  309,  311,  311, 1457,  311,  311,
02693       311,  311,  311,  311,  311,  311,  311,  311,  311,  311,
02694       311,  311,  311,  311,  311,  311,  311,  311,  311,  311,
02695       311,  311,  311,  311,  311,  311,  311,  311,  311,  311,
02696       312,  312, 1457,  312,  312,  312,  312,  312,  312,  312,
02697 
02698       312,  312,  312,  312,  312,  312,  312,  312,  312,  312,
02699       312,  312,  312,  312,  312,  312,  312,  312,  312,  312,
02700       312,  312,  312,  312,  312,  507,  507,  507, 1457, 1457,
02701      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02702      1457, 1457,  507,  507, 1457, 1457, 1457, 1457,  507, 1457,
02703      1457,  507,  319, 1457, 1457, 1457,  319, 1457, 1457, 1457,
02704      1457, 1457,  319, 1457, 1457,  319,  319, 1457,  319, 1457,
02705       319,  319, 1457, 1457, 1457,  319, 1457, 1457, 1457,  319,
02706      1457, 1457, 1457,  319, 1457, 1457,  319,  330, 1457, 1457,
02707      1457,  330,  330,  330,  330,  330,  330,  330,  330,  330,
02708 
02709       330,  330,  330,  330,  330,  330,  330,  330,  330,  330,
02710       330,  330,  330,  330,  330,  330,  330,  330,  330,  330,
02711       330,  330,  331,  331, 1457,  331,  331,  331,  331,  331,
02712       331,  331,  331,  331,  331,  331,  331,  331,  331,  331,
02713       331,  331,  331,  331, 1457,  331,  331,  331, 1457,  331,
02714       331, 1457,  331,  331,  331,  331,  331,  340,  340, 1457,
02715       340,  340,  340,  340, 1457,  340,  340,  340,  340,  340,
02716       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
02717       340,  340,  340, 1457,  340,  340, 1457,  340,  340,  340,
02718       340,  340,  342,  342, 1457,  342,  342,  342,  342, 1457,
02719 
02720       342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
02721       342,  342,  342,  342,  342,  342,  342,  342, 1457,  342,
02722       342, 1457,  342,  342,  342,  342,  342,  344,  344, 1457,
02723       344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
02724       344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
02725       344,  344,  344, 1457,  344,  344, 1457,  344,  344,  344,
02726       344,  344,  346,  346, 1457,  346,  346,  346,  346,  346,
02727       346,  346,  346,  346,  346,  346,  346,  346,  346,  346,
02728       346,  346,  346,  346,  346,  346,  346,  346, 1457,  346,
02729       346, 1457,  346,  346,  346,  346,  346,  348,  348, 1457,
02730 
02731       348,  348,  348,  348,  348,  348,  348,  348,  348,  348,
02732       348,  348,  348,  348,  348,  348,  348,  348,  348,  348,
02733       348,  348,  348, 1457,  348,  348, 1457,  348,  348,  348,
02734       348,  348,  350,  350, 1457,  350,  350,  350,  350,  350,
02735       350,  350,  350,  350,  350,  350,  350,  350,  350,  350,
02736       350,  350,  350,  350,  350,  350,  350,  350, 1457,  350,
02737       350, 1457,  350,  350,  350,  350,  350,  352,  352, 1457,
02738       352,  352,  352,  352,  352,  352,  352,  352,  352,  352,
02739       352,  352,  352,  352,  352,  352,  352,  352,  352,  352,
02740       352,  352,  352, 1457,  352,  352, 1457,  352,  352,  352,
02741 
02742       352,  352,  354, 1457, 1457,  354,  354,  354,  354,  354,
02743       354,  354,  354,  354,  354,  354,  354, 1457,  354,  354,
02744       354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
02745       354,  354,  354,  354,  354,  354,  354,  358,  358, 1457,
02746       358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
02747       358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
02748       358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
02749       358,  358,  359,  359, 1457,  359,  359,  359,  359,  359,
02750       359,  359,  359,  359,  359,  359,  359,  359,  359,  359,
02751       359,  359,  359,  359,  359,  359,  359,  359,  359,  359,
02752 
02753       359,  359,  359,  359,  359,  359,  359,  364,  364, 1457,
02754       364,  364,  364,  364,  364,  364,  364,  364,  364,  364,
02755       364,  364,  364,  364,  364,  364,  364,  364,  364,  364,
02756       364,  364,  364,  364,  364,  364,  364,  364,  364,  364,
02757       364,  364,  365, 1457,  365,  365,  365,  365,  365, 1457,
02758      1457, 1457, 1457, 1457, 1457,  365, 1457,  365,  526, 1457,
02759       526, 1457,  526,  526,  526, 1457, 1457, 1457, 1457, 1457,
02760      1457,  526, 1457,  526,  368, 1457,  368,  368,  368,  368,
02761       368, 1457, 1457, 1457, 1457, 1457, 1457,  368, 1457,  368,
02762       370,  370, 1457, 1457,  370,  370,  370,  370,  370,  370,
02763 
02764       370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
02765       370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
02766       370,  370,  370,  370,  370,  371,  371, 1457,  371,  371,
02767       371,  371, 1457,  371, 1457,  371,  371,  371,  371,  371,
02768       371,  371,  371,  371,  371,  371,  371, 1457,  371,  371,
02769       371, 1457,  371,  371, 1457,  371,  371, 1457, 1457,  371,
02770       531,  531, 1457,  531,  531,  531,  531,  531,  531,  531,
02771       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
02772       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
02773       531,  531,  531,  531,  531,  382, 1457, 1457, 1457, 1457,
02774 
02775       382, 1457, 1457, 1457, 1457,  382,  382,  382,  382,  382,
02776      1457, 1457, 1457, 1457, 1457, 1457,  382,  540, 1457, 1457,
02777      1457, 1457, 1457, 1457, 1457,  540, 1457, 1457,  540,  540,
02778      1457,  540, 1457, 1457, 1457,  540,  540, 1457,  540, 1457,
02779       540, 1457, 1457,  540,  384, 1457, 1457, 1457,  384, 1457,
02780      1457, 1457, 1457, 1457,  384, 1457, 1457,  384,  384, 1457,
02781       384, 1457,  384,  384, 1457, 1457, 1457,  384, 1457, 1457,
02782      1457,  384, 1457, 1457, 1457,  384, 1457, 1457,  384,  392,
02783      1457, 1457, 1457, 1457,  392,  392, 1457,  392, 1457,  392,
02784       392,  392,  392,  392, 1457, 1457, 1457, 1457, 1457, 1457,
02785 
02786       392,  245, 1457, 1457, 1457,  245,  245, 1457, 1457, 1457,
02787      1457,  245, 1457, 1457,  245,  245, 1457,  245, 1457,  245,
02788       245, 1457, 1457, 1457,  245, 1457, 1457, 1457,  245, 1457,
02789      1457, 1457,  245, 1457, 1457,  245,  397,  397, 1457,  397,
02790       397,  397,  397,  397,  397,  397,  397,  397,  397,  397,
02791       397,  397,  397,  397,  397,  397,  397,  397,  397,  397,
02792       397,  397, 1457,  397,  397, 1457,  397,  397,  397,  397,
02793       397,  413,  413,  413,  413,  413,  413,  413,  413,  413,
02794       413,  413,  413,  413,  413,  413,  413,  413,  413,  413,
02795       413,  413,  413,  413,  413,  413,  413,  413,  413,  413,
02796 
02797       413,  413,  413,  413,  413,  413,  415,  415,  415,  415,
02798       415,  415,  415,  415,  415,  415,  415,  415,  415,  415,
02799       415,  415, 1457,  415,  415, 1457,  415,  415,  415,  415,
02800       415,  415, 1457, 1457,  415, 1457,  415,  415,  415,  415,
02801       415,  427, 1457, 1457, 1457, 1457,  427, 1457, 1457, 1457,
02802      1457, 1457,  427, 1457,  427,  427, 1457,  427, 1457, 1457,
02803      1457, 1457,  427,  563, 1457, 1457, 1457, 1457, 1457, 1457,
02804      1457,  563, 1457, 1457, 1457,  563, 1457,  563, 1457, 1457,
02805      1457,  563,  563, 1457, 1457, 1457,  563, 1457, 1457,  563,
02806       570,  570, 1457,  570,  570,  570,  570, 1457,  570,  570,
02807 
02808       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
02809       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
02810       570,  570,  570,  570,  570,  438, 1457,  438,  438, 1457,
02811       438, 1457, 1457, 1457, 1457, 1457, 1457,  438,  438,  439,
02812      1457, 1457, 1457,  439,  439, 1457, 1457, 1457, 1457,  439,
02813      1457, 1457,  439,  439, 1457,  439,  439,  439,  439, 1457,
02814      1457, 1457,  439, 1457, 1457, 1457,  439, 1457,  439, 1457,
02815       439, 1457, 1457,  439,  440,  440,  440,  440, 1457, 1457,
02816      1457, 1457, 1457, 1457, 1457,  440, 1457,  440,  574,  574,
02817       574, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02818 
02819      1457, 1457, 1457, 1457, 1457,  574, 1457, 1457, 1457, 1457,
02820      1457,  574, 1457, 1457,  574,  444,  444,  444, 1457, 1457,
02821      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02822      1457, 1457,  444,  444, 1457, 1457, 1457, 1457,  444, 1457,
02823      1457,  444,  579, 1457, 1457, 1457, 1457,  579, 1457, 1457,
02824      1457, 1457, 1457,  579, 1457,  579,  579, 1457,  579, 1457,
02825      1457, 1457, 1457,  579,  451, 1457, 1457, 1457, 1457, 1457,
02826      1457, 1457,  451, 1457, 1457,  451,  451, 1457,  451, 1457,
02827      1457, 1457,  451,  451, 1457,  451, 1457,  451, 1457, 1457,
02828       451,  587, 1457, 1457, 1457, 1457,  587, 1457, 1457,  587,
02829 
02830      1457,  587,  587, 1457,  587,  587, 1457,  587, 1457, 1457,
02831      1457,  587,  587,  457, 1457, 1457, 1457, 1457, 1457, 1457,
02832      1457,  457, 1457, 1457, 1457,  457, 1457,  457, 1457, 1457,
02833      1457,  457,  457, 1457, 1457, 1457,  457, 1457, 1457,  457,
02834       281, 1457, 1457, 1457,  281,  281,  281, 1457, 1457, 1457,
02835       281,  281, 1457,  281,  281, 1457,  281,  281,  281,  281,
02836       281, 1457,  281,  281, 1457, 1457,  281,  281, 1457,  281,
02837      1457,  281, 1457, 1457,  281,  497, 1457, 1457, 1457,  497,
02838       497, 1457, 1457, 1457, 1457,  497,  497, 1457,  497,  497,
02839      1457,  497, 1457,  497,  497, 1457, 1457,  497,  497, 1457,
02840 
02841      1457, 1457,  497, 1457, 1457, 1457,  497, 1457, 1457,  497,
02842       627, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  627, 1457,
02843      1457, 1457,  627, 1457,  627, 1457, 1457, 1457,  627,  627,
02844      1457, 1457, 1457,  627, 1457, 1457,  627,  630,  630,  630,
02845      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02846      1457, 1457, 1457, 1457,  630, 1457, 1457, 1457, 1457, 1457,
02847       630, 1457, 1457,  630,  507,  507,  507, 1457, 1457, 1457,
02848      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02849      1457,  507,  507, 1457, 1457, 1457, 1457,  507, 1457, 1457,
02850       507,  354, 1457, 1457,  354,  354,  354,  354,  354,  354,
02851 
02852       354,  354,  354,  354,  354,  354, 1457,  354,  354,  354,
02853       354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
02854       354,  354,  354,  354,  354,  354,  526, 1457,  526,  526,
02855       526,  526,  526, 1457, 1457, 1457, 1457, 1457, 1457,  526,
02856      1457,  526,  368, 1457,  368, 1457,  368,  368,  368, 1457,
02857      1457, 1457, 1457, 1457, 1457,  368, 1457,  368,  531,  531,
02858      1457,  531,  531,  531,  531,  531,  531,  531,  531,  531,
02859       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
02860       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
02861       531,  531,  531,  533,  533, 1457,  533,  533,  533,  533,
02862 
02863       533,  533,  533,  533,  533,  533,  533,  533,  533,  533,
02864       533,  533,  533,  533,  533,  533,  533,  533,  533,  533,
02865       533,  533,  533,  533,  533,  533,  533,  533,  371,  371,
02866      1457,  371,  371,  371,  371, 1457,  371, 1457,  371,  371,
02867       371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
02868      1457,  371,  371,  371, 1457,  371,  371, 1457,  371,  371,
02869      1457, 1457,  371,  540, 1457, 1457, 1457, 1457, 1457, 1457,
02870      1457,  540, 1457, 1457,  540,  540, 1457,  540, 1457, 1457,
02871      1457,  540,  540, 1457,  540, 1457,  540, 1457, 1457,  540,
02872       245, 1457, 1457, 1457,  245,  245, 1457, 1457, 1457, 1457,
02873 
02874       245, 1457, 1457,  245,  245, 1457,  245, 1457,  245,  245,
02875      1457, 1457, 1457,  245, 1457, 1457, 1457,  245, 1457, 1457,
02876      1457,  245, 1457, 1457,  245,  397,  397, 1457,  397,  397,
02877       397,  397,  397,  397,  397,  397,  397,  397,  397,  397,
02878       397,  397,  397,  397,  397,  397,  397,  397,  397,  397,
02879       397, 1457,  397,  397, 1457,  397,  397,  397,  397,  397,
02880       669, 1457, 1457, 1457, 1457,  669, 1457, 1457, 1457, 1457,
02881      1457,  669, 1457,  669,  669, 1457,  669, 1457, 1457, 1457,
02882      1457,  669,  563, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02883       563, 1457, 1457, 1457,  563, 1457,  563, 1457, 1457, 1457,
02884 
02885       563,  563, 1457, 1457, 1457,  563, 1457, 1457,  563,  427,
02886      1457, 1457, 1457, 1457,  427, 1457, 1457, 1457, 1457, 1457,
02887       427, 1457,  427,  427, 1457,  427, 1457, 1457, 1457, 1457,
02888       427,  570,  570, 1457,  570,  570,  570,  570,  570,  570,
02889       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
02890       570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
02891       570,  570,  570,  570,  570,  570,  680,  680,  680, 1457,
02892      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02893      1457, 1457, 1457,  680,  680, 1457, 1457, 1457,  680,  680,
02894      1457, 1457,  680,  579, 1457, 1457, 1457, 1457,  579, 1457,
02895 
02896      1457, 1457, 1457, 1457,  579, 1457,  579,  579, 1457,  579,
02897      1457, 1457, 1457, 1457,  579,  687, 1457, 1457, 1457, 1457,
02898      1457, 1457, 1457,  687, 1457, 1457, 1457,  687, 1457,  687,
02899      1457, 1457, 1457,  687,  687, 1457, 1457, 1457,  687, 1457,
02900      1457,  687,  693, 1457,  693,  693, 1457,  693, 1457, 1457,
02901      1457, 1457, 1457, 1457,  693,  693, 1457, 1457, 1457, 1457,
02902      1457, 1457,  693,  587, 1457, 1457, 1457, 1457,  587, 1457,
02903      1457,  587, 1457,  587,  587, 1457,  587,  587, 1457,  587,
02904      1457, 1457, 1457,  587,  587,  457, 1457, 1457, 1457, 1457,
02905      1457, 1457, 1457,  457, 1457, 1457, 1457,  457, 1457,  457,
02906 
02907      1457, 1457, 1457,  457,  457, 1457, 1457, 1457,  457, 1457,
02908      1457,  457,  281, 1457, 1457, 1457,  281,  281,  281, 1457,
02909      1457, 1457,  281,  281, 1457,  281,  281, 1457,  281,  281,
02910       281,  281,  281, 1457,  281,  281, 1457, 1457,  281,  281,
02911      1457,  281, 1457,  281, 1457, 1457,  281,  713, 1457,  713,
02912       713,  713,  713,  713,  713, 1457, 1457,  713,  713,  713,
02913       713,  713,  713,  713,  713,  713,  713, 1457,  713,  713,
02914       713, 1457, 1457, 1457, 1457, 1457, 1457,  713,  627, 1457,
02915      1457, 1457, 1457, 1457, 1457, 1457,  627, 1457, 1457, 1457,
02916       627, 1457,  627, 1457, 1457, 1457,  627,  627, 1457, 1457,
02917 
02918      1457,  627, 1457, 1457,  627,  720,  720,  720, 1457, 1457,
02919      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02920      1457, 1457,  720,  720, 1457, 1457, 1457,  720,  720, 1457,
02921      1457,  720,  533,  533, 1457,  533,  533,  533,  533,  533,
02922       533,  533,  533,  533,  533,  533,  533,  533,  533,  533,
02923       533,  533,  533,  533,  533,  533,  533,  533,  533,  533,
02924       533,  533,  533,  533,  533,  533,  533,  531,  531, 1457,
02925       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
02926       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
02927       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
02928 
02929       531,  531,  371,  371, 1457,  371,  371,  371,  371, 1457,
02930       371, 1457,  371,  371,  371,  371,  371,  371,  371,  371,
02931       371,  371,  371,  371, 1457,  371,  371,  371, 1457,  371,
02932       371, 1457,  371,  371, 1457, 1457,  371,  245, 1457, 1457,
02933      1457,  245,  245, 1457, 1457, 1457, 1457,  245, 1457, 1457,
02934       245,  245, 1457,  245, 1457,  245,  245, 1457, 1457, 1457,
02935       245, 1457, 1457, 1457,  245, 1457, 1457, 1457,  245, 1457,
02936      1457,  245,  397,  397, 1457,  397,  397,  397,  397,  397,
02937       397,  397,  397,  397,  397,  397,  397,  397,  397,  397,
02938       397,  397,  397,  397,  397,  397,  397,  397, 1457,  397,
02939 
02940       397, 1457,  397,  397,  397,  397,  397,  747,  747,  747,
02941       747,  747,  747,  747,  747,  747,  747,  747,  747,  747,
02942       747,  747,  747,  747,  747,  747, 1457,  747,  747,  747,
02943       747,  747,  747,  747, 1457,  747,  747,  747,  747,  747,
02944       747,  747,  750,  750,  750,  750,  750,  750,  750,  750,
02945       750,  750,  750,  750,  750,  750,  750,  750,  750,  750,
02946       750, 1457,  750,  750,  750,  750,  750,  750,  750, 1457,
02947       750,  750,  750,  750,  750,  750,  750,  669, 1457, 1457,
02948      1457, 1457,  669, 1457, 1457, 1457, 1457, 1457,  669, 1457,
02949       669,  669, 1457,  669, 1457, 1457, 1457, 1457,  669,  758,
02950 
02951      1457, 1457, 1457, 1457, 1457, 1457, 1457,  758, 1457, 1457,
02952      1457,  758, 1457,  758, 1457, 1457, 1457,  758,  758, 1457,
02953      1457, 1457,  758, 1457, 1457,  758,  563, 1457, 1457, 1457,
02954      1457, 1457, 1457, 1457,  563, 1457, 1457, 1457,  563, 1457,
02955       563, 1457, 1457, 1457,  563,  563, 1457, 1457, 1457,  563,
02956      1457, 1457,  563,  427, 1457, 1457, 1457, 1457,  427, 1457,
02957      1457, 1457, 1457, 1457,  427, 1457,  427,  427, 1457,  427,
02958      1457, 1457, 1457, 1457,  427,  574,  574,  574, 1457, 1457,
02959      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02960      1457, 1457,  574, 1457, 1457, 1457, 1457,  574,  574, 1457,
02961 
02962      1457,  574,  680,  680,  680, 1457, 1457, 1457, 1457, 1457,
02963      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  680,
02964       680, 1457, 1457, 1457,  680,  680, 1457, 1457,  680,  765,
02965       765,  765,  765,  765,  765,  765,  765,  765,  765,  765,
02966       765,  765,  765,  765,  765,  765,  765,  765,  765,  765,
02967       765, 1457,  765, 1457,  765,  765,  765,  765,  765,  765,
02968       765,  765,  765,  765,  772, 1457, 1457, 1457, 1457,  772,
02969      1457, 1457, 1457, 1457, 1457,  772, 1457,  772,  772, 1457,
02970       772, 1457, 1457, 1457, 1457,  772,  687, 1457, 1457, 1457,
02971      1457, 1457, 1457, 1457,  687, 1457, 1457, 1457,  687, 1457,
02972 
02973       687, 1457, 1457, 1457,  687,  687, 1457, 1457, 1457,  687,
02974      1457, 1457,  687,  579, 1457, 1457, 1457, 1457,  579, 1457,
02975      1457, 1457, 1457, 1457,  579, 1457,  579,  579, 1457,  579,
02976      1457, 1457, 1457, 1457,  579,  779, 1457, 1457, 1457, 1457,
02977       779, 1457, 1457,  779, 1457,  779,  779, 1457,  779,  779,
02978      1457,  779, 1457, 1457, 1457,  779,  779,  587, 1457, 1457,
02979      1457, 1457,  587, 1457, 1457,  587, 1457,  587,  587, 1457,
02980       587,  587, 1457,  587, 1457, 1457, 1457,  587,  587,  457,
02981      1457, 1457, 1457, 1457, 1457, 1457, 1457,  457, 1457, 1457,
02982      1457,  457, 1457,  457, 1457, 1457, 1457,  457,  457, 1457,
02983 
02984      1457, 1457,  457, 1457, 1457,  457,  711, 1457,  711,  711,
02985       711,  711,  711,  711, 1457, 1457,  711,  711,  711,  711,
02986       711,  711,  711,  711, 1457,  711, 1457,  711,  711,  711,
02987      1457, 1457, 1457, 1457,  711, 1457,  711,  795, 1457,  795,
02988       795,  795,  795,  795,  795, 1457, 1457,  795,  795,  795,
02989       795,  795,  795,  795,  795, 1457,  795, 1457,  795,  795,
02990       795, 1457, 1457, 1457, 1457,  795, 1457,  795,  281, 1457,
02991      1457, 1457,  281,  281,  281, 1457, 1457, 1457,  281,  281,
02992      1457,  281,  281, 1457,  281,  281,  281,  281,  281, 1457,
02993       281,  281, 1457, 1457,  281,  281, 1457,  281, 1457,  281,
02994 
02995      1457, 1457,  281,  627, 1457, 1457, 1457, 1457, 1457, 1457,
02996      1457,  627, 1457, 1457, 1457,  627, 1457,  627, 1457, 1457,
02997      1457,  627,  627, 1457, 1457, 1457,  627, 1457, 1457,  627,
02998       630,  630,  630, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
02999      1457, 1457, 1457, 1457, 1457, 1457, 1457,  630, 1457, 1457,
03000      1457, 1457,  630,  630, 1457, 1457,  630,  720,  720,  720,
03001      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
03002      1457, 1457, 1457, 1457,  720,  720, 1457, 1457, 1457,  720,
03003       720, 1457, 1457,  720,  807,  807,  807,  807,  807,  807,
03004       807,  807,  807,  807,  807,  807,  807,  807,  807,  807,
03005 
03006       807,  807,  807,  807,  807,  807, 1457,  807, 1457,  807,
03007       807,  807,  807,  807,  807,  807,  807,  807,  807,  533,
03008       533, 1457,  533,  533,  533,  533,  533,  533,  533,  533,
03009       533,  533,  533,  533,  533,  533,  533,  533,  533,  533,
03010       533,  533,  533,  533,  533,  533,  533,  533,  533,  533,
03011       533,  533,  533,  533,  531,  531, 1457,  531,  531,  531,
03012       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
03013       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
03014       531,  531,  531,  531,  531,  531,  531,  531,  531,  371,
03015       371, 1457,  371,  371,  371,  371, 1457,  371, 1457,  371,
03016 
03017       371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
03018       371, 1457,  371,  371,  371, 1457,  371,  371, 1457,  371,
03019       371, 1457, 1457,  371,  245, 1457, 1457, 1457,  245,  245,
03020      1457, 1457, 1457, 1457,  245, 1457, 1457,  245,  245, 1457,
03021       245, 1457,  245,  245, 1457, 1457, 1457,  245, 1457, 1457,
03022      1457,  245, 1457, 1457, 1457,  245, 1457, 1457,  245,  835,
03023       835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
03024       835,  835,  835,  835,  835,  835,  835,  835, 1457,  835,
03025       835,  835,  835,  835,  835,  835, 1457,  835,  835,  835,
03026       835,  835,  835,  835,  844, 1457, 1457, 1457, 1457,  844,
03027 
03028      1457, 1457, 1457, 1457, 1457,  844, 1457,  844,  844, 1457,
03029       844, 1457, 1457, 1457, 1457,  844,  758, 1457, 1457, 1457,
03030      1457, 1457, 1457, 1457,  758, 1457, 1457, 1457,  758, 1457,
03031       758, 1457, 1457, 1457,  758,  758, 1457, 1457, 1457,  758,
03032      1457, 1457,  758,  669, 1457, 1457, 1457, 1457,  669, 1457,
03033      1457, 1457, 1457, 1457,  669, 1457,  669,  669, 1457,  669,
03034      1457, 1457, 1457, 1457,  669,  427, 1457, 1457, 1457, 1457,
03035       427, 1457, 1457, 1457, 1457, 1457,  427, 1457,  427,  427,
03036      1457,  427, 1457, 1457, 1457, 1457,  427,  765,  765,  765,
03037       765,  765, 1457,  765,  765,  765,  765, 1457,  765,  765,
03038 
03039       765,  765,  765,  765,  765,  765,  765,  765,  765, 1457,
03040       765,  765,  765,  765,  765,  765,  765,  765,  765,  765,
03041       765,  765,  851,  851,  851,  851,  851,  851,  851,  851,
03042       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
03043       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
03044       851,  851,  851,  851,  851,  851,  851,  853,  853,  853,
03045       853,  853,  853,  853,  853,  853,  853,  853,  853,  853,
03046       853,  853,  853,  853,  853,  853,  853,  853,  853,  853,
03047       853,  853,  853,  853,  853,  853,  853,  853,  853,  853,
03048       853,  853,  772, 1457, 1457, 1457, 1457,  772, 1457, 1457,
03049 
03050      1457, 1457, 1457,  772, 1457,  772,  772, 1457,  772, 1457,
03051      1457, 1457, 1457,  772,  687, 1457, 1457, 1457, 1457, 1457,
03052      1457, 1457,  687, 1457, 1457, 1457,  687, 1457,  687, 1457,
03053      1457, 1457,  687,  687, 1457, 1457, 1457,  687, 1457, 1457,
03054       687,  579, 1457, 1457, 1457, 1457,  579, 1457, 1457, 1457,
03055      1457, 1457,  579, 1457,  579,  579, 1457,  579, 1457, 1457,
03056      1457, 1457,  579,  779, 1457, 1457, 1457, 1457,  779, 1457,
03057      1457,  779, 1457,  779,  779, 1457,  779,  779, 1457,  779,
03058      1457, 1457, 1457,  779,  779,  587, 1457, 1457, 1457, 1457,
03059       587, 1457, 1457,  587, 1457,  587,  587, 1457,  587,  587,
03060 
03061      1457,  587, 1457, 1457, 1457,  587,  587,  457, 1457, 1457,
03062      1457, 1457, 1457, 1457, 1457,  457, 1457, 1457, 1457,  457,
03063      1457,  457, 1457, 1457, 1457,  457,  457, 1457, 1457, 1457,
03064       457, 1457, 1457,  457,  872, 1457,  872,  872,  872,  872,
03065       872, 1457,  872, 1457,  872,  872,  872,  872,  872,  872,
03066       872,  872, 1457,  872, 1457,  872,  872,  872, 1457, 1457,
03067      1457, 1457, 1457,  872,  872,  876, 1457,  876,  876,  876,
03068       876,  876,  876, 1457, 1457,  876,  876,  876,  876,  876,
03069       876,  876,  876,  876,  876, 1457,  876,  876,  876, 1457,
03070      1457, 1457, 1457,  876, 1457,  876,  879, 1457,  879,  879,
03071 
03072       879,  879,  879,  879, 1457, 1457,  879,  879,  879,  879,
03073       879,  879,  879,  879, 1457,  879, 1457,  879,  879,  879,
03074      1457, 1457, 1457, 1457,  879, 1457,  879,  880,  880, 1457,
03075       880,  880, 1457,  880,  880,  880,  880,  880,  880,  880,
03076       880,  880,  880,  880,  880,  880,  880,  880,  880,  880,
03077       880, 1457,  880,  880,  880,  880,  880,  880,  880,  880,
03078       880,  880,  799,  799, 1457,  799,  799, 1457,  799,  799,
03079       799,  799,  799,  799,  799,  799,  799,  799,  799,  799,
03080       799,  799,  799,  799,  799,  799, 1457,  799,  799,  799,
03081       799,  799,  799,  799,  799,  799,  799,  881,  881, 1457,
03082 
03083       881,  881, 1457,  881,  881,  881,  881,  881,  881,  881,
03084       881,  881,  881,  881,  881,  881,  881,  881,  881,  881,
03085       881, 1457,  881,  881,  881,  881,  881,  881,  881,  881,
03086       881,  881,  281, 1457, 1457, 1457,  281,  281,  281, 1457,
03087      1457, 1457,  281,  281, 1457,  281,  281, 1457,  281,  281,
03088       281,  281,  281, 1457,  281,  281, 1457, 1457,  281,  281,
03089      1457,  281, 1457,  281, 1457, 1457,  281,  807,  807,  807,
03090       807,  807, 1457,  807,  807,  807,  807, 1457,  807,  807,
03091       807,  807,  807,  807,  807,  807,  807,  807,  807, 1457,
03092       807,  807,  807,  807,  807,  807,  807,  807,  807,  807,
03093 
03094       807,  807,  889,  889,  889,  889,  889,  889,  889,  889,
03095       889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
03096       889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
03097       889,  889,  889,  889,  889,  889,  889,  891,  891,  891,
03098       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
03099       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
03100       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
03101       891,  891,  533,  533, 1457,  533,  533,  533,  533,  533,
03102       533,  533,  533,  533,  533,  533,  533,  533,  533,  533,
03103       533,  533,  533,  533,  533,  533,  533,  533,  533,  533,
03104 
03105       533,  533,  533,  533,  533,  533,  533,  531,  531, 1457,
03106       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
03107       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
03108       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
03109       531,  531,  371,  371, 1457,  371,  371,  371,  371, 1457,
03110       371, 1457,  371,  371,  371,  371,  371,  371,  371,  371,
03111       371,  371,  371,  371, 1457,  371,  371,  371, 1457,  371,
03112       371, 1457,  371,  371, 1457, 1457,  371,  245, 1457, 1457,
03113      1457,  245,  245, 1457, 1457, 1457, 1457,  245, 1457, 1457,
03114       245,  245, 1457,  245, 1457,  245,  245, 1457, 1457, 1457,
03115 
03116       245, 1457, 1457, 1457,  245, 1457, 1457, 1457,  245, 1457,
03117      1457,  245,  844, 1457, 1457, 1457, 1457,  844, 1457, 1457,
03118      1457, 1457, 1457,  844, 1457,  844,  844, 1457,  844, 1457,
03119      1457, 1457, 1457,  844,  758, 1457, 1457, 1457, 1457, 1457,
03120      1457, 1457,  758, 1457, 1457, 1457,  758, 1457,  758, 1457,
03121      1457, 1457,  758,  758, 1457, 1457, 1457,  758, 1457, 1457,
03122       758,  669, 1457, 1457, 1457, 1457,  669, 1457, 1457, 1457,
03123      1457, 1457,  669, 1457,  669,  669, 1457,  669, 1457, 1457,
03124      1457, 1457,  669,  427, 1457, 1457, 1457, 1457,  427, 1457,
03125      1457, 1457, 1457, 1457,  427, 1457,  427,  427, 1457,  427,
03126 
03127      1457, 1457, 1457, 1457,  427,  765,  765,  765,  765,  765,
03128      1457,  765,  765,  765,  765, 1457,  765,  765,  765,  765,
03129       765,  765,  765,  765,  765,  765,  765, 1457,  765,  765,
03130       765,  765,  765,  765,  765,  765,  765,  765,  765,  765,
03131       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
03132       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
03133       851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
03134       851,  851,  851,  851,  851,  853,  853,  853,  853,  853,
03135       853,  853,  853,  853,  853,  853,  853,  853,  853,  853,
03136       853,  853,  853,  853,  853,  853,  853,  853,  853,  853,
03137 
03138       853,  853,  853,  853,  853,  853,  853,  853,  853,  853,
03139       772, 1457, 1457, 1457, 1457,  772, 1457, 1457, 1457, 1457,
03140      1457,  772, 1457,  772,  772, 1457,  772, 1457, 1457, 1457,
03141      1457,  772,  579, 1457, 1457, 1457, 1457,  579, 1457, 1457,
03142      1457, 1457, 1457,  579, 1457,  579,  579, 1457,  579, 1457,
03143      1457, 1457, 1457,  579,  779, 1457, 1457, 1457, 1457,  779,
03144      1457, 1457,  779, 1457,  779,  779, 1457,  779,  779, 1457,
03145       779, 1457, 1457, 1457,  779,  779,  587, 1457, 1457, 1457,
03146      1457,  587, 1457, 1457,  587, 1457,  587,  587, 1457,  587,
03147       587, 1457,  587, 1457, 1457, 1457,  587,  587,  457, 1457,
03148 
03149      1457, 1457, 1457, 1457, 1457, 1457,  457, 1457, 1457, 1457,
03150       457, 1457,  457, 1457, 1457, 1457,  457,  457, 1457, 1457,
03151      1457,  457, 1457, 1457,  457,  872, 1457,  872,  872,  872,
03152       872,  872, 1457,  872, 1457,  872,  872,  872,  872,  872,
03153       872,  872,  872, 1457,  872, 1457,  872,  872,  872, 1457,
03154      1457, 1457, 1457, 1457,  872,  872,  941, 1457,  941,  941,
03155       941,  941,  941,  941, 1457, 1457,  941,  941,  941,  941,
03156       941,  941,  941,  941, 1457,  941, 1457,  941,  941,  941,
03157      1457, 1457, 1457, 1457,  941, 1457,  941,  943, 1457, 1457,
03158       943, 1457,  943,  943,  943,  943,  943, 1457,  943,  943,
03159 
03160       943,  943,  943,  943,  943,  943,  943,  943,  943,  943,
03161       943,  943,  943,  943, 1457, 1457, 1457, 1457, 1457,  943,
03162       943,  876, 1457,  876,  876,  876,  876,  876,  876, 1457,
03163      1457,  876,  876,  876,  876,  876,  876,  876,  876,  876,
03164       876, 1457,  876,  876,  876, 1457, 1457, 1457, 1457,  876,
03165      1457,  876,  945, 1457,  945,  945,  945,  945,  945,  945,
03166      1457, 1457,  945,  945,  945,  945,  945,  945,  945,  945,
03167       945,  945, 1457,  945,  945,  945, 1457, 1457, 1457, 1457,
03168       945, 1457,  945,  947, 1457,  947,  947,  947,  947,  947,
03169       947, 1457, 1457,  947,  947,  947,  947,  947,  947,  947,
03170 
03171       947,  947,  947, 1457,  947,  947,  947, 1457, 1457, 1457,
03172      1457,  947, 1457,  947,  880,  880, 1457,  880,  880, 1457,
03173       880,  880,  880,  880,  880,  880,  880,  880,  880,  880,
03174       880,  880,  880,  880,  880,  880,  880,  880, 1457,  880,
03175       880,  880,  880,  880,  880,  880,  880,  880,  880,  881,
03176       881, 1457,  881,  881, 1457,  881,  881,  881,  881,  881,
03177       881,  881,  881,  881,  881,  881,  881,  881,  881,  881,
03178       881,  881,  881, 1457,  881,  881,  881,  881,  881,  881,
03179       881,  881,  881,  881,  949,  949, 1457,  949,  949, 1457,
03180       949,  949,  949,  949,  949,  949,  949,  949,  949,  949,
03181 
03182       949,  949,  949,  949,  949,  949,  949,  949,  949,  949,
03183       949,  949,  949,  949,  949,  949,  949,  949,  949,  281,
03184      1457, 1457, 1457,  281,  281,  281, 1457, 1457, 1457,  281,
03185       281, 1457,  281,  281, 1457,  281,  281,  281,  281,  281,
03186      1457,  281,  281, 1457, 1457,  281,  281, 1457,  281, 1457,
03187       281, 1457, 1457,  281,  807,  807,  807,  807,  807, 1457,
03188       807,  807,  807,  807, 1457,  807,  807,  807,  807,  807,
03189       807,  807,  807,  807,  807,  807, 1457,  807,  807,  807,
03190       807,  807,  807,  807,  807,  807,  807,  807,  807,  889,
03191       889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
03192 
03193       889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
03194       889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
03195       889,  889,  889,  889,  891,  891,  891,  891,  891,  891,
03196       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
03197       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
03198       891,  891,  891,  891,  891,  891,  891,  891,  891,  533,
03199       533, 1457,  533,  533,  533,  533,  533,  533,  533,  533,
03200       533,  533,  533,  533,  533,  533,  533,  533,  533,  533,
03201       533,  533,  533,  533,  533,  533,  533,  533,  533,  533,
03202       533,  533,  533,  533,  531,  531, 1457,  531,  531,  531,
03203 
03204       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
03205       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
03206       531,  531,  531,  531,  531,  531,  531,  531,  531,  371,
03207       371, 1457,  371,  371,  371,  371, 1457,  371, 1457,  371,
03208       371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
03209       371, 1457,  371,  371,  371, 1457,  371,  371, 1457,  371,
03210       371, 1457, 1457,  371,  245, 1457, 1457, 1457,  245,  245,
03211      1457, 1457, 1457, 1457,  245, 1457, 1457,  245,  245, 1457,
03212       245, 1457,  245,  245, 1457, 1457, 1457,  245, 1457, 1457,
03213      1457,  245, 1457, 1457, 1457,  245, 1457, 1457,  245,  844,
03214 
03215      1457, 1457, 1457, 1457,  844, 1457, 1457, 1457, 1457, 1457,
03216       844, 1457,  844,  844, 1457,  844, 1457, 1457, 1457, 1457,
03217       844,  669, 1457, 1457, 1457, 1457,  669, 1457, 1457, 1457,
03218      1457, 1457,  669, 1457,  669,  669, 1457,  669, 1457, 1457,
03219      1457, 1457,  669,  427, 1457, 1457, 1457, 1457,  427, 1457,
03220      1457, 1457, 1457, 1457,  427, 1457,  427,  427, 1457,  427,
03221      1457, 1457, 1457, 1457,  427,  772, 1457, 1457, 1457, 1457,
03222       772, 1457, 1457, 1457, 1457, 1457,  772, 1457,  772,  772,
03223      1457,  772, 1457, 1457, 1457, 1457,  772,  579, 1457, 1457,
03224      1457, 1457,  579, 1457, 1457, 1457, 1457, 1457,  579, 1457,
03225 
03226       579,  579, 1457,  579, 1457, 1457, 1457, 1457,  579,  990,
03227       990,  990,  990,  990,  990,  990,  990,  990,  990,  990,
03228       990,  990,  990,  990,  990,  990,  990,  990, 1457,  990,
03229       990,  990,  990,  990,  990,  990, 1457,  990,  990,  990,
03230       990,  990,  990,  990,  779, 1457, 1457, 1457, 1457,  779,
03231      1457, 1457,  779, 1457,  779,  779, 1457,  779,  779, 1457,
03232       779, 1457, 1457, 1457,  779,  779,  587, 1457, 1457, 1457,
03233      1457,  587, 1457, 1457,  587, 1457,  587,  587, 1457,  587,
03234       587, 1457,  587, 1457, 1457, 1457,  587,  587,  457, 1457,
03235      1457, 1457, 1457, 1457, 1457, 1457,  457, 1457, 1457, 1457,
03236 
03237       457, 1457,  457, 1457, 1457, 1457,  457,  457, 1457, 1457,
03238      1457,  457, 1457, 1457,  457,  995, 1457,  995,  995,  995,
03239       995,  995,  995, 1457, 1457,  995,  995,  995,  995,  995,
03240       995,  995,  995,  995,  995, 1457,  995,  995,  995, 1457,
03241      1457, 1457, 1457,  995, 1457,  995,  943, 1457, 1457,  943,
03242      1457,  943,  943,  943,  943,  943, 1457,  943,  943,  943,
03243       943,  943,  943,  943,  943,  943,  943,  943,  943,  943,
03244       943,  943,  943, 1457, 1457, 1457, 1457, 1457,  943,  943,
03245       998, 1457,  998,  998,  998,  998,  998,  998, 1457, 1457,
03246       998,  998,  998,  998,  998,  998,  998,  998, 1457,  998,
03247 
03248      1457,  998,  998,  998, 1457, 1457, 1457, 1457,  998, 1457,
03249       998,  876, 1457,  876,  876,  876,  876,  876,  876, 1457,
03250      1457,  876,  876,  876,  876,  876,  876,  876,  876,  876,
03251       876, 1457,  876,  876,  876, 1457, 1457, 1457, 1457,  876,
03252      1457,  876,  947, 1457,  947,  947,  947,  947,  947,  947,
03253      1457, 1457,  947,  947,  947,  947,  947,  947,  947,  947,
03254       947,  947, 1457,  947,  947,  947, 1457, 1457, 1457, 1457,
03255       947, 1457,  947, 1001, 1001, 1457, 1001, 1001, 1457, 1001,
03256      1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
03257      1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
03258 
03259      1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,  949,  949,
03260      1457,  949,  949, 1457,  949,  949,  949,  949,  949,  949,
03261       949,  949,  949,  949,  949,  949,  949,  949,  949,  949,
03262       949,  949,  949,  949,  949,  949,  949,  949,  949,  949,
03263       949,  949,  949,  880,  880, 1457,  880,  880, 1457,  880,
03264       880,  880,  880,  880,  880,  880,  880,  880,  880,  880,
03265       880,  880,  880,  880,  880,  880,  880, 1457,  880,  880,
03266       880,  880,  880,  880,  880,  880,  880,  880,  281,  281,
03267      1457,  281,  281,  281,  281, 1457,  281,  281,  281,  281,
03268      1457,  281,  281,  281,  281,  281,  281,  281,  281, 1457,
03269 
03270       281,  281,  281, 1457,  281,  281,  281,  281, 1457,  281,
03271      1457, 1457,  281,  533,  533, 1457,  533,  533,  533,  533,
03272       533,  533,  533,  533,  533,  533,  533,  533,  533,  533,
03273       533,  533,  533,  533,  533,  533,  533,  533,  533,  533,
03274       533,  533,  533,  533,  533,  533,  533,  533,  531,  531,
03275      1457,  531,  531,  531,  531,  531,  531,  531,  531,  531,
03276       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
03277       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
03278       531,  531,  531,  371,  371, 1457,  371,  371,  371,  371,
03279      1457,  371, 1457,  371,  371,  371,  371,  371,  371,  371,
03280 
03281       371,  371,  371,  371,  371, 1457,  371,  371,  371, 1457,
03282       371,  371, 1457,  371,  371, 1457, 1457,  371,  245,  245,
03283      1457,  245,  245,  245, 1457, 1457, 1457, 1457,  245, 1457,
03284      1457,  245,  245, 1457,  245, 1457,  245,  245, 1457, 1457,
03285       245,  245, 1457, 1457, 1457,  245, 1457, 1457, 1457,  245,
03286      1457, 1457,  245, 1048, 1048, 1048, 1048, 1048, 1048, 1048,
03287      1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048,
03288      1048, 1048, 1457, 1048, 1048, 1048, 1048, 1048, 1048, 1048,
03289      1457, 1048, 1048, 1048, 1048, 1048, 1048, 1048,  844, 1457,
03290      1457, 1457, 1457,  844, 1457, 1457, 1457, 1457, 1457,  844,
03291 
03292      1457,  844,  844, 1457,  844, 1457, 1457, 1457, 1457,  844,
03293       669, 1457, 1457, 1457, 1457,  669, 1457, 1457, 1457, 1457,
03294      1457,  669, 1457,  669,  669, 1457,  669, 1457, 1457, 1457,
03295      1457,  669,  427, 1457,  427,  427, 1457,  427, 1457,  427,
03296       427, 1457,  427, 1457,  427,  427,  427,  427,  427,  427,
03297       427,  427, 1457,  427,  427,  427, 1457, 1457,  427,  427,
03298      1457, 1457,  427, 1457, 1457,  427,  772, 1457, 1457, 1457,
03299      1457,  772, 1457, 1457, 1457, 1457, 1457,  772, 1457,  772,
03300       772, 1457,  772, 1457, 1457, 1457, 1457,  772,  579, 1457,
03301      1457, 1457, 1457,  579, 1457, 1457, 1457, 1457, 1457,  579,
03302 
03303      1457,  579,  579, 1457,  579, 1457, 1457, 1457, 1457,  579,
03304       779, 1457, 1457, 1457, 1457,  779, 1457, 1457,  779, 1457,
03305       779,  779, 1457,  779,  779, 1457,  779, 1457, 1457, 1457,
03306       779,  779,  587, 1457, 1457, 1457, 1457,  587, 1457, 1457,
03307       587, 1457,  587,  587, 1457,  587,  587, 1457,  587, 1457,
03308      1457, 1457,  587,  587,  995, 1457,  995,  995,  995,  995,
03309       995,  995, 1457, 1457,  995,  995,  995,  995,  995,  995,
03310       995,  995,  995,  995, 1457,  995,  995,  995, 1457, 1457,
03311      1457, 1457,  995, 1457,  995,  711, 1457,  711,  711,  711,
03312       711,  711,  711, 1457, 1457,  711,  711,  711,  711,  711,
03313 
03314       711,  711,  711, 1457,  711, 1457,  711,  711,  711, 1457,
03315      1457, 1457, 1457,  711, 1457,  711,  998, 1457,  998,  998,
03316       998,  998,  998,  998, 1457, 1457,  998,  998,  998,  998,
03317       998,  998,  998,  998, 1457,  998, 1457,  998,  998,  998,
03318      1457, 1457, 1457, 1457,  998, 1457,  998,  945, 1457,  945,
03319       945,  945,  945,  945,  945, 1457, 1457,  945,  945,  945,
03320       945,  945,  945,  945,  945,  945,  945, 1457,  945,  945,
03321       945, 1457, 1457, 1457, 1457,  945, 1457,  945,  876, 1457,
03322       876,  876,  876,  876,  876,  876, 1457, 1457,  876,  876,
03323       876,  876,  876,  876,  876,  876,  876,  876, 1457,  876,
03324 
03325       876,  876, 1457, 1457, 1457, 1457,  876, 1457,  876, 1001,
03326      1001, 1457, 1001, 1001, 1457, 1001, 1001, 1001, 1001, 1001,
03327      1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
03328      1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
03329      1001, 1001, 1001, 1001,  880,  880, 1457,  880,  880, 1457,
03330       880,  880,  880,  880,  880,  880,  880,  880,  880,  880,
03331       880,  880,  880,  880,  880,  880,  880,  880, 1457,  880,
03332       880,  880,  880,  880,  880,  880,  880,  880,  880,  451,
03333      1457, 1457, 1457, 1457, 1457, 1457, 1457,  451, 1457, 1457,
03334       451,  451, 1457,  451, 1457, 1457, 1457,  451,  451, 1457,
03335 
03336       451, 1457,  451, 1457, 1457,  451,  262, 1457, 1457, 1457,
03337       262,  262, 1457, 1457, 1457, 1457,  262,  262, 1457,  262,
03338       262, 1457,  262,  262,  262,  262, 1457, 1457, 1457,  262,
03339      1457, 1457,  262,  262, 1457, 1457, 1457,  262, 1457, 1457,
03340       262,  265, 1457, 1457, 1457,  265,  265, 1457, 1457, 1457,
03341      1457,  265,  265, 1457,  265,  265, 1457,  265,  265,  265,
03342       265, 1457, 1457, 1457,  265,  265, 1457,  265,  265, 1457,
03343       265, 1457,  265, 1457, 1457,  265,  439, 1457, 1457, 1457,
03344       439,  439, 1457, 1457, 1457, 1457,  439,  439, 1457,  439,
03345       439, 1457,  439, 1457,  439,  439, 1457, 1457, 1457,  439,
03346 
03347      1457, 1457, 1457,  439, 1457, 1457, 1457,  439, 1457, 1457,
03348       439,  533,  533, 1457,  533,  533,  533,  533,  533,  533,
03349       533,  533,  533,  533,  533,  533,  533,  533,  533,  533,
03350       533,  533,  533,  533,  533,  533,  533,  533,  533,  533,
03351       533,  533,  533,  533,  533,  533,  531,  531, 1457,  531,
03352       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
03353       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
03354       531,  531,  531,  531,  531,  531,  531,  531,  531,  531,
03355       531, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
03356      1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
03357 
03358      1457, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1457, 1146,
03359      1146, 1146, 1146, 1146, 1146, 1146, 1151, 1151, 1151, 1151,
03360      1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
03361      1151, 1151, 1151, 1151, 1151, 1457, 1151, 1151, 1151, 1151,
03362      1151, 1151, 1151, 1457, 1151, 1151, 1151, 1151, 1151, 1151,
03363      1151,  844, 1457, 1457, 1457, 1457,  844, 1457, 1457, 1457,
03364      1457, 1457,  844, 1457,  844,  844, 1457,  844, 1457, 1457,
03365      1457, 1457,  844,  669, 1457, 1457, 1457, 1457,  669, 1457,
03366      1457, 1457, 1457, 1457,  669, 1457,  669,  669, 1457,  669,
03367      1457, 1457, 1457, 1457,  669, 1154, 1154, 1457, 1154, 1154,
03368 
03369      1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154,
03370      1154, 1154, 1457, 1154, 1154, 1154, 1154, 1154, 1154, 1154,
03371      1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154,
03372       563, 1457, 1457, 1457, 1457, 1457, 1457, 1457,  563, 1457,
03373       563, 1457,  563, 1457,  563, 1457, 1457, 1457,  563,  563,
03374      1457,  563,  563,  563, 1457, 1457,  563,  772, 1457, 1457,
03375      1457, 1457,  772, 1457, 1457, 1457, 1457, 1457,  772, 1457,
03376       772,  772, 1457,  772, 1457, 1457, 1457, 1457,  772,  579,
03377      1457,  579,  579, 1457,  579, 1457,  579,  579, 1457,  579,
03378      1457,  579,  579,  579,  579,  579,  579,  579,  579, 1457,
03379 
03380       579,  579,  579, 1457, 1457,  579,  579, 1457, 1457,  579,
03381      1457, 1457,  579,  779, 1457, 1457, 1457, 1457,  779, 1457,
03382      1457,  779, 1457,  779,  779, 1457,  779,  779, 1457,  779,
03383      1457, 1457, 1457,  779,  779,  587, 1457,  587,  587, 1457,
03384       587, 1457,  587,  587, 1457,  587, 1457,  587,  587,  587,
03385       587,  587,  587,  587,  587, 1457,  587,  587,  587, 1457,
03386       587,  587,  587, 1457, 1457,  587, 1457, 1457,  587,  995,
03387      1457,  995,  995,  995,  995,  995,  995, 1457, 1457,  995,
03388       995,  995,  995,  995,  995,  995,  995,  995,  995, 1457,
03389       995,  995,  995, 1457, 1457, 1457, 1457,  995, 1457,  995,
03390 
03391       876, 1457,  876,  876,  876,  876,  876,  876, 1457, 1457,
03392       876,  876,  876,  876,  876,  876,  876,  876,  876,  876,
03393      1457,  876,  876,  876, 1457, 1457, 1457, 1457,  876, 1457,
03394       876,  880,  880, 1457,  880,  880, 1457,  880,  880,  880,
03395       880,  880,  880,  880,  880,  880,  880,  880,  880,  880,
03396       880,  880,  880,  880,  880, 1457,  880,  880,  880,  880,
03397       880,  880,  880,  880,  880,  880, 1196, 1457, 1457, 1457,
03398      1457, 1457, 1457, 1457, 1196, 1457, 1457, 1196, 1196, 1457,
03399      1196, 1457, 1457, 1457, 1196, 1196, 1457, 1196, 1457, 1196,
03400      1457, 1457, 1196,  262, 1457, 1457, 1457,  262,  262, 1457,
03401 
03402      1457, 1457, 1457,  262,  262, 1457,  262,  262, 1457,  262,
03403       262,  262,  262, 1457, 1457, 1457,  262, 1457, 1457,  262,
03404       262, 1457, 1457, 1457,  262, 1457, 1457,  262,  265, 1457,
03405      1457, 1457,  265,  265, 1457, 1457, 1457, 1457,  265,  265,
03406      1457,  265,  265, 1457,  265,  265,  265,  265, 1457, 1457,
03407      1457,  265, 1457, 1457,  265,  265, 1457,  265, 1457,  265,
03408      1457, 1457,  265, 1101, 1457, 1457, 1457, 1457, 1457, 1457,
03409      1457, 1101, 1457, 1457, 1457, 1101, 1457, 1101, 1457, 1457,
03410      1457, 1101, 1101, 1457, 1457, 1457, 1101, 1457, 1457, 1101,
03411      1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232,
03412 
03413      1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1457,
03414      1232, 1232, 1232, 1232, 1232, 1232, 1232, 1457, 1232, 1232,
03415      1232, 1232, 1232, 1232, 1232, 1238, 1238, 1457, 1457, 1238,
03416      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
03417      1457, 1238, 1457, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
03418      1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
03419      1240, 1240, 1457, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
03420      1240, 1240, 1240, 1240, 1240, 1240, 1240, 1457, 1240, 1240,
03421      1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
03422      1240, 1240, 1240, 1240, 1240, 1265, 1457, 1457, 1457, 1457,
03423 
03424      1457, 1457, 1457, 1265, 1457, 1457, 1265, 1265, 1457, 1265,
03425      1457, 1457, 1457, 1265, 1265, 1457, 1265, 1457, 1265, 1457,
03426      1457, 1265,  687, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
03427       687, 1457,  687, 1457,  687, 1457,  687, 1457, 1457, 1457,
03428       687,  687, 1457,  687,  687,  687, 1457, 1457,  687,  263,
03429      1457, 1457,  263, 1457,  263,  263, 1457,  263, 1457, 1457,
03430      1457,  263, 1457, 1457,  263,  263,  758, 1457, 1457, 1457,
03431      1457, 1457, 1457, 1457,  758, 1457,  758, 1457,  758, 1457,
03432       758, 1457, 1457, 1457,  758,  758, 1457,  758,  758,  758,
03433      1457, 1457,  758, 1305, 1457, 1457, 1457, 1457, 1457, 1457,
03434 
03435      1457, 1305, 1457, 1457, 1305, 1305, 1457, 1305, 1457, 1457,
03436      1457, 1305, 1305, 1457, 1305, 1457, 1305, 1457, 1457, 1305,
03437      1309, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1309, 1457,
03438      1457, 1309, 1309, 1457, 1309, 1457, 1457, 1457, 1309, 1309,
03439      1457, 1309, 1457, 1309, 1457, 1457, 1309,  990,  990,  990,
03440       990,  990,  990,  990,  990,  990,  990,  990,  990,  990,
03441       990,  990,  990,  990,  990,  990, 1457,  990,  990,  990,
03442       990,  990,  990,  990, 1457,  990,  990,  990,  990,  990,
03443       990,  990,  711, 1457,  711,  711,  711,  711,  711,  711,
03444      1457, 1457,  711,  711,  711,  711,  711,  711,  711,  711,
03445 
03446      1457,  711, 1457,  711,  711,  711, 1457, 1457, 1457, 1457,
03447       711, 1457,  711,  943, 1457, 1457,  943, 1457,  943,  943,
03448       943,  943,  943, 1457,  943,  943,  943,  943,  943,  943,
03449       943,  943,  943,  943,  943,  943,  943,  943,  943,  943,
03450      1457, 1457, 1457, 1457, 1457,  943,  943,  881,  881, 1457,
03451       881,  881, 1457,  881,  881,  881,  881,  881,  881,  881,
03452       881,  881,  881,  881,  881,  881,  881,  881,  881,  881,
03453       881, 1457,  881,  881,  881,  881,  881,  881,  881,  881,
03454       881,  881, 1412, 1457, 1457, 1412, 1457, 1412, 1412, 1412,
03455      1412, 1412, 1457, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
03456 
03457      1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1457,
03458      1457, 1457, 1457, 1457, 1412, 1412,   67, 1457, 1457, 1457,
03459      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
03460      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
03461      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
03462      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
03463      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
03464      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
03465      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
03466      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457
03467 
03468     } ;
03469 
03470 static yyconst flex_int16_t yy_chk[20999] =
03471     {   0,
03472         0,    0,    1,   72,   72,   72,   72,    1,    1,    1,
03473         1,    2,   74,   74,   74,   74,    2,    2,    2,    2,
03474         0,   85,  383,    1,    0,    1,    4,    1,    4,    4,
03475       106,  383,    2,  106,    2,   85,    2,  112,  123,    4,
03476       112,  123,    4,    4,    4,   73,   73,   73,   73,  431,
03477         1,   93,  181,   93,   93,  181,  609,  181,   73,    2,
03478       431,   73,   73,   73,   90,   91,   92,  181,   76,   91,
03479       269,  204,   92,   90,  204,   92,  467,   93,   91,  287,
03480         1,   76,  132,  269,  132,  132,  287,  467,  609,    2,
03481         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
03482 
03483         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
03484         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
03485         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
03486         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
03487         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
03488         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
03489         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
03490         3,    5,  135,  600,  135,  135,    5,    5,    5,    5,
03491       600,  217,    6,  217,  217,  289,    5,    6,    6,    6,
03492         6,  289,    5,   21,    5,  135,    5,    6,   21,   21,
03493 
03494        21,   21,  463,    6,   22,    6,  189,    6,  189,   22,
03495        22,   22,   22,  278,   21,   23,   21,  463,   21,    5,
03496        23,   23,   23,   23,  286,   22,  278,   22,  286,   22,
03497         6,   98,  288,   98,   98,  429,   23,  189,   23,  465,
03498        23,   21,  288,  235,   98,  235,  235,   98,   98,    5,
03499       492,   24,   22,  291,  465,  291,   24,   24,   24,   24,
03500         6,    7,    7,   23,    7,  429,    7,    7,    7,    7,
03501         7,   21,   24,   25,   24,  613,   24,  282,   25,   25,
03502        25,   25,   22,    7,   26,    7,  282,    7,  282,   26,
03503        26,   26,   26,   23,   25,   27,   25,  492,   25,   24,
03504 
03505        27,   27,   27,   27,  366,   26,  366,   26,  613,   26,
03506         7,  144,  144,  144,  144,  426,   27,  478,   27,  308,
03507        27,   25,  308,  145,  145,  145,  145,  310,  426,   24,
03508       310,   28,   26,  144,  481,  366,   28,   28,   28,   28,
03509         7,    8,    8,   27,    8,  145,    8,    8,    8,    8,
03510         8,   25,   28,   29,   28, 1264,   28,  478,   29,   29,
03511        29,   29,   26,    8,  481,    8,  407,    8,  183,  183,
03512       183,  183,  320,   27,   29,  320,   29,   30,   29,   28,
03513       407,  595,   30,   30,   30,   30,  213,   31,  213,  213,
03514         8,  213,   31,   31,   31,   31,  385,  595,   30,  385,
03515 
03516        30,   29,   30,  178,  178,  178,  178,  466,   31,   28,
03517        31,  466,   31,  100,  100,  100,  100, 1264,  178,  683,
03518         8,    9,    9,    9,    9,   30,    9,    9,    9,    9,
03519         9,   29,    9,    9,  460,   31,    9,  461,    9,  100,
03520       461,    9,    9,    9,  461,    9,    9,    9,  179,  179,
03521       179,  179,  468,  460,  461,   30,  139,  139,  139,  139,
03522       488,  188,  188,  179,  188,   31,  468,   32,  464,    9,
03523         9,    9,   32,   32,   32,   32,  611,  683,   96,   96,
03524        96,   96,  139,  180,  180,  180,  180,  464,   32,  488,
03525        32,   96,   32,  188,   96,   96,   96,    9,  180,    9,
03526 
03527         9,   10,   10,   10,   10,  139,   10,   10,   10,   10,
03528        10,  611,   10,   10,  472,   32,   10,  290,   10,  290,
03529       290,   10,   10,   10,  428,   10,   10,   10,  472,  186,
03530       186,  186,  186,  428,  475,  428,  140,  140,  140,  140,
03531       596,  190,  190,  290,  190,   32,  596,   33,  186,   10,
03532        10,   10,   33,   33,   33,   33,  494,  482,   97,   97,
03533        97,   97,  140, 1594,  197,  197,  197,  197,   33,  197,
03534        33,   97,   33,  190,   97,   97,   97,   10,  475,   10,
03535        10,   11,   11,   11,   11,  140,   11,   11,   11,   11,
03536        11,  469,   11,   11,  482,   33,   11,  325,   11,  325,
03537 
03538       325,   11,   11,   11,  494,   11,   11,   11,  191,  191,
03539       469,  191,  198,  198,  198,  198,  480,  198,  216,  216,
03540       216,  216,  493,  365,  365,   33,  365,   34,  498,   11,
03541        11,   11,   34,   34,   34,   34,  194,  700,  194,  194,
03542       191,  578,  195,  473,  195,  195,  473,  194,   34, 1565,
03543        34,  700,   34,  195,  578,  365,  480,   11,  498,   11,
03544        11,   12,   12,   12,   12,  483,   12,   12,   12,   12,
03545        12,  493,   12,   12,  487,   34,   12,  329,   12,  329,
03546       329,   12,   12,   12,  202,   12,   12,   12,  230,  202,
03547       250,  194,  250,  250,  202,  202,  202,  195,  202,  246,
03548 
03549       246,  246,  246,  250,  483,   34,  250,  250,  194,   12,
03550        12,   12,  567,  487,  195,  230,  256,  230,  230,  598,
03551       594,  256,  230,  567,  580,  230,  230,  256,  598,  230,
03552       256,  230,  256,  580,  230,  580,  230,   12,  594,   12,
03553        12,   13,   13,   13,   13,   13,   13,   13,   13,   13,
03554        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
03555        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
03556        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
03557        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
03558        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
03559 
03560        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
03561        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
03562        13,   13,   15,   15,   15,   15,  599,  597,   15,   15,
03563        15,   15,  599,  479,   39,  249,  249,  249,  249,   39,
03564        39,   39,   39,  597,   15,  706,   15,  326,   15,  326,
03565       326,  390,   39,  390,  390,   39,  390,   39,   40,   39,
03566       528,  602,  528,   40,   40,   40,   40,   43,   43,  484,
03567       326,   15,   43,   43,   43,   43,   40,  479,  706,   40,
03568       602,   40,   39,   40,  252,  252,  252,  252,   43,  476,
03569        43,  528,   43,  251,  251,  251,  251,  581,  612,  251,
03570 
03571      1550,   15,   16,   16,   16,   16,   40,  607,   16,   16,
03572        16,   16,   39,  484,  565,   43,  605,  266,  476,  266,
03573       266,  604,  476,  614,   16,  604,   16,  581,   16,  266,
03574       612,  476,   44,   44,  615,  605,   40,   44,   44,   44,
03575        44,  296,  296,  296,  296,   43,  272,  272,  272,  272,
03576       607,   16,  614,   44,   55,   44,  617,   44,  565,   55,
03577        55,   55,   55,  704,  272,  295,  295,  295,  295,  601,
03578       272,  295,  601,  367,  367,   55,  367,   55,  615,   55,
03579        44,   16,   17,   17,   17,   17,  617, 1539,   17,   17,
03580        17,   17,  302,  302,  302,  302,  440,  440,  247,  247,
03581 
03582       247,  247,   55,  603,   17,  367,   17,  603,   17,  704,
03583        44,  247,   56, 1538,  247,  247,  247,   56,   56,   56,
03584        56,  603,  368,  368,  280,  368,  280,  280,  440,  280,
03585       684,   17,   55,   56,   57,   56,  280,   56,  591,   57,
03586        57,   57,   57,  303,  303,  303,  303,  591,  788,  591,
03587       298,  699,  298,  298,  368,   57,  645,   57,  699,   57,
03588        56,   17,   18,   18,   18,   18,  298,  298,   18,   18,
03589        18,   18,  355,  355,  355,  355,  280,  684,  248,  248,
03590       248,  248,   57,  608,   18,  788,   18,  355,   18,  280,
03591        56,  248,   58,  610,  248,  248,  248,   58,   58,   58,
03592 
03593        58,  300,  300,  300,  300,  628,  327,  300,  327,  327,
03594       645,   18,   57,   58,   63,   58,  628,   58,  300,   63,
03595        63,   63,   63,  328,  608,  328,  328,  670,  705,  327,
03596       356,  356,  356,  356,  610,   63,  670,   63,  670,   63,
03597        58,   18,   19,   19,   19,   19,  328,  257,   19,   19,
03598        19,   19,  257,   86,   86,   86,   86,  394,  257,  394,
03599       394,  257,   63,  257,   19, 1100,   19, 1100,   19,   86,
03600        58,   86,   64,   86,  705,  866,  668,   64,   64,   64,
03601        64,  360,  360,  360,  360,  293,  293,  293,  293,  668,
03602       618,   19,   63,   64,  866,   64,   86,   64,  293,  702,
03603 
03604       710,  293,  293,  293,  395,   86,  395,  395,  257,  315,
03605       315,  315,  315,  702,   86,  332,  332,  332,  332,   86,
03606        64,   19,   20,   20,   20,   20,   86,  315,   20,   20,
03607        20,   20,  358,  315,  618,  358,  294,  358,  294,  294,
03608       411,  332,  411,  411,   20,  697,   20,  358,   20,  294,
03609        64,  710,  294,  294,   81,  393,  393,  393,  393,   81,
03610        81,  707,  736, 1534,  332,   81,  697,  299,   81,  299,
03611       299,   20,   81,   81,  305,  629,  305,  305,   81,  646,
03612       299,   81,  624,  299,  299, 1263,  412,  305,  412,  412,
03613       305,  305,  333,  333,  333,  333,  119,  119,  119,  119,
03614 
03615       707,   20,   35,   35,   35,   35,   81,   35,   35,   35,
03616        35,   35,  119,  736,  119,  624,  119,   35,  333,  629,
03617       129,  129,  129,  129,   35,  708,   35,  513,   35,  513,
03618       513,  624,   81,  646,   81,  671,  129, 1263,  129,  119,
03619       129,  333,  336,  336,  336,  336,  357,  357,  357,  357,
03620       689,   35,  211,  211,  211,  211,  337,  337,  337,  337,
03621       783,  357,  119,  129,  336,  671,  709,  708,  211,  119,
03622       211,  783,  211,  363,  363,  363,  363,  372,  337,  372,
03623       372,   35,   36,   36,   36,   36,  129,   36,   36,   36,
03624        36,   36,  363,  129,  689,  211,  231,   36,  369,  369,
03625 
03626       231,  369,  231,  231,   36,  709,   36,  231,   36, 1528,
03627       231,  231,  378,  485,  231,  753,  231,  378,  211,  231,
03628       701,  231,  378,  378,  378,  211,  378,  698, 1524,  753,
03629       369,   36,  372,  376,  376,  376,  376,  701,  376,  784,
03630       382,  418,  418,  418,  418,  382,  784, 1521,  698,  372,
03631       382,  382,  382,  485,  382,  421,  421,  421,  421,  485,
03632       485,   36,   37,   37,   37,   37,   37,   37,   37,   37,
03633        37,   37,   37,   37,   37,   37,   37,   37,   37,   37,
03634        37,   37,   37,   37,   37,   37,   37,   37,   37,   37,
03635        37,   37,   37,   37,   37,   37,   37,   37,   37,   37,
03636 
03637        37,   37,   37,   37,   37,   37,   37,   37,   37,   37,
03638        37,   37,   37,   37,   37,   37,   37,   37,   37,   37,
03639        37,   37,   37,   37,   37,   37,   37,   37,   37,   37,
03640        37,   37,   37,   37,   37,   37,   37,   37,   37,   37,
03641        37,   37,   37,   41,   41,   41,   41,   41,   41,   41,
03642        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
03643        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
03644        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
03645        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
03646        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
03647 
03648        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
03649        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
03650        41,   41,   41,   41,   45,   45,   45,   45,  711,  786,
03651        45,   45,   45,   45,  865,  735,  760,  419,  262,  419,
03652       419,  616,  790,  262,  262,  786,   45, 1500,   45,  262,
03653        45,  865,  262,  419,  419,  868,  262,  262,  422,  422,
03654       422,  422,  262,  267,  371,  262,  371,  371,  267,  267,
03655      1192,  616,  787,   45,  267,  371, 1192,  267,  267,  787,
03656       760,  790,  267,  374,  616,  374,  374,  267,  735,  438,
03657       262,  438,  438,  711,  374,  526,  526,  868,  526, 1496,
03658 
03659        45,  438,   45,   45,   46,   46,   46,   46,  486,  427,
03660        46,   46,   46,   46,  427,  267,  262,  789,  262,  371,
03661       427,  785,  965,  427, 1142,  427,   46,  526,   46,  424,
03662        46,  424,  424,  792,  869,  785,  371,  486,  374,  867,
03663       486,  267,  424,  267,  486,  424,  424, 1485,  867,  374,
03664       789,  449,  486,   46,  486,  374,  449,  442,  442,  442,
03665       442,  806,  449,  458, 1009,  449,  792,  449,  458, 1142,
03666      1395,  965,  806, 1395,  458,  442, 1009,  458,  869,  458,
03667        46,  442,   46,   46,   47,   47,   47,   47,   47,   47,
03668        47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
03669 
03670        47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
03671        47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
03672        47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
03673        47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
03674        47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
03675        47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
03676        47,   47,   47,   47,   47,   49,   49,   49,   49, 1397,
03677        49,   49,   49,   49,   49, 1397,   49,   49,  527,  527,
03678        49,  527,   49,  430,  905,   49,   49,   49,  430,   49,
03679        49,   49,  794,  870,  430,  938,  791,  430,  824,  430,
03680 
03681       444,  444,  444,  444,  470,  906,  375,  872,  375,  375,
03682       527,  938, 1455,   49,   49,   49,  450,  375,  444,  470,
03683       452,  450,  452,  452,  444,  470,  470,  450,  870, 1175,
03684       450, 1175,  450,  770,  430,  770,  770,  791,  825,  939,
03685      1169,   49,  905,   49,   49,   50,   50,   50,   50, 1034,
03686        50,   50,   50,   50,   50,  824,   50,   50,  794, 1454,
03687        50,  375,   50,  906, 1170,   50,   50,   50,  462,   50,
03688        50,   50,  375,  872,  462,  452,  462,  450,  375,  825,
03689       939,  770,  462, 1278, 1453,  532, 1169,  532,  532,  462,
03690      1278,  453,  452,   50,   50,   50,  453,  532,  454,  453,
03691 
03692      1034,  453,  453,  454, 1450,  453,  454,  453,  454,  454,
03693      1170,  453,  454,  903,  454,  903,  903,  855,  454,  855,
03694       855,   50,  477,   50,   50,   51,   51,   51,   51,   51,
03695        51,   51,   51,   51,   51,   51,   51, 1255, 1449,   51,
03696       532,   51,  915, 1052,  915,  915, 1053,   51,   51,   51,
03697        51,   51,   51,  996,  477, 1052,  477,  532, 1053,  454,
03698       471,  477,  996,  471, 1448,  855,  471, 1348,  477,  499,
03699       471,  499,  499,  561,   51,   51,   51,   51,  561,  471,
03700      1167,  471,  499, 1255,  561,  499,  499,  561, 1193,  561,
03701       681,  681,  681,  681,  541,  681,  541,  541, 1193, 1363,
03702 
03703       681, 1253,   51,   51,   51,   51,   52,   52,   52,   52,
03704        52,   52,   52,   52,   52,   52,   52,   52,  996, 1167,
03705        52,  500,   52,  500,  500, 1010, 1348, 1010,   52,   52,
03706        52,   52,   52,   52,  500, 1256, 1446,  500,  500, 1010,
03707      1253,  505,  505,  505,  505,  507,  507,  507,  507,  541,
03708       535, 1311,  535,  535, 1386,   52,   52,   52,   52,  505,
03709      1276,  535,  564,  507, 1363,  505,  541,  564,  538,  507,
03710       538,  538,  934,  564,  934,  934,  564, 1276,  564,  538,
03711      1261, 1256, 1261,   52,   52,   52,   52,   53,   53,   53,
03712        53, 1056,   53,   53,   53,   53,   53, 1311,   53,   53,
03713 
03714      1386, 1444,   53, 1056,   53,  535, 1019,   53,   53,   53,
03715       562,   53,   53,   53,  560,  562,  560,  560, 1019, 1019,
03716      1060,  562,  535,  538,  562, 1396,  562,  560, 1396, 1357,
03717       560,  560, 1060,  538, 1441,   53,   53,   53,  566,  539,
03718       538,  539,  539,  566, 1357,  962,  579,  962,  962,  566,
03719       539,  579,  566,   53,  566, 1429,  969,  579,  969,  969,
03720       579, 1429,  579,   53, 1319,   53,   53,   54,   54,   54,
03721        54,  562,   54,   54,   54,   54,   54, 1319,   54,   54,
03722      1430, 1439,   54,  973,   54,  973,  973,   54,   54,   54,
03723      1430,   54,   54,   54,  539,  574,  574,  574,  574, 1277,
03724 
03725       566, 1277,  539, 1438,  721,  721,  721,  721, 1054,  721,
03726      1054,  539, 1062,  574,  721,   54,   54,   54,  574,  574,
03727       587,  593, 1054, 1437, 1062,  587,  593, 1322,  587, 1322,
03728       587,  587,  593,   54,  587,  593,  587,  593, 1456,  977,
03729       587,  977,  977,   54, 1456,   54,   54,   59,   59,   59,
03730        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
03731        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
03732        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
03733        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
03734        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
03735 
03736        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
03737        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
03738        59,   59,   59,   59,   59,   59,   59,   59,   61,   61,
03739        61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
03740        61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
03741        61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
03742        61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
03743        61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
03744        61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
03745        61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
03746 
03747        61,   61,   61,   61,   61,   61,   61,   61,   61,   65,
03748        65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
03749        65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
03750        65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
03751        65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
03752        65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
03753        65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
03754        65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
03755        65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
03756        75, 1057,   75,   75, 1057,   75,   75,   75,   75,   75,
03757 
03758      1497,   75,   75, 1057, 1414,   75, 1414,   75,  582, 1497,
03759        75,   75,   75,  582,   75,   75,   75, 1484,  583,  582,
03760       583,  583,  582,  964,  582,  964,  964, 1435, 1452,  586,
03761      1452,  586,  586, 1484,  586,  964, 1433,  669,   75,   75,
03762        75,  586,  669,  644,  588,  644,  644, 1351,  669,  588,
03763      1063,  669,  588,  669,  588,  588,  672, 1431,  588,  582,
03764       588,  672, 1063, 1063,  588, 1065,   75,  672,   75,   82,
03765       672, 1428,  672,  583,   82,   82,  651, 1065,  651,  651,
03766        82,  586, 1423,   82,   82, 1084, 1351,   82,   82,  771,
03767       583,  771,  771,   82,  586,  588,   82, 1084,  644,  630,
03768 
03769       630,  630,  630,  649, 1066,  649,  649,  672,  765,  765,
03770       765,  765, 1086, 1426,  649,  644, 1066,  630, 1112,   82,
03771      1112,   82,  630,  630, 1086,  650,  765,  650,  650,  675,
03772       685,  651,  765, 1112,  675,  685,  650,  771, 1422, 1421,
03773       675,  685, 1420,  675,  685,  675,  685,   82,  651,   82,
03774        87,  987, 1426,  987,  987,   87,   87,   87,  649,  771,
03775      1419,   87,   87, 1417,   87,   87, 1415,   87,   87,   87,
03776      1066,   87,  649,   87,   87,  649,  675,   87,  650, 1411,
03777       650,  679,  679,  679,  679,  680,  680,  680,  680,  793,
03778      1515,  793,  793, 1502, 1410, 1502,  686,  650, 1515,  679,
03779 
03780        87,  686,   87,  680,  679,  679,  688,  686,  680,  680,
03781       686,  688,  686,  690, 1279, 1409, 1407,  688,  690, 1502,
03782       688, 1279,  688, 1025,  690, 1025, 1025,  690,   87,  690,
03783        87,   88,   88,   88,   88, 1406, 1026,  793, 1026, 1026,
03784       719,  719,  719,  719, 1541,  693, 1541,   88, 1089,   88,
03785       693,   88, 1541,  693,  793,  693,  693,  686,  719,  693,
03786      1089,  693,  703,  719,  719,  693,  909,  703,  909,  909,
03787      1090, 1405, 1404,  703,   88,  690,  703,   88,  703,  694,
03788       756, 1090, 1090,   88,  694,  756, 1400,  694, 1399,  694,
03789       694,  756,   88,  694,  756,  694,  756,   88, 1038,  694,
03790 
03791      1038, 1038, 1059, 1390,   88,   89, 1033, 1059, 1033, 1033,
03792        89,   89,   89, 1389, 1059, 1059,   89,   89, 1033,   89,
03793        89,  909,   89,   89,   89,  695,   89, 1442,   89,   89,
03794       695, 1061,   89,  695, 1442,  695,  695, 1388,  909,  695,
03795       694,  695, 1061, 1061, 1061,  695,  720,  720,  720,  720,
03796       856, 1387,  856,  856, 1385,   89, 1044,   89, 1044, 1044,
03797       739,  757,  739,  739,  720, 1384,  757,   89,  759,  720,
03798       720,  739,  757,  759, 1061,  757,   89,  757,  740,  759,
03799       740,  740,  759,   89,  759,   89,   95,  695, 1443,  740,
03800      1091,   95,   95,  761, 1383, 1443, 1087,   95,  761, 1087,
03801 
03802        95,   95, 1091,   95,  761,   95,   95,  761, 1087,  761,
03803        95,  856,  762,  763, 1483,  739,  856,  762,  763, 1092,
03804      1382, 1483,  757,  762,  763, 1374,  762,  763,  762,  763,
03805       739, 1092,  739,  740,  766,  766,  766,  766,   95,  766,
03806       772, 1102, 1373, 1372,  766,  772, 1371, 1133,  740, 1156,
03807       740,  772, 1369, 1102,  772,  761,  772, 1367,  766, 1133,
03808       944, 1156,  944,  944,   95, 1356,   95,   99,   99,   99,
03809        99,   99,   99,   99,   99, 1353, 1157,  763,   99,  774,
03810      1352,   99,   99, 1205,  774,   99,   99,  776, 1157, 1205,
03811       774,   99,  776,  774,   99,  774, 1205, 1116,  776, 1116,
03812 
03813       779,  776, 1347,  776,  972,  779,  972,  972,  779, 1367,
03814       779,  779, 1116,  780,  779,  944,  779,   99,  780,   99,
03815       779,  780, 1367,  780,  780, 1346,  972,  780, 1160,  780,
03816       774, 1088,  944,  780,  776,  828, 1088,  828,  828, 1039,
03817      1160, 1039, 1039, 1088, 1088,   99,  828,   99,  114, 1344,
03818       114,  114, 1343,  114,  114,  114,  114,  114, 1552,  114,
03819       114, 1039, 1341,  114,  780,  114, 1552, 1327,  114,  114,
03820       114,  781,  114,  114,  114, 1071,  781, 1071, 1071,  781,
03821      1326,  781,  781, 1325, 1323,  781,  991,  781,  991,  991,
03822       828,  781,  807,  807,  807,  807,  114,  114,  114,  808,
03823 
03824       808,  808,  808,  928,  808,  928,  928,  828, 1095,  808,
03825       807,  829, 1318,  829,  829, 1317,  807, 1158,  781, 1158,
03826      1095, 1315,  829,  808,  114, 1161,  114,  254, 1161,  254,
03827       254, 1158,  254,  254,  254,  254,  254, 1161,  254,  254,
03828      1314,  991,  254, 1163,  254,  844, 1567,  254,  254,  254,
03829       844,  254,  254,  254, 1567, 1163,  844,  846,  991,  844,
03830      1549,  844,  846, 1330,  928, 1330,  829, 1549,  846,  928,
03831      1164,  846,  829,  846, 1095,  254,  254,  254, 1330,  848,
03832       849, 1164, 1164,  829,  848,  849,  850,  850,  850,  850,
03833       848,  849, 1309,  848,  849,  848,  849, 1165,  852,  852,
03834 
03835       852,  852, 1162,  254,  850,  254,  265, 1162,  846, 1165,
03836       850,  265,  265, 1305, 1162, 1162,  852,  265,  858, 1570,
03837       265,  265,  852,  858,  265,  265,  848, 1570, 1303,  858,
03838       265,  859,  858,  265,  858, 1023,  859, 1023, 1023,  860,
03839       849, 1571,  859, 1571,  860,  859, 1023,  859, 1168, 1068,
03840       860, 1068, 1068,  860,  863,  860,  265, 1023,  265,  863,
03841      1168,  864,  863, 1300,  863,  863,  864, 1571,  863,  864,
03842       863,  864,  864, 1284,  863,  864, 1101,  864, 1176, 1101,
03843       858,  864, 1283, 1177,  265, 1101,  265,  281, 1280, 1101,
03844      1176, 1101,  281,  281,  281, 1177, 1101, 1242,  281,  281,
03845 
03846      1101,  281,  281,  860,  281,  281,  281, 1273,  281, 1242,
03847       281,  281, 1272, 1269,  281, 1068,  863,  888,  888,  888,
03848       888,  910, 1243,  910,  910,  864,  890,  890,  890,  890,
03849      1267,  925,  910, 1553, 1243,  888,  925,  281,  932,  281,
03850      1553,  888,  925,  932,  890,  925, 1115,  925, 1166,  932,
03851       890, 1115,  932, 1115,  932, 1265, 1260, 1115,  933,  983,
03852      1166, 1166, 1115,  933,  983,  281, 1246,  281,  283,  933,
03853       983,  283,  933,  983,  933,  983,  910,  283, 1246, 1188,
03854      1259,  283, 1188,  283,  910,  932, 1258,  283,  283, 1245,
03855      1240, 1188,  283,  910, 1188,  283,  283,  283,  283,  283,
03856 
03857       283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
03858       283,  283,  283,  283,  283,  283, 1239, 1238,  933,  983,
03859       283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
03860       283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
03861       283,  283,  283,  283,  285,  966, 1607,  966,  966,  285,
03862       285,  285, 1244, 1607, 1244,  285,  285,  966,  285,  285,
03863      1235,  285,  285,  285,  924,  285, 1244,  285,  285,  924,
03864      1135,  285, 1135, 1135,  926,  924, 1230, 1249,  924,  926,
03865       924,  927, 1228, 1540, 1540,  926,  927, 1226,  926, 1249,
03866       926, 1540,  927, 1585,  285,  927,  285,  927, 1225,  936,
03867 
03868       966, 1585, 1196, 1136,  936, 1136, 1136,  936,  285,  936,
03869       936, 1247, 1195,  936, 1247,  936, 1250,  966,  968,  936,
03870       968,  968,  285, 1247,  285,  292,  924, 1250, 1250,  968,
03871       292,  292, 1144, 1171, 1144, 1144,  292,  292,  926,  292,
03872       292, 1251,  292,  927,  292, 1171,  936,  937,  292,  292,
03873      1254, 1194,  937, 1251,  982,  937, 1186,  937,  937,  982,
03874      1185,  937, 1254,  937, 1262,  982, 1598,  937,  982,  985,
03875       982,  985,  985,  968, 1598,  968, 1262,  292,  988, 1179,
03876      1606, 1173,  989,  988,  985, 1172, 1049,  989, 1606,  988,
03877       968, 1049,  988,  989,  988, 1159,  989, 1049,  989, 1171,
03878 
03879      1049,  982, 1049,  292, 1308,  292,  311,  937,  311,  311,
03880      1154,  311,  311,  311,  311,  311, 1308,  311,  311,  985,
03881      1150,  311, 1148,  311, 1148, 1148,  311,  311,  311,  993,
03882       311,  311,  311, 1067,  993, 1067, 1067,  993, 1149,  993,
03883       993, 1145,  988,  993,  989,  993, 1189, 1143, 1067,  993,
03884      1049, 1189,  994, 1257,  311,  311,  311,  994, 1189, 1189,
03885       994, 1189,  994,  994, 1271, 1257,  994, 1004,  994, 1004,
03886      1004, 1070,  994, 1070, 1070, 1271, 1271, 1233, 1004, 1233,
03887      1233, 1622,  311, 1067,  311,  373, 1070,  373,  373, 1622,
03888      1275, 1634,  373,  993,  373, 1141,  373,  373, 1140, 1634,
03889 
03890      1139, 1005, 1275, 1005, 1005, 1275, 1008,  373, 1008, 1008,
03891      1138,  373, 1005, 1006,  994, 1006, 1006, 1008, 1564, 1257,
03892      1564, 1070, 1004, 1107, 1006, 1107, 1564, 1137, 1008, 1008,
03893      1072, 1107, 1107, 1004,  373, 1072, 1134, 1006, 1107, 1004,
03894       373, 1072, 1252, 1004, 1072, 1234, 1072, 1234, 1234, 1012,
03895      1358, 1012, 1012, 1248, 1252, 1252, 1005,  373, 1248, 1096,
03896      1012,  373, 1358,  373,  439, 1248, 1248, 1005, 1006,  439,
03897       439, 1012, 1012, 1005, 1094,  439, 1636, 1005,  439,  439,
03898      1093, 1489,  439,  439, 1636, 1006, 1085, 1016,  439, 1006,
03899      1072, 1077, 1016, 1016, 1181, 1489, 1181, 1181, 1016, 1016,
03900 
03901      1645, 1016, 1016, 1076, 1489, 1612, 1016, 1018, 1645, 1018,
03902      1018, 1016, 1612, 1648,  439, 1358,  439, 1050, 1018, 1075,
03903      1612, 1648, 1050, 1064, 1021, 1659, 1021, 1021, 1050, 1018,
03904      1018, 1050, 1659, 1050, 1074, 1021, 1074, 1074, 1178, 1016,
03905      1178, 1178,  439, 1058,  439,  490, 1021, 1021, 1055, 1046,
03906       490,  490,  490, 1613, 1613, 1181,  490,  490, 1045,  490,
03907       490, 1613,  490,  490,  490, 1016,  490, 1016,  490,  490,
03908      1078, 1022,  490, 1022, 1022, 1078, 1653, 1043, 1078, 1050,
03909      1078, 1078, 1022, 1653, 1078, 1268, 1078, 1268, 1268, 1074,
03910      1078, 1653, 1042, 1022, 1022,  490, 1097,  490, 1097, 1097,
03911 
03912      1108, 1037, 1108,  490, 1178, 1032, 1074, 1097, 1108, 1302,
03913      1656, 1302, 1302, 1108, 1109, 1108, 1031, 1110, 1656, 1110,
03914      1109, 1110, 1109,  490, 1359,  490,  491, 1110, 1109, 1109,
03915      1078,  491,  491,  491, 1110, 1109, 1359,  491,  491, 1030,
03916       491,  491, 1029,  491,  491,  491, 1268,  491, 1022,  491,
03917       491, 1097, 1028,  491, 1111, 1027, 1111, 1103, 1024, 1111,
03918      1103, 1298, 1111, 1298, 1298, 1569, 1103, 1569, 1097, 1111,
03919      1103, 1104, 1103, 1569, 1104, 1020,  491, 1103,  491, 1113,
03920      1104, 1103, 1626, 1626, 1104, 1113, 1104, 1113, 1014, 1359,
03921      1626, 1104, 1557, 1113, 1658, 1104, 1105, 1011, 1113, 1105,
03922 
03923      1113, 1557, 1658, 1557,  491, 1105,  491,  497, 1557, 1105,
03924       992, 1105,  497,  497, 1104, 1360, 1105, 1360,  497,  497,
03925      1105,  497,  497, 1105,  497, 1106,  497, 1105, 1106, 1360,
03926       497,  497,  986, 1127, 1106, 1127,  980, 1105, 1106, 1298,
03927      1106, 1127, 1665, 1665, 1316, 1106, 1316, 1316, 1127, 1106,
03928      1665,  979, 1114, 1117, 1114, 1106, 1117, 1106, 1117,  497,
03929      1114, 1114, 1530, 1106, 1117, 1530, 1127, 1114, 1114,  978,
03930      1106, 1117, 1118, 1530, 1338, 1119, 1338, 1338, 1118,  976,
03931      1118, 1119, 1360, 1119, 1671,  497, 1118,  497,  531, 1119,
03932       531,  531, 1671, 1118, 1316,  531, 1119,  531, 1672,  531,
03933 
03934       531, 1544,  975, 1120, 1544, 1120, 1672, 1121,  974, 1121,
03935       531, 1120, 1544, 1548,  531, 1121, 1548,  971, 1120, 1119,
03936       970, 1122, 1121, 1122, 1548, 1381, 1120, 1381, 1381, 1122,
03937      1120,  963,  961, 1121,  960, 1121, 1122,  531, 1602, 1120,
03938      1121, 1602, 1123,  531, 1123, 1676, 1200, 1121, 1200, 1602,
03939      1123,  959, 1338, 1676, 1200, 1122, 1681, 1123, 1200, 1362,
03940       531, 1200, 1362, 1681,  531,  958,  531,  534,  957,  534,
03941       534, 1362,  955, 1125,  534, 1125,  534, 1124,  534,  534,
03942      1123, 1125, 1705, 1124, 1126, 1124, 1126, 1706, 1125,  534,
03943      1705, 1124, 1126,  534, 1129, 1706, 1129, 1125, 1124, 1126,
03944 
03945      1128, 1365, 1129, 1131,  954, 1131, 1128,  953, 1128, 1129,
03946      1687, 1131, 1687, 1365, 1128, 1126,  534, 1124, 1131, 1710,
03947      1687, 1128,  534,  935, 1362,  931, 1152, 1710, 1129,  930,
03948      1174, 1152, 1174, 1174, 1129, 1129, 1131, 1152, 1366,  534,
03949      1152, 1174, 1152,  534, 1128,  534,  536,  929,  536,  536,
03950      1366, 1738, 1130,  536, 1130,  536,  923,  536,  536, 1738,
03951      1130, 1132, 1202, 1132, 1202,  922, 1365, 1130,  536, 1132,
03952      1202, 1324,  536, 1324, 1324, 1130, 1132, 1202, 1130, 1597,
03953      1739, 1597, 1130,  921, 1132, 1174, 1152, 1597, 1739, 1609,
03954      1130, 1180, 1130, 1180, 1180,  536, 1184,  920, 1609, 1182,
03955 
03956      1609,  536, 1174, 1366, 1182, 1609, 1180, 1184, 1184, 1184,
03957      1182,  919,  536, 1182, 1197, 1182, 1197, 1197,  536, 1324,
03958       918, 1615,  536, 1615,  536,  537,  917,  537,  537, 1615,
03959       916,  914,  537,  913,  537,  912,  537,  537, 1187, 1184,
03960       911, 1180, 1354, 1187, 1354, 1354, 1187,  537, 1187, 1187,
03961       904,  537, 1187, 1403, 1187, 1403, 1403, 1198, 1187,  900,
03962       899, 1182, 1198,  898, 1350, 1199, 1350, 1350, 1198, 1197,
03963      1199, 1198,  897, 1198,  537, 1201, 1199, 1201,  896, 1199,
03964       537, 1199,  894, 1201,  893, 1201, 1197, 1206, 1206, 1206,
03965      1201,  537, 1354, 1691,  892, 1206, 1418,  537, 1418, 1418,
03966 
03967      1187,  537, 1206,  537,  620, 1204, 1691, 1204, 1204,  620,
03968       620,  620, 1350, 1204, 1691,  620,  620,  891,  620,  620,
03969      1204,  620,  620,  620, 1203,  620, 1203,  620,  620, 1743,
03970      1207,  620, 1203, 1207, 1203, 1207, 1208, 1743, 1208, 1203,
03971       889, 1207,  887, 1209, 1208, 1209,  871, 1209, 1207, 1208,
03972      1631, 1208, 1631, 1209,  620,  862,  620, 1209, 1631, 1210,
03973      1209, 1210, 1211, 1210, 1211, 1212, 1219,  861, 1219, 1210,
03974      1211, 1212, 1752, 1212, 1219, 1211, 1210, 1211,  857, 1212,
03975      1752, 1219,  620,  854,  620,  621, 1212,  621,  621,  621,
03976       621,  621,  621, 1219,  853,  621,  621,  621,  621,  621,
03977 
03978       621,  621,  621,  621,  621,  851,  621,  621, 1213, 1214,
03979      1213, 1214, 1215, 1216, 1215, 1216, 1213, 1214, 1771,  847,
03980      1215, 1216,  845, 1213, 1214,  843, 1771, 1215, 1216, 1616,
03981      1616, 1218, 1616, 1218, 1217, 1220, 1217, 1220, 1215, 1218,
03982      1616,  842, 1217, 1220, 1214, 1213, 1218, 1772, 1216, 1217,
03983      1220, 1635,  841, 1635, 1221, 1772, 1221, 1218, 1220, 1635,
03984       621,  622, 1221, 1217,  840,  839,  622,  622,  622, 1221,
03985       838,  837,  622,  622,  836,  622,  622,  834,  622,  622,
03986       622, 1222,  622, 1222,  622,  622, 1776,  833,  622, 1222,
03987       832, 1223, 1221, 1223, 1776, 1224, 1222, 1224, 1416, 1223,
03988 
03989      1416, 1416,  831, 1224, 1781, 1222, 1223,  830,  823, 1236,
03990      1224,  622, 1781,  622, 1236, 1223, 1237,  822, 1222, 1281,
03991      1236, 1281, 1281, 1236,  821, 1236,  820, 1237, 1237, 1237,
03992      1281,  622, 1266, 1224, 1266, 1266,  819,  818,  817,  622,
03993       816,  622,  647,  815,  647,  647, 1416,  814, 1285,  647,
03994      1285,  647, 1797,  647,  647, 1282, 1285, 1282, 1282, 1237,
03995      1797, 1798,  813, 1285,  647,  812,  811, 1281,  647, 1798,
03996      1286, 1236, 1286, 1287, 1287, 1287,  810, 1425, 1286, 1425,
03997      1425, 1287, 1802,  809, 1288, 1286, 1288, 1266, 1287,  804,
03998      1802,  647, 1288, 1290, 1289, 1290, 1289,  647, 1292, 1288,
03999 
04000      1292, 1290, 1289, 1828, 1266, 1289, 1292,  647, 1290, 1289,
04001      1282, 1828,  778, 1292,  647,  777,  775,  773,  647,  769,
04002       647,  648,  768,  648,  648, 1425, 1291, 1282,  648,  767,
04003       648, 1291,  648,  648,  764,  758,  755, 1291, 1292,  754,
04004      1291,  752, 1291,  648,  751,  749, 1293,  648, 1293, 1295,
04005      1294, 1295, 1294, 1306, 1293, 1306, 1306, 1295, 1294,  748,
04006      1296, 1293, 1296, 1655, 1295, 1294, 1655,  745, 1296, 1307,
04007       648, 1307, 1307,  744, 1655, 1296,  648, 1294,  743,  742,
04008      1307,  741, 1295,  734,  648, 1310, 1293, 1310, 1310, 1313,
04009       733, 1313, 1313,  648,  732,  731, 1296,  648,  730,  648,
04010 
04011       712,  729,  712,  712,  712,  712,  712,  712, 1306,  728,
04012       712,  712,  712,  712,  712,  712,  712,  712, 1297,  712,
04013      1297,  712,  712,  727, 1307, 1306, 1297, 1328, 1427, 1328,
04014      1427, 1427, 1328, 1297, 1312, 1328, 1312, 1312,  726,  725,
04015      1310, 1307, 1328,  724, 1313, 1312,  723,  722, 1329, 1329,
04016      1329, 1297, 1434,  718, 1434, 1434, 1329, 1310, 1331,  717,
04017      1331, 1313,  712, 1329,  716,  696, 1331, 1436, 1331, 1436,
04018      1436,  692,  712, 1331,  691,  712,  713,  713,  687,  713,
04019       713,  713, 1312,  713,  713,  713,  713,  713,  713,  713,
04020       713,  713,  713,  713,  713,  713,  713,  713,  713,  713,
04021 
04022       713,  682,  713,  713,  713,  713,  713,  713,  713,  713,
04023       713,  713,  713,  713,  713,  713,  713,  713,  713,  713,
04024       713,  713,  713,  713,  713,  713,  713,  713,  713,  713,
04025       713,  713,  713,  713,  713,  713,  713,  713,  713,  713,
04026       713,  713,  713,  713,  713,  713,  713,  713,  713,  713,
04027       713,  713,  713,  713,  713,  713,  713,  714, 1332, 1332,
04028      1332,  678,  714,  714,  714,  677, 1332,  674,  714,  714,
04029       673,  714,  714, 1332,  714,  714,  714, 1333,  714, 1333,
04030       714,  714,  667,  666,  714, 1333, 1334, 1335, 1334, 1335,
04031       665, 1336, 1333, 1336, 1334, 1335, 1337,  664, 1337, 1336,
04032 
04033       663, 1334, 1335,  661, 1337, 1364, 1336,  714, 1333,  714,
04034      1364, 1337, 1342, 1334, 1342, 1342,  660, 1364, 1364, 1345,
04035      1335, 1345, 1345, 1337,  658, 1349, 1336, 1349, 1349,  657,
04036      1368, 1611, 1368, 1368,  655,  714, 1349,  714,  715, 1611,
04037       654, 1368, 1611,  715,  715,  715, 1644, 1611, 1644,  715,
04038       715,  653,  715,  715, 1644,  715,  715,  715,  652,  715,
04039      1652,  715,  715,  643, 1375,  715, 1375, 1342, 1652,  642,
04040      1364, 1652, 1375, 1349, 1345, 1375, 1652,  641,  640, 1375,
04041       639, 1376,  638, 1376, 1342, 1368,  637,  636,  715, 1376,
04042       715, 1345,  635, 1368, 1376, 1377, 1376, 1377, 1377, 1378,
04043 
04044       634, 1378, 1368, 1377, 1661,  633, 1368, 1378,  632,  715,
04045      1377,  631,  627, 1661, 1378, 1661,  715,  626,  715,  737,
04046      1661,  737,  737,  625,  623, 1379,  737, 1379,  737,  619,
04047       737,  737,  606, 1379,  592, 1378, 1380,  590, 1380,  589,
04048      1379,  737,  585,  584, 1380,  737,  577, 1393,  576, 1393,
04049      1393, 1380,  575, 1394,  570, 1394, 1394,  569, 1393, 1413,
04050       563, 1413, 1413, 1379, 1394, 1380,  557, 1398,  737, 1398,
04051      1398, 1401,  556, 1401,  737,  555,  554,  553, 1398, 1401,
04052       552, 1401, 1408,  551, 1408, 1408, 1401, 1451,  737, 1451,
04053      1451,  737,  550, 1408,  549,  737,  548,  737,  738,  547,
04054 
04055       738,  738, 1393,  546,  545,  738,  544,  738, 1394,  738,
04056       738,  542,  540,  533, 1413, 1398, 1394,  530,  529, 1393,
04057       738,  522,  521,  520,  738, 1394, 1402,  519, 1402, 1394,
04058      1408, 1413, 1686, 1686, 1402, 1686, 1503, 1424, 1503, 1424,
04059      1424, 1402, 1531, 1686, 1531,  518,  517,  738, 1424,  516,
04060       515,  738,  514,  738, 1503,  512,  510, 1531, 1503,  509,
04061      1531, 1402, 1503,  506, 1717, 1717,  503, 1717, 1531,  496,
04062       738,  495,  489,  474,  738, 1717,  738,  795,  459,  795,
04063       795,  795,  795,  795,  795, 1424,  457,  795,  795,  795,
04064       795,  795,  456,  795,  795,  795,  795,  455,  795,  795,
04065 
04066      1572, 1603, 1572, 1603,  451, 1721,  448, 1721,  447,  446,
04067      1823, 1824, 1823, 1824,  443, 1827, 1603, 1827, 1572, 1603,
04068       441,  437, 1572, 1721,  435,  433, 1572, 1603, 1823, 1824,
04069       432, 1721, 1721, 1827,  416,  413, 1823, 1824,  409,  408,
04070       406, 1827,  405,  404,  403,  402,  401,  400,  398,  795,
04071       396,  389,  795,  796,  386,  796,  796,  796,  796,  796,
04072       796,  381,  364,  796,  796,  796,  796,  796,  359,  796,
04073       796,  796,  796,  353,  796,  796,  351,  349,  347,  345,
04074       343,  341,  339,  338,  335,  334,  324,  321,  318,  313,
04075       312,  307,  297,  284,  279,  277,  276,  275,  270,  263,
04076 
04077       261,  260,  255,  253,  242,  238,  236,  229,  221,  210,
04078       201,  176,  172,  168,  164,  160,  796,  156,  151,  150,
04079       146,  143,  118,  110,  104,  796,  101,   84,  796,  797,
04080        83,  797,  797,  797,  797,  797,  797,   77,   67,  797,
04081       797,  797,  797,  797,  797,  797,  797,    0,  797,    0,
04082       797,  797,    0,    0,    0,    0,    0,    0,    0,    0,
04083         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04084         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04085         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04086         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04087 
04088         0,  797,    0,    0,  797,  798,  798,    0,  798,  798,
04089         0,    0,    0,    0,    0,    0,    0,  798,  798,  798,
04090         0,    0,    0,    0,    0,    0,    0,    0,  798,    0,
04091         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04092         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04093         0,    0,    0,    0,  798,  798,  798,  798,    0,    0,
04094         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04095         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04096         0,    0,  798,  798,  798,  799,  799,    0,  799,  799,
04097         0,    0,    0,    0,    0,    0,    0,  799,  799,  799,
04098 
04099         0,    0,    0,    0,    0,    0,    0,    0,  799,    0,
04100         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04101         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04102         0,    0,    0,    0,  799,  799,  799,  799,    0,    0,
04103         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04104         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04105         0,    0,  799,  799,  799,  800,  800,    0,  800,  800,
04106         0,    0,    0,    0,    0,    0,    0,  800,  800,  800,
04107         0,    0,    0,    0,    0,    0,    0,    0,  800,    0,
04108         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04109 
04110         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04111         0,    0,    0,    0,  800,  800,  800,  800,    0,    0,
04112         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04113         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04114         0,    0,  800,  800,  800,  801,  801,    0,  801,  801,
04115       801,    0,  801,  801,  801,  801,  801,  801,  801,  801,
04116       801,  801,  801,  801,  801,  801,  801,  801,  801,  801,
04117         0,  801,  801,  801,  801,  801,  801,  801,  801,  801,
04118       801,  801,  801,  801,  801,  801,  801,  801,  801,  801,
04119       801,  801,  801,  801,  801,  801,  801,  801,  801,  801,
04120 
04121       801,  801,  801,  801,  801,  801,  801,  801,  801,  801,
04122       801,  801,  801,  801,  801,  801,  801,  801,  801,  801,
04123       801,  801,  801,  801,  801,  801,  802,  802,    0,  802,
04124       802,  802,    0,  802,  802,  802,  802,  802,  802,  802,
04125       802,  802,  802,  802,  802,  802,  802,  802,  802,  802,
04126       802,    0,  802,  802,  802,  802,  802,  802,  802,  802,
04127       802,  802,  802,  802,  802,  802,  802,  802,  802,  802,
04128       802,  802,  802,  802,  802,  802,  802,  802,  802,  802,
04129       802,  802,  802,  802,  802,  802,  802,  802,  802,  802,
04130       802,  802,  802,  802,  802,  802,  802,  802,  802,  802,
04131 
04132       802,  802,  802,  802,  802,  802,  802,  803,    0,    0,
04133         0,    0,  803,  803,  803,    0,    0,    0,  803,  803,
04134         0,  803,  803,    0,  803,  803,  803,    0,  803,    0,
04135       803,  803,    0,    0,  803,    0,    0,    0,    0,    0,
04136         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04137         0,    0,    0,    0,    0,    0,    0,  803,    0,  803,
04138         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04139         0,    0,    0,    0,  803,    0,    0,    0,    0,    0,
04140         0,    0,    0,    0,    0,  803,    0,  803,  826,    0,
04141       826,  826,    0,    0,    0,  826,    0,  826,    0,  826,
04142 
04143       826,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04144       826,    0,    0,    0,  826,    0,    0,    0,    0,    0,
04145         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04146         0,    0,    0,    0,    0,    0,    0,  826,    0,    0,
04147         0,    0,    0,  826,    0,    0,    0,    0,    0,    0,
04148         0,    0,    0,    0,    0,    0,    0,    0,  826,    0,
04149       826,    0,    0,    0,  826,    0,  826,  827,    0,  827,
04150       827,    0,    0,    0,  827,    0,  827,    0,  827,  827,
04151         0,    0,    0,    0,    0,    0,    0,    0,    0,  827,
04152         0,    0,    0,  827,    0,    0,    0,    0,    0,    0,
04153 
04154         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04155         0,    0,    0,    0,    0,    0,  827,    0,    0,    0,
04156         0,    0,  827,    0,    0,    0,    0,    0,    0,    0,
04157         0,    0,    0,    0,    0,    0,    0,  827,    0,  827,
04158         0,    0,    0,  827,    0,  827,  874,    0,  874,  874,
04159       874,  874,  874,  874,    0,    0,  874,  874,  874,  874,
04160       874,  874,  874,  874,    0,  874,    0,  874,  874,    0,
04161         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04162         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04163         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04164 
04165         0,    0,    0,    0,    0,    0,    0,    0,  874,    0,
04166         0,    0,    0,    0,    0,    0,    0,    0,  874,    0,
04167         0,  874,  875,    0,    0,  875,  875,    0,  875,  875,
04168       875,    0,  875,    0,  875,  875,  875,    0,  875,  875,
04169       875,    0,    0,  875,  875,  875,  875,  875,  875,    0,
04170         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04171         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04172         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04173         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04174         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04175 
04176       875,  875,  876,    0,  876,  876,  876,  876,  876,  876,
04177         0,    0,  876,  876,  876,  876,  876,    0,  876,  876,
04178       876,  876,    0,  876,  876,    0,    0,    0,    0,    0,
04179         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04180         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04181         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04182         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04183         0,    0,    0,    0,  876,    0,    0,  876,  877,    0,
04184       877,  877,  877,  877,  877,  877,    0,    0,  877,  877,
04185       877,  877,  877,  877,  877,  877,  877,  877,    0,  877,
04186 
04187       877,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04188         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04189         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04190         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04191         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04192       877,    0,    0,  877,  878,    0,  878,  878,  878,  878,
04193       878,  878,    0,    0,  878,  878,  878,  878,  878,    0,
04194       878,  878,  878,  878,    0,  878,  878,    0,    0,    0,
04195         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04196         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04197 
04198         0,    0,    0,    0,    0,    0,    0,  878,    0,    0,
04199         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04200         0,    0,    0,    0,    0,    0,  878,    0,    0,  878,
04201       879,    0,  879,  879,  879,  879,  879,  879,    0,    0,
04202       879,  879,  879,  879,  879,    0,  879,  879,  879,  879,
04203         0,  879,  879,    0,    0,    0,    0,    0,    0,    0,
04204         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04205         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04206         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04207         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04208 
04209         0,    0,  879,    0,    0,  879,  880,  880,    0,  880,
04210       880,    0,    0,    0,    0,    0,    0,    0,  880,  880,
04211       880,    0,    0,    0,    0,    0,    0,    0,    0,  880,
04212         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04213         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04214         0,    0,    0,    0,    0,  880,  880,  880,  880,    0,
04215         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04216         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04217         0,    0,    0,  880,  880,  880,  881,  881,    0,  881,
04218       881,    0,    0,    0,    0,    0,    0,    0,  881,  881,
04219 
04220       881,    0,    0,    0,    0,    0,    0,    0,    0,  881,
04221         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04222         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04223         0,    0,    0,    0,    0,  881,  881,  881,  881,    0,
04224         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04225         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04226         0,    0,    0,  881,  881,  881,  882,  882,    0,  882,
04227       882,    0,    0,    0,    0,    0,    0,    0,  882,  882,
04228       882,    0,    0,    0,    0,    0,    0,    0,    0,  882,
04229         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04230 
04231         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04232         0,    0,    0,    0,    0,  882,  882,  882,  882,    0,
04233         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04234         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04235         0,    0,    0,  882,  882,  882,  883,  883,    0,  883,
04236       883,  883,    0,  883,  883,  883,    0,  883,  883,  883,
04237       883,  883,    0,  883,  883,  883,    0,    0,  883,  883,
04238       883,  883,  883,  883,    0,    0,    0,    0,    0,    0,
04239         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04240         0,    0,    0,    0,    0,  883,  883,  883,  883,    0,
04241 
04242         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04243         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04244         0,    0,    0,  883,  883,  883,  883,  884,  884,    0,
04245       884,  884,    0,    0,    0,    0,    0,    0,    0,  884,
04246       884,  884,    0,    0,    0,    0,    0,    0,    0,    0,
04247       884,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04248         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04249         0,    0,    0,    0,    0,    0,  884,  884,  884,  884,
04250         0,    0,  884,    0,    0,    0,    0,    0,    0,    0,
04251         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04252 
04253         0,    0,    0,    0,  884,  884,  884,  885,  885,    0,
04254       885,  885,  885,    0,  885,  885,  885,  885,  885,  885,
04255       885,  885,  885,  885,  885,  885,  885,  885,  885,  885,
04256       885,  885,    0,  885,  885,  885,  885,  885,  885,  885,
04257       885,  885,  885,  885,  885,  885,  885,  885,  885,  885,
04258       885,  885,  885,  885,  885,  885,  885,  885,  885,  885,
04259       885,  885,  885,  885,  885,  885,  885,  885,  885,  885,
04260       885,  885,  885,  885,  885,  885,  885,  885,  885,  885,
04261       885,  885,  885,  885,  885,  885,  885,  885,  886,    0,
04262         0,    0,    0,  886,  886,  886,    0,    0,    0,  886,
04263 
04264       886,    0,  886,  886,    0,  886,  886,  886,    0,  886,
04265         0,  886,  886,    0,    0,  886,    0,    0,    0,    0,
04266         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04267         0,    0,    0,    0,    0,    0,    0,    0,  886,    0,
04268       886,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04269         0,    0,    0,    0,    0,    0,    0,  886,    0,    0,
04270         0,    0,    0,    0,    0,    0,  886,    0,  886,  907,
04271         0,  907,  907,    0,    0,    0,  907,    0,  907,    0,
04272       907,  907,    0,    0,    0,    0,    0,    0,    0,    0,
04273         0,  907,    0,    0,    0,  907,    0,    0,    0,    0,
04274 
04275         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04276         0,    0,    0,    0,    0,    0,    0,    0,  907,    0,
04277         0,    0,    0,    0,  907,    0,    0,    0,    0,    0,
04278         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04279         0,  907,    0,    0,    0,  907,    0,  907,  908,    0,
04280       908,  908,    0,    0,    0,  908,    0,  908,    0,  908,
04281       908,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04282       908,    0,    0,    0,  908,    0,    0,    0,    0,    0,
04283         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04284         0,    0,    0,    0,    0,    0,    0,  908,    0,    0,
04285 
04286         0,    0,    0,  908,    0,    0,    0,    0,    0,  908,
04287         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04288       908,    0,    0,    0,  908,    0,  908,  941,    0,  941,
04289       941,  941,  941,  941,  941,    0,    0,  941,  941,  941,
04290       941,  941,    0,  941,  941,  941,  941,    0,  941,  941,
04291         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04292         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04293         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04294         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04295         0,    0,    0,    0,    0,    0,    0,    0,    0,  941,
04296 
04297         0,    0,  941,  942,    0,  942,  942,  942,  942,  942,
04298       942,    0,    0,  942,  942,  942,  942,  942,    0,  942,
04299       942,  942,  942,    0,  942,  942,    0,    0,    0,    0,
04300         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04301         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04302         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04303         0,    0,    0,    0,    0,    0,  942,    0,    0,    0,
04304         0,    0,    0,    0,    0,  942,    0,    0,  942,  943,
04305         0,    0,  943,  943,    0,  943,  943,  943,    0,  943,
04306         0,  943,  943,  943,    0,  943,  943,  943,    0,    0,
04307 
04308       943,  943,  943,  943,  943,  943,    0,    0,    0,    0,
04309         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04310         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04311         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04312         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04313         0,    0,    0,    0,    0,    0,    0,  943,  943,  945,
04314         0,  945,  945,  945,  945,  945,  945,    0,    0,  945,
04315       945,  945,  945,  945,    0,  945,  945,    0,  945,    0,
04316       945,  945,    0,    0,    0,    0,    0,    0,    0,    0,
04317         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04318 
04319         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04320         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04321         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04322         0,  945,    0,    0,  945,  946,    0,  946,  946,  946,
04323       946,  946,  946,    0,    0,  946,  946,  946,  946,  946,
04324         0,  946,  946,  946,  946,    0,  946,  946,    0,    0,
04325         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04326         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04327         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04328         0,    0,    0,    0,    0,    0,    0,    0,    0,  946,
04329 
04330         0,    0,    0,    0,    0,    0,    0,  946,    0,    0,
04331       946,  947,    0,  947,  947,  947,  947,  947,  947,    0,
04332         0,  947,  947,  947,  947,  947,    0,  947,  947,  947,
04333       947,    0,  947,  947,    0,    0,    0,    0,    0,    0,
04334         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04335         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04336         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04337         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04338         0,    0,    0,  947,    0,    0,  947,  948,  948,    0,
04339       948,  948,  948,    0,  948,  948,  948,    0,  948,  948,
04340 
04341       948,  948,  948,    0,  948,  948,  948,    0,    0,  948,
04342       948,  948,  948,  948,  948,    0,    0,    0,    0,    0,
04343         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04344         0,    0,    0,    0,    0,    0,  948,  948,  948,  948,
04345         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04346         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04347         0,    0,    0,    0,  948,  948,  948,  948,  949,  949,
04348         0,  949,  949,  949,    0,  949,  949,  949,    0,  949,
04349       949,  949,  949,  949,    0,  949,  949,  949,    0,    0,
04350       949,  949,  949,  949,  949,  949,    0,    0,    0,    0,
04351 
04352         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04353         0,    0,    0,    0,    0,    0,    0,  949,  949,  949,
04354       949,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04355         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04356         0,    0,    0,    0,    0,  949,  949,  949,  949,  950,
04357       950,    0,  950,  950,    0,    0,    0,    0,    0,    0,
04358         0,  950,  950,  950,    0,    0,    0,    0,    0,    0,
04359         0,    0,  950,    0,    0,    0,    0,    0,    0,    0,
04360         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04361         0,    0,    0,    0,    0,    0,    0,    0,  950,  950,
04362 
04363       950,  950,    0,    0,    0,  950,    0,    0,    0,    0,
04364         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04365         0,    0,  950,    0,    0,    0,  950,  950,  950,  951,
04366       951,    0,  951,  951,    0,    0,    0,    0,    0,    0,
04367         0,  951,  951,  951,    0,    0,    0,    0,    0,    0,
04368         0,    0,  951,    0,    0,    0,    0,    0,    0,    0,
04369         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04370         0,    0,    0,    0,    0,    0,    0,    0,  951,  951,
04371       951,  951,    0,    0,    0,    0,    0,    0,    0,    0,
04372         0,    0,    0,    0,    0,    0,    0,    0,  951,    0,
04373 
04374         0,    0,    0,    0,    0,    0,  951,  951,  951,  952,
04375       952,    0,  952,  952,  952,  952,  952,    0,  952,  952,
04376       952,  952,    0,  952,  952,  952,  952,  952,  952,    0,
04377       952,    0,  952,  952,  952,    0,  952,    0,    0,    0,
04378         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04379         0,    0,    0,    0,    0,    0,    0,    0,  952,  952,
04380         0,  952,    0,    0,    0,    0,    0,    0,    0,    0,
04381         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04382         0,    0,    0,    0,    0,    0,    0,  952,    0,  952,
04383       967,    0,  967,  967,    0,    0,    0,  967,    0,  967,
04384 
04385         0,  967,  967,    0,    0,    0,    0,    0,    0,    0,
04386         0,    0,  967,    0,    0,    0,  967,    0,    0,    0,
04387         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04388         0,    0,    0,    0,    0,    0,    0,    0,    0,  967,
04389         0,    0,    0,    0,    0,  967,    0,    0,    0,    0,
04390         0,    0,    0,  967,    0,    0,    0,    0,    0,    0,
04391         0,    0,  967,    0,    0,    0,  967,    0,  967,  984,
04392         0,  984,  984,  984,    0,  984,    0,  984,  984,    0,
04393       984,    0,  984,  984,  984,  984,  984,  984,    0,  984,
04394         0,  984,  984,  984,    0,    0,    0,    0,    0,    0,
04395 
04396         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04397         0,    0,    0,    0,    0,    0,    0,  984,    0,    0,
04398       984,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04399         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04400         0,    0,    0,    0,    0,    0,  984,    0,  984,  995,
04401         0,  995,  995,  995,  995,  995,  995,    0,    0,  995,
04402       995,  995,  995,  995,    0,  995,  995,  995,  995,    0,
04403       995,  995,    0,    0,    0,    0,    0,    0,    0,    0,
04404         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04405         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04406 
04407         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04408         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04409         0,  995,    0,    0,  995,  997,    0,  997,  997,  997,
04410       997,  997,  997,    0,    0,  997,  997,  997,  997,  997,
04411         0,  997,  997,  997,  997,    0,  997,  997,    0,    0,
04412         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04413         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04414         0,    0,    0,    0,    0,    0,    0,    0,  997,    0,
04415         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04416         0,    0,    0,    0,    0,    0,    0,  997,    0,    0,
04417 
04418       997,  998,    0,  998,  998,  998,  998,  998,  998,    0,
04419         0,  998,  998,  998,  998,  998,    0,  998,  998,    0,
04420       998,    0,  998,  998,    0,    0,    0,    0,    0,    0,
04421         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04422         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04423         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04424         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04425         0,    0,    0,  998,    0,    0,  998,  999,    0,  999,
04426       999,  999,  999,  999,  999,    0,    0,  999,  999,  999,
04427       999,  999,  999,  999,  999,  999,  999,    0,  999,  999,
04428 
04429         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04430         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04431         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04432         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04433         0,    0,    0,    0,    0,    0,    0,    0,    0,  999,
04434         0,    0,  999, 1000,    0, 1000, 1000, 1000, 1000, 1000,
04435      1000,    0,    0, 1000, 1000, 1000, 1000, 1000,    0, 1000,
04436      1000, 1000, 1000,    0, 1000, 1000,    0,    0,    0,    0,
04437         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04438         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04439 
04440         0,    0, 1000,    0,    0,    0,    0,    0,    0,    0,
04441         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04442         0,    0,    0,    0,    0, 1000,    0,    0, 1000, 1001,
04443      1001,    0, 1001, 1001, 1001,    0, 1001, 1001, 1001,    0,
04444      1001, 1001, 1001, 1001, 1001,    0, 1001, 1001, 1001,    0,
04445         0, 1001, 1001, 1001, 1001, 1001, 1001,    0,    0,    0,
04446         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04447         0,    0,    0,    0,    0,    0,    0,    0, 1001, 1001,
04448      1001, 1001,    0,    0,    0,    0,    0,    0,    0,    0,
04449         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04450 
04451         0,    0,    0,    0,    0,    0, 1001, 1001, 1001, 1001,
04452      1002, 1002,    0, 1002, 1002,    0,    0,    0,    0,    0,
04453         0,    0, 1002, 1002, 1002,    0,    0,    0,    0,    0,
04454         0,    0,    0, 1002,    0,    0,    0,    0,    0,    0,
04455         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04456         0,    0,    0,    0,    0,    0,    0,    0,    0, 1002,
04457      1002, 1002, 1002,    0,    0,    0, 1002,    0,    0,    0,
04458         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04459         0,    0,    0, 1002,    0,    0,    0, 1002, 1002, 1002,
04460      1003, 1003,    0, 1003, 1003,    0,    0,    0,    0,    0,
04461 
04462         0,    0, 1003, 1003, 1003,    0,    0,    0,    0,    0,
04463         0,    0,    0, 1003,    0,    0,    0,    0,    0,    0,
04464         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04465         0,    0,    0,    0,    0,    0,    0,    0,    0, 1003,
04466      1003, 1003, 1003,    0,    0,    0, 1003,    0,    0,    0,
04467         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04468         0,    0,    0, 1003,    0,    0,    0, 1003, 1003, 1003,
04469      1007,    0, 1007, 1007, 1007,    0,    0,    0, 1007, 1007,
04470         0, 1007,    0, 1007, 1007, 1007, 1007,    0, 1007,    0,
04471         0,    0, 1007, 1007, 1007,    0,    0,    0,    0,    0,
04472 
04473         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04474         0,    0,    0,    0,    0,    0,    0,    0, 1007,    0,
04475         0, 1007,    0,    0,    0,    0, 1007,    0,    0,    0,
04476         0,    0,    0,    0,    0, 1007,    0,    0,    0,    0,
04477         0,    0,    0,    0,    0,    0,    0, 1007,    0, 1007,
04478      1013,    0,    0,    0,    0, 1013, 1013,    0,    0,    0,
04479         0, 1013, 1013,    0, 1013, 1013,    0,    0, 1013, 1013,
04480         0,    0,    0,    0, 1013,    0,    0, 1013,    0,    0,
04481         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04482         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04483 
04484         0,    0, 1013,    0,    0,    0,    0,    0,    0,    0,
04485         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04486         0,    0,    0,    0,    0,    0,    0,    0, 1013,    0,
04487      1013, 1015,    0,    0,    0,    0, 1015, 1015,    0,    0,
04488         0,    0, 1015, 1015,    0, 1015, 1015,    0, 1015, 1015,
04489      1015,    0,    0,    0,    0, 1015, 1015,    0, 1015,    0,
04490         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04491         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04492         0, 1015,    0, 1015,    0,    0,    0,    0,    0,    0,
04493         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04494 
04495         0,    0,    0,    0,    0,    0,    0,    0,    0, 1015,
04496         0, 1015, 1017,    0,    0, 1017,    0,    0,    0,    0,
04497         0, 1017,    0, 1017,    0, 1017,    0, 1017,    0,    0,
04498         0, 1017, 1017,    0, 1017, 1017, 1017,    0,    0, 1017,
04499      1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
04500      1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
04501         0,    0,    0,    0, 1017, 1017, 1017, 1017, 1017, 1017,
04502      1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
04503      1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1035,    0,
04504      1035, 1035,    0,    0,    0, 1035,    0, 1035,    0, 1035,
04505 
04506      1035,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04507      1035,    0,    0,    0, 1035,    0,    0,    0,    0,    0,
04508         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04509         0,    0,    0,    0,    0,    0,    0, 1035,    0,    0,
04510         0,    0,    0, 1035,    0, 1035,    0,    0,    0,    0,
04511         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04512      1035,    0,    0,    0, 1035,    0, 1035, 1051,    0, 1051,
04513      1051, 1051,    0,    0,    0, 1051, 1051,    0, 1051,    0,
04514      1051, 1051, 1051, 1051,    0, 1051,    0,    0,    0, 1051,
04515      1051, 1051,    0,    0,    0,    0,    0,    0,    0,    0,
04516 
04517         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04518         0,    0,    0,    0,    0, 1051,    0,    0, 1051,    0,
04519         0,    0,    0, 1051,    0,    0,    0,    0,    0,    0,
04520         0,    0, 1051,    0,    0,    0,    0,    0,    0,    0,
04521         0,    0,    0,    0, 1051,    0, 1051, 1073,    0, 1073,
04522      1073, 1073,    0, 1073,    0, 1073, 1073,    0, 1073,    0,
04523      1073, 1073, 1073, 1073, 1073, 1073,    0, 1073,    0, 1073,
04524      1073, 1073,    0,    0,    0,    0,    0,    0,    0,    0,
04525         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04526         0,    0,    0,    0,    0, 1073,    0,    0, 1073,    0,
04527 
04528         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04529         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04530         0,    0,    0,    0, 1073,    0, 1073, 1079,    0, 1079,
04531      1079, 1079,    0, 1079,    0, 1079, 1079,    0, 1079,    0,
04532      1079, 1079, 1079, 1079, 1079, 1079,    0, 1079,    0, 1079,
04533      1079, 1079,    0, 1079,    0,    0,    0,    0,    0,    0,
04534         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04535         0,    0,    0,    0,    0, 1079,    0,    0, 1079,    0,
04536         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04537         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04538 
04539         0,    0,    0,    0, 1079,    0, 1079, 1080,    0, 1080,
04540      1080, 1080, 1080, 1080, 1080,    0,    0, 1080, 1080, 1080,
04541      1080, 1080,    0, 1080, 1080, 1080, 1080,    0, 1080, 1080,
04542         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04543         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04544         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04545         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04546         0, 1080,    0,    0,    0,    0,    0,    0,    0, 1080,
04547         0,    0, 1080, 1081,    0, 1081, 1081, 1081, 1081, 1081,
04548      1081,    0,    0, 1081, 1081, 1081, 1081, 1081,    0, 1081,
04549 
04550      1081, 1081, 1081,    0, 1081, 1081,    0,    0,    0,    0,
04551         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04552         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04553         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04554         0,    0,    0,    0,    0,    0,    0,    0,    0, 1081,
04555         0,    0,    0,    0,    0, 1081,    0,    0, 1081, 1082,
04556      1082,    0, 1082, 1082,    0,    0,    0,    0,    0,    0,
04557         0, 1082, 1082, 1082,    0,    0,    0,    0,    0,    0,
04558         0,    0, 1082,    0,    0,    0,    0,    0,    0,    0,
04559         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04560 
04561         0,    0,    0,    0,    0,    0,    0,    0, 1082, 1082,
04562      1082, 1082,    0,    0,    0,    0,    0,    0,    0,    0,
04563         0,    0,    0,    0,    0, 1082,    0,    0,    0,    0,
04564         0,    0,    0,    0,    0,    0, 1082, 1082, 1082, 1083,
04565      1083,    0, 1083, 1083,    0,    0,    0,    0,    0,    0,
04566         0, 1083, 1083, 1083,    0,    0,    0,    0,    0,    0,
04567         0,    0, 1083,    0,    0,    0,    0,    0,    0,    0,
04568         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04569         0,    0,    0,    0,    0,    0,    0,    0, 1083, 1083,
04570      1083, 1083,    0,    0,    0,    0,    0,    0,    0,    0,
04571 
04572         0,    0,    0, 1083,    0,    0,    0,    0,    0,    0,
04573         0,    0,    0,    0,    0,    0, 1083, 1083, 1083, 1098,
04574         0,    0,    0,    0, 1098, 1098,    0,    0,    0,    0,
04575      1098, 1098,    0, 1098,    0,    0,    0, 1098, 1098,    0,
04576         0,    0,    0, 1098,    0,    0, 1098,    0,    0,    0,
04577         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04578         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04579         0, 1098,    0,    0,    0,    0,    0,    0,    0,    0,
04580         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04581         0,    0,    0,    0,    0,    0,    0, 1098,    0, 1098,
04582 
04583      1099,    0,    0,    0,    0, 1099, 1099,    0,    0,    0,
04584         0, 1099, 1099,    0, 1099, 1099,    0,    0, 1099, 1099,
04585         0,    0,    0,    0, 1099,    0,    0, 1099,    0,    0,
04586         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04587         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04588      1099,    0, 1099,    0,    0,    0,    0,    0,    0,    0,
04589         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04590         0,    0,    0,    0,    0,    0,    0,    0, 1099,    0,
04591      1099, 1153,    0, 1153, 1153, 1153,    0, 1153,    0, 1153,
04592      1153,    0, 1153,    0, 1153, 1153, 1153, 1153, 1153, 1153,
04593 
04594         0, 1153,    0, 1153, 1153, 1153,    0,    0,    0,    0,
04595         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04596         0,    0,    0,    0,    0,    0,    0,    0,    0, 1153,
04597         0,    0, 1153,    0,    0,    0,    0,    0,    0,    0,
04598         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04599         0,    0,    0,    0,    0,    0,    0,    0, 1153,    0,
04600      1153, 1155,    0, 1155, 1155, 1155,    0,    0,    0, 1155,
04601      1155,    0, 1155,    0, 1155, 1155, 1155, 1155,    0, 1155,
04602         0,    0,    0, 1155, 1155, 1155,    0,    0,    0,    0,
04603         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04604 
04605         0,    0,    0,    0,    0,    0,    0,    0,    0, 1155,
04606         0,    0, 1155,    0,    0,    0,    0, 1155,    0,    0,
04607         0,    0,    0,    0,    0,    0, 1155,    0,    0,    0,
04608         0,    0,    0,    0,    0,    0,    0,    0, 1155,    0,
04609      1155, 1183,    0, 1183, 1183, 1183,    0,    0,    0, 1183,
04610      1183,    0, 1183,    0, 1183, 1183, 1183, 1183,    0, 1183,
04611         0,    0,    0, 1183, 1183, 1183,    0,    0,    0,    0,
04612         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04613         0,    0,    0,    0,    0,    0,    0,    0,    0, 1183,
04614         0,    0, 1183,    0,    0,    0,    0, 1183,    0,    0,
04615 
04616         0,    0,    0,    0,    0,    0, 1183,    0,    0,    0,
04617         0,    0,    0,    0,    0,    0,    0,    0, 1183,    0,
04618      1183, 1190,    0, 1190, 1190, 1190, 1190, 1190, 1190,    0,
04619         0, 1190, 1190, 1190, 1190, 1190,    0, 1190, 1190, 1190,
04620      1190,    0, 1190, 1190,    0,    0,    0,    0,    0,    0,
04621         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04622         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04623      1190,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04624         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04625         0,    0,    0, 1190,    0,    0, 1190, 1191,    0, 1191,
04626 
04627      1191, 1191, 1191, 1191, 1191,    0,    0, 1191, 1191, 1191,
04628      1191, 1191,    0, 1191, 1191, 1191, 1191,    0, 1191, 1191,
04629         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04630         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04631         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04632         0,    0,    0,    0,    0,    0,    0,    0,    0, 1191,
04633         0,    0,    0,    0,    0,    0,    0,    0,    0, 1191,
04634         0,    0, 1191, 1241,    0, 1241, 1241, 1241,    0,    0,
04635         0, 1241, 1241,    0, 1241,    0, 1241, 1241, 1241, 1241,
04636         0, 1241,    0,    0,    0, 1241, 1241, 1241,    0,    0,
04637 
04638         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04639         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04640         0, 1241,    0,    0, 1241,    0,    0,    0,    0, 1241,
04641         0,    0,    0,    0,    0,    0,    0,    0, 1241,    0,
04642         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04643      1241,    0, 1241, 1270,    0, 1270, 1270, 1270,    0, 1270,
04644         0, 1270, 1270,    0, 1270,    0, 1270, 1270, 1270, 1270,
04645      1270, 1270,    0, 1270,    0, 1270, 1270, 1270,    0,    0,
04646         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04647         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04648 
04649         0, 1270,    0,    0, 1270,    0,    0,    0,    0,    0,
04650         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04651         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04652      1270,    0, 1270, 1274,    0, 1274, 1274, 1274,    0, 1274,
04653         0, 1274, 1274,    0, 1274,    0, 1274, 1274, 1274, 1274,
04654      1274, 1274,    0, 1274,    0, 1274, 1274, 1274,    0, 1274,
04655         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04656         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04657         0, 1274,    0,    0, 1274,    0,    0,    0,    0,    0,
04658         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04659 
04660         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04661      1274,    0, 1274, 1304,    0, 1304, 1304, 1304,    0, 1304,
04662         0, 1304, 1304,    0, 1304,    0, 1304, 1304, 1304, 1304,
04663      1304, 1304,    0, 1304,    0, 1304, 1304, 1304,    0,    0,
04664         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04665         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04666         0, 1304,    0,    0, 1304,    0,    0,    0,    0,    0,
04667         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04668         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04669      1304,    0, 1304, 1320,    0, 1320, 1320, 1320,    0,    0,
04670 
04671         0, 1320, 1320,    0, 1320,    0, 1320, 1320, 1320, 1320,
04672         0, 1320,    0,    0,    0, 1320, 1320, 1320,    0,    0,
04673         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04674         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04675         0, 1320,    0,    0, 1320,    0,    0,    0,    0,    0,
04676         0,    0,    0,    0,    0,    0,    0,    0,    0, 1320,
04677         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04678      1320,    0, 1320, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
04679      1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
04680      1321, 1321, 1321,    0, 1321, 1321, 1321, 1321, 1321, 1321,
04681 
04682      1321,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04683         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04684         0,    0, 1321, 1321, 1321, 1321,    0,    0,    0,    0,
04685         0,    0,    0,    0,    0,    0,    0, 1321,    0,    0,
04686         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04687      1321, 1321, 1321, 1321, 1361,    0,    0, 1361, 1361,    0,
04688      1361, 1361, 1361,    0, 1361,    0, 1361, 1361, 1361,    0,
04689      1361, 1361, 1361,    0,    0, 1361, 1361, 1361, 1361, 1361,
04690      1361,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04691         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04692 
04693         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04694         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04695         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04696         0,    0, 1361, 1361, 1370, 1370,    0, 1370, 1370,    0,
04697         0,    0,    0,    0,    0,    0, 1370, 1370, 1370,    0,
04698         0,    0,    0,    0,    0,    0,    0, 1370,    0,    0,
04699         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04700         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04701         0,    0,    0, 1370, 1370, 1370, 1370,    0,    0,    0,
04702         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04703 
04704         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04705         0, 1370, 1370, 1370, 1391,    0, 1391, 1391, 1391,    0,
04706         0,    0, 1391, 1391,    0, 1391,    0, 1391, 1391, 1391,
04707      1391,    0, 1391,    0,    0,    0, 1391, 1391, 1391,    0,
04708         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04709         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04710         0,    0, 1391,    0,    0, 1391,    0, 1391,    0,    0,
04711         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04712         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04713         0, 1391,    0, 1391, 1392,    0,    0, 1392, 1392,    0,
04714 
04715      1392, 1392, 1392,    0, 1392,    0, 1392, 1392, 1392,    0,
04716      1392, 1392, 1392,    0,    0, 1392, 1392, 1392, 1392, 1392,
04717      1392,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04718         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04719         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04720         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04721         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04722         0,    0, 1392, 1392, 1412,    0,    0, 1412, 1412,    0,
04723      1412, 1412, 1412,    0, 1412,    0, 1412, 1412, 1412,    0,
04724      1412, 1412, 1412,    0,    0, 1412, 1412, 1412, 1412, 1412,
04725 
04726      1412,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04727         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04728         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04729         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04730         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04731         0,    0, 1412, 1412, 1458, 1458, 1458, 1458, 1458, 1458,
04732      1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458,
04733      1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458,
04734      1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1459,
04735      1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
04736 
04737      1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
04738      1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
04739      1459, 1459, 1459, 1459, 1460, 1460, 1460, 1460, 1460, 1460,
04740      1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
04741      1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460,
04742      1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1460, 1461,
04743      1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461,
04744      1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461,
04745      1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461,
04746      1461, 1461, 1461, 1461, 1462, 1462, 1462, 1462, 1462, 1462,
04747 
04748      1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462,
04749      1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462,
04750      1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1463,
04751      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
04752      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
04753      1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463, 1463,
04754      1463, 1463, 1463, 1463, 1464, 1464, 1464, 1464, 1464, 1464,
04755      1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464,
04756      1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464,
04757      1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1465,
04758 
04759      1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465,
04760      1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465,
04761      1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465, 1465,
04762      1465, 1465, 1465, 1465, 1466, 1466, 1466, 1466, 1466, 1466,
04763      1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466,
04764      1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466,
04765      1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1466, 1467,
04766      1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467,
04767      1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467,
04768      1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467, 1467,
04769 
04770      1467, 1467, 1467, 1467, 1468, 1468, 1468, 1468, 1468, 1468,
04771      1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468,
04772      1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468,
04773      1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1469,
04774      1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469,
04775      1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469,
04776      1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469,
04777      1469, 1469, 1469, 1469, 1470, 1470, 1470, 1470, 1470, 1470,
04778      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,
04779      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470,
04780 
04781      1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1471,
04782      1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471,
04783      1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471,
04784      1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471, 1471,
04785      1471, 1471, 1471, 1471, 1472, 1472, 1472, 1472, 1472, 1472,
04786      1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472,
04787      1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472,
04788      1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1473,
04789      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,
04790      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,
04791 
04792      1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473, 1473,
04793      1473, 1473, 1473, 1473, 1474, 1474, 1474, 1474, 1474, 1474,
04794      1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474,
04795      1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474,
04796      1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1474, 1475,
04797      1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475,
04798      1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475,
04799      1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1475,
04800      1475, 1475, 1475, 1475, 1476, 1476, 1476, 1476, 1476, 1476,
04801      1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
04802 
04803      1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476,
04804      1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1477,
04805      1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477,
04806      1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477,
04807      1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477,
04808      1477, 1477, 1477, 1477, 1478, 1478, 1478, 1478, 1478, 1478,
04809      1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478,
04810      1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478,
04811      1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1479,
04812      1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479,
04813 
04814      1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479,
04815      1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479,
04816      1479, 1479, 1479, 1479, 1480, 1480, 1480, 1480, 1480, 1480,
04817      1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480,
04818      1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480,
04819      1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1481,
04820         0,    0,    0, 1481, 1481,    0,    0,    0,    0, 1481,
04821         0,    0, 1481, 1481,    0, 1481,    0, 1481, 1481,    0,
04822         0,    0, 1481,    0,    0,    0, 1481,    0,    0,    0,
04823      1481,    0,    0, 1481, 1482, 1482,    0, 1482, 1482, 1482,
04824 
04825      1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482,
04826      1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482,
04827      1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1482, 1486,
04828         0,    0,    0, 1486, 1486,    0,    0,    0,    0, 1486,
04829         0,    0, 1486, 1486,    0, 1486, 1486, 1486, 1486,    0,
04830         0,    0, 1486,    0,    0, 1486, 1486,    0,    0,    0,
04831      1486,    0,    0, 1486, 1487,    0,    0,    0, 1487, 1487,
04832         0,    0,    0,    0, 1487,    0,    0, 1487, 1487,    0,
04833      1487, 1487, 1487, 1487,    0,    0,    0, 1487,    0,    0,
04834      1487, 1487,    0, 1487,    0, 1487,    0,    0, 1487, 1488,
04835 
04836         0, 1488, 1488,    0, 1488,    0,    0,    0,    0,    0,
04837         0, 1488, 1488, 1490, 1490, 1490, 1490,    0,    0,    0,
04838         0,    0,    0,    0,    0,    0, 1490,    0,    0, 1490,
04839         0, 1490,    0, 1490, 1490,    0, 1490,    0,    0,    0,
04840         0, 1490, 1491,    0,    0,    0, 1491, 1491, 1491,    0,
04841         0,    0, 1491, 1491,    0, 1491, 1491,    0, 1491, 1491,
04842      1491, 1491, 1491,    0, 1491, 1491,    0,    0, 1491, 1491,
04843         0, 1491,    0, 1491,    0,    0, 1491, 1492,    0,    0,
04844         0, 1492, 1492,    0,    0,    0,    0, 1492,    0,    0,
04845      1492, 1492,    0, 1492,    0, 1492, 1492,    0,    0,    0,
04846 
04847      1492,    0,    0,    0, 1492,    0,    0,    0, 1492,    0,
04848         0, 1492, 1493, 1493,    0, 1493, 1493, 1493, 1493, 1493,
04849      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,    0, 1493,
04850      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
04851      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1494,    0,    0,
04852         0, 1494, 1494,    0,    0,    0,    0, 1494,    0,    0,
04853      1494, 1494,    0, 1494,    0, 1494, 1494,    0,    0,    0,
04854      1494,    0,    0,    0, 1494,    0,    0,    0, 1494,    0,
04855         0, 1494, 1495, 1495,    0, 1495, 1495, 1495, 1495, 1495,
04856      1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495,
04857 
04858      1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1495,
04859      1495, 1495, 1495, 1495, 1495, 1495, 1495, 1498, 1498, 1498,
04860      1498,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04861      1498,    0,    0, 1498,    0, 1498,    0, 1498, 1498,    0,
04862      1498,    0,    0,    0,    0, 1498, 1499,    0,    0,    0,
04863      1499,    0,    0,    0,    0,    0, 1499,    0,    0, 1499,
04864      1499,    0, 1499,    0, 1499, 1499,    0,    0,    0, 1499,
04865         0,    0,    0, 1499,    0,    0,    0, 1499,    0,    0,
04866      1499, 1501, 1501, 1501, 1501,    0,    0,    0,    0,    0,
04867         0,    0,    0,    0, 1501,    0,    0, 1501,    0, 1501,
04868 
04869         0, 1501, 1501,    0, 1501,    0,    0,    0,    0, 1501,
04870      1504,    0,    0,    0, 1504, 1504, 1504, 1504, 1504, 1504,
04871      1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
04872      1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504, 1504,
04873      1504, 1504, 1504, 1504, 1504, 1505, 1505,    0, 1505, 1505,
04874      1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1505,
04875      1505, 1505, 1505, 1505, 1505, 1505, 1505,    0, 1505, 1505,
04876      1505,    0, 1505, 1505,    0, 1505, 1505, 1505, 1505, 1505,
04877      1506, 1506,    0, 1506, 1506, 1506, 1506,    0, 1506, 1506,
04878      1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506,
04879 
04880      1506, 1506, 1506, 1506, 1506, 1506,    0, 1506, 1506,    0,
04881      1506, 1506, 1506, 1506, 1506, 1507, 1507,    0, 1507, 1507,
04882      1507, 1507,    0, 1507, 1507, 1507, 1507, 1507, 1507, 1507,
04883      1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507,
04884      1507,    0, 1507, 1507,    0, 1507, 1507, 1507, 1507, 1507,
04885      1508, 1508,    0, 1508, 1508, 1508, 1508, 1508, 1508, 1508,
04886      1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508,
04887      1508, 1508, 1508, 1508, 1508, 1508,    0, 1508, 1508,    0,
04888      1508, 1508, 1508, 1508, 1508, 1509, 1509,    0, 1509, 1509,
04889      1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509,
04890 
04891      1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509,
04892      1509,    0, 1509, 1509,    0, 1509, 1509, 1509, 1509, 1509,
04893      1510, 1510,    0, 1510, 1510, 1510, 1510, 1510, 1510, 1510,
04894      1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510,
04895      1510, 1510, 1510, 1510, 1510, 1510,    0, 1510, 1510,    0,
04896      1510, 1510, 1510, 1510, 1510, 1511, 1511,    0, 1511, 1511,
04897      1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511,
04898      1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511,
04899      1511,    0, 1511, 1511,    0, 1511, 1511, 1511, 1511, 1511,
04900      1512, 1512,    0, 1512, 1512, 1512, 1512, 1512, 1512, 1512,
04901 
04902      1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512, 1512,
04903      1512, 1512, 1512, 1512, 1512, 1512,    0, 1512, 1512,    0,
04904      1512, 1512, 1512, 1512, 1512, 1513,    0,    0, 1513, 1513,
04905      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
04906         0, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
04907      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
04908      1514, 1514,    0, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
04909      1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
04910      1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514,
04911      1514, 1514, 1514, 1514, 1514, 1516, 1516,    0, 1516, 1516,
04912 
04913         0, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516,
04914      1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516,
04915      1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516,
04916      1517,    0, 1517, 1517, 1517, 1517, 1517,    0,    0,    0,
04917         0,    0,    0, 1517,    0, 1517, 1518,    0, 1518,    0,
04918      1518, 1518, 1518,    0,    0,    0,    0,    0,    0, 1518,
04919         0, 1518, 1519, 1519,    0,    0, 1519, 1519, 1519, 1519,
04920      1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519,
04921      1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519,
04922      1519, 1519, 1519, 1519, 1519, 1519, 1519, 1520, 1520,    0,
04923 
04924      1520, 1520, 1520, 1520,    0, 1520,    0, 1520, 1520, 1520,
04925      1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520,    0,
04926      1520, 1520, 1520,    0, 1520, 1520,    0, 1520, 1520,    0,
04927         0, 1520, 1522,    0,    0,    0,    0, 1522,    0,    0,
04928         0,    0, 1522, 1522, 1522, 1522, 1522,    0,    0,    0,
04929         0,    0,    0, 1522, 1523,    0,    0,    0, 1523,    0,
04930         0,    0,    0,    0, 1523,    0,    0, 1523, 1523,    0,
04931      1523,    0, 1523, 1523,    0,    0,    0, 1523,    0,    0,
04932         0, 1523,    0,    0,    0, 1523,    0,    0, 1523, 1525,
04933      1525, 1525, 1525,    0,    0,    0,    0,    0,    0,    0,
04934 
04935         0,    0, 1525,    0,    0, 1525,    0, 1525,    0, 1525,
04936      1525,    0, 1525,    0,    0,    0,    0, 1525, 1526,    0,
04937         0,    0,    0, 1526, 1526,    0, 1526,    0, 1526, 1526,
04938      1526, 1526, 1526,    0,    0,    0,    0,    0,    0, 1526,
04939      1527,    0,    0,    0, 1527, 1527,    0,    0,    0,    0,
04940      1527,    0,    0, 1527, 1527,    0, 1527,    0, 1527, 1527,
04941         0,    0,    0, 1527,    0,    0,    0, 1527,    0,    0,
04942         0, 1527,    0,    0, 1527, 1529, 1529,    0, 1529, 1529,
04943      1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529,
04944      1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529,
04945 
04946      1529,    0, 1529, 1529,    0, 1529, 1529, 1529, 1529, 1529,
04947      1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
04948      1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
04949      1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
04950      1532, 1532, 1532, 1532, 1532, 1533, 1533, 1533, 1533, 1533,
04951      1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533, 1533,
04952      1533,    0, 1533, 1533,    0, 1533, 1533, 1533, 1533, 1533,
04953      1533,    0,    0, 1533,    0, 1533, 1533, 1533, 1533, 1533,
04954      1535, 1535,    0, 1535, 1535, 1535, 1535, 1535, 1535, 1535,
04955      1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535,
04956 
04957      1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1535,
04958      1535, 1535, 1535, 1535, 1535, 1536, 1536,    0, 1536, 1536,
04959      1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
04960      1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
04961      1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536,
04962      1537,    0,    0,    0,    0, 1537,    0,    0,    0,    0,
04963         0, 1537,    0, 1537, 1537,    0, 1537,    0,    0,    0,
04964         0, 1537, 1542,    0,    0,    0, 1542, 1542,    0,    0,
04965         0,    0, 1542,    0,    0, 1542, 1542,    0, 1542, 1542,
04966      1542, 1542,    0,    0,    0, 1542,    0,    0, 1542, 1542,
04967 
04968         0,    0,    0, 1542,    0,    0, 1542, 1543,    0, 1543,
04969      1543,    0, 1543,    0,    0,    0,    0,    0,    0, 1543,
04970      1543, 1545,    0,    0,    0, 1545, 1545,    0,    0,    0,
04971         0, 1545,    0,    0, 1545, 1545,    0, 1545, 1545, 1545,
04972      1545,    0,    0,    0, 1545,    0,    0, 1545, 1545,    0,
04973      1545,    0, 1545,    0,    0, 1545, 1546,    0, 1546, 1546,
04974         0, 1546,    0,    0,    0,    0,    0,    0, 1546, 1546,
04975      1547,    0,    0,    0, 1547, 1547,    0,    0,    0,    0,
04976      1547,    0,    0, 1547, 1547,    0, 1547,    0, 1547, 1547,
04977         0,    0,    0, 1547,    0,    0,    0, 1547,    0,    0,
04978 
04979         0, 1547,    0,    0, 1547, 1551, 1551, 1551,    0,    0,
04980         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
04981         0,    0, 1551, 1551,    0,    0,    0,    0, 1551,    0,
04982         0, 1551, 1554,    0,    0,    0,    0,    0,    0,    0,
04983      1554,    0,    0, 1554, 1554,    0, 1554,    0,    0,    0,
04984      1554, 1554,    0, 1554,    0, 1554,    0,    0, 1554, 1555,
04985         0, 1555, 1555,    0, 1555,    0,    0,    0,    0,    0,
04986         0, 1555, 1555,    0,    0,    0,    0,    0,    0, 1555,
04987      1556,    0,    0,    0, 1556, 1556, 1556,    0,    0,    0,
04988      1556, 1556,    0, 1556, 1556,    0, 1556, 1556, 1556, 1556,
04989 
04990      1556,    0, 1556, 1556,    0,    0, 1556, 1556,    0, 1556,
04991         0, 1556,    0,    0, 1556, 1558,    0,    0,    0, 1558,
04992      1558,    0,    0,    0,    0, 1558, 1558,    0, 1558, 1558,
04993         0, 1558,    0, 1558, 1558,    0,    0, 1558, 1558,    0,
04994         0,    0, 1558,    0,    0,    0, 1558,    0,    0, 1558,
04995      1559, 1559,    0, 1559, 1559, 1559,    0,    0,    0,    0,
04996      1559,    0,    0, 1559, 1559,    0, 1559, 1559, 1559, 1559,
04997         0,    0,    0, 1559,    0,    0,    0, 1559,    0,    0,
04998         0, 1559,    0,    0, 1559, 1560, 1560,    0, 1560, 1560,
04999      1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560,
05000 
05001      1560,    0, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560,
05002      1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560,
05003      1561,    0,    0,    0, 1561, 1561,    0,    0,    0,    0,
05004      1561,    0,    0, 1561, 1561,    0, 1561,    0, 1561, 1561,
05005         0,    0,    0, 1561,    0,    0,    0, 1561,    0,    0,
05006         0, 1561,    0,    0, 1561, 1562, 1562,    0, 1562, 1562,
05007      1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562,
05008      1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562,
05009      1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562, 1562,
05010      1563, 1563,    0, 1563, 1563, 1563, 1563, 1563, 1563, 1563,
05011 
05012      1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563,
05013      1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563,
05014      1563, 1563, 1563, 1563, 1563, 1566, 1566, 1566,    0,    0,
05015         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05016         0,    0, 1566, 1566,    0,    0,    0,    0, 1566,    0,
05017         0, 1566, 1568,    0,    0,    0, 1568,    0,    0,    0,
05018         0,    0, 1568,    0,    0, 1568, 1568,    0, 1568,    0,
05019      1568, 1568,    0,    0,    0, 1568,    0,    0,    0, 1568,
05020         0,    0,    0, 1568,    0,    0, 1568, 1573,    0,    0,
05021         0, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573,
05022 
05023      1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573,
05024      1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573,
05025      1573, 1573, 1574, 1574,    0, 1574, 1574, 1574, 1574, 1574,
05026      1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574,
05027      1574, 1574, 1574, 1574,    0, 1574, 1574, 1574,    0, 1574,
05028      1574,    0, 1574, 1574, 1574, 1574, 1574, 1575, 1575,    0,
05029      1575, 1575, 1575, 1575,    0, 1575, 1575, 1575, 1575, 1575,
05030      1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575, 1575,
05031      1575, 1575, 1575,    0, 1575, 1575,    0, 1575, 1575, 1575,
05032      1575, 1575, 1576, 1576,    0, 1576, 1576, 1576, 1576,    0,
05033 
05034      1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576,
05035      1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576,    0, 1576,
05036      1576,    0, 1576, 1576, 1576, 1576, 1576, 1577, 1577,    0,
05037      1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577,
05038      1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577, 1577,
05039      1577, 1577, 1577,    0, 1577, 1577,    0, 1577, 1577, 1577,
05040      1577, 1577, 1578, 1578,    0, 1578, 1578, 1578, 1578, 1578,
05041      1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578,
05042      1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578,    0, 1578,
05043      1578,    0, 1578, 1578, 1578, 1578, 1578, 1579, 1579,    0,
05044 
05045      1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579,
05046      1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579,
05047      1579, 1579, 1579,    0, 1579, 1579,    0, 1579, 1579, 1579,
05048      1579, 1579, 1580, 1580,    0, 1580, 1580, 1580, 1580, 1580,
05049      1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
05050      1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,    0, 1580,
05051      1580,    0, 1580, 1580, 1580, 1580, 1580, 1581, 1581,    0,
05052      1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581,
05053      1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581,
05054      1581, 1581, 1581,    0, 1581, 1581,    0, 1581, 1581, 1581,
05055 
05056      1581, 1581, 1582,    0,    0, 1582, 1582, 1582, 1582, 1582,
05057      1582, 1582, 1582, 1582, 1582, 1582, 1582,    0, 1582, 1582,
05058      1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582,
05059      1582, 1582, 1582, 1582, 1582, 1582, 1582, 1583, 1583,    0,
05060      1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583,
05061      1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583,
05062      1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583, 1583,
05063      1583, 1583, 1584, 1584,    0, 1584, 1584, 1584, 1584, 1584,
05064      1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584,
05065      1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584, 1584,
05066 
05067      1584, 1584, 1584, 1584, 1584, 1584, 1584, 1586, 1586,    0,
05068      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
05069      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
05070      1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586,
05071      1586, 1586, 1587,    0, 1587, 1587, 1587, 1587, 1587,    0,
05072         0,    0,    0,    0,    0, 1587,    0, 1587, 1588,    0,
05073      1588,    0, 1588, 1588, 1588,    0,    0,    0,    0,    0,
05074         0, 1588,    0, 1588, 1589,    0, 1589, 1589, 1589, 1589,
05075      1589,    0,    0,    0,    0,    0,    0, 1589,    0, 1589,
05076      1590, 1590,    0,    0, 1590, 1590, 1590, 1590, 1590, 1590,
05077 
05078      1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
05079      1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590, 1590,
05080      1590, 1590, 1590, 1590, 1590, 1591, 1591,    0, 1591, 1591,
05081      1591, 1591,    0, 1591,    0, 1591, 1591, 1591, 1591, 1591,
05082      1591, 1591, 1591, 1591, 1591, 1591, 1591,    0, 1591, 1591,
05083      1591,    0, 1591, 1591,    0, 1591, 1591,    0,    0, 1591,
05084      1592, 1592,    0, 1592, 1592, 1592, 1592, 1592, 1592, 1592,
05085      1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592,
05086      1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592,
05087      1592, 1592, 1592, 1592, 1592, 1593,    0,    0,    0,    0,
05088 
05089      1593,    0,    0,    0,    0, 1593, 1593, 1593, 1593, 1593,
05090         0,    0,    0,    0,    0,    0, 1593, 1595,    0,    0,
05091         0,    0,    0,    0,    0, 1595,    0,    0, 1595, 1595,
05092         0, 1595,    0,    0,    0, 1595, 1595,    0, 1595,    0,
05093      1595,    0,    0, 1595, 1596,    0,    0,    0, 1596,    0,
05094         0,    0,    0,    0, 1596,    0,    0, 1596, 1596,    0,
05095      1596,    0, 1596, 1596,    0,    0,    0, 1596,    0,    0,
05096         0, 1596,    0,    0,    0, 1596,    0,    0, 1596, 1599,
05097         0,    0,    0,    0, 1599, 1599,    0, 1599,    0, 1599,
05098      1599, 1599, 1599, 1599,    0,    0,    0,    0,    0,    0,
05099 
05100      1599, 1600,    0,    0,    0, 1600, 1600,    0,    0,    0,
05101         0, 1600,    0,    0, 1600, 1600,    0, 1600,    0, 1600,
05102      1600,    0,    0,    0, 1600,    0,    0,    0, 1600,    0,
05103         0,    0, 1600,    0,    0, 1600, 1601, 1601,    0, 1601,
05104      1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601,
05105      1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601, 1601,
05106      1601, 1601,    0, 1601, 1601,    0, 1601, 1601, 1601, 1601,
05107      1601, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604,
05108      1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604,
05109      1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604, 1604,
05110 
05111      1604, 1604, 1604, 1604, 1604, 1604, 1605, 1605, 1605, 1605,
05112      1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605,
05113      1605, 1605,    0, 1605, 1605,    0, 1605, 1605, 1605, 1605,
05114      1605, 1605,    0,    0, 1605,    0, 1605, 1605, 1605, 1605,
05115      1605, 1608,    0,    0,    0,    0, 1608,    0,    0,    0,
05116         0,    0, 1608,    0, 1608, 1608,    0, 1608,    0,    0,
05117         0,    0, 1608, 1610,    0,    0,    0,    0,    0,    0,
05118         0, 1610,    0,    0,    0, 1610,    0, 1610,    0,    0,
05119         0, 1610, 1610,    0,    0,    0, 1610,    0,    0, 1610,
05120      1614, 1614,    0, 1614, 1614, 1614, 1614,    0, 1614, 1614,
05121 
05122      1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614,
05123      1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1614,
05124      1614, 1614, 1614, 1614, 1614, 1617,    0, 1617, 1617,    0,
05125      1617,    0,    0,    0,    0,    0,    0, 1617, 1617, 1618,
05126         0,    0,    0, 1618, 1618,    0,    0,    0,    0, 1618,
05127         0,    0, 1618, 1618,    0, 1618, 1618, 1618, 1618,    0,
05128         0,    0, 1618,    0,    0,    0, 1618,    0, 1618,    0,
05129      1618,    0,    0, 1618, 1619, 1619, 1619, 1619,    0,    0,
05130         0,    0,    0,    0,    0, 1619,    0, 1619, 1620, 1620,
05131      1620,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05132 
05133         0,    0,    0,    0,    0, 1620,    0,    0,    0,    0,
05134         0, 1620,    0,    0, 1620, 1621, 1621, 1621,    0,    0,
05135         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05136         0,    0, 1621, 1621,    0,    0,    0,    0, 1621,    0,
05137         0, 1621, 1623,    0,    0,    0,    0, 1623,    0,    0,
05138         0,    0,    0, 1623,    0, 1623, 1623,    0, 1623,    0,
05139         0,    0,    0, 1623, 1624,    0,    0,    0,    0,    0,
05140         0,    0, 1624,    0,    0, 1624, 1624,    0, 1624,    0,
05141         0,    0, 1624, 1624,    0, 1624,    0, 1624,    0,    0,
05142      1624, 1625,    0,    0,    0,    0, 1625,    0,    0, 1625,
05143 
05144         0, 1625, 1625,    0, 1625, 1625,    0, 1625,    0,    0,
05145         0, 1625, 1625, 1627,    0,    0,    0,    0,    0,    0,
05146         0, 1627,    0,    0,    0, 1627,    0, 1627,    0,    0,
05147         0, 1627, 1627,    0,    0,    0, 1627,    0,    0, 1627,
05148      1628,    0,    0,    0, 1628, 1628, 1628,    0,    0,    0,
05149      1628, 1628,    0, 1628, 1628,    0, 1628, 1628, 1628, 1628,
05150      1628,    0, 1628, 1628,    0,    0, 1628, 1628,    0, 1628,
05151         0, 1628,    0,    0, 1628, 1629,    0,    0,    0, 1629,
05152      1629,    0,    0,    0,    0, 1629, 1629,    0, 1629, 1629,
05153         0, 1629,    0, 1629, 1629,    0,    0, 1629, 1629,    0,
05154 
05155         0,    0, 1629,    0,    0,    0, 1629,    0,    0, 1629,
05156      1630,    0,    0,    0,    0,    0,    0,    0, 1630,    0,
05157         0,    0, 1630,    0, 1630,    0,    0,    0, 1630, 1630,
05158         0,    0,    0, 1630,    0,    0, 1630, 1632, 1632, 1632,
05159         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05160         0,    0,    0,    0, 1632,    0,    0,    0,    0,    0,
05161      1632,    0,    0, 1632, 1633, 1633, 1633,    0,    0,    0,
05162         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05163         0, 1633, 1633,    0,    0,    0,    0, 1633,    0,    0,
05164      1633, 1637,    0,    0, 1637, 1637, 1637, 1637, 1637, 1637,
05165 
05166      1637, 1637, 1637, 1637, 1637, 1637,    0, 1637, 1637, 1637,
05167      1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637,
05168      1637, 1637, 1637, 1637, 1637, 1637, 1638,    0, 1638, 1638,
05169      1638, 1638, 1638,    0,    0,    0,    0,    0,    0, 1638,
05170         0, 1638, 1639,    0, 1639,    0, 1639, 1639, 1639,    0,
05171         0,    0,    0,    0,    0, 1639,    0, 1639, 1640, 1640,
05172         0, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640,
05173      1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640,
05174      1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640, 1640,
05175      1640, 1640, 1640, 1641, 1641,    0, 1641, 1641, 1641, 1641,
05176 
05177      1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641,
05178      1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641,
05179      1641, 1641, 1641, 1641, 1641, 1641, 1641, 1641, 1642, 1642,
05180         0, 1642, 1642, 1642, 1642,    0, 1642,    0, 1642, 1642,
05181      1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642, 1642,
05182         0, 1642, 1642, 1642,    0, 1642, 1642,    0, 1642, 1642,
05183         0,    0, 1642, 1643,    0,    0,    0,    0,    0,    0,
05184         0, 1643,    0,    0, 1643, 1643,    0, 1643,    0,    0,
05185         0, 1643, 1643,    0, 1643,    0, 1643,    0,    0, 1643,
05186      1646,    0,    0,    0, 1646, 1646,    0,    0,    0,    0,
05187 
05188      1646,    0,    0, 1646, 1646,    0, 1646,    0, 1646, 1646,
05189         0,    0,    0, 1646,    0,    0,    0, 1646,    0,    0,
05190         0, 1646,    0,    0, 1646, 1647, 1647,    0, 1647, 1647,
05191      1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647,
05192      1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647, 1647,
05193      1647,    0, 1647, 1647,    0, 1647, 1647, 1647, 1647, 1647,
05194      1649,    0,    0,    0,    0, 1649,    0,    0,    0,    0,
05195         0, 1649,    0, 1649, 1649,    0, 1649,    0,    0,    0,
05196         0, 1649, 1650,    0,    0,    0,    0,    0,    0,    0,
05197      1650,    0,    0,    0, 1650,    0, 1650,    0,    0,    0,
05198 
05199      1650, 1650,    0,    0,    0, 1650,    0,    0, 1650, 1651,
05200         0,    0,    0,    0, 1651,    0,    0,    0,    0,    0,
05201      1651,    0, 1651, 1651,    0, 1651,    0,    0,    0,    0,
05202      1651, 1654, 1654,    0, 1654, 1654, 1654, 1654, 1654, 1654,
05203      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
05204      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
05205      1654, 1654, 1654, 1654, 1654, 1654, 1657, 1657, 1657,    0,
05206         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05207         0,    0,    0, 1657, 1657,    0,    0,    0, 1657, 1657,
05208         0,    0, 1657, 1660,    0,    0,    0,    0, 1660,    0,
05209 
05210         0,    0,    0,    0, 1660,    0, 1660, 1660,    0, 1660,
05211         0,    0,    0,    0, 1660, 1662,    0,    0,    0,    0,
05212         0,    0,    0, 1662,    0,    0,    0, 1662,    0, 1662,
05213         0,    0,    0, 1662, 1662,    0,    0,    0, 1662,    0,
05214         0, 1662, 1663,    0, 1663, 1663,    0, 1663,    0,    0,
05215         0,    0,    0,    0, 1663, 1663,    0,    0,    0,    0,
05216         0,    0, 1663, 1664,    0,    0,    0,    0, 1664,    0,
05217         0, 1664,    0, 1664, 1664,    0, 1664, 1664,    0, 1664,
05218         0,    0,    0, 1664, 1664, 1666,    0,    0,    0,    0,
05219         0,    0,    0, 1666,    0,    0,    0, 1666,    0, 1666,
05220 
05221         0,    0,    0, 1666, 1666,    0,    0,    0, 1666,    0,
05222         0, 1666, 1667,    0,    0,    0, 1667, 1667, 1667,    0,
05223         0,    0, 1667, 1667,    0, 1667, 1667,    0, 1667, 1667,
05224      1667, 1667, 1667,    0, 1667, 1667,    0,    0, 1667, 1667,
05225         0, 1667,    0, 1667,    0,    0, 1667, 1668,    0, 1668,
05226      1668, 1668, 1668, 1668, 1668,    0,    0, 1668, 1668, 1668,
05227      1668, 1668, 1668, 1668, 1668, 1668, 1668,    0, 1668, 1668,
05228      1668,    0,    0,    0,    0,    0,    0, 1668, 1669,    0,
05229         0,    0,    0,    0,    0,    0, 1669,    0,    0,    0,
05230      1669,    0, 1669,    0,    0,    0, 1669, 1669,    0,    0,
05231 
05232         0, 1669,    0,    0, 1669, 1670, 1670, 1670,    0,    0,
05233         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05234         0,    0, 1670, 1670,    0,    0,    0, 1670, 1670,    0,
05235         0, 1670, 1673, 1673,    0, 1673, 1673, 1673, 1673, 1673,
05236      1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673,
05237      1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673,
05238      1673, 1673, 1673, 1673, 1673, 1673, 1673, 1674, 1674,    0,
05239      1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674,
05240      1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674,
05241      1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674, 1674,
05242 
05243      1674, 1674, 1675, 1675,    0, 1675, 1675, 1675, 1675,    0,
05244      1675,    0, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675,
05245      1675, 1675, 1675, 1675,    0, 1675, 1675, 1675,    0, 1675,
05246      1675,    0, 1675, 1675,    0,    0, 1675, 1677,    0,    0,
05247         0, 1677, 1677,    0,    0,    0,    0, 1677,    0,    0,
05248      1677, 1677,    0, 1677,    0, 1677, 1677,    0,    0,    0,
05249      1677,    0,    0,    0, 1677,    0,    0,    0, 1677,    0,
05250         0, 1677, 1678, 1678,    0, 1678, 1678, 1678, 1678, 1678,
05251      1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678,
05252      1678, 1678, 1678, 1678, 1678, 1678, 1678, 1678,    0, 1678,
05253 
05254      1678,    0, 1678, 1678, 1678, 1678, 1678, 1679, 1679, 1679,
05255      1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679, 1679,
05256      1679, 1679, 1679, 1679, 1679, 1679,    0, 1679, 1679, 1679,
05257      1679, 1679, 1679, 1679,    0, 1679, 1679, 1679, 1679, 1679,
05258      1679, 1679, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680,
05259      1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680,
05260      1680,    0, 1680, 1680, 1680, 1680, 1680, 1680, 1680,    0,
05261      1680, 1680, 1680, 1680, 1680, 1680, 1680, 1682,    0,    0,
05262         0,    0, 1682,    0,    0,    0,    0,    0, 1682,    0,
05263      1682, 1682,    0, 1682,    0,    0,    0,    0, 1682, 1683,
05264 
05265         0,    0,    0,    0,    0,    0,    0, 1683,    0,    0,
05266         0, 1683,    0, 1683,    0,    0,    0, 1683, 1683,    0,
05267         0,    0, 1683,    0,    0, 1683, 1684,    0,    0,    0,
05268         0,    0,    0,    0, 1684,    0,    0,    0, 1684,    0,
05269      1684,    0,    0,    0, 1684, 1684,    0,    0,    0, 1684,
05270         0,    0, 1684, 1685,    0,    0,    0,    0, 1685,    0,
05271         0,    0,    0,    0, 1685,    0, 1685, 1685,    0, 1685,
05272         0,    0,    0,    0, 1685, 1688, 1688, 1688,    0,    0,
05273         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05274         0,    0, 1688,    0,    0,    0,    0, 1688, 1688,    0,
05275 
05276         0, 1688, 1689, 1689, 1689,    0,    0,    0,    0,    0,
05277         0,    0,    0,    0,    0,    0,    0,    0,    0, 1689,
05278      1689,    0,    0,    0, 1689, 1689,    0,    0, 1689, 1690,
05279      1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690,
05280      1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690,
05281      1690,    0, 1690,    0, 1690, 1690, 1690, 1690, 1690, 1690,
05282      1690, 1690, 1690, 1690, 1692,    0,    0,    0,    0, 1692,
05283         0,    0,    0,    0,    0, 1692,    0, 1692, 1692,    0,
05284      1692,    0,    0,    0,    0, 1692, 1693,    0,    0,    0,
05285         0,    0,    0,    0, 1693,    0,    0,    0, 1693,    0,
05286 
05287      1693,    0,    0,    0, 1693, 1693,    0,    0,    0, 1693,
05288         0,    0, 1693, 1694,    0,    0,    0,    0, 1694,    0,
05289         0,    0,    0,    0, 1694,    0, 1694, 1694,    0, 1694,
05290         0,    0,    0,    0, 1694, 1695,    0,    0,    0,    0,
05291      1695,    0,    0, 1695,    0, 1695, 1695,    0, 1695, 1695,
05292         0, 1695,    0,    0,    0, 1695, 1695, 1696,    0,    0,
05293         0,    0, 1696,    0,    0, 1696,    0, 1696, 1696,    0,
05294      1696, 1696,    0, 1696,    0,    0,    0, 1696, 1696, 1697,
05295         0,    0,    0,    0,    0,    0,    0, 1697,    0,    0,
05296         0, 1697,    0, 1697,    0,    0,    0, 1697, 1697,    0,
05297 
05298         0,    0, 1697,    0,    0, 1697, 1698,    0, 1698, 1698,
05299      1698, 1698, 1698, 1698,    0,    0, 1698, 1698, 1698, 1698,
05300      1698, 1698, 1698, 1698,    0, 1698,    0, 1698, 1698, 1698,
05301         0,    0,    0,    0, 1698,    0, 1698, 1699,    0, 1699,
05302      1699, 1699, 1699, 1699, 1699,    0,    0, 1699, 1699, 1699,
05303      1699, 1699, 1699, 1699, 1699,    0, 1699,    0, 1699, 1699,
05304      1699,    0,    0,    0,    0, 1699,    0, 1699, 1700,    0,
05305         0,    0, 1700, 1700, 1700,    0,    0,    0, 1700, 1700,
05306         0, 1700, 1700,    0, 1700, 1700, 1700, 1700, 1700,    0,
05307      1700, 1700,    0,    0, 1700, 1700,    0, 1700,    0, 1700,
05308 
05309         0,    0, 1700, 1701,    0,    0,    0,    0,    0,    0,
05310         0, 1701,    0,    0,    0, 1701,    0, 1701,    0,    0,
05311         0, 1701, 1701,    0,    0,    0, 1701,    0,    0, 1701,
05312      1702, 1702, 1702,    0,    0,    0,    0,    0,    0,    0,
05313         0,    0,    0,    0,    0,    0,    0, 1702,    0,    0,
05314         0,    0, 1702, 1702,    0,    0, 1702, 1703, 1703, 1703,
05315         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05316         0,    0,    0,    0, 1703, 1703,    0,    0,    0, 1703,
05317      1703,    0,    0, 1703, 1704, 1704, 1704, 1704, 1704, 1704,
05318      1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704,
05319 
05320      1704, 1704, 1704, 1704, 1704, 1704,    0, 1704,    0, 1704,
05321      1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1704, 1707,
05322      1707,    0, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707,
05323      1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707,
05324      1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707,
05325      1707, 1707, 1707, 1707, 1708, 1708,    0, 1708, 1708, 1708,
05326      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
05327      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708,
05328      1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1708, 1709,
05329      1709,    0, 1709, 1709, 1709, 1709,    0, 1709,    0, 1709,
05330 
05331      1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709,
05332      1709,    0, 1709, 1709, 1709,    0, 1709, 1709,    0, 1709,
05333      1709,    0,    0, 1709, 1711,    0,    0,    0, 1711, 1711,
05334         0,    0,    0,    0, 1711,    0,    0, 1711, 1711,    0,
05335      1711,    0, 1711, 1711,    0,    0,    0, 1711,    0,    0,
05336         0, 1711,    0,    0,    0, 1711,    0,    0, 1711, 1712,
05337      1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712,
05338      1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712,    0, 1712,
05339      1712, 1712, 1712, 1712, 1712, 1712,    0, 1712, 1712, 1712,
05340      1712, 1712, 1712, 1712, 1713,    0,    0,    0,    0, 1713,
05341 
05342         0,    0,    0,    0,    0, 1713,    0, 1713, 1713,    0,
05343      1713,    0,    0,    0,    0, 1713, 1714,    0,    0,    0,
05344         0,    0,    0,    0, 1714,    0,    0,    0, 1714,    0,
05345      1714,    0,    0,    0, 1714, 1714,    0,    0,    0, 1714,
05346         0,    0, 1714, 1715,    0,    0,    0,    0, 1715,    0,
05347         0,    0,    0,    0, 1715,    0, 1715, 1715,    0, 1715,
05348         0,    0,    0,    0, 1715, 1716,    0,    0,    0,    0,
05349      1716,    0,    0,    0,    0,    0, 1716,    0, 1716, 1716,
05350         0, 1716,    0,    0,    0,    0, 1716, 1718, 1718, 1718,
05351      1718, 1718,    0, 1718, 1718, 1718, 1718,    0, 1718, 1718,
05352 
05353      1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718,    0,
05354      1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718, 1718,
05355      1718, 1718, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
05356      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
05357      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
05358      1719, 1719, 1719, 1719, 1719, 1719, 1719, 1720, 1720, 1720,
05359      1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720,
05360      1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720,
05361      1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720, 1720,
05362      1720, 1720, 1722,    0,    0,    0,    0, 1722,    0,    0,
05363 
05364         0,    0,    0, 1722,    0, 1722, 1722,    0, 1722,    0,
05365         0,    0,    0, 1722, 1723,    0,    0,    0,    0,    0,
05366         0,    0, 1723,    0,    0,    0, 1723,    0, 1723,    0,
05367         0,    0, 1723, 1723,    0,    0,    0, 1723,    0,    0,
05368      1723, 1724,    0,    0,    0,    0, 1724,    0,    0,    0,
05369         0,    0, 1724,    0, 1724, 1724,    0, 1724,    0,    0,
05370         0,    0, 1724, 1725,    0,    0,    0,    0, 1725,    0,
05371         0, 1725,    0, 1725, 1725,    0, 1725, 1725,    0, 1725,
05372         0,    0,    0, 1725, 1725, 1726,    0,    0,    0,    0,
05373      1726,    0,    0, 1726,    0, 1726, 1726,    0, 1726, 1726,
05374 
05375         0, 1726,    0,    0,    0, 1726, 1726, 1727,    0,    0,
05376         0,    0,    0,    0,    0, 1727,    0,    0,    0, 1727,
05377         0, 1727,    0,    0,    0, 1727, 1727,    0,    0,    0,
05378      1727,    0,    0, 1727, 1728,    0, 1728, 1728, 1728, 1728,
05379      1728,    0, 1728,    0, 1728, 1728, 1728, 1728, 1728, 1728,
05380      1728, 1728,    0, 1728,    0, 1728, 1728, 1728,    0,    0,
05381         0,    0,    0, 1728, 1728, 1729,    0, 1729, 1729, 1729,
05382      1729, 1729, 1729,    0,    0, 1729, 1729, 1729, 1729, 1729,
05383      1729, 1729, 1729, 1729, 1729,    0, 1729, 1729, 1729,    0,
05384         0,    0,    0, 1729,    0, 1729, 1730,    0, 1730, 1730,
05385 
05386      1730, 1730, 1730, 1730,    0,    0, 1730, 1730, 1730, 1730,
05387      1730, 1730, 1730, 1730,    0, 1730,    0, 1730, 1730, 1730,
05388         0,    0,    0,    0, 1730,    0, 1730, 1731, 1731,    0,
05389      1731, 1731,    0, 1731, 1731, 1731, 1731, 1731, 1731, 1731,
05390      1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731,
05391      1731,    0, 1731, 1731, 1731, 1731, 1731, 1731, 1731, 1731,
05392      1731, 1731, 1732, 1732,    0, 1732, 1732,    0, 1732, 1732,
05393      1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1732,
05394      1732, 1732, 1732, 1732, 1732, 1732,    0, 1732, 1732, 1732,
05395      1732, 1732, 1732, 1732, 1732, 1732, 1732, 1733, 1733,    0,
05396 
05397      1733, 1733,    0, 1733, 1733, 1733, 1733, 1733, 1733, 1733,
05398      1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733,
05399      1733,    0, 1733, 1733, 1733, 1733, 1733, 1733, 1733, 1733,
05400      1733, 1733, 1734,    0,    0,    0, 1734, 1734, 1734,    0,
05401         0,    0, 1734, 1734,    0, 1734, 1734,    0, 1734, 1734,
05402      1734, 1734, 1734,    0, 1734, 1734,    0,    0, 1734, 1734,
05403         0, 1734,    0, 1734,    0,    0, 1734, 1735, 1735, 1735,
05404      1735, 1735,    0, 1735, 1735, 1735, 1735,    0, 1735, 1735,
05405      1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,    0,
05406      1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1735,
05407 
05408      1735, 1735, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
05409      1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
05410      1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
05411      1736, 1736, 1736, 1736, 1736, 1736, 1736, 1737, 1737, 1737,
05412      1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737,
05413      1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737,
05414      1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737,
05415      1737, 1737, 1740, 1740,    0, 1740, 1740, 1740, 1740, 1740,
05416      1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740,
05417      1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740,
05418 
05419      1740, 1740, 1740, 1740, 1740, 1740, 1740, 1741, 1741,    0,
05420      1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
05421      1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
05422      1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741, 1741,
05423      1741, 1741, 1742, 1742,    0, 1742, 1742, 1742, 1742,    0,
05424      1742,    0, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742,
05425      1742, 1742, 1742, 1742,    0, 1742, 1742, 1742,    0, 1742,
05426      1742,    0, 1742, 1742,    0,    0, 1742, 1744,    0,    0,
05427         0, 1744, 1744,    0,    0,    0,    0, 1744,    0,    0,
05428      1744, 1744,    0, 1744,    0, 1744, 1744,    0,    0,    0,
05429 
05430      1744,    0,    0,    0, 1744,    0,    0,    0, 1744,    0,
05431         0, 1744, 1745,    0,    0,    0,    0, 1745,    0,    0,
05432         0,    0,    0, 1745,    0, 1745, 1745,    0, 1745,    0,
05433         0,    0,    0, 1745, 1746,    0,    0,    0,    0,    0,
05434         0,    0, 1746,    0,    0,    0, 1746,    0, 1746,    0,
05435         0,    0, 1746, 1746,    0,    0,    0, 1746,    0,    0,
05436      1746, 1747,    0,    0,    0,    0, 1747,    0,    0,    0,
05437         0,    0, 1747,    0, 1747, 1747,    0, 1747,    0,    0,
05438         0,    0, 1747, 1748,    0,    0,    0,    0, 1748,    0,
05439         0,    0,    0,    0, 1748,    0, 1748, 1748,    0, 1748,
05440 
05441         0,    0,    0,    0, 1748, 1749, 1749, 1749, 1749, 1749,
05442         0, 1749, 1749, 1749, 1749,    0, 1749, 1749, 1749, 1749,
05443      1749, 1749, 1749, 1749, 1749, 1749, 1749,    0, 1749, 1749,
05444      1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749, 1749,
05445      1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750,
05446      1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750,
05447      1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750, 1750,
05448      1750, 1750, 1750, 1750, 1750, 1751, 1751, 1751, 1751, 1751,
05449      1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
05450      1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
05451 
05452      1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
05453      1753,    0,    0,    0,    0, 1753,    0,    0,    0,    0,
05454         0, 1753,    0, 1753, 1753,    0, 1753,    0,    0,    0,
05455         0, 1753, 1754,    0,    0,    0,    0, 1754,    0,    0,
05456         0,    0,    0, 1754,    0, 1754, 1754,    0, 1754,    0,
05457         0,    0,    0, 1754, 1755,    0,    0,    0,    0, 1755,
05458         0,    0, 1755,    0, 1755, 1755,    0, 1755, 1755,    0,
05459      1755,    0,    0,    0, 1755, 1755, 1756,    0,    0,    0,
05460         0, 1756,    0,    0, 1756,    0, 1756, 1756,    0, 1756,
05461      1756,    0, 1756,    0,    0,    0, 1756, 1756, 1757,    0,
05462 
05463         0,    0,    0,    0,    0,    0, 1757,    0,    0,    0,
05464      1757,    0, 1757,    0,    0,    0, 1757, 1757,    0,    0,
05465         0, 1757,    0,    0, 1757, 1758,    0, 1758, 1758, 1758,
05466      1758, 1758,    0, 1758,    0, 1758, 1758, 1758, 1758, 1758,
05467      1758, 1758, 1758,    0, 1758,    0, 1758, 1758, 1758,    0,
05468         0,    0,    0,    0, 1758, 1758, 1759,    0, 1759, 1759,
05469      1759, 1759, 1759, 1759,    0,    0, 1759, 1759, 1759, 1759,
05470      1759, 1759, 1759, 1759,    0, 1759,    0, 1759, 1759, 1759,
05471         0,    0,    0,    0, 1759,    0, 1759, 1760,    0,    0,
05472      1760,    0, 1760, 1760, 1760, 1760, 1760,    0, 1760, 1760,
05473 
05474      1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760, 1760,
05475      1760, 1760, 1760, 1760,    0,    0,    0,    0,    0, 1760,
05476      1760, 1761,    0, 1761, 1761, 1761, 1761, 1761, 1761,    0,
05477         0, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761, 1761,
05478      1761,    0, 1761, 1761, 1761,    0,    0,    0,    0, 1761,
05479         0, 1761, 1762,    0, 1762, 1762, 1762, 1762, 1762, 1762,
05480         0,    0, 1762, 1762, 1762, 1762, 1762, 1762, 1762, 1762,
05481      1762, 1762,    0, 1762, 1762, 1762,    0,    0,    0,    0,
05482      1762,    0, 1762, 1763,    0, 1763, 1763, 1763, 1763, 1763,
05483      1763,    0,    0, 1763, 1763, 1763, 1763, 1763, 1763, 1763,
05484 
05485      1763, 1763, 1763,    0, 1763, 1763, 1763,    0,    0,    0,
05486         0, 1763,    0, 1763, 1764, 1764,    0, 1764, 1764,    0,
05487      1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764,
05488      1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764,    0, 1764,
05489      1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1764, 1765,
05490      1765,    0, 1765, 1765,    0, 1765, 1765, 1765, 1765, 1765,
05491      1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765,
05492      1765, 1765, 1765,    0, 1765, 1765, 1765, 1765, 1765, 1765,
05493      1765, 1765, 1765, 1765, 1766, 1766,    0, 1766, 1766,    0,
05494      1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766,
05495 
05496      1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766,
05497      1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1767,
05498         0,    0,    0, 1767, 1767, 1767,    0,    0,    0, 1767,
05499      1767,    0, 1767, 1767,    0, 1767, 1767, 1767, 1767, 1767,
05500         0, 1767, 1767,    0,    0, 1767, 1767,    0, 1767,    0,
05501      1767,    0,    0, 1767, 1768, 1768, 1768, 1768, 1768,    0,
05502      1768, 1768, 1768, 1768,    0, 1768, 1768, 1768, 1768, 1768,
05503      1768, 1768, 1768, 1768, 1768, 1768,    0, 1768, 1768, 1768,
05504      1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1768, 1769,
05505      1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769,
05506 
05507      1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769,
05508      1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769, 1769,
05509      1769, 1769, 1769, 1769, 1770, 1770, 1770, 1770, 1770, 1770,
05510      1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770,
05511      1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770,
05512      1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1770, 1773,
05513      1773,    0, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773,
05514      1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773,
05515      1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773, 1773,
05516      1773, 1773, 1773, 1773, 1774, 1774,    0, 1774, 1774, 1774,
05517 
05518      1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774,
05519      1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774,
05520      1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1774, 1775,
05521      1775,    0, 1775, 1775, 1775, 1775,    0, 1775,    0, 1775,
05522      1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775,
05523      1775,    0, 1775, 1775, 1775,    0, 1775, 1775,    0, 1775,
05524      1775,    0,    0, 1775, 1777,    0,    0,    0, 1777, 1777,
05525         0,    0,    0,    0, 1777,    0,    0, 1777, 1777,    0,
05526      1777,    0, 1777, 1777,    0,    0,    0, 1777,    0,    0,
05527         0, 1777,    0,    0,    0, 1777,    0,    0, 1777, 1778,
05528 
05529         0,    0,    0,    0, 1778,    0,    0,    0,    0,    0,
05530      1778,    0, 1778, 1778,    0, 1778,    0,    0,    0,    0,
05531      1778, 1779,    0,    0,    0,    0, 1779,    0,    0,    0,
05532         0,    0, 1779,    0, 1779, 1779,    0, 1779,    0,    0,
05533         0,    0, 1779, 1780,    0,    0,    0,    0, 1780,    0,
05534         0,    0,    0,    0, 1780,    0, 1780, 1780,    0, 1780,
05535         0,    0,    0,    0, 1780, 1782,    0,    0,    0,    0,
05536      1782,    0,    0,    0,    0,    0, 1782,    0, 1782, 1782,
05537         0, 1782,    0,    0,    0,    0, 1782, 1783,    0,    0,
05538         0,    0, 1783,    0,    0,    0,    0,    0, 1783,    0,
05539 
05540      1783, 1783,    0, 1783,    0,    0,    0,    0, 1783, 1784,
05541      1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784,
05542      1784, 1784, 1784, 1784, 1784, 1784, 1784, 1784,    0, 1784,
05543      1784, 1784, 1784, 1784, 1784, 1784,    0, 1784, 1784, 1784,
05544      1784, 1784, 1784, 1784, 1785,    0,    0,    0,    0, 1785,
05545         0,    0, 1785,    0, 1785, 1785,    0, 1785, 1785,    0,
05546      1785,    0,    0,    0, 1785, 1785, 1786,    0,    0,    0,
05547         0, 1786,    0,    0, 1786,    0, 1786, 1786,    0, 1786,
05548      1786,    0, 1786,    0,    0,    0, 1786, 1786, 1787,    0,
05549         0,    0,    0,    0,    0,    0, 1787,    0,    0,    0,
05550 
05551      1787,    0, 1787,    0,    0,    0, 1787, 1787,    0,    0,
05552         0, 1787,    0,    0, 1787, 1788,    0, 1788, 1788, 1788,
05553      1788, 1788, 1788,    0,    0, 1788, 1788, 1788, 1788, 1788,
05554      1788, 1788, 1788, 1788, 1788,    0, 1788, 1788, 1788,    0,
05555         0,    0,    0, 1788,    0, 1788, 1789,    0,    0, 1789,
05556         0, 1789, 1789, 1789, 1789, 1789,    0, 1789, 1789, 1789,
05557      1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789,
05558      1789, 1789, 1789,    0,    0,    0,    0,    0, 1789, 1789,
05559      1790,    0, 1790, 1790, 1790, 1790, 1790, 1790,    0,    0,
05560      1790, 1790, 1790, 1790, 1790, 1790, 1790, 1790,    0, 1790,
05561 
05562         0, 1790, 1790, 1790,    0,    0,    0,    0, 1790,    0,
05563      1790, 1791,    0, 1791, 1791, 1791, 1791, 1791, 1791,    0,
05564         0, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791, 1791,
05565      1791,    0, 1791, 1791, 1791,    0,    0,    0,    0, 1791,
05566         0, 1791, 1792,    0, 1792, 1792, 1792, 1792, 1792, 1792,
05567         0,    0, 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792,
05568      1792, 1792,    0, 1792, 1792, 1792,    0,    0,    0,    0,
05569      1792,    0, 1792, 1793, 1793,    0, 1793, 1793,    0, 1793,
05570      1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793,
05571      1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793,
05572 
05573      1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1794, 1794,
05574         0, 1794, 1794,    0, 1794, 1794, 1794, 1794, 1794, 1794,
05575      1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794,
05576      1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794, 1794,
05577      1794, 1794, 1794, 1795, 1795,    0, 1795, 1795,    0, 1795,
05578      1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795,
05579      1795, 1795, 1795, 1795, 1795, 1795, 1795,    0, 1795, 1795,
05580      1795, 1795, 1795, 1795, 1795, 1795, 1795, 1795, 1796, 1796,
05581         0, 1796, 1796, 1796, 1796,    0, 1796, 1796, 1796, 1796,
05582         0, 1796, 1796, 1796, 1796, 1796, 1796, 1796, 1796,    0,
05583 
05584      1796, 1796, 1796,    0, 1796, 1796, 1796, 1796,    0, 1796,
05585         0,    0, 1796, 1799, 1799,    0, 1799, 1799, 1799, 1799,
05586      1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
05587      1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799,
05588      1799, 1799, 1799, 1799, 1799, 1799, 1799, 1799, 1800, 1800,
05589         0, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800,
05590      1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800,
05591      1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800,
05592      1800, 1800, 1800, 1801, 1801,    0, 1801, 1801, 1801, 1801,
05593         0, 1801,    0, 1801, 1801, 1801, 1801, 1801, 1801, 1801,
05594 
05595      1801, 1801, 1801, 1801, 1801,    0, 1801, 1801, 1801,    0,
05596      1801, 1801,    0, 1801, 1801,    0,    0, 1801, 1803, 1803,
05597         0, 1803, 1803, 1803,    0,    0,    0,    0, 1803,    0,
05598         0, 1803, 1803,    0, 1803,    0, 1803, 1803,    0,    0,
05599      1803, 1803,    0,    0,    0, 1803,    0,    0,    0, 1803,
05600         0,    0, 1803, 1804, 1804, 1804, 1804, 1804, 1804, 1804,
05601      1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1804,
05602      1804, 1804,    0, 1804, 1804, 1804, 1804, 1804, 1804, 1804,
05603         0, 1804, 1804, 1804, 1804, 1804, 1804, 1804, 1805,    0,
05604         0,    0,    0, 1805,    0,    0,    0,    0,    0, 1805,
05605 
05606         0, 1805, 1805,    0, 1805,    0,    0,    0,    0, 1805,
05607      1806,    0,    0,    0,    0, 1806,    0,    0,    0,    0,
05608         0, 1806,    0, 1806, 1806,    0, 1806,    0,    0,    0,
05609         0, 1806, 1807,    0, 1807, 1807,    0, 1807,    0, 1807,
05610      1807,    0, 1807,    0, 1807, 1807, 1807, 1807, 1807, 1807,
05611      1807, 1807,    0, 1807, 1807, 1807,    0,    0, 1807, 1807,
05612         0,    0, 1807,    0,    0, 1807, 1808,    0,    0,    0,
05613         0, 1808,    0,    0,    0,    0,    0, 1808,    0, 1808,
05614      1808,    0, 1808,    0,    0,    0,    0, 1808, 1809,    0,
05615         0,    0,    0, 1809,    0,    0,    0,    0,    0, 1809,
05616 
05617         0, 1809, 1809,    0, 1809,    0,    0,    0,    0, 1809,
05618      1810,    0,    0,    0,    0, 1810,    0,    0, 1810,    0,
05619      1810, 1810,    0, 1810, 1810,    0, 1810,    0,    0,    0,
05620      1810, 1810, 1811,    0,    0,    0,    0, 1811,    0,    0,
05621      1811,    0, 1811, 1811,    0, 1811, 1811,    0, 1811,    0,
05622         0,    0, 1811, 1811, 1812,    0, 1812, 1812, 1812, 1812,
05623      1812, 1812,    0,    0, 1812, 1812, 1812, 1812, 1812, 1812,
05624      1812, 1812, 1812, 1812,    0, 1812, 1812, 1812,    0,    0,
05625         0,    0, 1812,    0, 1812, 1813,    0, 1813, 1813, 1813,
05626      1813, 1813, 1813,    0,    0, 1813, 1813, 1813, 1813, 1813,
05627 
05628      1813, 1813, 1813,    0, 1813,    0, 1813, 1813, 1813,    0,
05629         0,    0,    0, 1813,    0, 1813, 1814,    0, 1814, 1814,
05630      1814, 1814, 1814, 1814,    0,    0, 1814, 1814, 1814, 1814,
05631      1814, 1814, 1814, 1814,    0, 1814,    0, 1814, 1814, 1814,
05632         0,    0,    0,    0, 1814,    0, 1814, 1815,    0, 1815,
05633      1815, 1815, 1815, 1815, 1815,    0,    0, 1815, 1815, 1815,
05634      1815, 1815, 1815, 1815, 1815, 1815, 1815,    0, 1815, 1815,
05635      1815,    0,    0,    0,    0, 1815,    0, 1815, 1816,    0,
05636      1816, 1816, 1816, 1816, 1816, 1816,    0,    0, 1816, 1816,
05637      1816, 1816, 1816, 1816, 1816, 1816, 1816, 1816,    0, 1816,
05638 
05639      1816, 1816,    0,    0,    0,    0, 1816,    0, 1816, 1817,
05640      1817,    0, 1817, 1817,    0, 1817, 1817, 1817, 1817, 1817,
05641      1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817,
05642      1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817,
05643      1817, 1817, 1817, 1817, 1818, 1818,    0, 1818, 1818,    0,
05644      1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818,
05645      1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818,    0, 1818,
05646      1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1819,
05647         0,    0,    0,    0,    0,    0,    0, 1819,    0,    0,
05648      1819, 1819,    0, 1819,    0,    0,    0, 1819, 1819,    0,
05649 
05650      1819,    0, 1819,    0,    0, 1819, 1820,    0,    0,    0,
05651      1820, 1820,    0,    0,    0,    0, 1820, 1820,    0, 1820,
05652      1820,    0, 1820, 1820, 1820, 1820,    0,    0,    0, 1820,
05653         0,    0, 1820, 1820,    0,    0,    0, 1820,    0,    0,
05654      1820, 1821,    0,    0,    0, 1821, 1821,    0,    0,    0,
05655         0, 1821, 1821,    0, 1821, 1821,    0, 1821, 1821, 1821,
05656      1821,    0,    0,    0, 1821, 1821,    0, 1821, 1821,    0,
05657      1821,    0, 1821,    0,    0, 1821, 1822,    0,    0,    0,
05658      1822, 1822,    0,    0,    0,    0, 1822, 1822,    0, 1822,
05659      1822,    0, 1822,    0, 1822, 1822,    0,    0,    0, 1822,
05660 
05661         0,    0,    0, 1822,    0,    0,    0, 1822,    0,    0,
05662      1822, 1825, 1825,    0, 1825, 1825, 1825, 1825, 1825, 1825,
05663      1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825,
05664      1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825, 1825,
05665      1825, 1825, 1825, 1825, 1825, 1825, 1826, 1826,    0, 1826,
05666      1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
05667      1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
05668      1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
05669      1826, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829,
05670      1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829, 1829,
05671 
05672         0, 1829, 1829, 1829, 1829, 1829, 1829, 1829,    0, 1829,
05673      1829, 1829, 1829, 1829, 1829, 1829, 1830, 1830, 1830, 1830,
05674      1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830,
05675      1830, 1830, 1830, 1830, 1830,    0, 1830, 1830, 1830, 1830,
05676      1830, 1830, 1830,    0, 1830, 1830, 1830, 1830, 1830, 1830,
05677      1830, 1831,    0,    0,    0,    0, 1831,    0,    0,    0,
05678         0,    0, 1831,    0, 1831, 1831,    0, 1831,    0,    0,
05679         0,    0, 1831, 1832,    0,    0,    0,    0, 1832,    0,
05680         0,    0,    0,    0, 1832,    0, 1832, 1832,    0, 1832,
05681         0,    0,    0,    0, 1832, 1833, 1833,    0, 1833, 1833,
05682 
05683      1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833,
05684      1833, 1833,    0, 1833, 1833, 1833, 1833, 1833, 1833, 1833,
05685      1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833,
05686      1834,    0,    0,    0,    0,    0,    0,    0, 1834,    0,
05687      1834,    0, 1834,    0, 1834,    0,    0,    0, 1834, 1834,
05688         0, 1834, 1834, 1834,    0,    0, 1834, 1835,    0,    0,
05689         0,    0, 1835,    0,    0,    0,    0,    0, 1835,    0,
05690      1835, 1835,    0, 1835,    0,    0,    0,    0, 1835, 1836,
05691         0, 1836, 1836,    0, 1836,    0, 1836, 1836,    0, 1836,
05692         0, 1836, 1836, 1836, 1836, 1836, 1836, 1836, 1836,    0,
05693 
05694      1836, 1836, 1836,    0,    0, 1836, 1836,    0,    0, 1836,
05695         0,    0, 1836, 1837,    0,    0,    0,    0, 1837,    0,
05696         0, 1837,    0, 1837, 1837,    0, 1837, 1837,    0, 1837,
05697         0,    0,    0, 1837, 1837, 1838,    0, 1838, 1838,    0,
05698      1838,    0, 1838, 1838,    0, 1838,    0, 1838, 1838, 1838,
05699      1838, 1838, 1838, 1838, 1838,    0, 1838, 1838, 1838,    0,
05700      1838, 1838, 1838,    0,    0, 1838,    0,    0, 1838, 1839,
05701         0, 1839, 1839, 1839, 1839, 1839, 1839,    0,    0, 1839,
05702      1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839, 1839,    0,
05703      1839, 1839, 1839,    0,    0,    0,    0, 1839,    0, 1839,
05704 
05705      1840,    0, 1840, 1840, 1840, 1840, 1840, 1840,    0,    0,
05706      1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840, 1840,
05707         0, 1840, 1840, 1840,    0,    0,    0,    0, 1840,    0,
05708      1840, 1841, 1841,    0, 1841, 1841,    0, 1841, 1841, 1841,
05709      1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
05710      1841, 1841, 1841, 1841, 1841,    0, 1841, 1841, 1841, 1841,
05711      1841, 1841, 1841, 1841, 1841, 1841, 1842,    0,    0,    0,
05712         0,    0,    0,    0, 1842,    0,    0, 1842, 1842,    0,
05713      1842,    0,    0,    0, 1842, 1842,    0, 1842,    0, 1842,
05714         0,    0, 1842, 1843,    0,    0,    0, 1843, 1843,    0,
05715 
05716         0,    0,    0, 1843, 1843,    0, 1843, 1843,    0, 1843,
05717      1843, 1843, 1843,    0,    0,    0, 1843,    0,    0, 1843,
05718      1843,    0,    0,    0, 1843,    0,    0, 1843, 1844,    0,
05719         0,    0, 1844, 1844,    0,    0,    0,    0, 1844, 1844,
05720         0, 1844, 1844,    0, 1844, 1844, 1844, 1844,    0,    0,
05721         0, 1844,    0,    0, 1844, 1844,    0, 1844,    0, 1844,
05722         0,    0, 1844, 1845,    0,    0,    0,    0,    0,    0,
05723         0, 1845,    0,    0,    0, 1845,    0, 1845,    0,    0,
05724         0, 1845, 1845,    0,    0,    0, 1845,    0,    0, 1845,
05725      1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846,
05726 
05727      1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846,    0,
05728      1846, 1846, 1846, 1846, 1846, 1846, 1846,    0, 1846, 1846,
05729      1846, 1846, 1846, 1846, 1846, 1847, 1847,    0,    0, 1847,
05730      1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847,
05731         0, 1847,    0, 1847, 1847, 1847, 1847, 1847, 1847, 1847,
05732      1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847,
05733      1848, 1848,    0, 1848, 1848, 1848, 1848, 1848, 1848, 1848,
05734      1848, 1848, 1848, 1848, 1848, 1848, 1848,    0, 1848, 1848,
05735      1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848,
05736      1848, 1848, 1848, 1848, 1848, 1849,    0,    0,    0,    0,
05737 
05738         0,    0,    0, 1849,    0,    0, 1849, 1849,    0, 1849,
05739         0,    0,    0, 1849, 1849,    0, 1849,    0, 1849,    0,
05740         0, 1849, 1850,    0,    0,    0,    0,    0,    0,    0,
05741      1850,    0, 1850,    0, 1850,    0, 1850,    0,    0,    0,
05742      1850, 1850,    0, 1850, 1850, 1850,    0,    0, 1850, 1851,
05743         0,    0, 1851,    0, 1851, 1851,    0, 1851,    0,    0,
05744         0, 1851,    0,    0, 1851, 1851, 1852,    0,    0,    0,
05745         0,    0,    0,    0, 1852,    0, 1852,    0, 1852,    0,
05746      1852,    0,    0,    0, 1852, 1852,    0, 1852, 1852, 1852,
05747         0,    0, 1852, 1853,    0,    0,    0,    0,    0,    0,
05748 
05749         0, 1853,    0,    0, 1853, 1853,    0, 1853,    0,    0,
05750         0, 1853, 1853,    0, 1853,    0, 1853,    0,    0, 1853,
05751      1854,    0,    0,    0,    0,    0,    0,    0, 1854,    0,
05752         0, 1854, 1854,    0, 1854,    0,    0,    0, 1854, 1854,
05753         0, 1854,    0, 1854,    0,    0, 1854, 1855, 1855, 1855,
05754      1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855, 1855,
05755      1855, 1855, 1855, 1855, 1855, 1855,    0, 1855, 1855, 1855,
05756      1855, 1855, 1855, 1855,    0, 1855, 1855, 1855, 1855, 1855,
05757      1855, 1855, 1856,    0, 1856, 1856, 1856, 1856, 1856, 1856,
05758         0,    0, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
05759 
05760         0, 1856,    0, 1856, 1856, 1856,    0,    0,    0,    0,
05761      1856,    0, 1856, 1857,    0,    0, 1857,    0, 1857, 1857,
05762      1857, 1857, 1857,    0, 1857, 1857, 1857, 1857, 1857, 1857,
05763      1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857,
05764         0,    0,    0,    0,    0, 1857, 1857, 1858, 1858,    0,
05765      1858, 1858,    0, 1858, 1858, 1858, 1858, 1858, 1858, 1858,
05766      1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858,
05767      1858,    0, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858,
05768      1858, 1858, 1859,    0,    0, 1859,    0, 1859, 1859, 1859,
05769      1859, 1859,    0, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
05770 
05771      1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,    0,
05772         0,    0,    0,    0, 1859, 1859, 1457, 1457, 1457, 1457,
05773      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
05774      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
05775      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
05776      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
05777      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
05778      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
05779      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457,
05780      1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457
05781 
05782     } ;
05783 
05784 /* Table of booleans, true if rule could match eol. */
05785 static yyconst flex_int32_t yy_rule_can_match_eol[153] =
05786     {   0,
05787 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 
05788     0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 
05789     1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 
05790     1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 
05791     0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 
05792     0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 
05793     1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 
05794     1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,     };
05795 
05796 extern int doctokenizerYY_flex_debug;
05797 int doctokenizerYY_flex_debug = 0;
05798 
05799 static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
05800 static char *yy_full_match;
05801 static int yy_lp;
05802 static int yy_looking_for_trail_begin = 0;
05803 static int yy_full_lp;
05804 static int *yy_full_state;
05805 #define YY_TRAILING_MASK 0x2000
05806 #define YY_TRAILING_HEAD_MASK 0x4000
05807 #define REJECT \
05808 { \
05809 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */ \
05810 yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
05811 (yy_lp) = yy_full_lp; /* restore orig. accepting pos. */ \
05812 (yy_state_ptr) = yy_full_state; /* restore orig. state */ \
05813 yy_current_state = *(yy_state_ptr); /* restore curr. state */ \
05814 ++(yy_lp); \
05815 goto find_rule; \
05816 }
05817 
05818 #define yymore() yymore_used_but_not_detected
05819 #define YY_MORE_ADJ 0
05820 #define YY_RESTORE_YY_MORE_OFFSET
05821 char *doctokenizerYYtext;
05822 #line 1 "doctokenizer.l"
05823 /******************************************************************************
05824  *
05825  * $Id: $
05826  *
05827  *
05828  * Copyright (C) 1997-2008 by Dimitri van Heesch.
05829  *
05830  * Permission to use, copy, modify, and distribute this software and its
05831  * documentation under the terms of the GNU General Public License is hereby 
05832  * granted. No representations are made about the suitability of this software 
05833  * for any purpose. It is provided "as is" without express or implied warranty.
05834  * See the GNU General Public License for more details.
05835  *
05836  * Documents produced by Doxygen are derivative works derived from the
05837  * input used in their production; they are not affected by this license.
05838  *
05839  */
05840 #line 20 "doctokenizer.l"
05841 
05842 #include <qfile.h>
05843 #include <qstring.h>
05844 #include <qstack.h>
05845 #include <qdict.h>
05846 
05847 #include "doctokenizer.h"
05848 #include "cmdmapper.h"
05849 #include "config.h"
05850 #include "message.h"
05851 #include "section.h"
05852 #include "membergroup.h"
05853 #include "definition.h"
05854 #include "doxygen.h"
05855 #include "portable.h"
05856 
05857 #define YY_NEVER_INTERACTIVE 1
05858   
05859 //--------------------------------------------------------------------------
05860 
05861 // context for tokenizer phase
05862 static int g_commentState;
05863 TokenInfo *g_token = 0;
05864 static int g_inputPos = 0;
05865 static const char *g_inputString;
05866 static QString g_fileName;
05867 static bool g_insidePre;
05868 
05869 // context for section finding phase
05870 static Definition  *g_definition;
05871 static MemberGroup *g_memberGroup;
05872 static QCString     g_secLabel;
05873 static QCString     g_secTitle;
05874 static SectionInfo::SectionType g_secType;
05875 static QCString     g_endMarker;
05876 
05877 struct DocLexerContext
05878 {
05879   TokenInfo *token;
05880   int rule;
05881   int inputPos;
05882   const char *inputString;
05883   YY_BUFFER_STATE state;
05884 };
05885 
05886 static QStack<DocLexerContext> g_lexerStack;
05887 
05888 //--------------------------------------------------------------------------
05889 
05890 void doctokenizerYYpushContext()
05891 {
05892   DocLexerContext *ctx = new DocLexerContext;
05893   ctx->rule = YY_START;
05894   ctx->token = g_token;
05895   ctx->inputPos = g_inputPos;
05896   ctx->inputString = g_inputString;
05897   ctx->state = YY_CURRENT_BUFFER;
05898   g_lexerStack.push(ctx);
05899   doctokenizerYY_switch_to_buffer(doctokenizerYY_create_buffer(doctokenizerYYin,YY_BUF_SIZE));
05900 }
05901 
05902 bool doctokenizerYYpopContext()
05903 {
05904   if (g_lexerStack.isEmpty()) return FALSE;
05905   DocLexerContext *ctx = g_lexerStack.pop();
05906   g_inputPos = ctx->inputPos;
05907   g_inputString = ctx->inputString;
05908   doctokenizerYY_delete_buffer(YY_CURRENT_BUFFER);
05909   doctokenizerYY_switch_to_buffer(ctx->state);
05910   BEGIN(ctx->rule);
05911   delete ctx;
05912   return TRUE;
05913 }
05914 
05915 
05916 //--------------------------------------------------------------------------
05917 
05918 const char *tokToString(int token)
05919 {
05920   switch (token)
05921   {
05922     case 0:              return "TK_EOF";
05923     case TK_WORD:        return "TK_WORD";
05924     case TK_LNKWORD:     return "TK_LNKWORD";
05925     case TK_WHITESPACE:  return "TK_WHITESPACE";
05926     case TK_LISTITEM:    return "TK_LISTITEM";
05927     case TK_ENDLIST:     return "TK_ENDLIST";
05928     case TK_COMMAND:     return "TK_COMMAND";
05929     case TK_HTMLTAG:     return "TK_HTMLTAG";
05930     case TK_SYMBOL:      return "TK_SYMBOL";
05931     case TK_NEWPARA:     return "TK_NEWPARA";
05932     case TK_RCSTAG:      return "TK_RCSTAG";
05933     case TK_URL:         return "TK_URL";
05934   }
05935   return "ERROR";
05936 }
05937 
05938 static int computeIndent(const char *str,int length)
05939 {
05940   int i;
05941   int indent=0;
05942   int tabSize=Config_getInt("TAB_SIZE");
05943   for (i=0;i<length;i++)
05944   {
05945     if (str[i]=='\t')
05946     {
05947       indent+=tabSize - (indent%tabSize);
05948     }
05949     else if (str[i]=='\n')
05950     {
05951       indent=0;
05952     }
05953     else
05954     {
05955       indent++;
05956     }
05957   }
05958   return indent;
05959 }
05960 
05961 //--------------------------------------------------------------------------
05962 
05963 static void processSection()
05964 {
05965   //printf("%s: found section/anchor with name `%s'\n",g_fileName.data(),g_secLabel.data());
05966   QCString file;
05967   if (g_memberGroup)
05968   {
05969     file = g_memberGroup->parent()->getOutputFileBase();
05970   }
05971   else if (g_definition)
05972   {
05973     file = g_definition->getOutputFileBase();
05974   }
05975   else
05976   {
05977     warn(g_fileName,doctokenizerYYlineno,"Found section/anchor %s without context\n",g_secLabel.data()); 
05978   }
05979   SectionInfo *si=0;
05980   if ((si=Doxygen::sectionDict.find(g_secLabel)))
05981   {
05982     si->fileName = file;
05983     //si = new SectionInfo(file,g_secLabel,g_secTitle,g_secType);
05984     //Doxygen::sectionDict.insert(g_secLabel,si);
05985   }
05986 }
05987 
05988 static void handleHtmlTag()
05989 {
05990   QCString tagText=doctokenizerYYtext;
05991   g_token->attribs.clear();
05992   g_token->endTag = FALSE;
05993   g_token->emptyTag = FALSE;
05994   
05995   // Check for end tag
05996   int startNamePos=1;
05997   if (tagText.at(1)=='/') 
05998   {
05999     g_token->endTag = TRUE;
06000     startNamePos++;
06001   }
06002 
06003   // Parse the name portion
06004   int i = startNamePos;
06005   for (i=startNamePos; i < doctokenizerYYleng; i++)
06006   {
06007     // Check for valid HTML/XML name chars (including namespaces)
06008     char c = tagText.at(i);
06009     if (!(isalnum(c) || c=='-' || c=='_' || c==':')) break;
06010   }
06011   g_token->name = tagText.mid(startNamePos,i-startNamePos);
06012 
06013   // Parse the attributes. Each attribute is a name, value pair
06014   // The result is stored in g_token->attribs.
06015   int startName,endName,startAttrib,endAttrib;
06016   while (i<doctokenizerYYleng)
06017   {
06018     char c=tagText.at(i);
06019     // skip spaces
06020     while (i<doctokenizerYYleng && isspace(c)) { c=tagText.at(++i); }
06021     // check for end of the tag
06022     if (c == '>') break;
06023     // Check for XML style "empty" tag.
06024     if (c == '/') 
06025     {
06026       g_token->emptyTag = TRUE;
06027       break;
06028     }
06029     startName=i;
06030     // search for end of name
06031     while (i<doctokenizerYYleng && !isspace(c) && c!='=') { c=tagText.at(++i); }
06032     endName=i;
06033     HtmlAttrib opt;
06034     opt.name  = tagText.mid(startName,endName-startName).lower(); 
06035     // skip spaces
06036     while (i<doctokenizerYYleng && isspace(c)) { c=tagText.at(++i); } 
06037     if (tagText.at(i)=='=') // option has value
06038     {
06039       c=tagText.at(++i);
06040       // skip spaces
06041       while (i<doctokenizerYYleng && isspace(c)) { c=tagText.at(++i); } 
06042       if (tagText.at(i)=='\'') // option '...'
06043       {
06044         c=tagText.at(++i);
06045         startAttrib=i;
06046         
06047         // search for matching quote 
06048         while (i<doctokenizerYYleng && c!='\'') { c=tagText.at(++i); } 
06049         endAttrib=i;
06050         if (i<doctokenizerYYleng) c=tagText.at(++i);
06051       }
06052       else if (tagText.at(i)=='"') // option "..."
06053       {
06054         c=tagText.at(++i);
06055         startAttrib=i;
06056         // search for matching quote 
06057         while (i<doctokenizerYYleng && c!='"') { c=tagText.at(++i); } 
06058         endAttrib=i;
06059         if (i<doctokenizerYYleng) c=tagText.at(++i);
06060       }
06061       else // value without any quotes
06062       {
06063         startAttrib=i;
06064         // search for separator
06065         while (i<doctokenizerYYleng && !isspace(c)) { c=tagText.at(++i); } 
06066         endAttrib=i;
06067         if (i<doctokenizerYYleng) c=tagText.at(++i);
06068       }
06069       opt.value  = tagText.mid(startAttrib,endAttrib-startAttrib); 
06070     }
06071     else // start next option
06072     {
06073     }
06074     //printf("=====> Adding option name=<%s> value=<%s>\n",
06075     //    opt.name.data(),opt.value.data());
06076     g_token->attribs.append(&opt);
06077   }
06078 }
06079   
06080 static QString stripEmptyLines(const char *s)
06081 {
06082   int result=0,p=0;
06083   for (;;)
06084   {
06085     int c;
06086     while ((c=s[p]) && isspace(c)) p++;
06087     if (s[p]=='\n') result=++p; else break;
06088   }
06089   return &s[result];
06090 }
06091 
06092 //--------------------------------------------------------------------------
06093 
06094 #undef  YY_INPUT
06095 #define YY_INPUT(buf,result,max_size) result=yyread(buf,max_size);
06096 
06097 static int yyread(char *buf,int max_size)
06098 {
06099   int c=0;
06100   const char *src=g_inputString+g_inputPos;
06101   while ( c < max_size && *src ) *buf++ = *src++, c++;
06102   g_inputPos+=c;
06103   return c;
06104 }
06105 
06106 //--------------------------------------------------------------------------
06107 
06108 
06109 
06110 
06111 
06112 
06113 
06114 
06115 
06116 
06117 
06118 
06119 
06120 
06121 
06122 
06123 
06124 
06125 
06126 
06127 
06128 
06129 
06130 
06131 
06132 
06133 
06134 
06135 
06136 
06137 
06138 
06139 
06140 #line 6141 "<stdout>"
06141 
06142 #define INITIAL 0
06143 #define St_Para 1
06144 #define St_Comment 2
06145 #define St_Title 3
06146 #define St_TitleN 4
06147 #define St_TitleQ 5
06148 #define St_TitleA 6
06149 #define St_TitleV 7
06150 #define St_Code 8
06151 #define St_XmlCode 9
06152 #define St_HtmlOnly 10
06153 #define St_ManOnly 11
06154 #define St_LatexOnly 12
06155 #define St_XmlOnly 13
06156 #define St_Verbatim 14
06157 #define St_Dot 15
06158 #define St_Msc 16
06159 #define St_Param 17
06160 #define St_XRefItem 18
06161 #define St_XRefItem2 19
06162 #define St_File 20
06163 #define St_Pattern 21
06164 #define St_Link 22
06165 #define St_Ref 23
06166 #define St_Ref2 24
06167 #define St_IntRef 25
06168 #define St_Text 26
06169 #define St_SkipTitle 27
06170 #define St_Sections 28
06171 #define St_SecLabel1 29
06172 #define St_SecLabel2 30
06173 #define St_SecTitle 31
06174 #define St_SecSkip 32
06175 
06176 #ifndef YY_NO_UNISTD_H
06177 /* Special case for "unistd.h", since it is non-ANSI. We include it way
06178  * down here because we want the user's section 1 to have been scanned first.
06179  * The user has a chance to override it with an option.
06180  */
06181 #include <unistd.h>
06182 #endif
06183 
06184 #ifndef YY_EXTRA_TYPE
06185 #define YY_EXTRA_TYPE void *
06186 #endif
06187 
06188 static int yy_init_globals (void );
06189 
06190 /* Macros after this point can all be overridden by user definitions in
06191  * section 1.
06192  */
06193 
06194 #ifndef YY_SKIP_YYWRAP
06195 #ifdef __cplusplus
06196 extern "C" int doctokenizerYYwrap (void );
06197 #else
06198 extern int doctokenizerYYwrap (void );
06199 #endif
06200 #endif
06201 
06202     static void yyunput (int c,char *buf_ptr  );
06203     
06204 #ifndef yytext_ptr
06205 static void yy_flex_strncpy (char *,yyconst char *,int );
06206 #endif
06207 
06208 #ifdef YY_NEED_STRLEN
06209 static int yy_flex_strlen (yyconst char * );
06210 #endif
06211 
06212 #ifndef YY_NO_INPUT
06213 
06214 #ifdef __cplusplus
06215 static int yyinput (void );
06216 #else
06217 static int input (void );
06218 #endif
06219 
06220 #endif
06221 
06222 /* Amount of stuff to slurp up with each read. */
06223 #ifndef YY_READ_BUF_SIZE
06224 #define YY_READ_BUF_SIZE 8192
06225 #endif
06226 
06227 /* Copy whatever the last rule matched to the standard output. */
06228 #ifndef ECHO
06229 /* This used to be an fputs(), but since the string might contain NUL's,
06230  * we now use fwrite().
06231  */
06232 #define ECHO (void) fwrite( doctokenizerYYtext, doctokenizerYYleng, 1, doctokenizerYYout )
06233 #endif
06234 
06235 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
06236  * is returned in "result".
06237  */
06238 #ifndef YY_INPUT
06239 #define YY_INPUT(buf,result,max_size) \
06240         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
06241                 { \
06242                 int c = '*'; \
06243                 size_t n; \
06244                 for ( n = 0; n < max_size && \
06245                              (c = getc( doctokenizerYYin )) != EOF && c != '\n'; ++n ) \
06246                         buf[n] = (char) c; \
06247                 if ( c == '\n' ) \
06248                         buf[n++] = (char) c; \
06249                 if ( c == EOF && ferror( doctokenizerYYin ) ) \
06250                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
06251                 result = n; \
06252                 } \
06253         else \
06254                 { \
06255                 errno=0; \
06256                 while ( (result = fread(buf, 1, max_size, doctokenizerYYin))==0 && ferror(doctokenizerYYin)) \
06257                         { \
06258                         if( errno != EINTR) \
06259                                 { \
06260                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
06261                                 break; \
06262                                 } \
06263                         errno=0; \
06264                         clearerr(doctokenizerYYin); \
06265                         } \
06266                 }\
06267 \
06268 
06269 #endif
06270 
06271 /* No semi-colon after return; correct usage is to write "yyterminate();" -
06272  * we don't want an extra ';' after the "return" because that will cause
06273  * some compilers to complain about unreachable statements.
06274  */
06275 #ifndef yyterminate
06276 #define yyterminate() return YY_NULL
06277 #endif
06278 
06279 /* Number of entries by which start-condition stack grows. */
06280 #ifndef YY_START_STACK_INCR
06281 #define YY_START_STACK_INCR 25
06282 #endif
06283 
06284 /* Report a fatal error. */
06285 #ifndef YY_FATAL_ERROR
06286 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
06287 #endif
06288 
06289 /* end tables serialization structures and prototypes */
06290 
06291 /* Default declaration of generated scanner - a define so the user can
06292  * easily add parameters.
06293  */
06294 #ifndef YY_DECL
06295 #define YY_DECL_IS_OURS 1
06296 
06297 extern int doctokenizerYYlex (void);
06298 
06299 #define YY_DECL int doctokenizerYYlex (void)
06300 #endif /* !YY_DECL */
06301 
06302 /* Code executed at the beginning of each rule, after doctokenizerYYtext and doctokenizerYYleng
06303  * have been set up.
06304  */
06305 #ifndef YY_USER_ACTION
06306 #define YY_USER_ACTION
06307 #endif
06308 
06309 /* Code executed at the end of each rule. */
06310 #ifndef YY_BREAK
06311 #define YY_BREAK break;
06312 #endif
06313 
06314 #define YY_RULE_SETUP \
06315         if ( doctokenizerYYleng > 0 ) \
06316                 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
06317                                 (doctokenizerYYtext[doctokenizerYYleng - 1] == '\n'); \
06318         YY_USER_ACTION
06319 
06322 YY_DECL
06323 {
06324         register yy_state_type yy_current_state;
06325         register char *yy_cp, *yy_bp;
06326         register int yy_act;
06327     
06328 #line 381 "doctokenizer.l"
06329 
06330 #line 6331 "<stdout>"
06331 
06332         if ( !(yy_init) )
06333                 {
06334                 (yy_init) = 1;
06335 
06336 #ifdef YY_USER_INIT
06337                 YY_USER_INIT;
06338 #endif
06339 
06340         /* Create the reject buffer large enough to save one state per allowed character. */
06341         if ( ! (yy_state_buf) )
06342             (yy_state_buf) = (yy_state_type *)doctokenizerYYalloc(YY_STATE_BUF_SIZE  );
06343 
06344                 if ( ! (yy_start) )
06345                         (yy_start) = 1; /* first start state */
06346 
06347                 if ( ! doctokenizerYYin )
06348                         doctokenizerYYin = stdin;
06349 
06350                 if ( ! doctokenizerYYout )
06351                         doctokenizerYYout = stdout;
06352 
06353                 if ( ! YY_CURRENT_BUFFER ) {
06354                         doctokenizerYYensure_buffer_stack ();
06355                         YY_CURRENT_BUFFER_LVALUE =
06356                                 doctokenizerYY_create_buffer(doctokenizerYYin,YY_BUF_SIZE );
06357                 }
06358 
06359                 doctokenizerYY_load_buffer_state( );
06360                 }
06361 
06362         while ( 1 )             /* loops until end-of-file is reached */
06363                 {
06364                 yy_cp = (yy_c_buf_p);
06365 
06366                 /* Support of doctokenizerYYtext. */
06367                 *yy_cp = (yy_hold_char);
06368 
06369                 /* yy_bp points to the position in yy_ch_buf of the start of
06370                  * the current run.
06371                  */
06372                 yy_bp = yy_cp;
06373 
06374                 yy_current_state = (yy_start);
06375                 yy_current_state += YY_AT_BOL();
06376 
06377                 (yy_state_ptr) = (yy_state_buf);
06378                 *(yy_state_ptr)++ = yy_current_state;
06379 
06380 yy_match:
06381                 do
06382                         {
06383                         register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
06384                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
06385                                 {
06386                                 yy_current_state = (int) yy_def[yy_current_state];
06387                                 if ( yy_current_state >= 1458 )
06388                                         yy_c = yy_meta[(unsigned int) yy_c];
06389                                 }
06390                         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
06391                         *(yy_state_ptr)++ = yy_current_state;
06392                         ++yy_cp;
06393                         }
06394                 while ( yy_base[yy_current_state] != 20917 );
06395 
06396 yy_find_action:
06397                 yy_current_state = *--(yy_state_ptr);
06398                 (yy_lp) = yy_accept[yy_current_state];
06399 find_rule: /* we branch to this label when backing up */
06400                 for ( ; ; ) /* until we find what rule we matched */
06401                         {
06402                         if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
06403                                 {
06404                                 yy_act = yy_acclist[(yy_lp)];
06405                                 if ( yy_act & YY_TRAILING_HEAD_MASK ||
06406                                      yy_looking_for_trail_begin )
06407                                         {
06408                                         if ( yy_act == yy_looking_for_trail_begin )
06409                                                 {
06410                                                 yy_looking_for_trail_begin = 0;
06411                                                 yy_act &= ~YY_TRAILING_HEAD_MASK;
06412                                                 break;
06413                                                 }
06414                                         }
06415                                 else if ( yy_act & YY_TRAILING_MASK )
06416                                         {
06417                                         yy_looking_for_trail_begin = yy_act & ~YY_TRAILING_MASK;
06418                                         yy_looking_for_trail_begin |= YY_TRAILING_HEAD_MASK;
06419                                         }
06420                                 else
06421                                         {
06422                                         (yy_full_match) = yy_cp;
06423                                         yy_full_state = (yy_state_ptr);
06424                                         yy_full_lp = (yy_lp);
06425                                         break;
06426                                         }
06427                                 ++(yy_lp);
06428                                 goto find_rule;
06429                                 }
06430                         --yy_cp;
06431                         yy_current_state = *--(yy_state_ptr);
06432                         (yy_lp) = yy_accept[yy_current_state];
06433                         }
06434 
06435                 YY_DO_BEFORE_ACTION;
06436 
06437                 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
06438                         {
06439                         int yyl;
06440                         for ( yyl = 0; yyl < doctokenizerYYleng; ++yyl )
06441                                 if ( doctokenizerYYtext[yyl] == '\n' )
06442                                            
06443     doctokenizerYYlineno++;
06444 ;
06445                         }
06446 
06447 do_action:      /* This label is used only to access EOF actions. */
06448 
06449                 switch ( yy_act )
06450         { /* beginning of action switch */
06451 case 1:
06452 YY_RULE_SETUP
06453 #line 382 "doctokenizer.l"
06454 /* skip carriage return */
06455         YY_BREAK
06456 case 2:
06457 /* rule 2 can match eol */
06458 YY_RULE_SETUP
06459 #line 383 "doctokenizer.l"
06460 { /* list item */ 
06461                          QString text=doctokenizerYYtext;
06462                          int dashPos = text.findRev('-');
06463                          g_token->isEnumList = text.at(dashPos+1)=='#';
06464                          g_token->indent     = computeIndent(doctokenizerYYtext,dashPos);
06465                          return TK_LISTITEM;
06466                        }
06467         YY_BREAK
06468 case 3:
06469 /* rule 3 can match eol */
06470 YY_RULE_SETUP
06471 #line 390 "doctokenizer.l"
06472 { /* list item on next line */ 
06473                          QString text=doctokenizerYYtext;
06474                          text=text.right(text.length()-text.find('\n')-1);
06475                          int dashPos = text.findRev('-');
06476                          g_token->isEnumList = text.at(dashPos+1)=='#';
06477                          g_token->indent     = computeIndent(text,dashPos);
06478                          return TK_LISTITEM;
06479                        }
06480         YY_BREAK
06481 case 4:
06482 /* rule 4 can match eol */
06483 YY_RULE_SETUP
06484 #line 398 "doctokenizer.l"
06485 { /* end list */ 
06486                          int dotPos = QString(doctokenizerYYtext).findRev('.');
06487                          g_token->indent     = computeIndent(doctokenizerYYtext,dotPos);
06488                          return TK_ENDLIST;
06489                        }
06490         YY_BREAK
06491 case 5:
06492 /* rule 5 can match eol */
06493 YY_RULE_SETUP
06494 #line 403 "doctokenizer.l"
06495 { /* end list on next line */ 
06496                          QString text=doctokenizerYYtext;
06497                          text=text.right(text.length()-text.find('\n')-1);
06498                          int dotPos = text.findRev('.');
06499                          g_token->indent     = computeIndent(text,dotPos);
06500                          return TK_ENDLIST;
06501                        }
06502         YY_BREAK
06503 case 6:
06504 YY_RULE_SETUP
06505 #line 410 "doctokenizer.l"
06506 {
06507                          g_token->name = "javalink";
06508                          return TK_COMMAND;
06509                        }
06510         YY_BREAK
06511 case 7:
06512 YY_RULE_SETUP
06513 #line 414 "doctokenizer.l"
06514 {
06515                          g_token->name = "inheritdoc";
06516                          return TK_COMMAND;
06517                        }
06518         YY_BREAK
06519 case 8:
06520 YY_RULE_SETUP
06521 #line 418 "doctokenizer.l"
06522 { // artificial new line
06523                              doctokenizerYYlineno++; 
06524                           }
06525         YY_BREAK
06526 case 9:
06527 YY_RULE_SETUP
06528 #line 421 "doctokenizer.l"
06529 {
06530                          g_token->name = "form";
06531                          bool ok;
06532                          g_token->id = QString(doctokenizerYYtext).right(doctokenizerYYleng-6).toInt(&ok);
06533                          ASSERT(ok);
06534                          return TK_COMMAND;
06535                        }
06536         YY_BREAK
06537 case 10:
06538 #line 429 "doctokenizer.l"
06539 case 11:
06540 YY_RULE_SETUP
06541 #line 429 "doctokenizer.l"
06542 { /* special command */
06543                          g_token->name = doctokenizerYYtext+1;
06544                          g_token->name = g_token->name.stripWhiteSpace();
06545                          g_token->paramDir=TokenInfo::Unspecified;
06546                          return TK_COMMAND;
06547                        }
06548         YY_BREAK
06549 case 12:
06550 YY_RULE_SETUP
06551 #line 435 "doctokenizer.l"
06552 { /* param [in,out] command */
06553                          g_token->name = "param";
06554                          QString s(doctokenizerYYtext);
06555                          bool isIn  = s.find("in")!=-1;
06556                          bool isOut = s.find("out")!=-1;
06557                          if (isIn)
06558                          {
06559                            if (isOut)
06560                            {
06561                              g_token->paramDir=TokenInfo::InOut;
06562                            }
06563                            else
06564                            {
06565                              g_token->paramDir=TokenInfo::In;
06566                            }
06567                          }
06568                          else if (isOut)
06569                          {
06570                            g_token->paramDir=TokenInfo::Out;
06571                          }
06572                          else
06573                          {
06574                            g_token->paramDir=TokenInfo::Unspecified;
06575                          }
06576                          return TK_COMMAND;
06577                        }
06578         YY_BREAK
06579 case 13:
06580 YY_RULE_SETUP
06581 #line 461 "doctokenizer.l"
06582 { // URL
06583                          g_token->name=doctokenizerYYtext;
06584                          g_token->isEMailAddr=FALSE;
06585                          return TK_URL;
06586                        }
06587         YY_BREAK
06588 case 14:
06589 YY_RULE_SETUP
06590 #line 466 "doctokenizer.l"
06591 { // Mail address
06592                          g_token->name=doctokenizerYYtext;
06593                          g_token->isEMailAddr=TRUE;
06594                          return TK_URL;
06595                        }
06596         YY_BREAK
06597 case 15:
06598 YY_RULE_SETUP
06599 #line 471 "doctokenizer.l"
06600 { /* RCS tag */
06601                          QString tagName(doctokenizerYYtext+1);
06602                          int index=tagName.find(':');
06603                          g_token->name = tagName.left(index);
06604                          g_token->text = tagName.mid(index+1,tagName.length()-index-2);
06605                          return TK_RCSTAG;
06606                        }
06607         YY_BREAK
06608 case 16:
06609 YY_RULE_SETUP
06610 #line 478 "doctokenizer.l"
06611 { /* environment variable */
06612                          QCString name = &doctokenizerYYtext[2];
06613                          name = name.left(name.length()-1);
06614                          QCString value = portable_getenv(name);
06615                          for (int i=value.length()-1;i>=0;i--) unput(value.at(i));
06616                        }
06617         YY_BREAK
06618 case 17:
06619 /* rule 17 can match eol */
06620 YY_RULE_SETUP
06621 #line 484 "doctokenizer.l"
06622 { /* html tag */ 
06623                          handleHtmlTag();
06624                          return TK_HTMLTAG;
06625                        }
06626         YY_BREAK
06627 case 18:
06628 YY_RULE_SETUP
06629 #line 488 "doctokenizer.l"
06630 { /* special symbol */ 
06631                          g_token->name = doctokenizerYYtext;
06632                          return TK_SYMBOL;
06633                        }
06634         YY_BREAK
06635 /********* patterns for linkable words ******************/
06636 case 19:
06637 YY_RULE_SETUP
06638 #line 495 "doctokenizer.l"
06639 { /* this rule is to prevent opening html 
06640                                   * tag to be recognized as a templated classes 
06641                                   */ 
06642                          g_token->name = doctokenizerYYtext;
06643                          return TK_LNKWORD;
06644                         }
06645         YY_BREAK
06646 case 20:
06647 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */
06648 (yy_c_buf_p) = yy_cp -= 4;
06649 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */
06650 #line 502 "doctokenizer.l"
06651 case 21:
06652 #line 503 "doctokenizer.l"
06653 case 22:
06654 #line 504 "doctokenizer.l"
06655 case 23:
06656 #line 505 "doctokenizer.l"
06657 case 24:
06658 YY_RULE_SETUP
06659 #line 505 "doctokenizer.l"
06660 {
06661                          g_token->name = doctokenizerYYtext;
06662                          return TK_LNKWORD;
06663                        }
06664         YY_BREAK
06665 case 25:
06666 /* rule 25 can match eol */
06667 YY_RULE_SETUP
06668 #line 509 "doctokenizer.l"
06669 {
06670                          g_token->name = doctokenizerYYtext;
06671                          g_token->name = g_token->name.left(g_token->name.length()-1);
06672                          unput(doctokenizerYYtext[doctokenizerYYleng-1]);
06673                          return TK_LNKWORD;
06674                        }
06675         YY_BREAK
06676 /********* patterns for normal words ******************/
06677 case 26:
06678 #line 518 "doctokenizer.l"
06679 case 27:
06680 YY_RULE_SETUP
06681 #line 518 "doctokenizer.l"
06682 { /* function call */ 
06683                          if (doctokenizerYYtext[0]=='%') // strip % if present
06684                            g_token->name = &doctokenizerYYtext[1];
06685                          else
06686                            g_token->name = doctokenizerYYtext;
06687                          return TK_WORD;
06688 
06689                          /* the following is dummy code to please the 
06690                           * compiler, removing this results in a warning 
06691                           * on my machine 
06692                           */ 
06693                          goto find_rule;
06694                        }
06695         YY_BREAK
06696 case 28:
06697 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */
06698 (yy_c_buf_p) = yy_cp = yy_bp + 8;
06699 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */
06700 YY_RULE_SETUP
06701 #line 531 "doctokenizer.l"
06702 { // Special case: word "operator" followed by a HTML command
06703                                                           // avoid interpretation as "operator <"
06704                            g_token->name = doctokenizerYYtext;
06705                            return TK_WORD;
06706                          }
06707         YY_BREAK
06708 /*******************************************************/
06709 case 29:
06710 #line 540 "doctokenizer.l"
06711 case 30:
06712 /* rule 30 can match eol */
06713 YY_RULE_SETUP
06714 #line 540 "doctokenizer.l"
06715 { /* white space */ 
06716                          g_token->chars=doctokenizerYYtext;
06717                          return TK_WHITESPACE;
06718                        }
06719         YY_BREAK
06720 case 31:
06721 YY_RULE_SETUP
06722 #line 544 "doctokenizer.l"
06723 {
06724                          g_token->name = doctokenizerYYtext;
06725                          return TK_COMMAND;
06726                        }
06727         YY_BREAK
06728 case 32:
06729 /* rule 32 can match eol */
06730 YY_RULE_SETUP
06731 #line 548 "doctokenizer.l"
06732 {
06733                          if (g_insidePre)
06734                          {
06735                            /* Inside a <pre>..</pre> blank lines are treated
06736                             * as whitespace.
06737                             */
06738                            g_token->chars=doctokenizerYYtext;
06739                            return TK_WHITESPACE;
06740                          }
06741                          else
06742                          {
06743                            /* start of a new paragraph */
06744                            return TK_NEWPARA;
06745                          }
06746                        }
06747         YY_BREAK
06748 case 33:
06749 /* rule 33 can match eol */
06750 YY_RULE_SETUP
06751 #line 563 "doctokenizer.l"
06752 {
06753                          return RetVal_OK;
06754                        }
06755         YY_BREAK
06756 case 34:
06757 /* rule 34 can match eol */
06758 YY_RULE_SETUP
06759 #line 566 "doctokenizer.l"
06760 {
06761                          return RetVal_OK;
06762                        }
06763         YY_BREAK
06764 case 35:
06765 #line 570 "doctokenizer.l"
06766 case 36:
06767 /* rule 36 can match eol */
06768 #line 571 "doctokenizer.l"
06769 case 37:
06770 /* rule 37 can match eol */
06771 YY_RULE_SETUP
06772 #line 571 "doctokenizer.l"
06773 {
06774                          g_token->verb+=doctokenizerYYtext;
06775                        }
06776         YY_BREAK
06777 case 38:
06778 YY_RULE_SETUP
06779 #line 574 "doctokenizer.l"
06780 {
06781                          return RetVal_OK;
06782                        }
06783         YY_BREAK
06784 case 39:
06785 #line 578 "doctokenizer.l"
06786 case 40:
06787 /* rule 40 can match eol */
06788 #line 579 "doctokenizer.l"
06789 case 41:
06790 /* rule 41 can match eol */
06791 YY_RULE_SETUP
06792 #line 579 "doctokenizer.l"
06793 {
06794                          g_token->verb+=doctokenizerYYtext;
06795                        }
06796         YY_BREAK
06797 case 42:
06798 YY_RULE_SETUP
06799 #line 582 "doctokenizer.l"
06800 {
06801                          return RetVal_OK;
06802                        }
06803         YY_BREAK
06804 case 43:
06805 #line 586 "doctokenizer.l"
06806 case 44:
06807 /* rule 44 can match eol */
06808 #line 587 "doctokenizer.l"
06809 case 45:
06810 /* rule 45 can match eol */
06811 YY_RULE_SETUP
06812 #line 587 "doctokenizer.l"
06813 {
06814                          g_token->verb+=doctokenizerYYtext;
06815                        }
06816         YY_BREAK
06817 case 46:
06818 YY_RULE_SETUP
06819 #line 590 "doctokenizer.l"
06820 {
06821                          return RetVal_OK;
06822                        }
06823         YY_BREAK
06824 case 47:
06825 #line 594 "doctokenizer.l"
06826 case 48:
06827 /* rule 48 can match eol */
06828 #line 595 "doctokenizer.l"
06829 case 49:
06830 /* rule 49 can match eol */
06831 YY_RULE_SETUP
06832 #line 595 "doctokenizer.l"
06833 {
06834                          g_token->verb+=doctokenizerYYtext;
06835                        }
06836         YY_BREAK
06837 case 50:
06838 YY_RULE_SETUP
06839 #line 598 "doctokenizer.l"
06840 {
06841                          return RetVal_OK;
06842                        }
06843         YY_BREAK
06844 case 51:
06845 #line 602 "doctokenizer.l"
06846 case 52:
06847 /* rule 52 can match eol */
06848 #line 603 "doctokenizer.l"
06849 case 53:
06850 /* rule 53 can match eol */
06851 YY_RULE_SETUP
06852 #line 603 "doctokenizer.l"
06853 {
06854                          g_token->verb+=doctokenizerYYtext;
06855                        }
06856         YY_BREAK
06857 case 54:
06858 YY_RULE_SETUP
06859 #line 606 "doctokenizer.l"
06860 {
06861                          g_token->verb=stripEmptyLines(g_token->verb);
06862                          return RetVal_OK;
06863                        }
06864         YY_BREAK
06865 case 55:
06866 #line 611 "doctokenizer.l"
06867 case 56:
06868 /* rule 56 can match eol */
06869 #line 612 "doctokenizer.l"
06870 case 57:
06871 /* rule 57 can match eol */
06872 YY_RULE_SETUP
06873 #line 612 "doctokenizer.l"
06874 { /* Verbatim text */
06875                          g_token->verb+=doctokenizerYYtext;
06876                        }
06877         YY_BREAK
06878 case 58:
06879 YY_RULE_SETUP
06880 #line 615 "doctokenizer.l"
06881 {
06882                          return RetVal_OK;
06883                        }
06884         YY_BREAK
06885 case 59:
06886 #line 619 "doctokenizer.l"
06887 case 60:
06888 /* rule 60 can match eol */
06889 #line 620 "doctokenizer.l"
06890 case 61:
06891 /* rule 61 can match eol */
06892 YY_RULE_SETUP
06893 #line 620 "doctokenizer.l"
06894 { /* dot text */
06895                          g_token->verb+=doctokenizerYYtext;
06896                        }
06897         YY_BREAK
06898 case 62:
06899 YY_RULE_SETUP
06900 #line 623 "doctokenizer.l"
06901 {
06902                          return RetVal_OK;
06903                        }
06904         YY_BREAK
06905 case 63:
06906 #line 627 "doctokenizer.l"
06907 case 64:
06908 /* rule 64 can match eol */
06909 #line 628 "doctokenizer.l"
06910 case 65:
06911 /* rule 65 can match eol */
06912 YY_RULE_SETUP
06913 #line 628 "doctokenizer.l"
06914 { /* msc text */
06915                          g_token->verb+=doctokenizerYYtext;
06916                        }
06917         YY_BREAK
06918 case 66:
06919 YY_RULE_SETUP
06920 #line 631 "doctokenizer.l"
06921 { // quoted title
06922                          BEGIN(St_TitleQ);
06923                        } 
06924         YY_BREAK
06925 case 67:
06926 YY_RULE_SETUP
06927 #line 634 "doctokenizer.l"
06928 {
06929                          g_token->chars=doctokenizerYYtext;
06930                          return TK_WHITESPACE;
06931                        }
06932         YY_BREAK
06933 case 68:
06934 YY_RULE_SETUP
06935 #line 638 "doctokenizer.l"
06936 { // non-quoted title
06937                          unput(*doctokenizerYYtext);
06938                          BEGIN(St_TitleN);
06939                        }
06940         YY_BREAK
06941 case 69:
06942 /* rule 69 can match eol */
06943 YY_RULE_SETUP
06944 #line 642 "doctokenizer.l"
06945 {
06946                          unput(*doctokenizerYYtext);
06947                          return 0;
06948                        }
06949         YY_BREAK
06950 case 70:
06951 YY_RULE_SETUP
06952 #line 646 "doctokenizer.l"
06953 { /* symbol */
06954                          g_token->name = doctokenizerYYtext;
06955                          return TK_SYMBOL;
06956                        }
06957         YY_BREAK
06958 case 71:
06959 /* rule 71 can match eol */
06960 YY_RULE_SETUP
06961 #line 650 "doctokenizer.l"
06962 {
06963                        }
06964         YY_BREAK
06965 case 72:
06966 #line 653 "doctokenizer.l"
06967 case 73:
06968 YY_RULE_SETUP
06969 #line 653 "doctokenizer.l"
06970 { /* special command */ 
06971                          g_token->name = doctokenizerYYtext+1;
06972                          g_token->paramDir=TokenInfo::Unspecified;
06973                          return TK_COMMAND;
06974                        }
06975         YY_BREAK
06976 case 74:
06977 #line 659 "doctokenizer.l"
06978 case 75:
06979 YY_RULE_SETUP
06980 #line 659 "doctokenizer.l"
06981 { /* word */
06982                          if (doctokenizerYYtext[0]=='%') // strip % if present
06983                            g_token->name = &doctokenizerYYtext[1];
06984                          else
06985                            g_token->name = doctokenizerYYtext;
06986                          return TK_WORD;
06987                        }
06988         YY_BREAK
06989 case 76:
06990 YY_RULE_SETUP
06991 #line 666 "doctokenizer.l"
06992 {
06993                          g_token->chars=doctokenizerYYtext;
06994                          return TK_WHITESPACE;
06995                        }
06996         YY_BREAK
06997 case 77:
06998 /* rule 77 can match eol */
06999 YY_RULE_SETUP
07000 #line 670 "doctokenizer.l"
07001 { /* new line => end of title */
07002                          unput(*doctokenizerYYtext);
07003                          return 0;
07004                        }
07005         YY_BREAK
07006 case 78:
07007 YY_RULE_SETUP
07008 #line 674 "doctokenizer.l"
07009 { /* symbol */
07010                          g_token->name = doctokenizerYYtext;
07011                          return TK_SYMBOL;
07012                        }
07013         YY_BREAK
07014 case 79:
07015 #line 679 "doctokenizer.l"
07016 case 80:
07017 YY_RULE_SETUP
07018 #line 679 "doctokenizer.l"
07019 { /* special command */ 
07020                          g_token->name = doctokenizerYYtext+1;
07021                          g_token->paramDir=TokenInfo::Unspecified;
07022                          return TK_COMMAND;
07023                        }
07024         YY_BREAK
07025 case 81:
07026 #line 685 "doctokenizer.l"
07027 case 82:
07028 YY_RULE_SETUP
07029 #line 685 "doctokenizer.l"
07030 { /* word */
07031                          g_token->name = doctokenizerYYtext;
07032                          return TK_WORD;
07033                        }
07034         YY_BREAK
07035 case 83:
07036 YY_RULE_SETUP
07037 #line 689 "doctokenizer.l"
07038 {
07039                          g_token->chars=doctokenizerYYtext;
07040                          return TK_WHITESPACE;
07041                        }
07042         YY_BREAK
07043 case 84:
07044 YY_RULE_SETUP
07045 #line 693 "doctokenizer.l"
07046 { /* closing quote => end of title */
07047                          BEGIN(St_TitleA);
07048                          return 0;
07049                        }
07050         YY_BREAK
07051 case 85:
07052 /* rule 85 can match eol */
07053 YY_RULE_SETUP
07054 #line 697 "doctokenizer.l"
07055 { /* new line => end of title */
07056                          unput(*doctokenizerYYtext);
07057                          return 0;
07058                        }
07059         YY_BREAK
07060 case 86:
07061 YY_RULE_SETUP
07062 #line 701 "doctokenizer.l"
07063 { // title attribute
07064                          g_token->name = doctokenizerYYtext;
07065                          g_token->name = g_token->name.left(
07066                                g_token->name.find('=')).stripWhiteSpace();
07067                          BEGIN(St_TitleV);
07068                        }
07069         YY_BREAK
07070 case 87:
07071 YY_RULE_SETUP
07072 #line 707 "doctokenizer.l"
07073 { // attribute value
07074                          g_token->chars = doctokenizerYYtext;
07075                          BEGIN(St_TitleN);
07076                          return TK_WORD;
07077                        }
07078         YY_BREAK
07079 case 88:
07080 YY_RULE_SETUP
07081 #line 712 "doctokenizer.l"
07082 {
07083                          unput(*doctokenizerYYtext);
07084                          return 0;
07085                        }
07086         YY_BREAK
07087 case 89:
07088 /* rule 89 can match eol */
07089 YY_RULE_SETUP
07090 #line 716 "doctokenizer.l"
07091 {
07092                          return 0;
07093                        }
07094         YY_BREAK
07095 case 90:
07096 YY_RULE_SETUP
07097 #line 720 "doctokenizer.l"
07098 { // label to refer to
07099                          g_token->name=doctokenizerYYtext;
07100                          return TK_WORD;
07101                        }
07102         YY_BREAK
07103 case 91:
07104 YY_RULE_SETUP
07105 #line 724 "doctokenizer.l"
07106 { // white space
07107                          unput(' ');
07108                          return 0;
07109                        }
07110         YY_BREAK
07111 case 92:
07112 /* rule 92 can match eol */
07113 YY_RULE_SETUP
07114 #line 728 "doctokenizer.l"
07115 { // white space following by quoted string
07116                          BEGIN(St_Ref2);
07117                        }
07118         YY_BREAK
07119 case 93:
07120 /* rule 93 can match eol */
07121 YY_RULE_SETUP
07122 #line 731 "doctokenizer.l"
07123 { // new line
07124                          unput(*doctokenizerYYtext);
07125                          return 0;
07126                        }
07127         YY_BREAK
07128 case 94:
07129 YY_RULE_SETUP
07130 #line 735 "doctokenizer.l"
07131 { // any other character
07132                          unput(*doctokenizerYYtext);
07133                          return 0;
07134                        }
07135         YY_BREAK
07136 case 95:
07137 YY_RULE_SETUP
07138 #line 739 "doctokenizer.l"
07139 {
07140                          g_token->name = doctokenizerYYtext;
07141                          return TK_WORD;
07142                        }
07143         YY_BREAK
07144 case 96:
07145 YY_RULE_SETUP
07146 #line 743 "doctokenizer.l"
07147 {
07148                          BEGIN(St_Ref2);
07149                        }
07150         YY_BREAK
07151 case 97:
07152 YY_RULE_SETUP
07153 #line 746 "doctokenizer.l"
07154 { /* symbol */
07155                          g_token->name = doctokenizerYYtext;
07156                          return TK_SYMBOL;
07157                        }
07158         YY_BREAK
07159 case 98:
07160 #line 751 "doctokenizer.l"
07161 case 99:
07162 YY_RULE_SETUP
07163 #line 751 "doctokenizer.l"
07164 { /* special command */ 
07165                          g_token->name = doctokenizerYYtext+1;
07166                          g_token->paramDir=TokenInfo::Unspecified;
07167                          return TK_COMMAND;
07168                        }
07169         YY_BREAK
07170 case 100:
07171 #line 757 "doctokenizer.l"
07172 case 101:
07173 YY_RULE_SETUP
07174 #line 757 "doctokenizer.l"
07175 {
07176                          /* word */
07177                          g_token->name = doctokenizerYYtext;
07178                          return TK_WORD;
07179                        }
07180         YY_BREAK
07181 case 102:
07182 YY_RULE_SETUP
07183 #line 762 "doctokenizer.l"
07184 {
07185                          g_token->chars=doctokenizerYYtext;
07186                          return TK_WHITESPACE;
07187                        }
07188         YY_BREAK
07189 case 103:
07190 /* rule 103 can match eol */
07191 YY_RULE_SETUP
07192 #line 766 "doctokenizer.l"
07193 { /* " or \n => end of title */
07194                          return 0;
07195                        }
07196         YY_BREAK
07197 case 104:
07198 YY_RULE_SETUP
07199 #line 769 "doctokenizer.l"
07200 {
07201                          g_token->name=doctokenizerYYtext;
07202                        }
07203         YY_BREAK
07204 case 105:
07205 YY_RULE_SETUP
07206 #line 772 "doctokenizer.l"
07207 {
07208                          BEGIN(St_XRefItem2);
07209                        }
07210         YY_BREAK
07211 case 106:
07212 /* rule 106 can match eol */
07213 YY_RULE_SETUP
07214 #line 775 "doctokenizer.l"
07215 {
07216                          QString numStr=doctokenizerYYtext;
07217                          numStr=numStr.left(doctokenizerYYleng-1);
07218                          g_token->id=numStr.toInt();
07219                          return RetVal_OK;
07220                        }
07221         YY_BREAK
07222 case 107:
07223 YY_RULE_SETUP
07224 #line 781 "doctokenizer.l"
07225 { /* html style comment block */
07226                          g_commentState = YY_START;
07227                          BEGIN(St_Comment); 
07228                        }
07229         YY_BREAK
07230 case 108:
07231 YY_RULE_SETUP
07232 #line 785 "doctokenizer.l"
07233 {
07234                          g_token->name = doctokenizerYYtext+1;
07235                          g_token->name = g_token->name.left(doctokenizerYYleng-2);
07236                          return TK_WORD;
07237                        }
07238         YY_BREAK
07239 case 109:
07240 YY_RULE_SETUP
07241 #line 790 "doctokenizer.l"
07242 {
07243                          g_token->name = doctokenizerYYtext;
07244                          return TK_WORD;
07245                        }
07246         YY_BREAK
07247 case 110:
07248 /* rule 110 can match eol */
07249 YY_RULE_SETUP
07250 #line 794 "doctokenizer.l"
07251 /* param separator */
07252         YY_BREAK
07253 case 111:
07254 /* rule 111 can match eol */
07255 YY_RULE_SETUP
07256 #line 795 "doctokenizer.l"
07257 {
07258                          g_token->chars=doctokenizerYYtext;
07259                          return TK_WHITESPACE;
07260                        }
07261         YY_BREAK
07262 case 112:
07263 YY_RULE_SETUP
07264 #line 799 "doctokenizer.l"
07265 {
07266                          g_token->name = doctokenizerYYtext;
07267                          return TK_WORD;  
07268                        }
07269         YY_BREAK
07270 case 113:
07271 YY_RULE_SETUP
07272 #line 803 "doctokenizer.l"
07273 {
07274                          QString text=doctokenizerYYtext;
07275                          g_token->name = text.mid(1,text.length()-2);
07276                          return TK_WORD;
07277                        }
07278         YY_BREAK
07279 case 114:
07280 YY_RULE_SETUP
07281 #line 808 "doctokenizer.l"
07282 {
07283                          g_token->name = doctokenizerYYtext;
07284                          g_token->name = g_token->name.stripWhiteSpace();
07285                          return TK_WORD;
07286                        }
07287         YY_BREAK
07288 case 115:
07289 YY_RULE_SETUP
07290 #line 813 "doctokenizer.l"
07291 {
07292                          g_token->name = doctokenizerYYtext;
07293                          return TK_WORD;
07294                        }
07295         YY_BREAK
07296 case 116:
07297 YY_RULE_SETUP
07298 #line 817 "doctokenizer.l"
07299 { /* end of html comment */
07300                          BEGIN(g_commentState); 
07301                        }
07302         YY_BREAK
07303 case 117:
07304 YY_RULE_SETUP
07305 #line 820 "doctokenizer.l"
07306 /* inside html comment */
07307         YY_BREAK
07308 case 118:
07309 YY_RULE_SETUP
07310 #line 821 "doctokenizer.l"
07311 /* inside html comment */
07312         YY_BREAK
07313 /* State for skipping title (all chars until the end of the line) */
07314 case 119:
07315 YY_RULE_SETUP
07316 #line 825 "doctokenizer.l"
07317 
07318         YY_BREAK
07319 case 120:
07320 /* rule 120 can match eol */
07321 YY_RULE_SETUP
07322 #line 826 "doctokenizer.l"
07323 { return 0; }
07324         YY_BREAK
07325 /* State for the pass used to find the anchors and sections */ 
07326 case 121:
07327 YY_RULE_SETUP
07328 #line 830 "doctokenizer.l"
07329 
07330         YY_BREAK
07331 case 122:
07332 YY_RULE_SETUP
07333 #line 831 "doctokenizer.l"
07334 
07335         YY_BREAK
07336 case 123:
07337 YY_RULE_SETUP
07338 #line 832 "doctokenizer.l"
07339 { 
07340                                       g_secType = SectionInfo::Anchor; 
07341                                       BEGIN(St_SecLabel1); 
07342                                     }
07343         YY_BREAK
07344 case 124:
07345 YY_RULE_SETUP
07346 #line 836 "doctokenizer.l"
07347 { 
07348                                       g_secType = SectionInfo::Section; 
07349                                       BEGIN(St_SecLabel2); 
07350                                     }
07351         YY_BREAK
07352 case 125:
07353 YY_RULE_SETUP
07354 #line 840 "doctokenizer.l"
07355 { 
07356                                       g_secType = SectionInfo::Subsection; 
07357                                       BEGIN(St_SecLabel2); 
07358                                     }
07359         YY_BREAK
07360 case 126:
07361 YY_RULE_SETUP
07362 #line 844 "doctokenizer.l"
07363 { 
07364                                       g_secType = SectionInfo::Subsubsection; 
07365                                       BEGIN(St_SecLabel2); 
07366                                     }
07367         YY_BREAK
07368 case 127:
07369 YY_RULE_SETUP
07370 #line 848 "doctokenizer.l"
07371 { 
07372                                       g_secType = SectionInfo::Paragraph; 
07373                                       BEGIN(St_SecLabel2); 
07374                                     }
07375         YY_BREAK
07376 case 128:
07377 /* rule 128 can match eol */
07378 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */
07379 (yy_c_buf_p) = yy_cp -= 1;
07380 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */
07381 YY_RULE_SETUP
07382 #line 852 "doctokenizer.l"
07383 {
07384                                       g_endMarker="endverbatim";
07385                                       BEGIN(St_SecSkip);
07386                                     }
07387         YY_BREAK
07388 case 129:
07389 /* rule 129 can match eol */
07390 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */
07391 (yy_c_buf_p) = yy_cp -= 1;
07392 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */
07393 YY_RULE_SETUP
07394 #line 856 "doctokenizer.l"
07395 {
07396                                       g_endMarker="enddot";
07397                                       BEGIN(St_SecSkip);
07398                                     }
07399         YY_BREAK
07400 case 130:
07401 /* rule 130 can match eol */
07402 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */
07403 (yy_c_buf_p) = yy_cp -= 1;
07404 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */
07405 YY_RULE_SETUP
07406 #line 860 "doctokenizer.l"
07407 {
07408                                       g_endMarker="endmsc";
07409                                       BEGIN(St_SecSkip);
07410                                     }
07411         YY_BREAK
07412 case 131:
07413 /* rule 131 can match eol */
07414 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */
07415 (yy_c_buf_p) = yy_cp -= 1;
07416 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */
07417 YY_RULE_SETUP
07418 #line 864 "doctokenizer.l"
07419 {
07420                                       g_endMarker="endhtmlonly";
07421                                       BEGIN(St_SecSkip);
07422                                     }
07423         YY_BREAK
07424 case 132:
07425 /* rule 132 can match eol */
07426 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */
07427 (yy_c_buf_p) = yy_cp -= 1;
07428 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */
07429 YY_RULE_SETUP
07430 #line 868 "doctokenizer.l"
07431 {
07432                                       g_endMarker="endlatexonly";
07433                                       BEGIN(St_SecSkip);
07434                                     }
07435         YY_BREAK
07436 case 133:
07437 /* rule 133 can match eol */
07438 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */
07439 (yy_c_buf_p) = yy_cp -= 1;
07440 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */
07441 YY_RULE_SETUP
07442 #line 872 "doctokenizer.l"
07443 {
07444                                       g_endMarker="endxmlonly";
07445                                       BEGIN(St_SecSkip);
07446                                     }
07447         YY_BREAK
07448 case 134:
07449 /* rule 134 can match eol */
07450 *yy_cp = (yy_hold_char); /* undo effects of setting up doctokenizerYYtext */
07451 (yy_c_buf_p) = yy_cp -= 1;
07452 YY_DO_BEFORE_ACTION; /* set up doctokenizerYYtext again */
07453 YY_RULE_SETUP
07454 #line 876 "doctokenizer.l"
07455 {
07456                                       g_endMarker="endcode";
07457                                       BEGIN(St_SecSkip);
07458                                     }
07459         YY_BREAK
07460 case 135:
07461 YY_RULE_SETUP
07462 #line 880 "doctokenizer.l"
07463 {
07464                                       g_endMarker="-->";
07465                                       BEGIN(St_SecSkip);
07466                                     }
07467         YY_BREAK
07468 case 136:
07469 YY_RULE_SETUP
07470 #line 884 "doctokenizer.l"
07471 {
07472                                       if (strcmp(doctokenizerYYtext+1,g_endMarker)==0)
07473                                       {
07474                                         BEGIN(St_Sections);
07475                                       }
07476                                     }
07477         YY_BREAK
07478 case 137:
07479 YY_RULE_SETUP
07480 #line 890 "doctokenizer.l"
07481 {
07482                                       if (strcmp(doctokenizerYYtext,g_endMarker)==0)
07483                                       {
07484                                         BEGIN(St_Sections);
07485                                       }
07486                                     }
07487         YY_BREAK
07488 case 138:
07489 /* rule 138 can match eol */
07490 YY_RULE_SETUP
07491 #line 896 "doctokenizer.l"
07492 
07493         YY_BREAK
07494 case 139:
07495 YY_RULE_SETUP
07496 #line 897 "doctokenizer.l"
07497 
07498         YY_BREAK
07499 case 140:
07500 /* rule 140 can match eol */
07501 YY_RULE_SETUP
07502 #line 898 "doctokenizer.l"
07503 
07504         YY_BREAK
07505 case 141:
07506 YY_RULE_SETUP
07507 #line 899 "doctokenizer.l"
07508 
07509         YY_BREAK
07510 case 142:
07511 /* rule 142 can match eol */
07512 YY_RULE_SETUP
07513 #line 900 "doctokenizer.l"
07514 
07515         YY_BREAK
07516 case 143:
07517 YY_RULE_SETUP
07518 #line 901 "doctokenizer.l"
07519 { 
07520                          g_secLabel = doctokenizerYYtext;
07521                          processSection();
07522                          BEGIN(St_Sections);
07523                        }
07524         YY_BREAK
07525 case 144:
07526 #line 907 "doctokenizer.l"
07527 case 145:
07528 YY_RULE_SETUP
07529 #line 907 "doctokenizer.l"
07530 { 
07531                          g_secLabel = doctokenizerYYtext;
07532                          g_secLabel = g_secLabel.stripWhiteSpace();
07533                          BEGIN(St_SecTitle);
07534                        }
07535         YY_BREAK
07536 case 146:
07537 #line 913 "doctokenizer.l"
07538 case 147:
07539 /* rule 147 can match eol */
07540 YY_RULE_SETUP
07541 #line 913 "doctokenizer.l"
07542 {
07543                          g_secTitle = doctokenizerYYtext;
07544                          g_secTitle = g_secTitle.stripWhiteSpace();
07545                          processSection();
07546                          BEGIN(St_Sections);
07547                        }
07548         YY_BREAK
07549 case 148:
07550 YY_RULE_SETUP
07551 #line 919 "doctokenizer.l"
07552 {
07553                          warn(g_fileName,doctokenizerYYlineno,"Error: Unexpected character `%s' while looking for section label or title",doctokenizerYYtext); 
07554                        }
07555         YY_BREAK
07556 /* Generic rules that work for all states */ 
07557 case 149:
07558 /* rule 149 can match eol */
07559 YY_RULE_SETUP
07560 #line 924 "doctokenizer.l"
07561 { 
07562                          warn(g_fileName,doctokenizerYYlineno,"Error: Unexpected new line character"); 
07563                        }
07564         YY_BREAK
07565 case 150:
07566 YY_RULE_SETUP
07567 #line 927 "doctokenizer.l"
07568 { /* unescaped special character */
07569                          //warn(g_fileName,doctokenizerYYlineno,"Warning: Unexpected character `%s', assuming command \\%s was meant.",doctokenizerYYtext,doctokenizerYYtext); 
07570                          g_token->name = doctokenizerYYtext;
07571                          return TK_COMMAND;
07572                        }
07573         YY_BREAK
07574 case 151:
07575 YY_RULE_SETUP
07576 #line 932 "doctokenizer.l"
07577 { 
07578                          warn(g_fileName,doctokenizerYYlineno,"Error: Unexpected character `%s'",doctokenizerYYtext); 
07579                        }
07580         YY_BREAK
07581 case 152:
07582 YY_RULE_SETUP
07583 #line 935 "doctokenizer.l"
07584 ECHO;
07585         YY_BREAK
07586 #line 7587 "<stdout>"
07587                         case YY_STATE_EOF(INITIAL):
07588                         case YY_STATE_EOF(St_Para):
07589                         case YY_STATE_EOF(St_Comment):
07590                         case YY_STATE_EOF(St_Title):
07591                         case YY_STATE_EOF(St_TitleN):
07592                         case YY_STATE_EOF(St_TitleQ):
07593                         case YY_STATE_EOF(St_TitleA):
07594                         case YY_STATE_EOF(St_TitleV):
07595                         case YY_STATE_EOF(St_Code):
07596                         case YY_STATE_EOF(St_XmlCode):
07597                         case YY_STATE_EOF(St_HtmlOnly):
07598                         case YY_STATE_EOF(St_ManOnly):
07599                         case YY_STATE_EOF(St_LatexOnly):
07600                         case YY_STATE_EOF(St_XmlOnly):
07601                         case YY_STATE_EOF(St_Verbatim):
07602                         case YY_STATE_EOF(St_Dot):
07603                         case YY_STATE_EOF(St_Msc):
07604                         case YY_STATE_EOF(St_Param):
07605                         case YY_STATE_EOF(St_XRefItem):
07606                         case YY_STATE_EOF(St_XRefItem2):
07607                         case YY_STATE_EOF(St_File):
07608                         case YY_STATE_EOF(St_Pattern):
07609                         case YY_STATE_EOF(St_Link):
07610                         case YY_STATE_EOF(St_Ref):
07611                         case YY_STATE_EOF(St_Ref2):
07612                         case YY_STATE_EOF(St_IntRef):
07613                         case YY_STATE_EOF(St_Text):
07614                         case YY_STATE_EOF(St_SkipTitle):
07615                         case YY_STATE_EOF(St_Sections):
07616                         case YY_STATE_EOF(St_SecLabel1):
07617                         case YY_STATE_EOF(St_SecLabel2):
07618                         case YY_STATE_EOF(St_SecTitle):
07619                         case YY_STATE_EOF(St_SecSkip):
07620                                 yyterminate();
07621 
07622         case YY_END_OF_BUFFER:
07623                 {
07624                 /* Amount of text matched not including the EOB char. */
07625                 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
07626 
07627                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
07628                 *yy_cp = (yy_hold_char);
07629                 YY_RESTORE_YY_MORE_OFFSET
07630 
07631                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
07632                         {
07633                         /* We're scanning a new file or input source.  It's
07634                          * possible that this happened because the user
07635                          * just pointed doctokenizerYYin at a new source and called
07636                          * doctokenizerYYlex().  If so, then we have to assure
07637                          * consistency between YY_CURRENT_BUFFER and our
07638                          * globals.  Here is the right place to do so, because
07639                          * this is the first action (other than possibly a
07640                          * back-up) that will match for the new input source.
07641                          */
07642                         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
07643                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = doctokenizerYYin;
07644                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
07645                         }
07646 
07647                 /* Note that here we test for yy_c_buf_p "<=" to the position
07648                  * of the first EOB in the buffer, since yy_c_buf_p will
07649                  * already have been incremented past the NUL character
07650                  * (since all states make transitions on EOB to the
07651                  * end-of-buffer state).  Contrast this with the test
07652                  * in input().
07653                  */
07654                 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
07655                         { /* This was really a NUL. */
07656                         yy_state_type yy_next_state;
07657 
07658                         (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
07659 
07660                         yy_current_state = yy_get_previous_state(  );
07661 
07662                         /* Okay, we're now positioned to make the NUL
07663                          * transition.  We couldn't have
07664                          * yy_get_previous_state() go ahead and do it
07665                          * for us because it doesn't know how to deal
07666                          * with the possibility of jamming (and we don't
07667                          * want to build jamming into it because then it
07668                          * will run more slowly).
07669                          */
07670 
07671                         yy_next_state = yy_try_NUL_trans( yy_current_state );
07672 
07673                         yy_bp = (yytext_ptr) + YY_MORE_ADJ;
07674 
07675                         if ( yy_next_state )
07676                                 {
07677                                 /* Consume the NUL. */
07678                                 yy_cp = ++(yy_c_buf_p);
07679                                 yy_current_state = yy_next_state;
07680                                 goto yy_match;
07681                                 }
07682 
07683                         else
07684                                 {
07685                                 yy_cp = (yy_c_buf_p);
07686                                 goto yy_find_action;
07687                                 }
07688                         }
07689 
07690                 else switch ( yy_get_next_buffer(  ) )
07691                         {
07692                         case EOB_ACT_END_OF_FILE:
07693                                 {
07694                                 (yy_did_buffer_switch_on_eof) = 0;
07695 
07696                                 if ( doctokenizerYYwrap( ) )
07697                                         {
07698                                         /* Note: because we've taken care in
07699                                          * yy_get_next_buffer() to have set up
07700                                          * doctokenizerYYtext, we can now set up
07701                                          * yy_c_buf_p so that if some total
07702                                          * hoser (like flex itself) wants to
07703                                          * call the scanner after we return the
07704                                          * YY_NULL, it'll still work - another
07705                                          * YY_NULL will get returned.
07706                                          */
07707                                         (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
07708 
07709                                         yy_act = YY_STATE_EOF(YY_START);
07710                                         goto do_action;
07711                                         }
07712 
07713                                 else
07714                                         {
07715                                         if ( ! (yy_did_buffer_switch_on_eof) )
07716                                                 YY_NEW_FILE;
07717                                         }
07718                                 break;
07719                                 }
07720 
07721                         case EOB_ACT_CONTINUE_SCAN:
07722                                 (yy_c_buf_p) =
07723                                         (yytext_ptr) + yy_amount_of_matched_text;
07724 
07725                                 yy_current_state = yy_get_previous_state(  );
07726 
07727                                 yy_cp = (yy_c_buf_p);
07728                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
07729                                 goto yy_match;
07730 
07731                         case EOB_ACT_LAST_MATCH:
07732                                 (yy_c_buf_p) =
07733                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
07734 
07735                                 yy_current_state = yy_get_previous_state(  );
07736 
07737                                 yy_cp = (yy_c_buf_p);
07738                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
07739                                 goto yy_find_action;
07740                         }
07741                 break;
07742                 }
07743 
07744         default:
07745                 YY_FATAL_ERROR(
07746                         "fatal flex scanner internal error--no action found" );
07747         } /* end of action switch */
07748                 } /* end of scanning one token */
07749 } /* end of doctokenizerYYlex */
07750 
07751 /* yy_get_next_buffer - try to read in a new buffer
07752  *
07753  * Returns a code representing an action:
07754  *      EOB_ACT_LAST_MATCH -
07755  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
07756  *      EOB_ACT_END_OF_FILE - end of file
07757  */
07758 static int yy_get_next_buffer (void)
07759 {
07760         register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
07761         register char *source = (yytext_ptr);
07762         register int number_to_move, i;
07763         int ret_val;
07764 
07765         if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
07766                 YY_FATAL_ERROR(
07767                 "fatal flex scanner internal error--end of buffer missed" );
07768 
07769         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
07770                 { /* Don't try to fill the buffer, so this is an EOF. */
07771                 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
07772                         {
07773                         /* We matched a single character, the EOB, so
07774                          * treat this as a final EOF.
07775                          */
07776                         return EOB_ACT_END_OF_FILE;
07777                         }
07778 
07779                 else
07780                         {
07781                         /* We matched some text prior to the EOB, first
07782                          * process it.
07783                          */
07784                         return EOB_ACT_LAST_MATCH;
07785                         }
07786                 }
07787 
07788         /* Try to read more data. */
07789 
07790         /* First move last chars to start of buffer. */
07791         number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
07792 
07793         for ( i = 0; i < number_to_move; ++i )
07794                 *(dest++) = *(source++);
07795 
07796         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
07797                 /* don't do the read, it's not guaranteed to return an EOF,
07798                  * just force an EOF
07799                  */
07800                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
07801 
07802         else
07803                 {
07804                         int num_to_read =
07805                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
07806 
07807                 while ( num_to_read <= 0 )
07808                         { /* Not enough room in the buffer - grow it. */
07809 
07810                         YY_FATAL_ERROR(
07811 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
07812 
07813                         }
07814 
07815                 if ( num_to_read > YY_READ_BUF_SIZE )
07816                         num_to_read = YY_READ_BUF_SIZE;
07817 
07818                 /* Read in more data. */
07819                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
07820                         (yy_n_chars), num_to_read );
07821 
07822                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
07823                 }
07824 
07825         if ( (yy_n_chars) == 0 )
07826                 {
07827                 if ( number_to_move == YY_MORE_ADJ )
07828                         {
07829                         ret_val = EOB_ACT_END_OF_FILE;
07830                         doctokenizerYYrestart(doctokenizerYYin  );
07831                         }
07832 
07833                 else
07834                         {
07835                         ret_val = EOB_ACT_LAST_MATCH;
07836                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
07837                                 YY_BUFFER_EOF_PENDING;
07838                         }
07839                 }
07840 
07841         else
07842                 ret_val = EOB_ACT_CONTINUE_SCAN;
07843 
07844         (yy_n_chars) += number_to_move;
07845         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
07846         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
07847 
07848         (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
07849 
07850         return ret_val;
07851 }
07852 
07853 /* yy_get_previous_state - get the state just before the EOB char was reached */
07854 
07855     static yy_state_type yy_get_previous_state (void)
07856 {
07857         register yy_state_type yy_current_state;
07858         register char *yy_cp;
07859     
07860         yy_current_state = (yy_start);
07861         yy_current_state += YY_AT_BOL();
07862 
07863         (yy_state_ptr) = (yy_state_buf);
07864         *(yy_state_ptr)++ = yy_current_state;
07865 
07866         for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
07867                 {
07868                 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
07869                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
07870                         {
07871                         yy_current_state = (int) yy_def[yy_current_state];
07872                         if ( yy_current_state >= 1458 )
07873                                 yy_c = yy_meta[(unsigned int) yy_c];
07874                         }
07875                 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
07876                 *(yy_state_ptr)++ = yy_current_state;
07877                 }
07878 
07879         return yy_current_state;
07880 }
07881 
07882 /* yy_try_NUL_trans - try to make a transition on the NUL character
07883  *
07884  * synopsis
07885  *      next_state = yy_try_NUL_trans( current_state );
07886  */
07887     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
07888 {
07889         register int yy_is_jam;
07890     
07891         register YY_CHAR yy_c = 1;
07892         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
07893                 {
07894                 yy_current_state = (int) yy_def[yy_current_state];
07895                 if ( yy_current_state >= 1458 )
07896                         yy_c = yy_meta[(unsigned int) yy_c];
07897                 }
07898         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
07899         yy_is_jam = (yy_current_state == 1457);
07900         if ( ! yy_is_jam )
07901                 *(yy_state_ptr)++ = yy_current_state;
07902 
07903         return yy_is_jam ? 0 : yy_current_state;
07904 }
07905 
07906     static void yyunput (int c, register char * yy_bp )
07907 {
07908         register char *yy_cp;
07909     
07910     yy_cp = (yy_c_buf_p);
07911 
07912         /* undo effects of setting up doctokenizerYYtext */
07913         *yy_cp = (yy_hold_char);
07914 
07915         if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
07916                 { /* need to shift things up to make room */
07917                 /* +2 for EOB chars. */
07918                 register int number_to_move = (yy_n_chars) + 2;
07919                 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
07920                                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
07921                 register char *source =
07922                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
07923 
07924                 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
07925                         *--dest = *--source;
07926 
07927                 yy_cp += (int) (dest - source);
07928                 yy_bp += (int) (dest - source);
07929                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
07930                         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
07931 
07932                 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
07933                         YY_FATAL_ERROR( "flex scanner push-back overflow" );
07934                 }
07935 
07936         *--yy_cp = (char) c;
07937 
07938     if ( c == '\n' ){
07939         --doctokenizerYYlineno;
07940     }
07941 
07942         (yytext_ptr) = yy_bp;
07943         (yy_hold_char) = *yy_cp;
07944         (yy_c_buf_p) = yy_cp;
07945 }
07946 
07947 #ifndef YY_NO_INPUT
07948 #ifdef __cplusplus
07949     static int yyinput (void)
07950 #else
07951     static int input  (void)
07952 #endif
07953 
07954 {
07955         int c;
07956     
07957         *(yy_c_buf_p) = (yy_hold_char);
07958 
07959         if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
07960                 {
07961                 /* yy_c_buf_p now points to the character we want to return.
07962                  * If this occurs *before* the EOB characters, then it's a
07963                  * valid NUL; if not, then we've hit the end of the buffer.
07964                  */
07965                 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
07966                         /* This was really a NUL. */
07967                         *(yy_c_buf_p) = '\0';
07968 
07969                 else
07970                         { /* need more input */
07971                         int offset = (yy_c_buf_p) - (yytext_ptr);
07972                         ++(yy_c_buf_p);
07973 
07974                         switch ( yy_get_next_buffer(  ) )
07975                                 {
07976                                 case EOB_ACT_LAST_MATCH:
07977                                         /* This happens because yy_g_n_b()
07978                                          * sees that we've accumulated a
07979                                          * token and flags that we need to
07980                                          * try matching the token before
07981                                          * proceeding.  But for input(),
07982                                          * there's no matching to consider.
07983                                          * So convert the EOB_ACT_LAST_MATCH
07984                                          * to EOB_ACT_END_OF_FILE.
07985                                          */
07986 
07987                                         /* Reset buffer status. */
07988                                         doctokenizerYYrestart(doctokenizerYYin );
07989 
07990                                         /*FALLTHROUGH*/
07991 
07992                                 case EOB_ACT_END_OF_FILE:
07993                                         {
07994                                         if ( doctokenizerYYwrap( ) )
07995                                                 return 0;
07996 
07997                                         if ( ! (yy_did_buffer_switch_on_eof) )
07998                                                 YY_NEW_FILE;
07999 #ifdef __cplusplus
08000                                         return yyinput();
08001 #else
08002                                         return input();
08003 #endif
08004                                         }
08005 
08006                                 case EOB_ACT_CONTINUE_SCAN:
08007                                         (yy_c_buf_p) = (yytext_ptr) + offset;
08008                                         break;
08009                                 }
08010                         }
08011                 }
08012 
08013         c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
08014         *(yy_c_buf_p) = '\0';   /* preserve doctokenizerYYtext */
08015         (yy_hold_char) = *++(yy_c_buf_p);
08016 
08017         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
08018         if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )
08019                    
08020     doctokenizerYYlineno++;
08021 ;
08022 
08023         return c;
08024 }
08025 #endif  /* ifndef YY_NO_INPUT */
08026 
08032     void doctokenizerYYrestart  (FILE * input_file )
08033 {
08034     
08035         if ( ! YY_CURRENT_BUFFER ){
08036         doctokenizerYYensure_buffer_stack ();
08037                 YY_CURRENT_BUFFER_LVALUE =
08038             doctokenizerYY_create_buffer(doctokenizerYYin,YY_BUF_SIZE );
08039         }
08040 
08041         doctokenizerYY_init_buffer(YY_CURRENT_BUFFER,input_file );
08042         doctokenizerYY_load_buffer_state( );
08043 }
08044 
08049     void doctokenizerYY_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
08050 {
08051     
08052         /* TODO. We should be able to replace this entire function body
08053          * with
08054          *              doctokenizerYYpop_buffer_state();
08055          *              doctokenizerYYpush_buffer_state(new_buffer);
08056      */
08057         doctokenizerYYensure_buffer_stack ();
08058         if ( YY_CURRENT_BUFFER == new_buffer )
08059                 return;
08060 
08061         if ( YY_CURRENT_BUFFER )
08062                 {
08063                 /* Flush out information for old buffer. */
08064                 *(yy_c_buf_p) = (yy_hold_char);
08065                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
08066                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
08067                 }
08068 
08069         YY_CURRENT_BUFFER_LVALUE = new_buffer;
08070         doctokenizerYY_load_buffer_state( );
08071 
08072         /* We don't actually know whether we did this switch during
08073          * EOF (doctokenizerYYwrap()) processing, but the only time this flag
08074          * is looked at is after doctokenizerYYwrap() is called, so it's safe
08075          * to go ahead and always set it.
08076          */
08077         (yy_did_buffer_switch_on_eof) = 1;
08078 }
08079 
08080 static void doctokenizerYY_load_buffer_state  (void)
08081 {
08082         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
08083         (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
08084         doctokenizerYYin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
08085         (yy_hold_char) = *(yy_c_buf_p);
08086 }
08087 
08094     YY_BUFFER_STATE doctokenizerYY_create_buffer  (FILE * file, int  size )
08095 {
08096         YY_BUFFER_STATE b;
08097     
08098         b = (YY_BUFFER_STATE) doctokenizerYYalloc(sizeof( struct yy_buffer_state )  );
08099         if ( ! b )
08100                 YY_FATAL_ERROR( "out of dynamic memory in doctokenizerYY_create_buffer()" );
08101 
08102         b->yy_buf_size = size;
08103 
08104         /* yy_ch_buf has to be 2 characters longer than the size given because
08105          * we need to put in 2 end-of-buffer characters.
08106          */
08107         b->yy_ch_buf = (char *) doctokenizerYYalloc(b->yy_buf_size + 2  );
08108         if ( ! b->yy_ch_buf )
08109                 YY_FATAL_ERROR( "out of dynamic memory in doctokenizerYY_create_buffer()" );
08110 
08111         b->yy_is_our_buffer = 1;
08112 
08113         doctokenizerYY_init_buffer(b,file );
08114 
08115         return b;
08116 }
08117 
08122     void doctokenizerYY_delete_buffer (YY_BUFFER_STATE  b )
08123 {
08124     
08125         if ( ! b )
08126                 return;
08127 
08128         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
08129                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
08130 
08131         if ( b->yy_is_our_buffer )
08132                 doctokenizerYYfree((void *) b->yy_ch_buf  );
08133 
08134         doctokenizerYYfree((void *) b  );
08135 }
08136 
08137 #ifndef __cplusplus
08138 extern int isatty (int );
08139 #endif /* __cplusplus */
08140     
08141 /* Initializes or reinitializes a buffer.
08142  * This function is sometimes called more than once on the same buffer,
08143  * such as during a doctokenizerYYrestart() or at EOF.
08144  */
08145     static void doctokenizerYY_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
08146 
08147 {
08148         int oerrno = errno;
08149     
08150         doctokenizerYY_flush_buffer(b );
08151 
08152         b->yy_input_file = file;
08153         b->yy_fill_buffer = 1;
08154 
08155     /* If b is the current buffer, then doctokenizerYY_init_buffer was _probably_
08156      * called from doctokenizerYYrestart() or through yy_get_next_buffer.
08157      * In that case, we don't want to reset the lineno or column.
08158      */
08159     if (b != YY_CURRENT_BUFFER){
08160         b->yy_bs_lineno = 1;
08161         b->yy_bs_column = 0;
08162     }
08163 
08164         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
08165     
08166         errno = oerrno;
08167 }
08168 
08173     void doctokenizerYY_flush_buffer (YY_BUFFER_STATE  b )
08174 {
08175         if ( ! b )
08176                 return;
08177 
08178         b->yy_n_chars = 0;
08179 
08180         /* We always need two end-of-buffer characters.  The first causes
08181          * a transition to the end-of-buffer state.  The second causes
08182          * a jam in that state.
08183          */
08184         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
08185         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
08186 
08187         b->yy_buf_pos = &b->yy_ch_buf[0];
08188 
08189         b->yy_at_bol = 1;
08190         b->yy_buffer_status = YY_BUFFER_NEW;
08191 
08192         if ( b == YY_CURRENT_BUFFER )
08193                 doctokenizerYY_load_buffer_state( );
08194 }
08195 
08202 void doctokenizerYYpush_buffer_state (YY_BUFFER_STATE new_buffer )
08203 {
08204         if (new_buffer == NULL)
08205                 return;
08206 
08207         doctokenizerYYensure_buffer_stack();
08208 
08209         /* This block is copied from doctokenizerYY_switch_to_buffer. */
08210         if ( YY_CURRENT_BUFFER )
08211                 {
08212                 /* Flush out information for old buffer. */
08213                 *(yy_c_buf_p) = (yy_hold_char);
08214                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
08215                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
08216                 }
08217 
08218         /* Only push if top exists. Otherwise, replace top. */
08219         if (YY_CURRENT_BUFFER)
08220                 (yy_buffer_stack_top)++;
08221         YY_CURRENT_BUFFER_LVALUE = new_buffer;
08222 
08223         /* copied from doctokenizerYY_switch_to_buffer. */
08224         doctokenizerYY_load_buffer_state( );
08225         (yy_did_buffer_switch_on_eof) = 1;
08226 }
08227 
08232 void doctokenizerYYpop_buffer_state (void)
08233 {
08234         if (!YY_CURRENT_BUFFER)
08235                 return;
08236 
08237         doctokenizerYY_delete_buffer(YY_CURRENT_BUFFER );
08238         YY_CURRENT_BUFFER_LVALUE = NULL;
08239         if ((yy_buffer_stack_top) > 0)
08240                 --(yy_buffer_stack_top);
08241 
08242         if (YY_CURRENT_BUFFER) {
08243                 doctokenizerYY_load_buffer_state( );
08244                 (yy_did_buffer_switch_on_eof) = 1;
08245         }
08246 }
08247 
08248 /* Allocates the stack if it does not exist.
08249  *  Guarantees space for at least one push.
08250  */
08251 static void doctokenizerYYensure_buffer_stack (void)
08252 {
08253         int num_to_alloc;
08254     
08255         if (!(yy_buffer_stack)) {
08256 
08257                 /* First allocation is just for 2 elements, since we don't know if this
08258                  * scanner will even need a stack. We use 2 instead of 1 to avoid an
08259                  * immediate realloc on the next call.
08260          */
08261                 num_to_alloc = 1;
08262                 (yy_buffer_stack) = (struct yy_buffer_state**)doctokenizerYYalloc
08263                                                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
08264                                                                 );
08265                 
08266                 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
08267                                 
08268                 (yy_buffer_stack_max) = num_to_alloc;
08269                 (yy_buffer_stack_top) = 0;
08270                 return;
08271         }
08272 
08273         if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
08274 
08275                 /* Increase the buffer to prepare for a possible push. */
08276                 int grow_size = 8 /* arbitrary grow size */;
08277 
08278                 num_to_alloc = (yy_buffer_stack_max) + grow_size;
08279                 (yy_buffer_stack) = (struct yy_buffer_state**)doctokenizerYYrealloc
08280                                                                 ((yy_buffer_stack),
08281                                                                 num_to_alloc * sizeof(struct yy_buffer_state*)
08282                                                                 );
08283 
08284                 /* zero only the new slots.*/
08285                 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
08286                 (yy_buffer_stack_max) = num_to_alloc;
08287         }
08288 }
08289 
08296 YY_BUFFER_STATE doctokenizerYY_scan_buffer  (char * base, yy_size_t  size )
08297 {
08298         YY_BUFFER_STATE b;
08299     
08300         if ( size < 2 ||
08301              base[size-2] != YY_END_OF_BUFFER_CHAR ||
08302              base[size-1] != YY_END_OF_BUFFER_CHAR )
08303                 /* They forgot to leave room for the EOB's. */
08304                 return 0;
08305 
08306         b = (YY_BUFFER_STATE) doctokenizerYYalloc(sizeof( struct yy_buffer_state )  );
08307         if ( ! b )
08308                 YY_FATAL_ERROR( "out of dynamic memory in doctokenizerYY_scan_buffer()" );
08309 
08310         b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
08311         b->yy_buf_pos = b->yy_ch_buf = base;
08312         b->yy_is_our_buffer = 0;
08313         b->yy_input_file = 0;
08314         b->yy_n_chars = b->yy_buf_size;
08315         b->yy_is_interactive = 0;
08316         b->yy_at_bol = 1;
08317         b->yy_fill_buffer = 0;
08318         b->yy_buffer_status = YY_BUFFER_NEW;
08319 
08320         doctokenizerYY_switch_to_buffer(b  );
08321 
08322         return b;
08323 }
08324 
08333 YY_BUFFER_STATE doctokenizerYY_scan_string (yyconst char * yystr )
08334 {
08335     
08336         return doctokenizerYY_scan_bytes(yystr,strlen(yystr) );
08337 }
08338 
08346 YY_BUFFER_STATE doctokenizerYY_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
08347 {
08348         YY_BUFFER_STATE b;
08349         char *buf;
08350         yy_size_t n;
08351         int i;
08352     
08353         /* Get memory for full buffer, including space for trailing EOB's. */
08354         n = _yybytes_len + 2;
08355         buf = (char *) doctokenizerYYalloc(n  );
08356         if ( ! buf )
08357                 YY_FATAL_ERROR( "out of dynamic memory in doctokenizerYY_scan_bytes()" );
08358 
08359         for ( i = 0; i < _yybytes_len; ++i )
08360                 buf[i] = yybytes[i];
08361 
08362         buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
08363 
08364         b = doctokenizerYY_scan_buffer(buf,n );
08365         if ( ! b )
08366                 YY_FATAL_ERROR( "bad buffer in doctokenizerYY_scan_bytes()" );
08367 
08368         /* It's okay to grow etc. this buffer, and we should throw it
08369          * away when we're done.
08370          */
08371         b->yy_is_our_buffer = 1;
08372 
08373         return b;
08374 }
08375 
08376 #ifndef YY_EXIT_FAILURE
08377 #define YY_EXIT_FAILURE 2
08378 #endif
08379 
08380 static void yy_fatal_error (yyconst char* msg )
08381 {
08382         (void) fprintf( stderr, "%s\n", msg );
08383         exit( YY_EXIT_FAILURE );
08384 }
08385 
08386 /* Redefine yyless() so it works in section 3 code. */
08387 
08388 #undef yyless
08389 #define yyless(n) \
08390         do \
08391                 { \
08392                 /* Undo effects of setting up doctokenizerYYtext. */ \
08393         int yyless_macro_arg = (n); \
08394         YY_LESS_LINENO(yyless_macro_arg);\
08395                 doctokenizerYYtext[doctokenizerYYleng] = (yy_hold_char); \
08396                 (yy_c_buf_p) = doctokenizerYYtext + yyless_macro_arg; \
08397                 (yy_hold_char) = *(yy_c_buf_p); \
08398                 *(yy_c_buf_p) = '\0'; \
08399                 doctokenizerYYleng = yyless_macro_arg; \
08400                 } \
08401         while ( 0 )
08402 
08403 /* Accessor  methods (get/set functions) to struct members. */
08404 
08408 int doctokenizerYYget_lineno  (void)
08409 {
08410         
08411     return doctokenizerYYlineno;
08412 }
08413 
08417 FILE *doctokenizerYYget_in  (void)
08418 {
08419         return doctokenizerYYin;
08420 }
08421 
08425 FILE *doctokenizerYYget_out  (void)
08426 {
08427         return doctokenizerYYout;
08428 }
08429 
08433 int doctokenizerYYget_leng  (void)
08434 {
08435         return doctokenizerYYleng;
08436 }
08437 
08442 char *doctokenizerYYget_text  (void)
08443 {
08444         return doctokenizerYYtext;
08445 }
08446 
08451 void doctokenizerYYset_lineno (int  line_number )
08452 {
08453     
08454     doctokenizerYYlineno = line_number;
08455 }
08456 
08463 void doctokenizerYYset_in (FILE *  in_str )
08464 {
08465         doctokenizerYYin = in_str ;
08466 }
08467 
08468 void doctokenizerYYset_out (FILE *  out_str )
08469 {
08470         doctokenizerYYout = out_str ;
08471 }
08472 
08473 int doctokenizerYYget_debug  (void)
08474 {
08475         return doctokenizerYY_flex_debug;
08476 }
08477 
08478 void doctokenizerYYset_debug (int  bdebug )
08479 {
08480         doctokenizerYY_flex_debug = bdebug ;
08481 }
08482 
08483 static int yy_init_globals (void)
08484 {
08485         /* Initialization is the same as for the non-reentrant scanner.
08486      * This function is called from doctokenizerYYlex_destroy(), so don't allocate here.
08487      */
08488 
08489     /* We do not touch doctokenizerYYlineno unless the option is enabled. */
08490     doctokenizerYYlineno =  1;
08491     
08492     (yy_buffer_stack) = 0;
08493     (yy_buffer_stack_top) = 0;
08494     (yy_buffer_stack_max) = 0;
08495     (yy_c_buf_p) = (char *) 0;
08496     (yy_init) = 0;
08497     (yy_start) = 0;
08498 
08499     (yy_state_buf) = 0;
08500     (yy_state_ptr) = 0;
08501     (yy_full_match) = 0;
08502     (yy_lp) = 0;
08503 
08504 /* Defined in main.c */
08505 #ifdef YY_STDINIT
08506     doctokenizerYYin = stdin;
08507     doctokenizerYYout = stdout;
08508 #else
08509     doctokenizerYYin = (FILE *) 0;
08510     doctokenizerYYout = (FILE *) 0;
08511 #endif
08512 
08513     /* For future reference: Set errno on error, since we are called by
08514      * doctokenizerYYlex_init()
08515      */
08516     return 0;
08517 }
08518 
08519 /* doctokenizerYYlex_destroy is for both reentrant and non-reentrant scanners. */
08520 int doctokenizerYYlex_destroy  (void)
08521 {
08522     
08523     /* Pop the buffer stack, destroying each element. */
08524         while(YY_CURRENT_BUFFER){
08525                 doctokenizerYY_delete_buffer(YY_CURRENT_BUFFER  );
08526                 YY_CURRENT_BUFFER_LVALUE = NULL;
08527                 doctokenizerYYpop_buffer_state();
08528         }
08529 
08530         /* Destroy the stack itself. */
08531         doctokenizerYYfree((yy_buffer_stack) );
08532         (yy_buffer_stack) = NULL;
08533 
08534     doctokenizerYYfree ( (yy_state_buf) );
08535     (yy_state_buf)  = NULL;
08536 
08537     /* Reset the globals. This is important in a non-reentrant scanner so the next time
08538      * doctokenizerYYlex() is called, initialization will occur. */
08539     yy_init_globals( );
08540 
08541     return 0;
08542 }
08543 
08544 /*
08545  * Internal utility routines.
08546  */
08547 
08548 #ifndef yytext_ptr
08549 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
08550 {
08551         register int i;
08552         for ( i = 0; i < n; ++i )
08553                 s1[i] = s2[i];
08554 }
08555 #endif
08556 
08557 #ifdef YY_NEED_STRLEN
08558 static int yy_flex_strlen (yyconst char * s )
08559 {
08560         register int n;
08561         for ( n = 0; s[n]; ++n )
08562                 ;
08563 
08564         return n;
08565 }
08566 #endif
08567 
08568 void *doctokenizerYYalloc (yy_size_t  size )
08569 {
08570         return (void *) malloc( size );
08571 }
08572 
08573 void *doctokenizerYYrealloc  (void * ptr, yy_size_t  size )
08574 {
08575         /* The cast to (char *) in the following accommodates both
08576          * implementations that use char* generic pointers, and those
08577          * that use void* generic pointers.  It works with the latter
08578          * because both ANSI C and C++ allow castless assignment from
08579          * any pointer type to void*, and deal with argument conversions
08580          * as though doing an assignment.
08581          */
08582         return (void *) realloc( (char *) ptr, size );
08583 }
08584 
08585 void doctokenizerYYfree (void * ptr )
08586 {
08587         free( (char *) ptr );   /* see doctokenizerYYrealloc() for (char *) cast */
08588 }
08589 
08590 #define YYTABLES_NAME "yytables"
08591 
08592 #line 935 "doctokenizer.l"
08593 
08594 
08595 
08596 //--------------------------------------------------------------------------
08597 
08598 void doctokenizerYYFindSections(const char *input,Definition *d,
08599                                 MemberGroup *mg,const char *fileName)
08600 {
08601   if (input==0) return;
08602   g_inputString = input;
08603   //printf("parsing --->`%s'<---\n",input);
08604   g_inputPos    = 0;
08605   g_definition  = d;
08606   g_memberGroup = mg;
08607   g_fileName    = fileName;
08608   BEGIN(St_Sections);
08609   doctokenizerYYlineno = 1;
08610   doctokenizerYYlex();
08611 }
08612 
08613 void doctokenizerYYinit(const char *input,const char *fileName)
08614 {
08615   g_inputString = input;
08616   g_inputPos    = 0;
08617   g_fileName    = fileName;
08618   g_insidePre   = FALSE;
08619   BEGIN(St_Para);
08620 }
08621 
08622 void doctokenizerYYsetStatePara()
08623 {
08624   BEGIN(St_Para);
08625 }
08626 
08627 void doctokenizerYYsetStateTitle()
08628 {
08629   BEGIN(St_Title);
08630 }
08631 
08632 void doctokenizerYYsetStateTitleAttrValue()
08633 {
08634   BEGIN(St_TitleV);
08635 }
08636 
08637 void doctokenizerYYsetStateCode()
08638 {
08639   g_token->verb="";
08640   BEGIN(St_Code);
08641 }
08642 
08643 void doctokenizerYYsetStateXmlCode()
08644 {
08645   g_token->verb="";
08646   BEGIN(St_XmlCode);
08647 }
08648 
08649 void doctokenizerYYsetStateHtmlOnly()
08650 {
08651   g_token->verb="";
08652   BEGIN(St_HtmlOnly);
08653 }
08654 
08655 void doctokenizerYYsetStateManOnly()
08656 {
08657   g_token->verb="";
08658   BEGIN(St_ManOnly);
08659 }
08660 
08661 void doctokenizerYYsetStateXmlOnly()
08662 {
08663   g_token->verb="";
08664   BEGIN(St_XmlOnly);
08665 }
08666 
08667 void doctokenizerYYsetStateLatexOnly()
08668 {
08669   g_token->verb="";
08670   BEGIN(St_LatexOnly);
08671 }
08672 
08673 void doctokenizerYYsetStateVerbatim()
08674 {
08675   g_token->verb="";
08676   BEGIN(St_Verbatim);
08677 }
08678 
08679 void doctokenizerYYsetStateDot()
08680 {
08681   g_token->verb="";
08682   BEGIN(St_Dot);
08683 }
08684 
08685 void doctokenizerYYsetStateMsc()
08686 {
08687   g_token->verb="";
08688   BEGIN(St_Msc);
08689 }
08690 
08691 void doctokenizerYYsetStateParam()
08692 {
08693   BEGIN(St_Param);
08694 }
08695 
08696 void doctokenizerYYsetStateXRefItem()
08697 {
08698   BEGIN(St_XRefItem);
08699 }
08700 
08701 void doctokenizerYYsetStateFile()
08702 {
08703   BEGIN(St_File);
08704 }
08705 
08706 void doctokenizerYYsetStatePattern()
08707 {
08708   BEGIN(St_Pattern);
08709 }
08710 
08711 void doctokenizerYYsetStateLink()
08712 {
08713   BEGIN(St_Link);
08714 }
08715 
08716 void doctokenizerYYsetStateRef()
08717 {
08718   BEGIN(St_Ref);
08719 }
08720 
08721 void doctokenizerYYsetStateInternalRef()
08722 {
08723   BEGIN(St_IntRef);
08724 }
08725 
08726 void doctokenizerYYsetStateText()
08727 {
08728   BEGIN(St_Text);
08729 }
08730 
08731 void doctokenizerYYsetStateSkipTitle()
08732 {
08733   BEGIN(St_SkipTitle);
08734 }
08735 
08736 void doctokenizerYYcleanup()
08737 {
08738   doctokenizerYY_delete_buffer(YY_CURRENT_BUFFER );
08739 }
08740 
08741 void doctokenizerYYsetInsidePre(bool b)
08742 {
08743   g_insidePre = b;
08744 }
08745 
08746 void doctokenizerYYpushBackHtmlTag(const char *tag)
08747 {
08748   QCString tagName = tag;
08749   int i,l = tagName.length();
08750   unput('>');
08751   for (i=l-1;i>=0;i--)
08752   {
08753     unput(tag[i]);
08754   }
08755   unput('<');
08756 }
08757 
08758 #if !defined(YY_FLEX_SUBMINOR_VERSION) 
08759 extern "C" { // some bogus code to keep the compiler happy
08760     void doctokenizerYYdummy() { yy_flex_realloc(0,0); }
08761 }
08762 #endif
08763 
08764 



Generated on Mon Mar 31 10:58:35 2008 by  doxygen 1.5.1