diff options
author | unknown <monty@hundin.mysql.fi> | 2002-08-23 15:18:46 +0300 |
---|---|---|
committer | unknown <monty@hundin.mysql.fi> | 2002-08-23 15:18:46 +0300 |
commit | a0c16f907ecce4a0489fd7cd7189144259de8c43 (patch) | |
tree | 8a70c8c1ded594ffe9a18e87228d54618d30dc14 | |
parent | 41abdd90cc3bae76131022f99090d259bf111426 (diff) | |
parent | 3452e9dd951cd7a3e59db61ffd34c082a49152de (diff) | |
download | mariadb-git-a0c16f907ecce4a0489fd7cd7189144259de8c43.tar.gz |
merge with 3.23 tree
configure.in:
Auto merged
Docs/manual.texi:
Auto merged
sql/mysqld.cc:
Auto merged
innobase/configure.in:
merge
mysys/my_pthread.c:
merge
-rw-r--r-- | Docs/manual.texi | 2 | ||||
-rw-r--r-- | innobase/configure.in | 4 | ||||
-rw-r--r-- | innobase/include/pars0grm.h | 168 | ||||
-rw-r--r-- | innobase/pars/lexyy.c | 6666 | ||||
-rw-r--r-- | innobase/pars/pars0grm.c | 662 | ||||
-rw-r--r-- | innobase/pars/pars0grm.h | 168 | ||||
-rw-r--r-- | innobase/pars/pars0grm.y | 10 | ||||
-rw-r--r-- | innobase/pars/pars0lex.l | 29 |
8 files changed, 1465 insertions, 6244 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi index 52afdf9aa73..574a424f641 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -51007,6 +51007,8 @@ not yet 100% confident in this code. @appendixsubsec Changes in release 3.23.53 @itemize @bullet @item +Fixed problem with @code{configure ... --localstatedir=...}. +@item Fixed problem with @code{UNSIGNED BIGINT} on AIX (again). @item Fixed bug in pthread_mutex_trylock() on HPUX 11.0 diff --git a/innobase/configure.in b/innobase/configure.in index ef9cbcf9310..237db834f7a 100644 --- a/innobase/configure.in +++ b/innobase/configure.in @@ -97,8 +97,8 @@ case "$target_os" in sysv5uw7*) # Problem when linking on SCO CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE";; - openbsd*) - CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE";; + openbsd*) + CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE";; esac case "$target" in diff --git a/innobase/include/pars0grm.h b/innobase/include/pars0grm.h index d0b4b4c2e42..b2790949057 100644 --- a/innobase/include/pars0grm.h +++ b/innobase/include/pars0grm.h @@ -1,90 +1,90 @@ #ifndef YYSTYPE #define YYSTYPE int #endif -#define PARS_INT_LIT 258 -#define PARS_FLOAT_LIT 259 -#define PARS_STR_LIT 260 -#define PARS_NULL_LIT 261 -#define PARS_ID_TOKEN 262 -#define PARS_AND_TOKEN 263 -#define PARS_OR_TOKEN 264 -#define PARS_NOT_TOKEN 265 -#define PARS_GE_TOKEN 266 -#define PARS_LE_TOKEN 267 -#define PARS_NE_TOKEN 268 -#define PARS_PROCEDURE_TOKEN 269 -#define PARS_IN_TOKEN 270 -#define PARS_OUT_TOKEN 271 -#define PARS_INT_TOKEN 272 -#define PARS_INTEGER_TOKEN 273 -#define PARS_FLOAT_TOKEN 274 -#define PARS_CHAR_TOKEN 275 -#define PARS_IS_TOKEN 276 -#define PARS_BEGIN_TOKEN 277 -#define PARS_END_TOKEN 278 -#define PARS_IF_TOKEN 279 -#define PARS_THEN_TOKEN 280 -#define PARS_ELSE_TOKEN 281 -#define PARS_ELSIF_TOKEN 282 -#define PARS_LOOP_TOKEN 283 -#define PARS_WHILE_TOKEN 284 -#define PARS_RETURN_TOKEN 285 -#define PARS_SELECT_TOKEN 286 -#define PARS_SUM_TOKEN 287 -#define PARS_COUNT_TOKEN 288 -#define PARS_DISTINCT_TOKEN 289 -#define PARS_FROM_TOKEN 290 -#define PARS_WHERE_TOKEN 291 -#define PARS_FOR_TOKEN 292 -#define PARS_DDOT_TOKEN 293 -#define PARS_CONSISTENT_TOKEN 294 -#define PARS_READ_TOKEN 295 -#define PARS_ORDER_TOKEN 296 -#define PARS_BY_TOKEN 297 -#define PARS_ASC_TOKEN 298 -#define PARS_DESC_TOKEN 299 -#define PARS_INSERT_TOKEN 300 -#define PARS_INTO_TOKEN 301 -#define PARS_VALUES_TOKEN 302 -#define PARS_UPDATE_TOKEN 303 -#define PARS_SET_TOKEN 304 -#define PARS_DELETE_TOKEN 305 -#define PARS_CURRENT_TOKEN 306 -#define PARS_OF_TOKEN 307 -#define PARS_CREATE_TOKEN 308 -#define PARS_TABLE_TOKEN 309 -#define PARS_INDEX_TOKEN 310 -#define PARS_UNIQUE_TOKEN 311 -#define PARS_CLUSTERED_TOKEN 312 -#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 313 -#define PARS_ON_TOKEN 314 -#define PARS_ASSIGN_TOKEN 315 -#define PARS_DECLARE_TOKEN 316 -#define PARS_CURSOR_TOKEN 317 -#define PARS_SQL_TOKEN 318 -#define PARS_OPEN_TOKEN 319 -#define PARS_FETCH_TOKEN 320 -#define PARS_CLOSE_TOKEN 321 -#define PARS_NOTFOUND_TOKEN 322 -#define PARS_TO_CHAR_TOKEN 323 -#define PARS_TO_NUMBER_TOKEN 324 -#define PARS_TO_BINARY_TOKEN 325 -#define PARS_BINARY_TO_NUMBER_TOKEN 326 -#define PARS_SUBSTR_TOKEN 327 -#define PARS_REPLSTR_TOKEN 328 -#define PARS_CONCAT_TOKEN 329 -#define PARS_INSTR_TOKEN 330 -#define PARS_LENGTH_TOKEN 331 -#define PARS_SYSDATE_TOKEN 332 -#define PARS_PRINTF_TOKEN 333 -#define PARS_ASSERT_TOKEN 334 -#define PARS_RND_TOKEN 335 -#define PARS_RND_STR_TOKEN 336 -#define PARS_ROW_PRINTF_TOKEN 337 -#define PARS_COMMIT_TOKEN 338 -#define PARS_ROLLBACK_TOKEN 339 -#define PARS_WORK_TOKEN 340 -#define NEG 341 +#define PARS_INT_LIT 257 +#define PARS_FLOAT_LIT 258 +#define PARS_STR_LIT 259 +#define PARS_NULL_LIT 260 +#define PARS_ID_TOKEN 261 +#define PARS_AND_TOKEN 262 +#define PARS_OR_TOKEN 263 +#define PARS_NOT_TOKEN 264 +#define PARS_GE_TOKEN 265 +#define PARS_LE_TOKEN 266 +#define PARS_NE_TOKEN 267 +#define PARS_PROCEDURE_TOKEN 268 +#define PARS_IN_TOKEN 269 +#define PARS_OUT_TOKEN 270 +#define PARS_INT_TOKEN 271 +#define PARS_INTEGER_TOKEN 272 +#define PARS_FLOAT_TOKEN 273 +#define PARS_CHAR_TOKEN 274 +#define PARS_IS_TOKEN 275 +#define PARS_BEGIN_TOKEN 276 +#define PARS_END_TOKEN 277 +#define PARS_IF_TOKEN 278 +#define PARS_THEN_TOKEN 279 +#define PARS_ELSE_TOKEN 280 +#define PARS_ELSIF_TOKEN 281 +#define PARS_LOOP_TOKEN 282 +#define PARS_WHILE_TOKEN 283 +#define PARS_RETURN_TOKEN 284 +#define PARS_SELECT_TOKEN 285 +#define PARS_SUM_TOKEN 286 +#define PARS_COUNT_TOKEN 287 +#define PARS_DISTINCT_TOKEN 288 +#define PARS_FROM_TOKEN 289 +#define PARS_WHERE_TOKEN 290 +#define PARS_FOR_TOKEN 291 +#define PARS_DDOT_TOKEN 292 +#define PARS_CONSISTENT_TOKEN 293 +#define PARS_READ_TOKEN 294 +#define PARS_ORDER_TOKEN 295 +#define PARS_BY_TOKEN 296 +#define PARS_ASC_TOKEN 297 +#define PARS_DESC_TOKEN 298 +#define PARS_INSERT_TOKEN 299 +#define PARS_INTO_TOKEN 300 +#define PARS_VALUES_TOKEN 301 +#define PARS_UPDATE_TOKEN 302 +#define PARS_SET_TOKEN 303 +#define PARS_DELETE_TOKEN 304 +#define PARS_CURRENT_TOKEN 305 +#define PARS_OF_TOKEN 306 +#define PARS_CREATE_TOKEN 307 +#define PARS_TABLE_TOKEN 308 +#define PARS_INDEX_TOKEN 309 +#define PARS_UNIQUE_TOKEN 310 +#define PARS_CLUSTERED_TOKEN 311 +#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 312 +#define PARS_ON_TOKEN 313 +#define PARS_ASSIGN_TOKEN 314 +#define PARS_DECLARE_TOKEN 315 +#define PARS_CURSOR_TOKEN 316 +#define PARS_SQL_TOKEN 317 +#define PARS_OPEN_TOKEN 318 +#define PARS_FETCH_TOKEN 319 +#define PARS_CLOSE_TOKEN 320 +#define PARS_NOTFOUND_TOKEN 321 +#define PARS_TO_CHAR_TOKEN 322 +#define PARS_TO_NUMBER_TOKEN 323 +#define PARS_TO_BINARY_TOKEN 324 +#define PARS_BINARY_TO_NUMBER_TOKEN 325 +#define PARS_SUBSTR_TOKEN 326 +#define PARS_REPLSTR_TOKEN 327 +#define PARS_CONCAT_TOKEN 328 +#define PARS_INSTR_TOKEN 329 +#define PARS_LENGTH_TOKEN 330 +#define PARS_SYSDATE_TOKEN 331 +#define PARS_PRINTF_TOKEN 332 +#define PARS_ASSERT_TOKEN 333 +#define PARS_RND_TOKEN 334 +#define PARS_RND_STR_TOKEN 335 +#define PARS_ROW_PRINTF_TOKEN 336 +#define PARS_COMMIT_TOKEN 337 +#define PARS_ROLLBACK_TOKEN 338 +#define PARS_WORK_TOKEN 339 +#define NEG 340 extern YYSTYPE yylval; diff --git a/innobase/pars/lexyy.c b/innobase/pars/lexyy.c index 10bdcdd0990..0f35a5661a1 100644 --- a/innobase/pars/lexyy.c +++ b/innobase/pars/lexyy.c @@ -1,12 +1,13 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /home/daffy/u0/vern/flex/flex-2.4.7/RCS/flex.skl,v 1.2 94/08/03 11:13:24 vern Exp $ + * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $ */ #define FLEX_SCANNER +#define YY_FLEX_MAJOR_VERSION 2 +#define YY_FLEX_MINOR_VERSION 5 -#include "univ.i" #include <stdio.h> @@ -31,7 +32,7 @@ #else /* ! __cplusplus */ -#ifdef __STDC__ +#if __STDC__ #define YY_USE_PROTOS #define YY_USE_CONST @@ -39,16 +40,19 @@ #endif /* __STDC__ */ #endif /* ! __cplusplus */ - #ifdef __TURBOC__ + #pragma warn -rch + #pragma warn -use +#include <io.h> +#include <stdlib.h> #define YY_USE_CONST +#define YY_USE_PROTOS #endif - -#ifndef YY_USE_CONST -#ifndef const -#define const -#endif +#ifdef YY_USE_CONST +#define yyconst const +#else +#define yyconst #endif @@ -75,16 +79,16 @@ #define BEGIN yy_start = 1 + 2 * /* Translate the current start state into a value that can be later handed - * to BEGIN to return to the state. + * to BEGIN to return to the state. The YYSTATE alias is for lex + * compatibility. */ #define YY_START ((yy_start - 1) / 2) +#define YYSTATE YY_START /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) -/* Special action meaning "start processing a new file". Now included - * only for backward compatibility with previous versions of flex. - */ +/* Special action meaning "start processing a new file". */ #define YY_NEW_FILE yyrestart( yyin ) #define YY_END_OF_BUFFER_CHAR 0 @@ -97,14 +101,6 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE; extern int yyleng; extern FILE *yyin, *yyout; -#ifdef __cplusplus -extern "C" { -#endif - extern int yywrap YY_PROTO(( void )); -#ifdef __cplusplus - } -#endif - #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 @@ -130,6 +126,7 @@ extern "C" { { \ /* Undo effects of setting up yytext. */ \ *yy_cp = yy_hold_char; \ + YY_RESTORE_YY_MORE_OFFSET \ yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ @@ -137,6 +134,12 @@ extern "C" { #define unput(c) yyunput( c, yytext_ptr ) +/* The following is because we cannot portably get our hands on size_t + * (without autoconf's help, which isn't available because we want + * flex-generated scanners to compile on their own). + */ +typedef unsigned int yy_size_t; + struct yy_buffer_state { @@ -148,13 +151,19 @@ struct yy_buffer_state /* Size of input buffer in bytes, not including room for EOB * characters. */ - int yy_buf_size; + yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ int yy_n_chars; + /* Whether we "own" the buffer - i.e., we know we created it, + * and can realloc() it to grow it, and should free() it to + * delete it. + */ + int yy_is_our_buffer; + /* Whether this is an "interactive" input source; if so, and * if we're using stdio for input, then we want to use getc() * instead of fread(), to make sure we stop fetching input after @@ -162,6 +171,12 @@ struct yy_buffer_state */ int yy_is_interactive; + /* Whether we're considered to be at the beginning of a line. + * If so, '^' rules will be active on the next match, otherwise + * not. + */ + int yy_at_bol; + /* Whether to try to fill the input buffer when we reach the * end of it. */ @@ -210,5541 +225,66 @@ static int yy_start = 0; /* start state number */ */ static int yy_did_buffer_switch_on_eof; -static void yyunput YY_PROTO(( int c, char *buf_ptr )); void yyrestart YY_PROTO(( FILE *input_file )); + void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer )); void yy_load_buffer_state YY_PROTO(( void )); YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size )); void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b )); void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file )); +void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b )); +#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) -static int yy_start_stack_ptr = 0; -static int yy_start_stack_depth = 0; -static int *yy_start_stack = 0; -static void yy_push_state YY_PROTO(( int new_state )); -static void yy_pop_state YY_PROTO(( void )); -static int yy_top_state YY_PROTO(( void )); +YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); +YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); +YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); -static void *yy_flex_alloc YY_PROTO(( unsigned int )); -static void *yy_flex_realloc YY_PROTO(( void *, unsigned int )); +static void *yy_flex_alloc YY_PROTO(( yy_size_t )); +static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); static void yy_flex_free YY_PROTO(( void * )); #define yy_new_buffer yy_create_buffer -#define INITIAL 0 -#define comment 1 -typedef char YY_CHAR; -typedef int yy_state_type; -FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; -extern char *yytext; -#define yytext_ptr yytext -static const short yy_nxt[][128] = - { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - - 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, - 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 7, 6, 6, 6, 6, 9, 6, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 20, 21, - 22, 23, 24, 25, 6, 26, 27, 28, 29, 30, - 31, 32, 32, 33, 32, 32, 34, 32, 35, 36, - 37, 32, 38, 39, 40, 41, 42, 43, 32, 32, - 32, 6, 6, 6, 6, 32, 6, 32, 32, 32, - - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 44, 6, 45, 6, 6, - - 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, - 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 7, 6, 6, 6, 6, 9, 6, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 20, 21, - 22, 23, 24, 25, 6, 26, 27, 28, 29, 30, - 31, 32, 32, 33, 32, 32, 34, 32, 35, 36, - 37, 32, 38, 39, 40, 41, 42, 43, 32, 32, - 32, 6, 6, 6, 6, 32, 6, 32, 32, 32, - - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 44, 6, 45, 6, 6, - - 5, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 47, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 48, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, - - 5, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 47, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 48, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, - - -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, - -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, - -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, - -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, - -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, - -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, - -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, - -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, - -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, - -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, - - -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, - -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, - -5, -5, -5, -5, -5, -5, -5, -5, - - 5, -6, -6, -6, -6, -6, -6, -6, -6, -6, - -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, - -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, - -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, - -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, - -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, - -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, - -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, - -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, - -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, - - -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, - -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, - -6, -6, -6, -6, -6, -6, -6, -6, - - 5, -7, -7, -7, -7, -7, -7, -7, -7, 49, - 49, -7, -7, -7, -7, -7, -7, -7, -7, -7, - -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, - -7, -7, 49, -7, -7, -7, -7, -7, -7, -7, - -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, - -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, - -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, - -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, - -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, - -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, - - -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, - -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, - -7, -7, -7, -7, -7, -7, -7, -7, - - 5, -8, -8, -8, -8, -8, -8, -8, -8, 49, - 49, -8, -8, -8, -8, -8, -8, -8, -8, -8, - -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, - -8, -8, 49, -8, -8, -8, -8, -8, -8, -8, - -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, - -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, - -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, - -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, - -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, - -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, - - -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, - -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, - -8, -8, -8, -8, -8, -8, -8, -8, - - 5, -9, -9, -9, -9, -9, -9, -9, -9, -9, - -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, - -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, - -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, - -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, - -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, - -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, - -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, - -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, - -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, - - -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, - -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, - -9, -9, -9, -9, -9, -9, -9, -9, - - 5, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 51, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, - - 5, -11, -11, -11, -11, -11, -11, -11, -11, -11, - -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, - -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, - -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, - -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, - -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, - -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, - -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, - -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, - -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, - - -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, - -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, - -11, -11, -11, -11, -11, -11, -11, -11, - - 5, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - - -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, - - 5, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - - -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13, -13, - - 5, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - - -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, - - 5, -15, -15, -15, -15, -15, -15, -15, -15, -15, - -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, - -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, - -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, - -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, - -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, - -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, - -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, - -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, - -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, - - -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, - -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, - -15, -15, -15, -15, -15, -15, -15, -15, - - 5, -16, -16, -16, -16, -16, -16, -16, -16, -16, - -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, - -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, - -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, - -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, - -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, - -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, - -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, - -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, - -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, - - -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, - -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, - -16, -16, -16, -16, -16, -16, -16, -16, - - 5, -17, -17, -17, -17, -17, -17, -17, -17, -17, - -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, - -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, - -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, - -17, -17, -17, -17, -17, -17, 52, -17, -17, -17, - -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, - -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, - -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, - -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, - -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, - - -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, - -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, - -17, -17, -17, -17, -17, -17, -17, -17, - - 5, -18, -18, -18, -18, -18, -18, -18, -18, -18, - -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, - -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, - -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, - -18, -18, 53, -18, -18, -18, -18, -18, -18, -18, - -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, - -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, - -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, - -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, - -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, - - -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, - -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, - -18, -18, -18, -18, -18, -18, -18, -18, - - 5, -19, -19, -19, -19, -19, -19, -19, -19, -19, - -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, - -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, - -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, - -19, -19, -19, -19, -19, -19, 54, -19, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, -19, -19, - -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, - -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, - -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, - -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, - - -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, - -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, - -19, -19, -19, -19, -19, -19, -19, -19, - - 5, -20, -20, -20, -20, -20, -20, -20, -20, -20, - -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, - -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, - -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, - -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, - -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, - -20, 56, -20, -20, -20, -20, -20, -20, -20, -20, - -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, - -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, - -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, - - -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, - -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, - -20, -20, -20, -20, -20, -20, -20, -20, - - 5, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - - -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -21, - - 5, -22, -22, -22, -22, -22, -22, -22, -22, -22, - -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, - -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, - -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, - -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, - -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, - -22, 57, 58, -22, -22, -22, -22, -22, -22, -22, - -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, - -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, - -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, - - -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, - -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, - -22, -22, -22, -22, -22, -22, -22, -22, - - 5, -23, -23, -23, -23, -23, -23, -23, -23, -23, - -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, - -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, - -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, - -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, - -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, - -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, - -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, - -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, - -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, - - -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, - -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, - -23, -23, -23, -23, -23, -23, -23, -23, - - 5, -24, -24, -24, -24, -24, -24, -24, -24, -24, - -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, - -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, - -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, - -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, - -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, - -24, 59, -24, -24, -24, -24, -24, -24, -24, -24, - -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, - -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, - -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, - - -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, - -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, - -24, -24, -24, -24, -24, -24, -24, -24, - - 5, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, - - 5, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -26, -26, - -26, -26, -26, -26, -26, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 61, 60, - 60, 60, 60, 62, 60, 60, 60, 60, 60, 60, - 60, -26, -26, -26, -26, 60, -26, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -26, -26, -26, -26, -26, - - 5, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -27, -27, - -27, -27, -27, -27, -27, 60, 60, 60, 60, 63, - 60, 60, 60, 64, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 65, - 60, -27, -27, -27, -27, 60, -27, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -27, -27, -27, -27, -27, - - 5, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -28, -28, - -28, -28, -28, -28, -28, 60, 60, 60, 60, 60, - 60, 60, 66, 60, 60, 60, 67, 60, 60, 68, - 60, 60, 69, 60, 60, 70, 60, 60, 60, 60, - 60, -28, -28, -28, -28, 60, -28, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -28, -28, -28, -28, -28, - - 5, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -29, -29, - -29, -29, -29, -29, -29, 60, 60, 60, 60, 71, - 60, 60, 60, 72, 60, 60, 60, 60, 60, 73, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -29, -29, -29, -29, 60, -29, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -29, -29, -29, -29, -29, - - 5, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -30, -30, - -30, -30, -30, -30, -30, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 74, 60, 75, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -30, -30, -30, -30, 60, -30, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -30, -30, -30, -30, -30, - - 5, -31, -31, -31, -31, -31, -31, -31, -31, -31, - -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, - -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, - -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, - -31, -31, -31, -31, -31, -31, -31, -31, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -31, -31, - -31, -31, -31, -31, -31, 60, 60, 60, 60, 76, - 60, 60, 60, 60, 60, 60, 77, 60, 60, 78, - 60, 60, 79, 60, 60, 60, 60, 60, 60, 60, - 60, -31, -31, -31, -31, 60, -31, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -31, -31, -31, -31, -31, - - 5, -32, -32, -32, -32, -32, -32, -32, -32, -32, - -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, - -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, - -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, - -32, -32, -32, -32, -32, -32, -32, -32, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -32, -32, - -32, -32, -32, -32, -32, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -32, -32, -32, -32, 60, -32, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -32, -32, -32, -32, -32, - - 5, -33, -33, -33, -33, -33, -33, -33, -33, -33, - -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, - -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, - -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, - -33, -33, -33, -33, -33, -33, -33, -33, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -33, -33, - -33, -33, -33, -33, -33, 60, 60, 60, 60, 60, - 80, 60, 60, 60, 60, 60, 60, 60, 81, 60, - 60, 60, 60, 82, 60, 60, 60, 60, 60, 60, - 60, -33, -33, -33, -33, 60, -33, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -33, -33, -33, -33, -33, - - 5, -34, -34, -34, -34, -34, -34, -34, -34, -34, - -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, - -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, - -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, - -34, -34, -34, -34, -34, -34, -34, -34, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -34, -34, - -34, -34, -34, -34, -34, 60, 60, 60, 60, 83, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 84, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -34, -34, -34, -34, 60, -34, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -34, -34, -34, -34, -34, - - 5, -35, -35, -35, -35, -35, -35, -35, -35, -35, - -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, - -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, - -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, - -35, -35, -35, -35, -35, -35, -35, -35, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -35, -35, - -35, -35, -35, -35, -35, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 85, - 60, 60, 60, 60, 60, 86, 60, 60, 60, 60, - 60, -35, -35, -35, -35, 60, -35, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -35, -35, -35, -35, -35, - - 5, -36, -36, -36, -36, -36, -36, -36, -36, -36, - -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, - -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, - -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, - -36, -36, -36, -36, -36, -36, -36, -36, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -36, -36, - -36, -36, -36, -36, -36, 60, 60, 60, 60, 60, - 87, 60, 60, 60, 60, 60, 60, 60, 88, 60, - 89, 60, 90, 60, 60, 91, 60, 60, 60, 60, - 60, -36, -36, -36, -36, 60, -36, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -36, -36, -36, -36, -36, - - 5, -37, -37, -37, -37, -37, -37, -37, -37, -37, - -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, - -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, - -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, - -37, -37, -37, -37, -37, -37, -37, -37, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -37, -37, - -37, -37, -37, -37, -37, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 92, 60, 60, 60, 60, 60, 60, 60, - 60, -37, -37, -37, -37, 60, -37, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -37, -37, -37, -37, -37, - - 5, -38, -38, -38, -38, -38, -38, -38, -38, -38, - -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, - -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, - -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, - -38, -38, -38, -38, -38, -38, -38, -38, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -38, -38, - -38, -38, -38, -38, -38, 60, 60, 60, 60, 93, - 60, 60, 60, 60, 60, 60, 60, 60, 94, 95, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -38, -38, -38, -38, 60, -38, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -38, -38, -38, -38, -38, - - 5, -39, -39, -39, -39, -39, -39, -39, -39, -39, - -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, - -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, - -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, - -39, -39, -39, -39, -39, -39, -39, -39, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -39, -39, - -39, -39, -39, -39, -39, 60, 60, 60, 60, 96, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 97, 60, 60, 60, 98, 60, 60, 60, 99, - 60, -39, -39, -39, -39, 60, -39, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -39, -39, -39, -39, -39, - - 5, -40, -40, -40, -40, -40, -40, -40, -40, -40, - -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, - -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, - -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, - -40, -40, -40, -40, -40, -40, -40, -40, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -40, -40, - -40, -40, -40, -40, -40, 100, 60, 60, 60, 60, - 60, 60, 101, 60, 60, 60, 60, 60, 60, 102, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -40, -40, -40, -40, 60, -40, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -40, -40, -40, -40, -40, - - 5, -41, -41, -41, -41, -41, -41, -41, -41, -41, - -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, - -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, - -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, - -41, -41, -41, -41, -41, -41, -41, -41, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -41, -41, - -41, -41, -41, -41, -41, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 103, 60, - 104, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -41, -41, -41, -41, 60, -41, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -41, -41, -41, -41, -41, - - 5, -42, -42, -42, -42, -42, -42, -42, -42, -42, - -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, - -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, - -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, - -42, -42, -42, -42, -42, -42, -42, -42, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -42, -42, - -42, -42, -42, -42, -42, 105, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -42, -42, -42, -42, 60, -42, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -42, -42, -42, -42, -42, - - 5, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -43, -43, - -43, -43, -43, -43, -43, 60, 60, 60, 60, 60, - 60, 60, 106, 60, 60, 60, 60, 60, 60, 107, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -43, -43, -43, -43, 60, -43, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -43, -43, -43, -43, -43, - - 5, -44, -44, -44, -44, -44, -44, -44, -44, -44, - -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, - -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, - -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, - -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, - -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, - -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, - -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, - -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, - -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, - - -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, - -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, - -44, -44, -44, -44, -44, -44, -44, -44, - - 5, -45, -45, -45, -45, -45, -45, -45, -45, -45, - -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, - -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, - -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, - -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, - -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, - -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, - -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, - -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, - -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, - - -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, - -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, - -45, -45, -45, -45, -45, -45, -45, -45, - - 5, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 109, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, -46, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, - - 5, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, - - -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47, -47, - - 5, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 111, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 112, 110, 110, 110, 110, 113, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, - - 5, -49, -49, -49, -49, -49, -49, -49, -49, 49, - 49, -49, -49, -49, -49, -49, -49, -49, -49, -49, - -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, - -49, -49, 49, -49, -49, -49, -49, -49, -49, -49, - -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, - -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, - -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, - -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, - -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, - -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, - - -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, - -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, - -49, -49, -49, -49, -49, -49, -49, -49, - - 5, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 51, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, - - 5, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - - -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51, -51, - - 5, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, - - -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52, -52, - - 5, -53, -53, -53, -53, -53, -53, -53, -53, -53, - -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, - -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, - -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, - -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, - -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, - -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, - -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, - -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, - -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, - - -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, - -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, - -53, -53, -53, -53, -53, -53, -53, -53, - - 5, -54, -54, -54, -54, -54, -54, -54, -54, -54, - -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, - -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, - -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, - -54, -54, -54, -54, -54, -54, -54, -54, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, -54, -54, - -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, - -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, - -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, - -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, - - -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, - -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, - -54, -54, -54, -54, -54, -54, -54, -54, - - 5, -55, -55, -55, -55, -55, -55, -55, -55, -55, - -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, - -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, - -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, - -55, -55, -55, -55, -55, -55, 54, -55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, -55, -55, - -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, - -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, - -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, - -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, - - -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, - -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, - -55, -55, -55, -55, -55, -55, -55, -55, - - 5, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, - - 5, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - - -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, -57, -57, -57, -57, -57, - - 5, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, - - -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, -58, -58, -58, -58, -58, - - 5, -59, -59, -59, -59, -59, -59, -59, -59, -59, - -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, - -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, - -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, - -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, - -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, - -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, - -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, - -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, - -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, - - -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, - -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, - -59, -59, -59, -59, -59, -59, -59, -59, - - 5, -60, -60, -60, -60, -60, -60, -60, -60, -60, - -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, - -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, - -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, - -60, -60, -60, -60, -60, -60, -60, -60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -60, -60, - -60, -60, -60, -60, -60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -60, -60, -60, -60, 60, -60, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -60, -60, -60, -60, -60, - - 5, -61, -61, -61, -61, -61, -61, -61, -61, -61, - -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, - -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, - -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, - -61, -61, -61, -61, -61, -61, -61, -61, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -61, -61, - -61, -61, -61, -61, -61, 60, 60, 60, 115, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -61, -61, -61, -61, 60, -61, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -61, -61, -61, -61, -61, - - 5, -62, -62, -62, -62, -62, -62, -62, -62, -62, - -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, - -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, - -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, - -62, -62, -62, -62, -62, -62, -62, -62, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -62, -62, - -62, -62, -62, -62, -62, 60, 60, 116, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 117, 60, 60, 60, 60, 60, 60, - 60, -62, -62, -62, -62, 60, -62, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -62, -62, -62, -62, -62, - - 5, -63, -63, -63, -63, -63, -63, -63, -63, -63, - -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, - -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, - -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, - -63, -63, -63, -63, -63, -63, -63, -63, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -63, -63, - -63, -63, -63, -63, -63, 60, 60, 60, 60, 60, - 60, 118, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -63, -63, -63, -63, 60, -63, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -63, -63, -63, -63, -63, - - 5, -64, -64, -64, -64, -64, -64, -64, -64, -64, - -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, - -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, - -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, - -64, -64, -64, -64, -64, -64, -64, -64, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -64, -64, - -64, -64, -64, -64, -64, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 119, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -64, -64, -64, -64, 60, -64, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -64, -64, -64, -64, -64, - - 5, -65, -65, -65, -65, -65, -65, -65, -65, -65, - -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, - -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, - -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, - -65, -65, -65, -65, -65, -65, -65, -65, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -65, -65, - -65, -65, -65, -65, -65, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -65, -65, -65, -65, 60, -65, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -65, -65, -65, -65, -65, - - 5, -66, -66, -66, -66, -66, -66, -66, -66, -66, - -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, - -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, - -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, - -66, -66, -66, -66, -66, -66, -66, -66, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -66, -66, - -66, -66, -66, -66, -66, 120, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -66, -66, -66, -66, 60, -66, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -66, -66, -66, -66, -66, - - 5, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, -67, -67, -67, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -67, -67, - -67, -67, -67, -67, -67, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 121, - 60, 60, 60, 60, 60, 122, 60, 60, 60, 60, - 60, -67, -67, -67, -67, 60, -67, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -67, -67, -67, -67, -67, - - 5, -68, -68, -68, -68, -68, -68, -68, -68, -68, - -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, - -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, - -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, - -68, -68, -68, -68, -68, -68, -68, -68, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -68, -68, - -68, -68, -68, -68, -68, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 123, 124, 60, - 60, 60, 60, 60, 60, 125, 60, 60, 60, 60, - 60, -68, -68, -68, -68, 60, -68, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -68, -68, -68, -68, -68, - - 5, -69, -69, -69, -69, -69, -69, -69, -69, -69, - -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, - -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, - -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, - -69, -69, -69, -69, -69, -69, -69, -69, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -69, -69, - -69, -69, -69, -69, -69, 60, 60, 60, 60, 126, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -69, -69, -69, -69, 60, -69, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -69, -69, -69, -69, -69, - - 5, -70, -70, -70, -70, -70, -70, -70, -70, -70, - -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, - -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, - -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, - -70, -70, -70, -70, -70, -70, -70, -70, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -70, -70, - -70, -70, -70, -70, -70, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 127, 60, 60, 60, 60, 60, 60, 60, - 60, -70, -70, -70, -70, 60, -70, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -70, -70, -70, -70, -70, - - 5, -71, -71, -71, -71, -71, -71, -71, -71, -71, - -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, - -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, - -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, - -71, -71, -71, -71, -71, -71, -71, -71, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -71, -71, - -71, -71, -71, -71, -71, 60, 60, 128, 60, 60, - 60, 60, 60, 60, 60, 60, 129, 60, 60, 60, - 60, 60, 60, 130, 60, 60, 60, 60, 60, 60, - 60, -71, -71, -71, -71, 60, -71, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -71, -71, -71, -71, -71, - - 5, -72, -72, -72, -72, -72, -72, -72, -72, -72, - -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, - -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, - -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, - -72, -72, -72, -72, -72, -72, -72, -72, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -72, -72, - -72, -72, -72, -72, -72, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 131, 60, 60, 60, 60, 60, 60, - 60, -72, -72, -72, -72, 60, -72, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -72, -72, -72, -72, -72, - - 5, -73, -73, -73, -73, -73, -73, -73, -73, -73, - -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, - -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, - -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, - -73, -73, -73, -73, -73, -73, -73, -73, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -73, -73, - -73, -73, -73, -73, -73, 60, 60, 60, 60, 132, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -73, -73, -73, -73, 60, -73, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -73, -73, -73, -73, -73, - - 5, -74, -74, -74, -74, -74, -74, -74, -74, -74, - -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, - -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, - -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, - -74, -74, -74, -74, -74, -74, -74, -74, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -74, -74, - -74, -74, -74, -74, -74, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 133, 60, 60, 60, 60, 60, 60, - 60, -74, -74, -74, -74, 60, -74, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -74, -74, -74, -74, -74, - - 5, -75, -75, -75, -75, -75, -75, -75, -75, -75, - -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, - -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, - -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, - -75, -75, -75, -75, -75, -75, -75, -75, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -75, -75, - -75, -75, -75, -75, -75, 60, 60, 60, 134, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -75, -75, -75, -75, 60, -75, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -75, -75, -75, -75, -75, - - 5, -76, -76, -76, -76, -76, -76, -76, -76, -76, - -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, - -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, - -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, - -76, -76, -76, -76, -76, -76, -76, -76, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -76, -76, - -76, -76, -76, -76, -76, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 135, 60, 60, 60, 60, 60, - 60, -76, -76, -76, -76, 60, -76, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -76, -76, -76, -76, -76, - - 5, -77, -77, -77, -77, -77, -77, -77, -77, -77, - -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, - -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, - -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, - -77, -77, -77, -77, -77, -77, -77, -77, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -77, -77, - -77, -77, -77, -77, -77, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 136, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -77, -77, -77, -77, 60, -77, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -77, -77, -77, -77, -77, - - 5, -78, -78, -78, -78, -78, -78, -78, -78, -78, - -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, - -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, - -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, - -78, -78, -78, -78, -78, -78, -78, -78, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -78, -78, - -78, -78, -78, -78, -78, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 137, 60, 60, 60, 60, 60, 60, 60, - 60, -78, -78, -78, -78, 60, -78, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -78, -78, -78, -78, -78, - - 5, -79, -79, -79, -79, -79, -79, -79, -79, -79, - -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, - -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, - -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, - -79, -79, -79, -79, -79, -79, -79, -79, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -79, -79, - -79, -79, -79, -79, -79, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 138, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -79, -79, -79, -79, 60, -79, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -79, -79, -79, -79, -79, - - 5, -80, -80, -80, -80, -80, -80, -80, -80, -80, - -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, - -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, - -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, - -80, -80, -80, -80, -80, -80, -80, -80, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -80, -80, - -80, -80, -80, -80, -80, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -80, -80, -80, -80, 60, -80, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -80, -80, -80, -80, -80, - - 5, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -81, -81, - -81, -81, -81, -81, -81, 60, 60, 60, 139, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 140, 141, 60, 60, 60, 60, 60, - 60, -81, -81, -81, -81, 60, -81, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -81, -81, -81, -81, -81, - - 5, -82, -82, -82, -82, -82, -82, -82, -82, -82, - -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, - -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, - -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, - -82, -82, -82, -82, -82, -82, -82, -82, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -82, -82, - -82, -82, -82, -82, -82, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -82, -82, -82, -82, 60, -82, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -82, -82, -82, -82, -82, - - 5, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, -83, -83, -83, -83, -83, -83, -83, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -83, -83, - -83, -83, -83, -83, -83, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 142, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -83, -83, -83, -83, 60, -83, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -83, -83, -83, -83, -83, - - 5, -84, -84, -84, -84, -84, -84, -84, -84, -84, - -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, - -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, - -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, - -84, -84, -84, -84, -84, -84, -84, -84, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -84, -84, - -84, -84, -84, -84, -84, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 143, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -84, -84, -84, -84, 60, -84, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -84, -84, -84, -84, -84, - - 5, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, -85, -85, -85, -85, -85, -85, -85, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -85, -85, - -85, -85, -85, -85, -85, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 144, 60, 60, 60, 60, 60, - 60, -85, -85, -85, -85, 60, -85, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -85, -85, -85, -85, -85, - - 5, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -86, -86, - -86, -86, -86, -86, -86, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 145, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -86, -86, -86, -86, 60, -86, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -86, -86, -86, -86, -86, - - 5, -87, -87, -87, -87, -87, -87, -87, -87, -87, - -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, - -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, - -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, - -87, -87, -87, -87, -87, -87, -87, -87, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -87, -87, - -87, -87, -87, -87, -87, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -87, -87, -87, -87, 60, -87, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -87, -87, -87, -87, -87, - - 5, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, -88, -88, -88, -88, -88, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -88, -88, - -88, -88, -88, -88, -88, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -88, -88, -88, -88, 60, -88, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -88, -88, -88, -88, -88, - - 5, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -89, -89, - -89, -89, -89, -89, -89, 60, 60, 60, 60, 146, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -89, -89, -89, -89, 60, -89, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -89, -89, -89, -89, -89, - - 5, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -90, -90, - -90, -90, -90, -90, -90, 60, 60, 60, 147, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -90, -90, -90, -90, 60, -90, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -90, -90, -90, -90, -90, - - 5, -91, -91, -91, -91, -91, -91, -91, -91, -91, - -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, - -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, - -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, - -91, -91, -91, -91, -91, -91, -91, -91, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -91, -91, - -91, -91, -91, -91, -91, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 148, 60, 60, 60, 60, 60, - 60, -91, -91, -91, -91, 60, -91, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -91, -91, -91, -91, -91, - - 5, -92, -92, -92, -92, -92, -92, -92, -92, -92, - -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, - -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, - -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, - -92, -92, -92, -92, -92, -92, -92, -92, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -92, -92, - -92, -92, -92, -92, -92, 60, 60, 60, 60, 60, - 60, 60, 60, 149, 60, 60, 60, 60, 60, 150, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -92, -92, -92, -92, 60, -92, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -92, -92, -92, -92, -92, - - 5, -93, -93, -93, -93, -93, -93, -93, -93, -93, - -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, - -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, - -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, - -93, -93, -93, -93, -93, -93, -93, -93, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -93, -93, - -93, -93, -93, -93, -93, 151, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 152, 60, 60, 60, 153, 60, 60, 60, 60, 60, - 60, -93, -93, -93, -93, 60, -93, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -93, -93, -93, -93, -93, - - 5, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, -94, -94, -94, -94, -94, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -94, -94, - -94, -94, -94, -94, -94, 60, 60, 60, 154, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -94, -94, -94, -94, 60, -94, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -94, -94, -94, -94, -94, - - 5, -95, -95, -95, -95, -95, -95, -95, -95, -95, - -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, - -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, - -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, - -95, -95, -95, -95, -95, -95, -95, -95, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -95, -95, - -95, -95, -95, -95, -95, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 155, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 156, 60, 60, - 60, -95, -95, -95, -95, 60, -95, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -95, -95, -95, -95, -95, - - 5, -96, -96, -96, -96, -96, -96, -96, -96, -96, - -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, - -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, - -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, - -96, -96, -96, -96, -96, -96, -96, -96, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -96, -96, - -96, -96, -96, -96, -96, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 157, 60, 60, 60, - 60, 60, 60, 60, 158, 60, 60, 60, 60, 60, - 60, -96, -96, -96, -96, 60, -96, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -96, -96, -96, -96, -96, - - 5, -97, -97, -97, -97, -97, -97, -97, -97, -97, - -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, - -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, - -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, - -97, -97, -97, -97, -97, -97, -97, -97, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -97, -97, - -97, -97, -97, -97, -97, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 159, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -97, -97, -97, -97, 60, -97, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -97, -97, -97, -97, -97, - - 5, -98, -98, -98, -98, -98, -98, -98, -98, -98, - -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, - -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, - -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, - -98, -98, -98, -98, -98, -98, -98, -98, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -98, -98, - -98, -98, -98, -98, -98, 60, 160, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 161, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -98, -98, -98, -98, 60, -98, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -98, -98, -98, -98, -98, - - 5, -99, -99, -99, -99, -99, -99, -99, -99, -99, - -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, - -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, - -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, - -99, -99, -99, -99, -99, -99, -99, -99, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -99, -99, - -99, -99, -99, -99, -99, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 162, 60, 60, 60, 60, 60, 60, - 60, -99, -99, -99, -99, 60, -99, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -99, -99, -99, -99, -99, - - 5, -100, -100, -100, -100, -100, -100, -100, -100, -100, - -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, - -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, - -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, - -100, -100, -100, -100, -100, -100, -100, -100, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -100, -100, - -100, -100, -100, -100, -100, 60, 163, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -100, -100, -100, -100, 60, -100, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -100, -100, -100, -100, -100, - - 5, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, -101, -101, -101, -101, -101, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -101, -101, - -101, -101, -101, -101, -101, 60, 60, 60, 60, 164, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -101, -101, -101, -101, 60, -101, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -101, -101, -101, -101, -101, - - 5, -102, -102, -102, -102, -102, -102, -102, -102, -102, - -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, - -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, - -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, - -102, -102, -102, -102, -102, -102, -102, -102, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -102, -102, - -102, -102, -102, -102, -102, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -102, -102, -102, -102, 165, -102, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -102, -102, -102, -102, -102, - - 5, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, -103, -103, -103, -103, -103, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -103, -103, - -103, -103, -103, -103, -103, 60, 60, 60, 60, 60, - 60, 60, 60, 166, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -103, -103, -103, -103, 60, -103, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -103, -103, -103, -103, -103, - - 5, -104, -104, -104, -104, -104, -104, -104, -104, -104, - -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, - -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, - -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, - -104, -104, -104, -104, -104, -104, -104, -104, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -104, -104, - -104, -104, -104, -104, -104, 60, 60, 60, 167, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -104, -104, -104, -104, 60, -104, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -104, -104, -104, -104, -104, - - 5, -105, -105, -105, -105, -105, -105, -105, -105, -105, - -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, - -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, - -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, - -105, -105, -105, -105, -105, -105, -105, -105, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -105, -105, - -105, -105, -105, -105, -105, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 168, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -105, -105, -105, -105, 60, -105, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -105, -105, -105, -105, -105, - - 5, -106, -106, -106, -106, -106, -106, -106, -106, -106, - -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, - -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, - -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, - -106, -106, -106, -106, -106, -106, -106, -106, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -106, -106, - -106, -106, -106, -106, -106, 60, 60, 60, 60, 169, - 60, 60, 60, 170, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -106, -106, -106, -106, 60, -106, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -106, -106, -106, -106, -106, - - 5, -107, -107, -107, -107, -107, -107, -107, -107, -107, - -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, - -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, - -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, - -107, -107, -107, -107, -107, -107, -107, -107, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -107, -107, - -107, -107, -107, -107, -107, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 171, 60, 60, 60, 60, 60, 60, 60, - 60, -107, -107, -107, -107, 60, -107, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -107, -107, -107, -107, -107, - - 5, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 109, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, -108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, - - 5, -109, -109, -109, -109, -109, -109, -109, -109, -109, - -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, - -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, - -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, - -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, - -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, - -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, - -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, - -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, - -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, - - -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, - -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, - -109, -109, -109, -109, -109, -109, -109, -109, - - 5, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 111, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, -110, 110, 110, 110, 110, -110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, - - 5, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - - -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, -111, -111, -111, -111, -111, - - 5, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 111, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 112, 110, 110, 110, 110, 113, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, - - 5, -113, -113, -113, -113, -113, -113, -113, -113, -113, - -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, - -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, - -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, - -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, - -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, - -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, - -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, - -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, - -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, - - -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, - -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, - -113, -113, -113, -113, -113, -113, -113, -113, - - 5, -114, -114, -114, -114, -114, -114, -114, -114, -114, - -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, - -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, - -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, - -114, -114, -114, -114, -114, -114, -114, -114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, -114, -114, - -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, - -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, - -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, - -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, - - -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, - -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, - -114, -114, -114, -114, -114, -114, -114, -114, - - 5, -115, -115, -115, -115, -115, -115, -115, -115, -115, - -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, - -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, - -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, - -115, -115, -115, -115, -115, -115, -115, -115, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -115, -115, - -115, -115, -115, -115, -115, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -115, -115, -115, -115, 60, -115, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -115, -115, -115, -115, -115, - - 5, -116, -116, -116, -116, -116, -116, -116, -116, -116, - -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, - -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, - -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, - -116, -116, -116, -116, -116, -116, -116, -116, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -116, -116, - -116, -116, -116, -116, -116, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -116, -116, -116, -116, 60, -116, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -116, -116, -116, -116, -116, - - 5, -117, -117, -117, -117, -117, -117, -117, -117, -117, - -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, - -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, - -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, - -117, -117, -117, -117, -117, -117, -117, -117, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -117, -117, - -117, -117, -117, -117, -117, 60, 60, 60, 60, 172, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -117, -117, -117, -117, 60, -117, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -117, -117, -117, -117, -117, - - 5, -118, -118, -118, -118, -118, -118, -118, -118, -118, - -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, - -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, - -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, - -118, -118, -118, -118, -118, -118, -118, -118, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -118, -118, - -118, -118, -118, -118, -118, 60, 60, 60, 60, 60, - 60, 60, 60, 173, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -118, -118, -118, -118, 60, -118, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -118, -118, -118, -118, -118, - - 5, -119, -119, -119, -119, -119, -119, -119, -119, -119, - -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, - -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, - -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, - -119, -119, -119, -119, -119, -119, -119, -119, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -119, -119, - -119, -119, -119, -119, -119, 174, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -119, -119, -119, -119, 60, -119, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -119, -119, -119, -119, -119, - - 5, -120, -120, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -120, -120, -120, -120, -120, -120, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -120, -120, - -120, -120, -120, -120, -120, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 175, 60, 60, 60, 60, 60, 60, 60, - 60, -120, -120, -120, -120, 60, -120, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -120, -120, -120, -120, -120, - - 5, -121, -121, -121, -121, -121, -121, -121, -121, -121, - -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, - -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, - -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, - -121, -121, -121, -121, -121, -121, -121, -121, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -121, -121, - -121, -121, -121, -121, -121, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 176, 60, 60, 60, 60, 60, 60, - 60, -121, -121, -121, -121, 60, -121, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -121, -121, -121, -121, -121, - - 5, -122, -122, -122, -122, -122, -122, -122, -122, -122, - -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, - -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, - -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, - -122, -122, -122, -122, -122, -122, -122, -122, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -122, -122, - -122, -122, -122, -122, -122, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 177, 60, 60, 60, 60, 60, 60, - 60, -122, -122, -122, -122, 60, -122, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -122, -122, -122, -122, -122, - - 5, -123, -123, -123, -123, -123, -123, -123, -123, -123, - -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, - -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, - -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, - -123, -123, -123, -123, -123, -123, -123, -123, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -123, -123, - -123, -123, -123, -123, -123, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 178, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -123, -123, -123, -123, 60, -123, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -123, -123, -123, -123, -123, - - 5, -124, -124, -124, -124, -124, -124, -124, -124, -124, - -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, - -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, - -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, - -124, -124, -124, -124, -124, -124, -124, -124, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -124, -124, - -124, -124, -124, -124, -124, 60, 60, 179, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 180, 60, 60, 60, 60, 60, 60, - 60, -124, -124, -124, -124, 60, -124, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -124, -124, -124, -124, -124, - - 5, -125, -125, -125, -125, -125, -125, -125, -125, -125, - -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, - -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, - -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, - -125, -125, -125, -125, -125, -125, -125, -125, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -125, -125, - -125, -125, -125, -125, -125, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 181, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -125, -125, -125, -125, 60, -125, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -125, -125, -125, -125, -125, - - 5, -126, -126, -126, -126, -126, -126, -126, -126, -126, - -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, - -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, - -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, - -126, -126, -126, -126, -126, -126, -126, -126, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -126, -126, - -126, -126, -126, -126, -126, 182, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -126, -126, -126, -126, 60, -126, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -126, -126, -126, -126, -126, - - 5, -127, -127, -127, -127, -127, -127, -127, -127, -127, - -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, - -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, - -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, - -127, -127, -127, -127, -127, -127, -127, -127, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -127, -127, - -127, -127, -127, -127, -127, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 183, 184, 60, 60, 60, 60, 60, 60, - 60, -127, -127, -127, -127, 60, -127, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -127, -127, -127, -127, -127, - - 5, -128, -128, -128, -128, -128, -128, -128, -128, -128, - -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, - -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, - -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, - -128, -128, -128, -128, -128, -128, -128, -128, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -128, -128, - -128, -128, -128, -128, -128, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 185, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -128, -128, -128, -128, 60, -128, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -128, -128, -128, -128, -128, - - 5, -129, -129, -129, -129, -129, -129, -129, -129, -129, - -129, -129, -129, -129, -129, -129, -129, -129, -129, -129, - -129, -129, -129, -129, -129, -129, -129, -129, -129, -129, - -129, -129, -129, -129, -129, -129, -129, -129, -129, -129, - -129, -129, -129, -129, -129, -129, -129, -129, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -129, -129, - -129, -129, -129, -129, -129, 60, 60, 60, 60, 186, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -129, -129, -129, -129, 60, -129, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -129, -129, -129, -129, -129, - - 5, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -130, -130, - -130, -130, -130, -130, -130, 60, 60, 187, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -130, -130, -130, -130, 60, -130, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -130, -130, -130, -130, -130, - - 5, -131, -131, -131, -131, -131, -131, -131, -131, -131, - -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, - -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, - -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, - -131, -131, -131, -131, -131, -131, -131, -131, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -131, -131, - -131, -131, -131, -131, -131, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 188, 60, 60, 60, 60, 60, - 60, -131, -131, -131, -131, 60, -131, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -131, -131, -131, -131, -131, - - 5, -132, -132, -132, -132, -132, -132, -132, -132, -132, - -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, - -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, - -132, -132, -132, -132, -132, -132, -132, -132, -132, -132, - -132, -132, -132, -132, -132, -132, -132, -132, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -132, -132, - -132, -132, -132, -132, -132, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 189, 60, 60, 60, 60, 60, 60, - 60, -132, -132, -132, -132, 60, -132, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -132, -132, -132, -132, -132, - - 5, -133, -133, -133, -133, -133, -133, -133, -133, -133, - -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, - -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, - -133, -133, -133, -133, -133, -133, -133, -133, -133, -133, - -133, -133, -133, -133, -133, -133, -133, -133, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -133, -133, - -133, -133, -133, -133, -133, 60, 60, 60, 60, 190, - 60, 60, 60, 191, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -133, -133, -133, -133, 60, -133, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -133, -133, -133, -133, -133, - - 5, -134, -134, -134, -134, -134, -134, -134, -134, -134, - -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, - -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, - -134, -134, -134, -134, -134, -134, -134, -134, -134, -134, - -134, -134, -134, -134, -134, -134, -134, -134, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -134, -134, - -134, -134, -134, -134, -134, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -134, -134, -134, -134, 60, -134, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -134, -134, -134, -134, -134, - - 5, -135, -135, -135, -135, -135, -135, -135, -135, -135, - -135, -135, -135, -135, -135, -135, -135, -135, -135, -135, - -135, -135, -135, -135, -135, -135, -135, -135, -135, -135, - -135, -135, -135, -135, -135, -135, -135, -135, -135, -135, - -135, -135, -135, -135, -135, -135, -135, -135, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -135, -135, - -135, -135, -135, -135, -135, 60, 60, 192, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -135, -135, -135, -135, 60, -135, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -135, -135, -135, -135, -135, - - 5, -136, -136, -136, -136, -136, -136, -136, -136, -136, - -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, - -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, - -136, -136, -136, -136, -136, -136, -136, -136, -136, -136, - -136, -136, -136, -136, -136, -136, -136, -136, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -136, -136, - -136, -136, -136, -136, -136, 193, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -136, -136, -136, -136, 60, -136, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -136, -136, -136, -136, -136, - - 5, -137, -137, -137, -137, -137, -137, -137, -137, -137, - -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, - -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, - -137, -137, -137, -137, -137, -137, -137, -137, -137, -137, - -137, -137, -137, -137, -137, -137, -137, -137, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -137, -137, - -137, -137, -137, -137, -137, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -137, -137, -137, -137, 60, -137, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -137, -137, -137, -137, -137, - - 5, -138, -138, -138, -138, -138, -138, -138, -138, -138, - -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, - -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, - -138, -138, -138, -138, -138, -138, -138, -138, -138, -138, - -138, -138, -138, -138, -138, -138, -138, -138, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -138, -138, - -138, -138, -138, -138, -138, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 194, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -138, -138, -138, -138, 60, -138, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -138, -138, -138, -138, -138, - - 5, -139, -139, -139, -139, -139, -139, -139, -139, -139, - -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, - -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, - -139, -139, -139, -139, -139, -139, -139, -139, -139, -139, - -139, -139, -139, -139, -139, -139, -139, -139, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -139, -139, - -139, -139, -139, -139, -139, 60, 60, 60, 60, 195, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -139, -139, -139, -139, 60, -139, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -139, -139, -139, -139, -139, - - 5, -140, -140, -140, -140, -140, -140, -140, -140, -140, - -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, - -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, - -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, - -140, -140, -140, -140, -140, -140, -140, -140, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -140, -140, - -140, -140, -140, -140, -140, 60, 60, 60, 60, 196, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 197, 60, 60, 60, 60, 60, - 60, -140, -140, -140, -140, 60, -140, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -140, -140, -140, -140, -140, - - 5, -141, -141, -141, -141, -141, -141, -141, -141, -141, - -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, - -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, - -141, -141, -141, -141, -141, -141, -141, -141, -141, -141, - -141, -141, -141, -141, -141, -141, -141, -141, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -141, -141, - -141, -141, -141, -141, -141, 60, 60, 60, 60, 198, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 199, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -141, -141, -141, -141, 60, -141, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -141, -141, -141, -141, -141, - - 5, -142, -142, -142, -142, -142, -142, -142, -142, -142, - -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, - -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, - -142, -142, -142, -142, -142, -142, -142, -142, -142, -142, - -142, -142, -142, -142, -142, -142, -142, -142, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -142, -142, - -142, -142, -142, -142, -142, 60, 60, 60, 60, 60, - 60, 200, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -142, -142, -142, -142, 60, -142, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -142, -142, -142, -142, -142, - - 5, -143, -143, -143, -143, -143, -143, -143, -143, -143, - -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, - -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, - -143, -143, -143, -143, -143, -143, -143, -143, -143, -143, - -143, -143, -143, -143, -143, -143, -143, -143, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -143, -143, - -143, -143, -143, -143, -143, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 201, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -143, -143, -143, -143, 60, -143, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -143, -143, -143, -143, -143, - - 5, -144, -144, -144, -144, -144, -144, -144, -144, -144, - -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, - -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, - -144, -144, -144, -144, -144, -144, -144, -144, -144, -144, - -144, -144, -144, -144, -144, -144, -144, -144, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -144, -144, - -144, -144, -144, -144, -144, 60, 60, 60, 60, 60, - 202, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -144, -144, -144, -144, 60, -144, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -144, -144, -144, -144, -144, - - 5, -145, -145, -145, -145, -145, -145, -145, -145, -145, - -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, - -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, - -145, -145, -145, -145, -145, -145, -145, -145, -145, -145, - -145, -145, -145, -145, -145, -145, -145, -145, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -145, -145, - -145, -145, -145, -145, -145, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 203, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -145, -145, -145, -145, 60, -145, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -145, -145, -145, -145, -145, - - 5, -146, -146, -146, -146, -146, -146, -146, -146, -146, - -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, - -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, - -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, - -146, -146, -146, -146, -146, -146, -146, -146, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -146, -146, - -146, -146, -146, -146, -146, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 204, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -146, -146, -146, -146, 60, -146, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -146, -146, -146, -146, -146, - - 5, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -147, -147, - -147, -147, -147, -147, -147, 60, 60, 60, 60, 205, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -147, -147, -147, -147, 60, -147, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -147, -147, -147, -147, -147, - - 5, -148, -148, -148, -148, -148, -148, -148, -148, -148, - -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, - -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, - -148, -148, -148, -148, -148, -148, -148, -148, -148, -148, - -148, -148, -148, -148, -148, -148, -148, -148, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -148, -148, - -148, -148, -148, -148, -148, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -148, -148, -148, -148, 60, -148, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -148, -148, -148, -148, -148, - - 5, -149, -149, -149, -149, -149, -149, -149, -149, -149, - -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, - -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, - -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, - -149, -149, -149, -149, -149, -149, -149, -149, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -149, -149, - -149, -149, -149, -149, -149, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 206, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -149, -149, -149, -149, 60, -149, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -149, -149, -149, -149, -149, - - 5, -150, -150, -150, -150, -150, -150, -150, -150, -150, - -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, - -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, - -150, -150, -150, -150, -150, -150, -150, -150, -150, -150, - -150, -150, -150, -150, -150, -150, -150, -150, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -150, -150, - -150, -150, -150, -150, -150, 60, 60, 207, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -150, -150, -150, -150, 60, -150, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -150, -150, -150, -150, -150, - - 5, -151, -151, -151, -151, -151, -151, -151, -151, -151, - -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, - -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, - -151, -151, -151, -151, -151, -151, -151, -151, -151, -151, - -151, -151, -151, -151, -151, -151, -151, -151, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -151, -151, - -151, -151, -151, -151, -151, 60, 60, 60, 208, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -151, -151, -151, -151, 60, -151, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -151, -151, -151, -151, -151, - - 5, -152, -152, -152, -152, -152, -152, -152, -152, -152, - -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, - -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, - -152, -152, -152, -152, -152, -152, -152, -152, -152, -152, - -152, -152, -152, -152, -152, -152, -152, -152, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -152, -152, - -152, -152, -152, -152, -152, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 209, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -152, -152, -152, -152, 60, -152, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -152, -152, -152, -152, -152, - - 5, -153, -153, -153, -153, -153, -153, -153, -153, -153, - -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, - -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, - -153, -153, -153, -153, -153, -153, -153, -153, -153, -153, - -153, -153, -153, -153, -153, -153, -153, -153, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -153, -153, - -153, -153, -153, -153, -153, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 210, 60, 60, 60, 60, - 60, -153, -153, -153, -153, 60, -153, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -153, -153, -153, -153, -153, - - 5, -154, -154, -154, -154, -154, -154, -154, -154, -154, - -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, - -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, - -154, -154, -154, -154, -154, -154, -154, -154, -154, -154, - -154, -154, -154, -154, -154, -154, -154, -154, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -154, -154, - -154, -154, -154, -154, -154, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -154, -154, -154, -154, 211, -154, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -154, -154, -154, -154, -154, - - 5, -155, -155, -155, -155, -155, -155, -155, -155, -155, - -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, - -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, - -155, -155, -155, -155, -155, -155, -155, -155, -155, -155, - -155, -155, -155, -155, -155, -155, -155, -155, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -155, -155, - -155, -155, -155, -155, -155, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 212, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -155, -155, -155, -155, 60, -155, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -155, -155, -155, -155, -155, - - 5, -156, -156, -156, -156, -156, -156, -156, -156, -156, - -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, - -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, - -156, -156, -156, -156, -156, -156, -156, -156, -156, -156, - -156, -156, -156, -156, -156, -156, -156, -156, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -156, -156, - -156, -156, -156, -156, -156, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -156, -156, -156, -156, 213, -156, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -156, -156, -156, -156, -156, - - 5, -157, -157, -157, -157, -157, -157, -157, -157, -157, - -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, - -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, - -157, -157, -157, -157, -157, -157, -157, -157, -157, -157, - -157, -157, -157, -157, -157, -157, -157, -157, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -157, -157, - -157, -157, -157, -157, -157, 60, 60, 60, 60, 214, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -157, -157, -157, -157, 60, -157, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -157, -157, -157, -157, -157, - - 5, -158, -158, -158, -158, -158, -158, -158, -158, -158, - -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, - -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, - -158, -158, -158, -158, -158, -158, -158, -158, -158, -158, - -158, -158, -158, -158, -158, -158, -158, -158, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -158, -158, - -158, -158, -158, -158, -158, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -158, -158, -158, -158, 60, -158, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -158, -158, -158, -158, -158, - - 5, -159, -159, -159, -159, -159, -159, -159, -159, -159, - -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, - -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, - -159, -159, -159, -159, -159, -159, -159, -159, -159, -159, - -159, -159, -159, -159, -159, -159, -159, -159, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -159, -159, - -159, -159, -159, -159, -159, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -159, -159, -159, -159, 60, -159, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -159, -159, -159, -159, -159, - - 5, -160, -160, -160, -160, -160, -160, -160, -160, -160, - -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, - -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, - -160, -160, -160, -160, -160, -160, -160, -160, -160, -160, - -160, -160, -160, -160, -160, -160, -160, -160, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -160, -160, - -160, -160, -160, -160, -160, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 215, 60, 60, 60, 60, 60, 60, - 60, -160, -160, -160, -160, 60, -160, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -160, -160, -160, -160, -160, - - 5, -161, -161, -161, -161, -161, -161, -161, -161, -161, - -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, - -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, - -161, -161, -161, -161, -161, -161, -161, -161, -161, -161, - -161, -161, -161, -161, -161, -161, -161, -161, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -161, -161, - -161, -161, -161, -161, -161, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -161, -161, -161, -161, 60, -161, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -161, -161, -161, -161, -161, - - 5, -162, -162, -162, -162, -162, -162, -162, -162, -162, - -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, - -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, - -162, -162, -162, -162, -162, -162, -162, -162, -162, -162, - -162, -162, -162, -162, -162, -162, -162, -162, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -162, -162, - -162, -162, -162, -162, -162, 60, 60, 60, 216, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -162, -162, -162, -162, 60, -162, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -162, -162, -162, -162, -162, - - 5, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, -163, -163, -163, -163, -163, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -163, -163, - -163, -163, -163, -163, -163, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 217, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -163, -163, -163, -163, 60, -163, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -163, -163, -163, -163, -163, - - 5, -164, -164, -164, -164, -164, -164, -164, -164, -164, - -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, - -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, - -164, -164, -164, -164, -164, -164, -164, -164, -164, -164, - -164, -164, -164, -164, -164, -164, -164, -164, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -164, -164, - -164, -164, -164, -164, -164, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 218, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -164, -164, -164, -164, 60, -164, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -164, -164, -164, -164, -164, - - 5, -165, -165, -165, -165, -165, -165, -165, -165, -165, - -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, - -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, - -165, -165, -165, -165, -165, -165, -165, -165, -165, -165, - -165, -165, -165, -165, -165, -165, -165, -165, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -165, -165, - -165, -165, -165, -165, -165, 60, 219, 220, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 221, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -165, -165, -165, -165, 60, -165, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -165, -165, -165, -165, -165, - - 5, -166, -166, -166, -166, -166, -166, -166, -166, -166, - -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, - -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, - -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, - -166, -166, -166, -166, -166, -166, -166, -166, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -166, -166, - -166, -166, -166, -166, -166, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 222, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -166, -166, -166, -166, 60, -166, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -166, -166, -166, -166, -166, - - 5, -167, -167, -167, -167, -167, -167, -167, -167, -167, - -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, - -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, - -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, - -167, -167, -167, -167, -167, -167, -167, -167, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -167, -167, - -167, -167, -167, -167, -167, 223, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -167, -167, -167, -167, 60, -167, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -167, -167, -167, -167, -167, - - 5, -168, -168, -168, -168, -168, -168, -168, -168, -168, - -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, - -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, - -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, - -168, -168, -168, -168, -168, -168, -168, -168, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -168, -168, - -168, -168, -168, -168, -168, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 224, 60, 60, 60, 60, - 60, -168, -168, -168, -168, 60, -168, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -168, -168, -168, -168, -168, - - 5, -169, -169, -169, -169, -169, -169, -169, -169, -169, - -169, -169, -169, -169, -169, -169, -169, -169, -169, -169, - -169, -169, -169, -169, -169, -169, -169, -169, -169, -169, - -169, -169, -169, -169, -169, -169, -169, -169, -169, -169, - -169, -169, -169, -169, -169, -169, -169, -169, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -169, -169, - -169, -169, -169, -169, -169, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 225, 60, 60, 60, 60, 60, 60, 60, - 60, -169, -169, -169, -169, 60, -169, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -169, -169, -169, -169, -169, - - 5, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -170, -170, -170, -170, -170, -170, -170, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -170, -170, - -170, -170, -170, -170, -170, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 226, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -170, -170, -170, -170, 60, -170, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -170, -170, -170, -170, -170, - - 5, -171, -171, -171, -171, -171, -171, -171, -171, -171, - -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, - -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, - -171, -171, -171, -171, -171, -171, -171, -171, -171, -171, - -171, -171, -171, -171, -171, -171, -171, -171, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -171, -171, - -171, -171, -171, -171, -171, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 227, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -171, -171, -171, -171, 60, -171, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -171, -171, -171, -171, -171, - - 5, -172, -172, -172, -172, -172, -172, -172, -172, -172, - -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, - -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, - -172, -172, -172, -172, -172, -172, -172, -172, -172, -172, - -172, -172, -172, -172, -172, -172, -172, -172, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -172, -172, - -172, -172, -172, -172, -172, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 228, 60, 60, 60, 60, 60, 60, 60, - 60, -172, -172, -172, -172, 60, -172, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -172, -172, -172, -172, -172, - - 5, -173, -173, -173, -173, -173, -173, -173, -173, -173, - -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, - -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, - -173, -173, -173, -173, -173, -173, -173, -173, -173, -173, - -173, -173, -173, -173, -173, -173, -173, -173, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -173, -173, - -173, -173, -173, -173, -173, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 229, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -173, -173, -173, -173, 60, -173, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -173, -173, -173, -173, -173, - - 5, -174, -174, -174, -174, -174, -174, -174, -174, -174, - -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, - -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, - -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, - -174, -174, -174, -174, -174, -174, -174, -174, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -174, -174, - -174, -174, -174, -174, -174, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 230, 60, 60, 60, 60, 60, 60, 60, - 60, -174, -174, -174, -174, 60, -174, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -174, -174, -174, -174, -174, - - 5, -175, -175, -175, -175, -175, -175, -175, -175, -175, - -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, - -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, - -175, -175, -175, -175, -175, -175, -175, -175, -175, -175, - -175, -175, -175, -175, -175, -175, -175, -175, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -175, -175, - -175, -175, -175, -175, -175, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -175, -175, -175, -175, 60, -175, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -175, -175, -175, -175, -175, - - 5, -176, -176, -176, -176, -176, -176, -176, -176, -176, - -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, - -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, - -176, -176, -176, -176, -176, -176, -176, -176, -176, -176, - -176, -176, -176, -176, -176, -176, -176, -176, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -176, -176, - -176, -176, -176, -176, -176, 60, 60, 60, 60, 231, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -176, -176, -176, -176, 60, -176, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -176, -176, -176, -176, -176, - - 5, -177, -177, -177, -177, -177, -177, -177, -177, -177, - -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, - -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, - -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, - -177, -177, -177, -177, -177, -177, -177, -177, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -177, -177, - -177, -177, -177, -177, -177, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 232, 60, 60, 60, 60, 60, - 60, -177, -177, -177, -177, 60, -177, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -177, -177, -177, -177, -177, - - 5, -178, -178, -178, -178, -178, -178, -178, -178, -178, - -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, - -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, - -178, -178, -178, -178, -178, -178, -178, -178, -178, -178, - -178, -178, -178, -178, -178, -178, -178, -178, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -178, -178, - -178, -178, -178, -178, -178, 60, 60, 60, 60, 60, - 60, 60, 60, 233, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -178, -178, -178, -178, 60, -178, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -178, -178, -178, -178, -178, - - 5, -179, -179, -179, -179, -179, -179, -179, -179, -179, - -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, - -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, - -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, - -179, -179, -179, -179, -179, -179, -179, -179, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -179, -179, - -179, -179, -179, -179, -179, 234, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -179, -179, -179, -179, 60, -179, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -179, -179, -179, -179, -179, - - 5, -180, -180, -180, -180, -180, -180, -180, -180, -180, - -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, - -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, - -180, -180, -180, -180, -180, -180, -180, -180, -180, -180, - -180, -180, -180, -180, -180, -180, -180, -180, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -180, -180, - -180, -180, -180, -180, -180, 60, 60, 60, 60, 60, - 60, 60, 60, 235, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -180, -180, -180, -180, 60, -180, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -180, -180, -180, -180, -180, - - 5, -181, -181, -181, -181, -181, -181, -181, -181, -181, - -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, - -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, - -181, -181, -181, -181, -181, -181, -181, -181, -181, -181, - -181, -181, -181, -181, -181, -181, -181, -181, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -181, -181, - -181, -181, -181, -181, -181, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 236, 60, 60, 60, 60, 60, - 60, -181, -181, -181, -181, 60, -181, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -181, -181, -181, -181, -181, - - 5, -182, -182, -182, -182, -182, -182, -182, -182, -182, - -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, - -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, - -182, -182, -182, -182, -182, -182, -182, -182, -182, -182, - -182, -182, -182, -182, -182, -182, -182, -182, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -182, -182, - -182, -182, -182, -182, -182, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 237, 60, 60, 60, 60, 60, - 60, -182, -182, -182, -182, 60, -182, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -182, -182, -182, -182, -182, - - 5, -183, -183, -183, -183, -183, -183, -183, -183, -183, - -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, - -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, - -183, -183, -183, -183, -183, -183, -183, -183, -183, -183, - -183, -183, -183, -183, -183, -183, -183, -183, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -183, -183, - -183, -183, -183, -183, -183, 60, 60, 60, 60, 238, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -183, -183, -183, -183, 60, -183, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -183, -183, -183, -183, -183, - - 5, -184, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -184, -184, -184, -184, -184, -184, -184, -184, - -184, -184, -184, -184, -184, -184, -184, -184, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -184, -184, - -184, -184, -184, -184, -184, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 239, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -184, -184, -184, -184, 60, -184, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -184, -184, -184, -184, -184, - - 5, -185, -185, -185, -185, -185, -185, -185, -185, -185, - -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, - -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, - -185, -185, -185, -185, -185, -185, -185, -185, -185, -185, - -185, -185, -185, -185, -185, -185, -185, -185, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -185, -185, - -185, -185, -185, -185, -185, 240, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -185, -185, -185, -185, 60, -185, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -185, -185, -185, -185, -185, - - 5, -186, -186, -186, -186, -186, -186, -186, -186, -186, - -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, - -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, - -186, -186, -186, -186, -186, -186, -186, -186, -186, -186, - -186, -186, -186, -186, -186, -186, -186, -186, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -186, -186, - -186, -186, -186, -186, -186, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 241, 60, 60, 60, 60, 60, - 60, -186, -186, -186, -186, 60, -186, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -186, -186, -186, -186, -186, - - 5, -187, -187, -187, -187, -187, -187, -187, -187, -187, - -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, - -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, - -187, -187, -187, -187, -187, -187, -187, -187, -187, -187, - -187, -187, -187, -187, -187, -187, -187, -187, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -187, -187, - -187, -187, -187, -187, -187, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -187, -187, -187, -187, 60, -187, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -187, -187, -187, -187, -187, - - 5, -188, -188, -188, -188, -188, -188, -188, -188, -188, - -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, - -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, - -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, - -188, -188, -188, -188, -188, -188, -188, -188, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -188, -188, - -188, -188, -188, -188, -188, 60, 60, 60, 60, 60, - 60, 60, 60, 242, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -188, -188, -188, -188, 60, -188, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -188, -188, -188, -188, -188, - - 5, -189, -189, -189, -189, -189, -189, -189, -189, -189, - -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, - -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, - -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, - -189, -189, -189, -189, -189, -189, -189, -189, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -189, -189, - -189, -189, -189, -189, -189, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -189, -189, -189, -189, 243, -189, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -189, -189, -189, -189, -189, - - 5, -190, -190, -190, -190, -190, -190, -190, -190, -190, - -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, - -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, - -190, -190, -190, -190, -190, -190, -190, -190, -190, -190, - -190, -190, -190, -190, -190, -190, -190, -190, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -190, -190, - -190, -190, -190, -190, -190, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -190, -190, -190, -190, 60, -190, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -190, -190, -190, -190, -190, - - 5, -191, -191, -191, -191, -191, -191, -191, -191, -191, - -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, - -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, - -191, -191, -191, -191, -191, -191, -191, -191, -191, -191, - -191, -191, -191, -191, -191, -191, -191, -191, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -191, -191, - -191, -191, -191, -191, -191, 60, 60, 60, 60, 60, - 244, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -191, -191, -191, -191, 60, -191, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -191, -191, -191, -191, -191, - - 5, -192, -192, -192, -192, -192, -192, -192, -192, -192, - -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, - -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, - -192, -192, -192, -192, -192, -192, -192, -192, -192, -192, - -192, -192, -192, -192, -192, -192, -192, -192, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -192, -192, - -192, -192, -192, -192, -192, 60, 60, 60, 60, 60, - 60, 60, 245, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -192, -192, -192, -192, 60, -192, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -192, -192, -192, -192, -192, - - 5, -193, -193, -193, -193, -193, -193, -193, -193, -193, - -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, - -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, - -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, - -193, -193, -193, -193, -193, -193, -193, -193, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -193, -193, - -193, -193, -193, -193, -193, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 246, 60, 60, 60, 60, 60, - 60, -193, -193, -193, -193, 60, -193, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -193, -193, -193, -193, -193, - - 5, -194, -194, -194, -194, -194, -194, -194, -194, -194, - -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, - -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, - -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, - -194, -194, -194, -194, -194, -194, -194, -194, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -194, -194, - -194, -194, -194, -194, -194, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -194, -194, -194, -194, 60, -194, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -194, -194, -194, -194, -194, - - 5, -195, -195, -195, -195, -195, -195, -195, -195, -195, - -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, - -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, - -195, -195, -195, -195, -195, -195, -195, -195, -195, -195, - -195, -195, -195, -195, -195, -195, -195, -195, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -195, -195, - -195, -195, -195, -195, -195, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 247, 60, - 60, -195, -195, -195, -195, 60, -195, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -195, -195, -195, -195, -195, - - 5, -196, -196, -196, -196, -196, -196, -196, -196, -196, - -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, - -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, - -196, -196, -196, -196, -196, -196, -196, -196, -196, -196, - -196, -196, -196, -196, -196, -196, -196, -196, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -196, -196, - -196, -196, -196, -196, -196, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 248, 60, 60, 60, 60, 60, 60, 60, - 60, -196, -196, -196, -196, 60, -196, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -196, -196, -196, -196, -196, - - 5, -197, -197, -197, -197, -197, -197, -197, -197, -197, - -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, - -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, - -197, -197, -197, -197, -197, -197, -197, -197, -197, -197, - -197, -197, -197, -197, -197, -197, -197, -197, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -197, -197, - -197, -197, -197, -197, -197, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 249, 60, 60, 60, 60, 60, 60, 60, - 60, -197, -197, -197, -197, 60, -197, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -197, -197, -197, -197, -197, - - 5, -198, -198, -198, -198, -198, -198, -198, -198, -198, - -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, - -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, - -198, -198, -198, -198, -198, -198, -198, -198, -198, -198, - -198, -198, -198, -198, -198, -198, -198, -198, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -198, -198, - -198, -198, -198, -198, -198, 60, 60, 60, 60, 60, - 60, 250, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -198, -198, -198, -198, 60, -198, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -198, -198, -198, -198, -198, - - 5, -199, -199, -199, -199, -199, -199, -199, -199, -199, - -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, - -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, - -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, - -199, -199, -199, -199, -199, -199, -199, -199, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -199, -199, - -199, -199, -199, -199, -199, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -199, -199, -199, -199, 60, -199, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -199, -199, -199, -199, -199, - - 5, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, - -200, -200, -200, -200, -200, -200, -200, -200, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -200, -200, - -200, -200, -200, -200, -200, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 251, 60, 60, 60, 60, 60, - 60, -200, -200, -200, -200, 60, -200, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -200, -200, -200, -200, -200, - - 5, -201, -201, -201, -201, -201, -201, -201, -201, -201, - -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, - -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, - -201, -201, -201, -201, -201, -201, -201, -201, -201, -201, - -201, -201, -201, -201, -201, -201, -201, -201, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -201, -201, - -201, -201, -201, -201, -201, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -201, -201, -201, -201, 60, -201, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -201, -201, -201, -201, -201, - - 5, -202, -202, -202, -202, -202, -202, -202, -202, -202, - -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, - -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, - -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, - -202, -202, -202, -202, -202, -202, -202, -202, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -202, -202, - -202, -202, -202, -202, -202, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 252, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -202, -202, -202, -202, 60, -202, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -202, -202, -202, -202, -202, - - 5, -203, -203, -203, -203, -203, -203, -203, -203, -203, - -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, - -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, - -203, -203, -203, -203, -203, -203, -203, -203, -203, -203, - -203, -203, -203, -203, -203, -203, -203, -203, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -203, -203, - -203, -203, -203, -203, -203, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -203, -203, -203, -203, 60, -203, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -203, -203, -203, -203, -203, - - 5, -204, -204, -204, -204, -204, -204, -204, -204, -204, - -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, - -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, - -204, -204, -204, -204, -204, -204, -204, -204, -204, -204, - -204, -204, -204, -204, -204, -204, -204, -204, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -204, -204, - -204, -204, -204, -204, -204, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -204, -204, -204, -204, 60, -204, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -204, -204, -204, -204, -204, - - 5, -205, -205, -205, -205, -205, -205, -205, -205, -205, - -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, - -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, - -205, -205, -205, -205, -205, -205, -205, -205, -205, -205, - -205, -205, -205, -205, -205, -205, -205, -205, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -205, -205, - -205, -205, -205, -205, -205, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 253, 60, 60, 60, 60, 60, 60, 60, - 60, -205, -205, -205, -205, 60, -205, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -205, -205, -205, -205, -205, - - 5, -206, -206, -206, -206, -206, -206, -206, -206, -206, - -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, - -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, - -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, - -206, -206, -206, -206, -206, -206, -206, -206, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -206, -206, - -206, -206, -206, -206, -206, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 254, 60, 60, 60, 60, 60, - 60, -206, -206, -206, -206, 60, -206, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -206, -206, -206, -206, -206, - - 5, -207, -207, -207, -207, -207, -207, -207, -207, -207, - -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, - -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, - -207, -207, -207, -207, -207, -207, -207, -207, -207, -207, - -207, -207, -207, -207, -207, -207, -207, -207, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -207, -207, - -207, -207, -207, -207, -207, 60, 60, 60, 60, 255, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -207, -207, -207, -207, 60, -207, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -207, -207, -207, -207, -207, - - 5, -208, -208, -208, -208, -208, -208, -208, -208, -208, - -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, - -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, - -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, - -208, -208, -208, -208, -208, -208, -208, -208, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -208, -208, - -208, -208, -208, -208, -208, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -208, -208, -208, -208, 60, -208, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -208, -208, -208, -208, -208, - - 5, -209, -209, -209, -209, -209, -209, -209, -209, -209, - -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, - -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, - -209, -209, -209, -209, -209, -209, -209, -209, -209, -209, - -209, -209, -209, -209, -209, -209, -209, -209, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -209, -209, - -209, -209, -209, -209, -209, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 256, 60, 60, 60, 60, 60, 60, - 60, -209, -209, -209, -209, 60, -209, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -209, -209, -209, -209, -209, - - 5, -210, -210, -210, -210, -210, -210, -210, -210, -210, - -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, - -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, - -210, -210, -210, -210, -210, -210, -210, -210, -210, -210, - -210, -210, -210, -210, -210, -210, -210, -210, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -210, -210, - -210, -210, -210, -210, -210, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 257, 60, 60, 60, 60, 60, 60, 60, - 60, -210, -210, -210, -210, 60, -210, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -210, -210, -210, -210, -210, - - 5, -211, -211, -211, -211, -211, -211, -211, -211, -211, - -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, - -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, - -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, - -211, -211, -211, -211, -211, -211, -211, -211, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -211, -211, - -211, -211, -211, -211, -211, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 258, 60, 60, 60, 60, 60, 60, - 60, -211, -211, -211, -211, 60, -211, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -211, -211, -211, -211, -211, - - 5, -212, -212, -212, -212, -212, -212, -212, -212, -212, - -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, - -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, - -212, -212, -212, -212, -212, -212, -212, -212, -212, -212, - -212, -212, -212, -212, -212, -212, -212, -212, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -212, -212, - -212, -212, -212, -212, -212, 60, 259, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -212, -212, -212, -212, 60, -212, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -212, -212, -212, -212, -212, - - 5, -213, -213, -213, -213, -213, -213, -213, -213, -213, - -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, - -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, - -213, -213, -213, -213, -213, -213, -213, -213, -213, -213, - -213, -213, -213, -213, -213, -213, -213, -213, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -213, -213, - -213, -213, -213, -213, -213, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 260, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -213, -213, -213, -213, 60, -213, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -213, -213, -213, -213, -213, - - 5, -214, -214, -214, -214, -214, -214, -214, -214, -214, - -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, - -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, - -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, - -214, -214, -214, -214, -214, -214, -214, -214, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -214, -214, - -214, -214, -214, -214, -214, 60, 60, 261, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -214, -214, -214, -214, 60, -214, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -214, -214, -214, -214, -214, - - 5, -215, -215, -215, -215, -215, -215, -215, -215, -215, - -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, - -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, - -215, -215, -215, -215, -215, -215, -215, -215, -215, -215, - -215, -215, -215, -215, -215, -215, -215, -215, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -215, -215, - -215, -215, -215, -215, -215, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 262, 60, 60, 60, 60, 60, - 60, -215, -215, -215, -215, 60, -215, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -215, -215, -215, -215, -215, - - 5, -216, -216, -216, -216, -216, -216, -216, -216, -216, - -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, - -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, - -216, -216, -216, -216, -216, -216, -216, -216, -216, -216, - -216, -216, -216, -216, -216, -216, -216, -216, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -216, -216, - -216, -216, -216, -216, -216, 263, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -216, -216, -216, -216, 60, -216, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -216, -216, -216, -216, -216, - - 5, -217, -217, -217, -217, -217, -217, -217, -217, -217, - -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, - -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, - -217, -217, -217, -217, -217, -217, -217, -217, -217, -217, - -217, -217, -217, -217, -217, -217, -217, -217, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -217, -217, - -217, -217, -217, -217, -217, 60, 60, 60, 60, 264, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -217, -217, -217, -217, 60, -217, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -217, -217, -217, -217, -217, - - 5, -218, -218, -218, -218, -218, -218, -218, -218, -218, - -218, -218, -218, -218, -218, -218, -218, -218, -218, -218, - -218, -218, -218, -218, -218, -218, -218, -218, -218, -218, - -218, -218, -218, -218, -218, -218, -218, -218, -218, -218, - -218, -218, -218, -218, -218, -218, -218, -218, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -218, -218, - -218, -218, -218, -218, -218, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -218, -218, -218, -218, 60, -218, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -218, -218, -218, -218, -218, - - 5, -219, -219, -219, -219, -219, -219, -219, -219, -219, - -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, - -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, - -219, -219, -219, -219, -219, -219, -219, -219, -219, -219, - -219, -219, -219, -219, -219, -219, -219, -219, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -219, -219, - -219, -219, -219, -219, -219, 60, 60, 60, 60, 60, - 60, 60, 60, 265, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -219, -219, -219, -219, 60, -219, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -219, -219, -219, -219, -219, - - 5, -220, -220, -220, -220, -220, -220, -220, -220, -220, - -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, - -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, - -220, -220, -220, -220, -220, -220, -220, -220, -220, -220, - -220, -220, -220, -220, -220, -220, -220, -220, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -220, -220, - -220, -220, -220, -220, -220, 60, 60, 60, 60, 60, - 60, 60, 266, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -220, -220, -220, -220, 60, -220, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -220, -220, -220, -220, -220, - - 5, -221, -221, -221, -221, -221, -221, -221, -221, -221, - -221, -221, -221, -221, -221, -221, -221, -221, -221, -221, - -221, -221, -221, -221, -221, -221, -221, -221, -221, -221, - -221, -221, -221, -221, -221, -221, -221, -221, -221, -221, - -221, -221, -221, -221, -221, -221, -221, -221, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -221, -221, - -221, -221, -221, -221, -221, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 267, 60, 60, 60, 60, - 60, -221, -221, -221, -221, 60, -221, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -221, -221, -221, -221, -221, - - 5, -222, -222, -222, -222, -222, -222, -222, -222, -222, - -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, - -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, - -222, -222, -222, -222, -222, -222, -222, -222, -222, -222, - -222, -222, -222, -222, -222, -222, -222, -222, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -222, -222, - -222, -222, -222, -222, -222, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 268, 60, 60, 60, 60, - 60, -222, -222, -222, -222, 60, -222, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -222, -222, -222, -222, -222, - - 5, -223, -223, -223, -223, -223, -223, -223, -223, -223, - -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, - -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, - -223, -223, -223, -223, -223, -223, -223, -223, -223, -223, - -223, -223, -223, -223, -223, -223, -223, -223, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -223, -223, - -223, -223, -223, -223, -223, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 269, 60, 60, 60, 60, 60, - 60, -223, -223, -223, -223, 60, -223, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -223, -223, -223, -223, -223, - - 5, -224, -224, -224, -224, -224, -224, -224, -224, -224, - -224, -224, -224, -224, -224, -224, -224, -224, -224, -224, - -224, -224, -224, -224, -224, -224, -224, -224, -224, -224, - -224, -224, -224, -224, -224, -224, -224, -224, -224, -224, - -224, -224, -224, -224, -224, -224, -224, -224, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -224, -224, - -224, -224, -224, -224, -224, 60, 60, 60, 60, 270, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -224, -224, -224, -224, 60, -224, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -224, -224, -224, -224, -224, - - 5, -225, -225, -225, -225, -225, -225, -225, -225, -225, - -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, - -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, - -225, -225, -225, -225, -225, -225, -225, -225, -225, -225, - -225, -225, -225, -225, -225, -225, -225, -225, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -225, -225, - -225, -225, -225, -225, -225, 60, 60, 60, 60, 271, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -225, -225, -225, -225, 60, -225, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -225, -225, -225, -225, -225, - - 5, -226, -226, -226, -226, -226, -226, -226, -226, -226, - -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, - -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, - -226, -226, -226, -226, -226, -226, -226, -226, -226, -226, - -226, -226, -226, -226, -226, -226, -226, -226, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -226, -226, - -226, -226, -226, -226, -226, 60, 60, 60, 60, 272, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -226, -226, -226, -226, 60, -226, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -226, -226, -226, -226, -226, - - 5, -227, -227, -227, -227, -227, -227, -227, -227, -227, - -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, - -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, - -227, -227, -227, -227, -227, -227, -227, -227, -227, -227, - -227, -227, -227, -227, -227, -227, -227, -227, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -227, -227, - -227, -227, -227, -227, -227, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -227, -227, -227, -227, 60, -227, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -227, -227, -227, -227, -227, - - 5, -228, -228, -228, -228, -228, -228, -228, -228, -228, - -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, - -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, - -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, - -228, -228, -228, -228, -228, -228, -228, -228, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -228, -228, - -228, -228, -228, -228, -228, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 273, 60, 60, 60, 60, 60, - 60, -228, -228, -228, -228, 60, -228, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -228, -228, -228, -228, -228, - - 5, -229, -229, -229, -229, -229, -229, -229, -229, -229, - -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, - -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, - -229, -229, -229, -229, -229, -229, -229, -229, -229, -229, - -229, -229, -229, -229, -229, -229, -229, -229, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -229, -229, - -229, -229, -229, -229, -229, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -229, -229, -229, -229, 60, -229, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -229, -229, -229, -229, -229, - - 5, -230, -230, -230, -230, -230, -230, -230, -230, -230, - -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, - -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, - -230, -230, -230, -230, -230, -230, -230, -230, -230, -230, - -230, -230, -230, -230, -230, -230, -230, -230, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -230, -230, - -230, -230, -230, -230, -230, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 274, - 60, -230, -230, -230, -230, 60, -230, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -230, -230, -230, -230, -230, - - 5, -231, -231, -231, -231, -231, -231, -231, -231, -231, - -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, - -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, - -231, -231, -231, -231, -231, -231, -231, -231, -231, -231, - -231, -231, -231, -231, -231, -231, -231, -231, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -231, -231, - -231, -231, -231, -231, -231, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -231, -231, -231, -231, 60, -231, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -231, -231, -231, -231, -231, - - 5, -232, -232, -232, -232, -232, -232, -232, -232, -232, - -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, - -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, - -232, -232, -232, -232, -232, -232, -232, -232, -232, -232, - -232, -232, -232, -232, -232, -232, -232, -232, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -232, -232, - -232, -232, -232, -232, -232, 60, 60, 60, 60, 275, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -232, -232, -232, -232, 60, -232, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -232, -232, -232, -232, -232, - - 5, -233, -233, -233, -233, -233, -233, -233, -233, -233, - -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, - -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, - -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, - -233, -233, -233, -233, -233, -233, -233, -233, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -233, -233, - -233, -233, -233, -233, -233, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 276, 60, 60, 60, 60, 60, - 60, -233, -233, -233, -233, 60, -233, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -233, -233, -233, -233, -233, - - 5, -234, -234, -234, -234, -234, -234, -234, -234, -234, - -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, - -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, - -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, - -234, -234, -234, -234, -234, -234, -234, -234, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -234, -234, - -234, -234, -234, -234, -234, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 277, 60, 60, 60, 60, 60, - 60, -234, -234, -234, -234, 60, -234, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -234, -234, -234, -234, -234, - - 5, -235, -235, -235, -235, -235, -235, -235, -235, -235, - -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, - -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, - -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, - -235, -235, -235, -235, -235, -235, -235, -235, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -235, -235, - -235, -235, -235, -235, -235, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 278, 60, 60, 60, 60, 60, 60, - 60, -235, -235, -235, -235, 60, -235, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -235, -235, -235, -235, -235, - - 5, -236, -236, -236, -236, -236, -236, -236, -236, -236, - -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, - -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, - -236, -236, -236, -236, -236, -236, -236, -236, -236, -236, - -236, -236, -236, -236, -236, -236, -236, -236, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -236, -236, - -236, -236, -236, -236, -236, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -236, -236, -236, -236, 60, -236, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -236, -236, -236, -236, -236, - - 5, -237, -237, -237, -237, -237, -237, -237, -237, -237, - -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, - -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, - -237, -237, -237, -237, -237, -237, -237, -237, -237, -237, - -237, -237, -237, -237, -237, -237, -237, -237, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -237, -237, - -237, -237, -237, -237, -237, 60, 60, 60, 60, 279, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -237, -237, -237, -237, 60, -237, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -237, -237, -237, -237, -237, - - 5, -238, -238, -238, -238, -238, -238, -238, -238, -238, - -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, - -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, - -238, -238, -238, -238, -238, -238, -238, -238, -238, -238, - -238, -238, -238, -238, -238, -238, -238, -238, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -238, -238, - -238, -238, -238, -238, -238, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 280, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -238, -238, -238, -238, 60, -238, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -238, -238, -238, -238, -238, - - 5, -239, -239, -239, -239, -239, -239, -239, -239, -239, - -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, - -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, - -239, -239, -239, -239, -239, -239, -239, -239, -239, -239, - -239, -239, -239, -239, -239, -239, -239, -239, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -239, -239, - -239, -239, -239, -239, -239, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 281, 60, 60, 60, 60, 60, 60, 60, - 60, -239, -239, -239, -239, 60, -239, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -239, -239, -239, -239, -239, - - 5, -240, -240, -240, -240, -240, -240, -240, -240, -240, - -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, - -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, - -240, -240, -240, -240, -240, -240, -240, -240, -240, -240, - -240, -240, -240, -240, -240, -240, -240, -240, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -240, -240, - -240, -240, -240, -240, -240, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 282, 60, 60, 60, 60, 60, 60, 60, - 60, -240, -240, -240, -240, 60, -240, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -240, -240, -240, -240, -240, - - 5, -241, -241, -241, -241, -241, -241, -241, -241, -241, - -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, - -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, - -241, -241, -241, -241, -241, -241, -241, -241, -241, -241, - -241, -241, -241, -241, -241, -241, -241, -241, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -241, -241, - -241, -241, -241, -241, -241, 60, 60, 60, 60, 283, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -241, -241, -241, -241, 60, -241, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -241, -241, -241, -241, -241, - - 5, -242, -242, -242, -242, -242, -242, -242, -242, -242, - -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, - -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, - -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, - -242, -242, -242, -242, -242, -242, -242, -242, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -242, -242, - -242, -242, -242, -242, -242, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 284, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -242, -242, -242, -242, 60, -242, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -242, -242, -242, -242, -242, - - 5, -243, -243, -243, -243, -243, -243, -243, -243, -243, - -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, - -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, - -243, -243, -243, -243, -243, -243, -243, -243, -243, -243, - -243, -243, -243, -243, -243, -243, -243, -243, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -243, -243, - -243, -243, -243, -243, -243, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 285, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -243, -243, -243, -243, 60, -243, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -243, -243, -243, -243, -243, - - 5, -244, -244, -244, -244, -244, -244, -244, -244, -244, - -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, - -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, - -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, - -244, -244, -244, -244, -244, -244, -244, -244, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -244, -244, - -244, -244, -244, -244, -244, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -244, -244, -244, -244, 60, -244, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -244, -244, -244, -244, -244, - - 5, -245, -245, -245, -245, -245, -245, -245, -245, -245, - -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, - -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, - -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, - -245, -245, -245, -245, -245, -245, -245, -245, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -245, -245, - -245, -245, -245, -245, -245, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -245, -245, -245, -245, 60, -245, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -245, -245, -245, -245, -245, - - 5, -246, -246, -246, -246, -246, -246, -246, -246, -246, - -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, - -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, - -246, -246, -246, -246, -246, -246, -246, -246, -246, -246, - -246, -246, -246, -246, -246, -246, -246, -246, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -246, -246, - -246, -246, -246, -246, -246, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -246, -246, -246, -246, 60, -246, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -246, -246, -246, -246, -246, - - 5, -247, -247, -247, -247, -247, -247, -247, -247, -247, - -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, - -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, - -247, -247, -247, -247, -247, -247, -247, -247, -247, -247, - -247, -247, -247, -247, -247, -247, -247, -247, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -247, -247, - -247, -247, -247, -247, -247, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -247, -247, -247, -247, 60, -247, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -247, -247, -247, -247, -247, - - 5, -248, -248, -248, -248, -248, -248, -248, -248, -248, - -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, - -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, - -248, -248, -248, -248, -248, -248, -248, -248, -248, -248, - -248, -248, -248, -248, -248, -248, -248, -248, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -248, -248, - -248, -248, -248, -248, -248, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 286, 60, 60, 60, 60, 60, - 60, -248, -248, -248, -248, 60, -248, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -248, -248, -248, -248, -248, - - 5, -249, -249, -249, -249, -249, -249, -249, -249, -249, - -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, - -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, - -249, -249, -249, -249, -249, -249, -249, -249, -249, -249, - -249, -249, -249, -249, -249, -249, -249, -249, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -249, -249, - -249, -249, -249, -249, -249, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -249, -249, -249, -249, 60, -249, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -249, -249, -249, -249, -249, - - 5, -250, -250, -250, -250, -250, -250, -250, -250, -250, - -250, -250, -250, -250, -250, -250, -250, -250, -250, -250, - -250, -250, -250, -250, -250, -250, -250, -250, -250, -250, - -250, -250, -250, -250, -250, -250, -250, -250, -250, -250, - -250, -250, -250, -250, -250, -250, -250, -250, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -250, -250, - -250, -250, -250, -250, -250, 60, 60, 60, 60, 287, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -250, -250, -250, -250, 60, -250, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -250, -250, -250, -250, -250, - - 5, -251, -251, -251, -251, -251, -251, -251, -251, -251, - -251, -251, -251, -251, -251, -251, -251, -251, -251, -251, - -251, -251, -251, -251, -251, -251, -251, -251, -251, -251, - -251, -251, -251, -251, -251, -251, -251, -251, -251, -251, - -251, -251, -251, -251, -251, -251, -251, -251, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -251, -251, - -251, -251, -251, -251, -251, 60, 60, 60, 60, 60, - 60, 60, 288, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -251, -251, -251, -251, 60, -251, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -251, -251, -251, -251, -251, - - 5, -252, -252, -252, -252, -252, -252, -252, -252, -252, - -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, - -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, - -252, -252, -252, -252, -252, -252, -252, -252, -252, -252, - -252, -252, -252, -252, -252, -252, -252, -252, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -252, -252, - -252, -252, -252, -252, -252, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 289, 60, 60, 60, 60, - 60, -252, -252, -252, -252, 60, -252, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -252, -252, -252, -252, -252, - - 5, -253, -253, -253, -253, -253, -253, -253, -253, -253, - -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, - -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, - -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, - -253, -253, -253, -253, -253, -253, -253, -253, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -253, -253, - -253, -253, -253, -253, -253, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -253, -253, -253, -253, 60, -253, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -253, -253, -253, -253, -253, - - 5, -254, -254, -254, -254, -254, -254, -254, -254, -254, - -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, - -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, - -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, - -254, -254, -254, -254, -254, -254, -254, -254, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -254, -254, - -254, -254, -254, -254, -254, 60, 60, 60, 60, 60, - 290, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -254, -254, -254, -254, 60, -254, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -254, -254, -254, -254, -254, - - 5, -255, -255, -255, -255, -255, -255, -255, -255, -255, - -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, - -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, - -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, - -255, -255, -255, -255, -255, -255, -255, -255, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -255, -255, - -255, -255, -255, -255, -255, 60, 60, 60, 291, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -255, -255, -255, -255, 60, -255, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -255, -255, -255, -255, -255, - - 5, -256, -256, -256, -256, -256, -256, -256, -256, -256, - -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, - -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, - -256, -256, -256, -256, -256, -256, -256, -256, -256, -256, - -256, -256, -256, -256, -256, -256, -256, -256, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -256, -256, - -256, -256, -256, -256, -256, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 292, 60, 60, 60, 60, 60, - 60, -256, -256, -256, -256, 60, -256, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -256, -256, -256, -256, -256, - - 5, -257, -257, -257, -257, -257, -257, -257, -257, -257, - -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, - -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, - -257, -257, -257, -257, -257, -257, -257, -257, -257, -257, - -257, -257, -257, -257, -257, -257, -257, -257, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -257, -257, - -257, -257, -257, -257, -257, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 293, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -257, -257, -257, -257, 60, -257, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -257, -257, -257, -257, -257, - - 5, -258, -258, -258, -258, -258, -258, -258, -258, -258, - -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, - -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, - -258, -258, -258, -258, -258, -258, -258, -258, -258, -258, - -258, -258, -258, -258, -258, -258, -258, -258, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -258, -258, - -258, -258, -258, -258, -258, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 294, 60, 60, 60, 60, 60, - 60, -258, -258, -258, -258, 60, -258, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -258, -258, -258, -258, -258, - - 5, -259, -259, -259, -259, -259, -259, -259, -259, -259, - -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, - -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, - -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, - -259, -259, -259, -259, -259, -259, -259, -259, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -259, -259, - -259, -259, -259, -259, -259, 295, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -259, -259, -259, -259, 60, -259, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -259, -259, -259, -259, -259, - - 5, -260, -260, -260, -260, -260, -260, -260, -260, -260, - -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, - -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, - -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, - -260, -260, -260, -260, -260, -260, -260, -260, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -260, -260, - -260, -260, -260, -260, -260, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 296, 60, 60, 60, 60, 60, 60, 60, - 60, -260, -260, -260, -260, 60, -260, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -260, -260, -260, -260, -260, - - 5, -261, -261, -261, -261, -261, -261, -261, -261, -261, - -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, - -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, - -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, - -261, -261, -261, -261, -261, -261, -261, -261, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -261, -261, - -261, -261, -261, -261, -261, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 297, 60, 60, 60, 60, 60, - 60, -261, -261, -261, -261, 60, -261, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -261, -261, -261, -261, -261, - - 5, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, -262, -262, - -262, -262, -262, -262, -262, -262, -262, -262, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -262, -262, - -262, -262, -262, -262, -262, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 298, 60, 60, 60, 60, 60, 60, 60, - 60, -262, -262, -262, -262, 60, -262, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -262, -262, -262, -262, -262, - - 5, -263, -263, -263, -263, -263, -263, -263, -263, -263, - -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, - -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, - -263, -263, -263, -263, -263, -263, -263, -263, -263, -263, - -263, -263, -263, -263, -263, -263, -263, -263, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -263, -263, - -263, -263, -263, -263, -263, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 299, 60, 60, 60, 60, 60, - 60, -263, -263, -263, -263, 60, -263, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -263, -263, -263, -263, -263, - - 5, -264, -264, -264, -264, -264, -264, -264, -264, -264, - -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, - -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, - -264, -264, -264, -264, -264, -264, -264, -264, -264, -264, - -264, -264, -264, -264, -264, -264, -264, -264, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -264, -264, - -264, -264, -264, -264, -264, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -264, -264, -264, -264, 60, -264, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -264, -264, -264, -264, -264, - - 5, -265, -265, -265, -265, -265, -265, -265, -265, -265, - -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, - -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, - -265, -265, -265, -265, -265, -265, -265, -265, -265, -265, - -265, -265, -265, -265, -265, -265, -265, -265, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -265, -265, - -265, -265, -265, -265, -265, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 300, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -265, -265, -265, -265, 60, -265, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -265, -265, -265, -265, -265, - - 5, -266, -266, -266, -266, -266, -266, -266, -266, -266, - -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, - -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, - -266, -266, -266, -266, -266, -266, -266, -266, -266, -266, - -266, -266, -266, -266, -266, -266, -266, -266, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -266, -266, - -266, -266, -266, -266, -266, 301, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -266, -266, -266, -266, 60, -266, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -266, -266, -266, -266, -266, - - 5, -267, -267, -267, -267, -267, -267, -267, -267, -267, - -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, - -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, - -267, -267, -267, -267, -267, -267, -267, -267, -267, -267, - -267, -267, -267, -267, -267, -267, -267, -267, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -267, -267, - -267, -267, -267, -267, -267, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 302, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -267, -267, -267, -267, 60, -267, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -267, -267, -267, -267, -267, - - 5, -268, -268, -268, -268, -268, -268, -268, -268, -268, - -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, - -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, - -268, -268, -268, -268, -268, -268, -268, -268, -268, -268, - -268, -268, -268, -268, -268, -268, -268, -268, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -268, -268, - -268, -268, -268, -268, -268, 60, 60, 60, 60, 303, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -268, -268, -268, -268, 60, -268, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -268, -268, -268, -268, -268, - - 5, -269, -269, -269, -269, -269, -269, -269, -269, -269, - -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, - -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, - -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, - -269, -269, -269, -269, -269, -269, -269, -269, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -269, -269, - -269, -269, -269, -269, -269, 60, 60, 60, 60, 304, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -269, -269, -269, -269, 60, -269, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -269, -269, -269, -269, -269, - - 5, -270, -270, -270, -270, -270, -270, -270, -270, -270, - -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, - -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, - -270, -270, -270, -270, -270, -270, -270, -270, -270, -270, - -270, -270, -270, -270, -270, -270, -270, -270, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -270, -270, - -270, -270, -270, -270, -270, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 305, 60, 60, 60, 60, 60, 60, - 60, -270, -270, -270, -270, 60, -270, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -270, -270, -270, -270, -270, - - 5, -271, -271, -271, -271, -271, -271, -271, -271, -271, - -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, - -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, - -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, - -271, -271, -271, -271, -271, -271, -271, -271, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -271, -271, - -271, -271, -271, -271, -271, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -271, -271, -271, -271, 60, -271, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -271, -271, -271, -271, -271, - - 5, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, -272, -272, - -272, -272, -272, -272, -272, -272, -272, -272, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -272, -272, - -272, -272, -272, -272, -272, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -272, -272, -272, -272, 60, -272, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -272, -272, -272, -272, -272, - - 5, -273, -273, -273, -273, -273, -273, -273, -273, -273, - -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, - -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, - -273, -273, -273, -273, -273, -273, -273, -273, -273, -273, - -273, -273, -273, -273, -273, -273, -273, -273, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -273, -273, - -273, -273, -273, -273, -273, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -273, -273, -273, -273, 60, -273, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -273, -273, -273, -273, -273, - - 5, -274, -274, -274, -274, -274, -274, -274, -274, -274, - -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, - -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, - -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, - -274, -274, -274, -274, -274, -274, -274, -274, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -274, -274, - -274, -274, -274, -274, -274, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -274, -274, -274, -274, 306, -274, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -274, -274, -274, -274, -274, - - 5, -275, -275, -275, -275, -275, -275, -275, -275, -275, - -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, - -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, - -275, -275, -275, -275, -275, -275, -275, -275, -275, -275, - -275, -275, -275, -275, -275, -275, -275, -275, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -275, -275, - -275, -275, -275, -275, -275, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 307, 60, 60, 60, 60, 60, 60, 60, - 60, -275, -275, -275, -275, 60, -275, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -275, -275, -275, -275, -275, - - 5, -276, -276, -276, -276, -276, -276, -276, -276, -276, - -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, - -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, - -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, - -276, -276, -276, -276, -276, -276, -276, -276, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -276, -276, - -276, -276, -276, -276, -276, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -276, -276, -276, -276, 60, -276, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -276, -276, -276, -276, -276, - - 5, -277, -277, -277, -277, -277, -277, -277, -277, -277, - -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, - -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, - -277, -277, -277, -277, -277, -277, -277, -277, -277, -277, - -277, -277, -277, -277, -277, -277, -277, -277, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -277, -277, - -277, -277, -277, -277, -277, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -277, -277, -277, -277, 60, -277, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -277, -277, -277, -277, -277, - - 5, -278, -278, -278, -278, -278, -278, -278, -278, -278, - -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, - -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, - -278, -278, -278, -278, -278, -278, -278, -278, -278, -278, - -278, -278, -278, -278, -278, -278, -278, -278, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -278, -278, - -278, -278, -278, -278, -278, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 308, 60, 60, 60, 60, 60, - 60, -278, -278, -278, -278, 60, -278, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -278, -278, -278, -278, -278, - - 5, -279, -279, -279, -279, -279, -279, -279, -279, -279, - -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, - -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, - -279, -279, -279, -279, -279, -279, -279, -279, -279, -279, - -279, -279, -279, -279, -279, -279, -279, -279, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -279, -279, - -279, -279, -279, -279, -279, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -279, -279, -279, -279, 60, -279, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -279, -279, -279, -279, -279, - - 5, -280, -280, -280, -280, -280, -280, -280, -280, -280, - -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, - -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, - -280, -280, -280, -280, -280, -280, -280, -280, -280, -280, - -280, -280, -280, -280, -280, -280, -280, -280, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -280, -280, - -280, -280, -280, -280, -280, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 309, 60, 60, 60, 60, 60, - 60, -280, -280, -280, -280, 60, -280, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -280, -280, -280, -280, -280, - - 5, -281, -281, -281, -281, -281, -281, -281, -281, -281, - -281, -281, -281, -281, -281, -281, -281, -281, -281, -281, - -281, -281, -281, -281, -281, -281, -281, -281, -281, -281, - -281, -281, -281, -281, -281, -281, -281, -281, -281, -281, - -281, -281, -281, -281, -281, -281, -281, -281, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -281, -281, - -281, -281, -281, -281, -281, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -281, -281, -281, -281, 60, -281, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -281, -281, -281, -281, -281, - - 5, -282, -282, -282, -282, -282, -282, -282, -282, -282, - -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, - -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, - -282, -282, -282, -282, -282, -282, -282, -282, -282, -282, - -282, -282, -282, -282, -282, -282, -282, -282, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -282, -282, - -282, -282, -282, -282, -282, 60, 60, 60, 60, 310, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -282, -282, -282, -282, 60, -282, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -282, -282, -282, -282, -282, - - 5, -283, -283, -283, -283, -283, -283, -283, -283, -283, - -283, -283, -283, -283, -283, -283, -283, -283, -283, -283, - -283, -283, -283, -283, -283, -283, -283, -283, -283, -283, - -283, -283, -283, -283, -283, -283, -283, -283, -283, -283, - -283, -283, -283, -283, -283, -283, -283, -283, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -283, -283, - -283, -283, -283, -283, -283, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -283, -283, -283, -283, 60, -283, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -283, -283, -283, -283, -283, - - 5, -284, -284, -284, -284, -284, -284, -284, -284, -284, - -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, - -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, - -284, -284, -284, -284, -284, -284, -284, -284, -284, -284, - -284, -284, -284, -284, -284, -284, -284, -284, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -284, -284, - -284, -284, -284, -284, -284, 60, 60, 311, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -284, -284, -284, -284, 60, -284, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -284, -284, -284, -284, -284, - - 5, -285, -285, -285, -285, -285, -285, -285, -285, -285, - -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, - -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, - -285, -285, -285, -285, -285, -285, -285, -285, -285, -285, - -285, -285, -285, -285, -285, -285, -285, -285, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -285, -285, - -285, -285, -285, -285, -285, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 312, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -285, -285, -285, -285, 60, -285, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -285, -285, -285, -285, -285, - - 5, -286, -286, -286, -286, -286, -286, -286, -286, -286, - -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, - -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, - -286, -286, -286, -286, -286, -286, -286, -286, -286, -286, - -286, -286, -286, -286, -286, -286, -286, -286, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -286, -286, - -286, -286, -286, -286, -286, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -286, -286, -286, -286, 60, -286, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -286, -286, -286, -286, -286, - - 5, -287, -287, -287, -287, -287, -287, -287, -287, -287, - -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, - -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, - -287, -287, -287, -287, -287, -287, -287, -287, -287, -287, - -287, -287, -287, -287, -287, -287, -287, -287, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -287, -287, - -287, -287, -287, -287, -287, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 313, 60, 60, 60, 60, 60, 60, 60, - 60, -287, -287, -287, -287, 60, -287, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -287, -287, -287, -287, -287, - - 5, -288, -288, -288, -288, -288, -288, -288, -288, -288, - -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, - -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, - -288, -288, -288, -288, -288, -288, -288, -288, -288, -288, - -288, -288, -288, -288, -288, -288, -288, -288, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -288, -288, - -288, -288, -288, -288, -288, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -288, -288, -288, -288, 60, -288, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -288, -288, -288, -288, -288, - - 5, -289, -289, -289, -289, -289, -289, -289, -289, -289, - -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, - -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, - -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, - -289, -289, -289, -289, -289, -289, -289, -289, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -289, -289, - -289, -289, -289, -289, -289, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 314, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -289, -289, -289, -289, 60, -289, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -289, -289, -289, -289, -289, - - 5, -290, -290, -290, -290, -290, -290, -290, -290, -290, - -290, -290, -290, -290, -290, -290, -290, -290, -290, -290, - -290, -290, -290, -290, -290, -290, -290, -290, -290, -290, - -290, -290, -290, -290, -290, -290, -290, -290, -290, -290, - -290, -290, -290, -290, -290, -290, -290, -290, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -290, -290, - -290, -290, -290, -290, -290, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -290, -290, -290, -290, 60, -290, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -290, -290, -290, -290, -290, - - 5, -291, -291, -291, -291, -291, -291, -291, -291, -291, - -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, - -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, - -291, -291, -291, -291, -291, -291, -291, -291, -291, -291, - -291, -291, -291, -291, -291, -291, -291, -291, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -291, -291, - -291, -291, -291, -291, -291, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 315, 60, 60, 60, 60, - 60, -291, -291, -291, -291, 60, -291, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -291, -291, -291, -291, -291, - - 5, -292, -292, -292, -292, -292, -292, -292, -292, -292, - -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, - -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, - -292, -292, -292, -292, -292, -292, -292, -292, -292, -292, - -292, -292, -292, -292, -292, -292, -292, -292, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -292, -292, - -292, -292, -292, -292, -292, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 316, 60, 60, 60, 60, 60, 60, 60, - 60, -292, -292, -292, -292, 60, -292, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -292, -292, -292, -292, -292, - - 5, -293, -293, -293, -293, -293, -293, -293, -293, -293, - -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, - -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, - -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, - -293, -293, -293, -293, -293, -293, -293, -293, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -293, -293, - -293, -293, -293, -293, -293, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -293, -293, -293, -293, 60, -293, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -293, -293, -293, -293, -293, - - 5, -294, -294, -294, -294, -294, -294, -294, -294, -294, - -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, - -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, - -294, -294, -294, -294, -294, -294, -294, -294, -294, -294, - -294, -294, -294, -294, -294, -294, -294, -294, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -294, -294, - -294, -294, -294, -294, -294, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 317, 60, 60, 60, 60, 60, 60, 60, - 60, -294, -294, -294, -294, 60, -294, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -294, -294, -294, -294, -294, - - 5, -295, -295, -295, -295, -295, -295, -295, -295, -295, - -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, - -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, - -295, -295, -295, -295, -295, -295, -295, -295, -295, -295, - -295, -295, -295, -295, -295, -295, -295, -295, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -295, -295, - -295, -295, -295, -295, -295, 60, 60, 318, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -295, -295, -295, -295, 60, -295, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -295, -295, -295, -295, -295, - - 5, -296, -296, -296, -296, -296, -296, -296, -296, -296, - -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, - -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, - -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, - -296, -296, -296, -296, -296, -296, -296, -296, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -296, -296, - -296, -296, -296, -296, -296, 60, 60, 60, 60, 60, - 60, 60, 60, 319, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -296, -296, -296, -296, 60, -296, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -296, -296, -296, -296, -296, - - 5, -297, -297, -297, -297, -297, -297, -297, -297, -297, - -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, - -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, - -297, -297, -297, -297, -297, -297, -297, -297, -297, -297, - -297, -297, -297, -297, -297, -297, -297, -297, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -297, -297, - -297, -297, -297, -297, -297, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -297, -297, -297, -297, 60, -297, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -297, -297, -297, -297, -297, - - 5, -298, -298, -298, -298, -298, -298, -298, -298, -298, - -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, - -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, - -298, -298, -298, -298, -298, -298, -298, -298, -298, -298, - -298, -298, -298, -298, -298, -298, -298, -298, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -298, -298, - -298, -298, -298, -298, -298, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -298, -298, -298, -298, 60, -298, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -298, -298, -298, -298, -298, - - 5, -299, -299, -299, -299, -299, -299, -299, -299, -299, - -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, - -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, - -299, -299, -299, -299, -299, -299, -299, -299, -299, -299, - -299, -299, -299, -299, -299, -299, -299, -299, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -299, -299, - -299, -299, -299, -299, -299, 60, 60, 60, 60, 320, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -299, -299, -299, -299, 60, -299, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -299, -299, -299, -299, -299, - - 5, -300, -300, -300, -300, -300, -300, -300, -300, -300, - -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, - -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, - -300, -300, -300, -300, -300, -300, -300, -300, -300, -300, - -300, -300, -300, -300, -300, -300, -300, -300, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -300, -300, - -300, -300, -300, -300, -300, 321, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -300, -300, -300, -300, 60, -300, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -300, -300, -300, -300, -300, - - 5, -301, -301, -301, -301, -301, -301, -301, -301, -301, - -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, - -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, - -301, -301, -301, -301, -301, -301, -301, -301, -301, -301, - -301, -301, -301, -301, -301, -301, -301, -301, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -301, -301, - -301, -301, -301, -301, -301, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 322, 60, 60, 60, 60, 60, 60, 60, - 60, -301, -301, -301, -301, 60, -301, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -301, -301, -301, -301, -301, - - 5, -302, -302, -302, -302, -302, -302, -302, -302, -302, - -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, - -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, - -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, - -302, -302, -302, -302, -302, -302, -302, -302, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -302, -302, - -302, -302, -302, -302, -302, 60, 323, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -302, -302, -302, -302, 60, -302, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -302, -302, -302, -302, -302, - - 5, -303, -303, -303, -303, -303, -303, -303, -303, -303, - -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, - -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, - -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, - -303, -303, -303, -303, -303, -303, -303, -303, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -303, -303, - -303, -303, -303, -303, -303, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -303, -303, -303, -303, 60, -303, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -303, -303, -303, -303, -303, - - 5, -304, -304, -304, -304, -304, -304, -304, -304, -304, - -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, - -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, - -304, -304, -304, -304, -304, -304, -304, -304, -304, -304, - -304, -304, -304, -304, -304, -304, -304, -304, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -304, -304, - -304, -304, -304, -304, -304, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -304, -304, -304, -304, 60, -304, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -304, -304, -304, -304, -304, - - 5, -305, -305, -305, -305, -305, -305, -305, -305, -305, - -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, - -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, - -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, - -305, -305, -305, -305, -305, -305, -305, -305, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -305, -305, - -305, -305, -305, -305, -305, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -305, -305, -305, -305, 60, -305, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -305, -305, -305, -305, -305, - - 5, -306, -306, -306, -306, -306, -306, -306, -306, -306, - -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, - -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, - -306, -306, -306, -306, -306, -306, -306, -306, -306, -306, - -306, -306, -306, -306, -306, -306, -306, -306, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -306, -306, - -306, -306, -306, -306, -306, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 324, 60, 60, 60, 60, 60, - 60, -306, -306, -306, -306, 60, -306, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -306, -306, -306, -306, -306, - - 5, -307, -307, -307, -307, -307, -307, -307, -307, -307, - -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, - -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, - -307, -307, -307, -307, -307, -307, -307, -307, -307, -307, - -307, -307, -307, -307, -307, -307, -307, -307, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -307, -307, - -307, -307, -307, -307, -307, 60, 60, 60, 60, 325, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -307, -307, -307, -307, 60, -307, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -307, -307, -307, -307, -307, - - 5, -308, -308, -308, -308, -308, -308, -308, -308, -308, - -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, - -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, - -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, - -308, -308, -308, -308, -308, -308, -308, -308, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -308, -308, - -308, -308, -308, -308, -308, 60, 60, 60, 60, 326, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -308, -308, -308, -308, 60, -308, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -308, -308, -308, -308, -308, - - 5, -309, -309, -309, -309, -309, -309, -309, -309, -309, - -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, - -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, - -309, -309, -309, -309, -309, -309, -309, -309, -309, -309, - -309, -309, -309, -309, -309, -309, -309, -309, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -309, -309, - -309, -309, -309, -309, -309, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -309, -309, -309, -309, 60, -309, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -309, -309, -309, -309, -309, - - 5, -310, -310, -310, -310, -310, -310, -310, -310, -310, - -310, -310, -310, -310, -310, -310, -310, -310, -310, -310, - -310, -310, -310, -310, -310, -310, -310, -310, -310, -310, - -310, -310, -310, -310, -310, -310, -310, -310, -310, -310, - -310, -310, -310, -310, -310, -310, -310, -310, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -310, -310, - -310, -310, -310, -310, -310, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -310, -310, -310, -310, 60, -310, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -310, -310, -310, -310, -310, - - 5, -311, -311, -311, -311, -311, -311, -311, -311, -311, - -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, - -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, - -311, -311, -311, -311, -311, -311, -311, -311, -311, -311, - -311, -311, -311, -311, -311, -311, -311, -311, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -311, -311, - -311, -311, -311, -311, -311, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 327, 60, 60, 60, 60, 60, - 60, -311, -311, -311, -311, 60, -311, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -311, -311, -311, -311, -311, - - 5, -312, -312, -312, -312, -312, -312, -312, -312, -312, - -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, - -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, - -312, -312, -312, -312, -312, -312, -312, -312, -312, -312, - -312, -312, -312, -312, -312, -312, -312, -312, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -312, -312, - -312, -312, -312, -312, -312, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 328, 60, 60, 60, 60, 60, - 60, -312, -312, -312, -312, 60, -312, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -312, -312, -312, -312, -312, - - 5, -313, -313, -313, -313, -313, -313, -313, -313, -313, - -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, - -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, - -313, -313, -313, -313, -313, -313, -313, -313, -313, -313, - -313, -313, -313, -313, -313, -313, -313, -313, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -313, -313, - -313, -313, -313, -313, -313, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -313, -313, -313, -313, 60, -313, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -313, -313, -313, -313, -313, - - 5, -314, -314, -314, -314, -314, -314, -314, -314, -314, - -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, - -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, - -314, -314, -314, -314, -314, -314, -314, -314, -314, -314, - -314, -314, -314, -314, -314, -314, -314, -314, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -314, -314, - -314, -314, -314, -314, -314, 60, 60, 60, 329, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -314, -314, -314, -314, 60, -314, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -314, -314, -314, -314, -314, - - 5, -315, -315, -315, -315, -315, -315, -315, -315, -315, - -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, - -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, - -315, -315, -315, -315, -315, -315, -315, -315, -315, -315, - -315, -315, -315, -315, -315, -315, -315, -315, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -315, -315, - -315, -315, -315, -315, -315, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 330, 60, 60, 60, 60, 60, 60, 60, - 60, -315, -315, -315, -315, 60, -315, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -315, -315, -315, -315, -315, - - 5, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, -316, -316, - -316, -316, -316, -316, -316, -316, -316, -316, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -316, -316, - -316, -316, -316, -316, -316, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -316, -316, -316, -316, 60, -316, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -316, -316, -316, -316, -316, - - 5, -317, -317, -317, -317, -317, -317, -317, -317, -317, - -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, - -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, - -317, -317, -317, -317, -317, -317, -317, -317, -317, -317, - -317, -317, -317, -317, -317, -317, -317, -317, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -317, -317, - -317, -317, -317, -317, -317, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -317, -317, -317, -317, 60, -317, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -317, -317, -317, -317, -317, - - 5, -318, -318, -318, -318, -318, -318, -318, -318, -318, - -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, - -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, - -318, -318, -318, -318, -318, -318, -318, -318, -318, -318, - -318, -318, -318, -318, -318, -318, -318, -318, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -318, -318, - -318, -318, -318, -318, -318, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 331, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -318, -318, -318, -318, 60, -318, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -318, -318, -318, -318, -318, - - 5, -319, -319, -319, -319, -319, -319, -319, -319, -319, - -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, - -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, - -319, -319, -319, -319, -319, -319, -319, -319, -319, -319, - -319, -319, -319, -319, -319, -319, -319, -319, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -319, -319, - -319, -319, -319, -319, -319, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 332, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -319, -319, -319, -319, 60, -319, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -319, -319, -319, -319, -319, - - 5, -320, -320, -320, -320, -320, -320, -320, -320, -320, - -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, - -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, - -320, -320, -320, -320, -320, -320, -320, -320, -320, -320, - -320, -320, -320, -320, -320, -320, -320, -320, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -320, -320, - -320, -320, -320, -320, -320, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -320, -320, -320, -320, 60, -320, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -320, -320, -320, -320, -320, - - 5, -321, -321, -321, -321, -321, -321, -321, -321, -321, - -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, - -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, - -321, -321, -321, -321, -321, -321, -321, -321, -321, -321, - -321, -321, -321, -321, -321, -321, -321, -321, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -321, -321, - -321, -321, -321, -321, -321, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 333, 60, 60, 60, 60, 60, 60, 60, - 60, -321, -321, -321, -321, 60, -321, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -321, -321, -321, -321, -321, - - 5, -322, -322, -322, -322, -322, -322, -322, -322, -322, - -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, - -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, - -322, -322, -322, -322, -322, -322, -322, -322, -322, -322, - -322, -322, -322, -322, -322, -322, -322, -322, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -322, -322, - -322, -322, -322, -322, -322, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -322, -322, -322, -322, 60, -322, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -322, -322, -322, -322, -322, - - 5, -323, -323, -323, -323, -323, -323, -323, -323, -323, - -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, - -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, - -323, -323, -323, -323, -323, -323, -323, -323, -323, -323, - -323, -323, -323, -323, -323, -323, -323, -323, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -323, -323, - -323, -323, -323, -323, -323, 60, 60, 60, 60, 334, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -323, -323, -323, -323, 60, -323, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -323, -323, -323, -323, -323, - - 5, -324, -324, -324, -324, -324, -324, -324, -324, -324, - -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, - -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, - -324, -324, -324, -324, -324, -324, -324, -324, -324, -324, - -324, -324, -324, -324, -324, -324, -324, -324, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -324, -324, - -324, -324, -324, -324, -324, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 335, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -324, -324, -324, -324, 60, -324, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -324, -324, -324, -324, -324, - - 5, -325, -325, -325, -325, -325, -325, -325, -325, -325, - -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, - -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, - -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, - -325, -325, -325, -325, -325, -325, -325, -325, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -325, -325, - -325, -325, -325, -325, -325, 60, 60, 60, 336, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -325, -325, -325, -325, 60, -325, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -325, -325, -325, -325, -325, - - 5, -326, -326, -326, -326, -326, -326, -326, -326, -326, - -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, - -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, - -326, -326, -326, -326, -326, -326, -326, -326, -326, -326, - -326, -326, -326, -326, -326, -326, -326, -326, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -326, -326, - -326, -326, -326, -326, -326, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 337, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -326, -326, -326, -326, 60, -326, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -326, -326, -326, -326, -326, - - 5, -327, -327, -327, -327, -327, -327, -327, -327, -327, - -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, - -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, - -327, -327, -327, -327, -327, -327, -327, -327, -327, -327, - -327, -327, -327, -327, -327, -327, -327, -327, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -327, -327, - -327, -327, -327, -327, -327, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -327, -327, -327, -327, 60, -327, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -327, -327, -327, -327, -327, - - 5, -328, -328, -328, -328, -328, -328, -328, -328, -328, - -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, - -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, - -328, -328, -328, -328, -328, -328, -328, -328, -328, -328, - -328, -328, -328, -328, -328, -328, -328, -328, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -328, -328, - -328, -328, -328, -328, -328, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -328, -328, -328, -328, 338, -328, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -328, -328, -328, -328, -328, - - 5, -329, -329, -329, -329, -329, -329, -329, -329, -329, - -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, - -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, - -329, -329, -329, -329, -329, -329, -329, -329, -329, -329, - -329, -329, -329, -329, -329, -329, -329, -329, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -329, -329, - -329, -329, -329, -329, -329, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -329, -329, -329, -329, 60, -329, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -329, -329, -329, -329, -329, - - 5, -330, -330, -330, -330, -330, -330, -330, -330, -330, - -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, - -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, - -330, -330, -330, -330, -330, -330, -330, -330, -330, -330, - -330, -330, -330, -330, -330, -330, -330, -330, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -330, -330, - -330, -330, -330, -330, -330, 60, 60, 60, 60, 339, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -330, -330, -330, -330, 60, -330, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -330, -330, -330, -330, -330, - - 5, -331, -331, -331, -331, -331, -331, -331, -331, -331, - -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, - -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, - -331, -331, -331, -331, -331, -331, -331, -331, -331, -331, - -331, -331, -331, -331, -331, -331, -331, -331, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -331, -331, - -331, -331, -331, -331, -331, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -331, -331, -331, -331, 60, -331, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -331, -331, -331, -331, -331, - - 5, -332, -332, -332, -332, -332, -332, -332, -332, -332, - -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, - -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, - -332, -332, -332, -332, -332, -332, -332, -332, -332, -332, - -332, -332, -332, -332, -332, -332, -332, -332, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -332, -332, - -332, -332, -332, -332, -332, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 340, 60, 60, 60, 60, 60, - 60, -332, -332, -332, -332, 60, -332, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -332, -332, -332, -332, -332, - - 5, -333, -333, -333, -333, -333, -333, -333, -333, -333, - -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, - -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, - -333, -333, -333, -333, -333, -333, -333, -333, -333, -333, - -333, -333, -333, -333, -333, -333, -333, -333, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -333, -333, - -333, -333, -333, -333, -333, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 341, - 60, -333, -333, -333, -333, 60, -333, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -333, -333, -333, -333, -333, - - 5, -334, -334, -334, -334, -334, -334, -334, -334, -334, - -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, - -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, - -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, - -334, -334, -334, -334, -334, -334, -334, -334, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -334, -334, - -334, -334, -334, -334, -334, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 342, 60, 60, 60, 60, 60, 60, 60, - 60, -334, -334, -334, -334, 60, -334, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -334, -334, -334, -334, -334, - - 5, -335, -335, -335, -335, -335, -335, -335, -335, -335, - -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, - -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, - -335, -335, -335, -335, -335, -335, -335, -335, -335, -335, - -335, -335, -335, -335, -335, -335, -335, -335, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -335, -335, - -335, -335, -335, -335, -335, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -335, -335, -335, -335, 343, -335, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -335, -335, -335, -335, -335, - - 5, -336, -336, -336, -336, -336, -336, -336, -336, -336, - -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, - -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, - -336, -336, -336, -336, -336, -336, -336, -336, -336, -336, - -336, -336, -336, -336, -336, -336, -336, -336, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -336, -336, - -336, -336, -336, -336, -336, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -336, -336, -336, -336, 60, -336, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -336, -336, -336, -336, -336, - - 5, -337, -337, -337, -337, -337, -337, -337, -337, -337, - -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, - -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, - -337, -337, -337, -337, -337, -337, -337, -337, -337, -337, - -337, -337, -337, -337, -337, -337, -337, -337, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -337, -337, - -337, -337, -337, -337, -337, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 344, 60, 60, 60, 60, 60, - 60, -337, -337, -337, -337, 60, -337, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -337, -337, -337, -337, -337, - - 5, -338, -338, -338, -338, -338, -338, -338, -338, -338, - -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, - -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, - -338, -338, -338, -338, -338, -338, -338, -338, -338, -338, - -338, -338, -338, -338, -338, -338, -338, -338, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -338, -338, - -338, -338, -338, -338, -338, 60, 60, 60, 60, 60, - 345, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -338, -338, -338, -338, 60, -338, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -338, -338, -338, -338, -338, - - 5, -339, -339, -339, -339, -339, -339, -339, -339, -339, - -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, - -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, - -339, -339, -339, -339, -339, -339, -339, -339, -339, -339, - -339, -339, -339, -339, -339, -339, -339, -339, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -339, -339, - -339, -339, -339, -339, -339, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -339, -339, -339, -339, 60, -339, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -339, -339, -339, -339, -339, - - 5, -340, -340, -340, -340, -340, -340, -340, -340, -340, - -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, - -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, - -340, -340, -340, -340, -340, -340, -340, -340, -340, -340, - -340, -340, -340, -340, -340, -340, -340, -340, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -340, -340, - -340, -340, -340, -340, -340, 60, 60, 60, 60, 60, - 346, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -340, -340, -340, -340, 60, -340, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -340, -340, -340, -340, -340, - - 5, -341, -341, -341, -341, -341, -341, -341, -341, -341, - -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, - -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, - -341, -341, -341, -341, -341, -341, -341, -341, -341, -341, - -341, -341, -341, -341, -341, -341, -341, -341, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -341, -341, - -341, -341, -341, -341, -341, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -341, -341, -341, -341, 60, -341, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -341, -341, -341, -341, -341, - - 5, -342, -342, -342, -342, -342, -342, -342, -342, -342, - -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, - -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, - -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, - -342, -342, -342, -342, -342, -342, -342, -342, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -342, -342, - -342, -342, -342, -342, -342, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -342, -342, -342, -342, 60, -342, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -342, -342, -342, -342, -342, - - 5, -343, -343, -343, -343, -343, -343, -343, -343, -343, - -343, -343, -343, -343, -343, -343, -343, -343, -343, -343, - -343, -343, -343, -343, -343, -343, -343, -343, -343, -343, - -343, -343, -343, -343, -343, -343, -343, -343, -343, -343, - -343, -343, -343, -343, -343, -343, -343, -343, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -343, -343, - -343, -343, -343, -343, -343, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 347, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -343, -343, -343, -343, 60, -343, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -343, -343, -343, -343, -343, - - 5, -344, -344, -344, -344, -344, -344, -344, -344, -344, - -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, - -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, - -344, -344, -344, -344, -344, -344, -344, -344, -344, -344, - -344, -344, -344, -344, -344, -344, -344, -344, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -344, -344, - -344, -344, -344, -344, -344, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -344, -344, -344, -344, 60, -344, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -344, -344, -344, -344, -344, - - 5, -345, -345, -345, -345, -345, -345, -345, -345, -345, - -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, - -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, - -345, -345, -345, -345, -345, -345, -345, -345, -345, -345, - -345, -345, -345, -345, -345, -345, -345, -345, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -345, -345, - -345, -345, -345, -345, -345, 60, 60, 60, 60, 60, - 60, 60, 60, 348, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -345, -345, -345, -345, 60, -345, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -345, -345, -345, -345, -345, - - 5, -346, -346, -346, -346, -346, -346, -346, -346, -346, - -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, - -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, - -346, -346, -346, -346, -346, -346, -346, -346, -346, -346, - -346, -346, -346, -346, -346, -346, -346, -346, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -346, -346, - -346, -346, -346, -346, -346, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -346, -346, -346, -346, 60, -346, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -346, -346, -346, -346, -346, - - 5, -347, -347, -347, -347, -347, -347, -347, -347, -347, - -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, - -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, - -347, -347, -347, -347, -347, -347, -347, -347, -347, -347, - -347, -347, -347, -347, -347, -347, -347, -347, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -347, -347, - -347, -347, -347, -347, -347, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 349, 60, 60, 60, 60, - 60, -347, -347, -347, -347, 60, -347, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -347, -347, -347, -347, -347, - - 5, -348, -348, -348, -348, -348, -348, -348, -348, -348, - -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, - -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, - -348, -348, -348, -348, -348, -348, -348, -348, -348, -348, - -348, -348, -348, -348, -348, -348, -348, -348, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -348, -348, - -348, -348, -348, -348, -348, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 350, 60, 60, 60, 60, 60, - 60, -348, -348, -348, -348, 60, -348, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -348, -348, -348, -348, -348, - - 5, -349, -349, -349, -349, -349, -349, -349, -349, -349, - -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, - -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, - -349, -349, -349, -349, -349, -349, -349, -349, -349, -349, - -349, -349, -349, -349, -349, -349, -349, -349, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -349, -349, - -349, -349, -349, -349, -349, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 351, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -349, -349, -349, -349, 60, -349, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -349, -349, -349, -349, -349, - - 5, -350, -350, -350, -350, -350, -350, -350, -350, -350, - -350, -350, -350, -350, -350, -350, -350, -350, -350, -350, - -350, -350, -350, -350, -350, -350, -350, -350, -350, -350, - -350, -350, -350, -350, -350, -350, -350, -350, -350, -350, - -350, -350, -350, -350, -350, -350, -350, -350, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -350, -350, - -350, -350, -350, -350, -350, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -350, -350, -350, -350, 352, -350, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -350, -350, -350, -350, -350, - - 5, -351, -351, -351, -351, -351, -351, -351, -351, -351, - -351, -351, -351, -351, -351, -351, -351, -351, -351, -351, - -351, -351, -351, -351, -351, -351, -351, -351, -351, -351, - -351, -351, -351, -351, -351, -351, -351, -351, -351, -351, - -351, -351, -351, -351, -351, -351, -351, -351, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -351, -351, - -351, -351, -351, -351, -351, 60, 353, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -351, -351, -351, -351, 60, -351, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -351, -351, -351, -351, -351, - - 5, -352, -352, -352, -352, -352, -352, -352, -352, -352, - -352, -352, -352, -352, -352, -352, -352, -352, -352, -352, - -352, -352, -352, -352, -352, -352, -352, -352, -352, -352, - -352, -352, -352, -352, -352, -352, -352, -352, -352, -352, - -352, -352, -352, -352, -352, -352, -352, -352, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -352, -352, - -352, -352, -352, -352, -352, 60, 60, 60, 60, 60, - 60, 60, 60, 354, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -352, -352, -352, -352, 60, -352, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -352, -352, -352, -352, -352, - - 5, -353, -353, -353, -353, -353, -353, -353, -353, -353, - -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, - -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, - -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, - -353, -353, -353, -353, -353, -353, -353, -353, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -353, -353, - -353, -353, -353, -353, -353, 60, 60, 60, 60, 355, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -353, -353, -353, -353, 60, -353, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -353, -353, -353, -353, -353, - - 5, -354, -354, -354, -354, -354, -354, -354, -354, -354, - -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, - -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, - -354, -354, -354, -354, -354, -354, -354, -354, -354, -354, - -354, -354, -354, -354, -354, -354, -354, -354, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -354, -354, - -354, -354, -354, -354, -354, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 356, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -354, -354, -354, -354, 60, -354, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -354, -354, -354, -354, -354, - - 5, -355, -355, -355, -355, -355, -355, -355, -355, -355, - -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, - -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, - -355, -355, -355, -355, -355, -355, -355, -355, -355, -355, - -355, -355, -355, -355, -355, -355, -355, -355, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -355, -355, - -355, -355, -355, -355, -355, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 357, 60, 60, 60, 60, 60, 60, 60, - 60, -355, -355, -355, -355, 60, -355, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -355, -355, -355, -355, -355, - - 5, -356, -356, -356, -356, -356, -356, -356, -356, -356, - -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, - -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, - -356, -356, -356, -356, -356, -356, -356, -356, -356, -356, - -356, -356, -356, -356, -356, -356, -356, -356, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -356, -356, - -356, -356, -356, -356, -356, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -356, -356, -356, -356, 358, -356, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -356, -356, -356, -356, -356, - - 5, -357, -357, -357, -357, -357, -357, -357, -357, -357, - -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, - -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, - -357, -357, -357, -357, -357, -357, -357, -357, -357, -357, - -357, -357, -357, -357, -357, -357, -357, -357, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -357, -357, - -357, -357, -357, -357, -357, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -357, -357, -357, -357, 60, -357, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -357, -357, -357, -357, -357, - - 5, -358, -358, -358, -358, -358, -358, -358, -358, -358, - -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, - -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, - -358, -358, -358, -358, -358, -358, -358, -358, -358, -358, - -358, -358, -358, -358, -358, -358, -358, -358, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -358, -358, - -358, -358, -358, -358, -358, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 359, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -358, -358, -358, -358, 60, -358, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -358, -358, -358, -358, -358, - - 5, -359, -359, -359, -359, -359, -359, -359, -359, -359, - -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, - -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, - -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, - -359, -359, -359, -359, -359, -359, -359, -359, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -359, -359, - -359, -359, -359, -359, -359, 60, 60, 60, 60, 360, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -359, -359, -359, -359, 60, -359, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -359, -359, -359, -359, -359, - - 5, -360, -360, -360, -360, -360, -360, -360, -360, -360, - -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, - -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, - -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, - -360, -360, -360, -360, -360, -360, -360, -360, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -360, -360, - -360, -360, -360, -360, -360, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 361, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -360, -360, -360, -360, 60, -360, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -360, -360, -360, -360, -360, - - 5, -361, -361, -361, -361, -361, -361, -361, -361, -361, - -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, - -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, - -361, -361, -361, -361, -361, -361, -361, -361, -361, -361, - -361, -361, -361, -361, -361, -361, -361, -361, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -361, -361, - -361, -361, -361, -361, -361, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 362, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -361, -361, -361, -361, 60, -361, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -361, -361, -361, -361, -361, - - 5, -362, -362, -362, -362, -362, -362, -362, -362, -362, - -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, - -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, - -362, -362, -362, -362, -362, -362, -362, -362, -362, -362, - -362, -362, -362, -362, -362, -362, -362, -362, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -362, -362, - -362, -362, -362, -362, -362, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 363, 60, 60, 60, 60, 60, 60, 60, - 60, -362, -362, -362, -362, 60, -362, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -362, -362, -362, -362, -362, - - 5, -363, -363, -363, -363, -363, -363, -363, -363, -363, - -363, -363, -363, -363, -363, -363, -363, -363, -363, -363, - -363, -363, -363, -363, -363, -363, -363, -363, -363, -363, - -363, -363, -363, -363, -363, -363, -363, -363, -363, -363, - -363, -363, -363, -363, -363, -363, -363, -363, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -363, -363, - -363, -363, -363, -363, -363, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 364, - 60, -363, -363, -363, -363, 60, -363, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -363, -363, -363, -363, -363, - - 5, -364, -364, -364, -364, -364, -364, -364, -364, -364, - -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, - -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, - -364, -364, -364, -364, -364, -364, -364, -364, -364, -364, - -364, -364, -364, -364, -364, -364, -364, -364, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, -364, -364, - -364, -364, -364, -364, -364, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, -364, -364, -364, -364, 60, -364, 60, 60, 60, - - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, - 60, 60, 60, -364, -364, -364, -364, -364 - - } ; +#define yy_set_interactive(is_interactive) \ + { \ + if ( ! yy_current_buffer ) \ + yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ + yy_current_buffer->yy_is_interactive = is_interactive; \ + } +#define yy_set_bol(at_bol) \ + { \ + if ( ! yy_current_buffer ) \ + yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ + yy_current_buffer->yy_at_bol = at_bol; \ + } -#ifndef yytext_ptr -static void yy_flex_strncpy YY_PROTO(( char *, const char *, int )); -#endif +#define YY_AT_BOL() (yy_current_buffer->yy_at_bol) -#ifdef __cplusplus -static int yyinput YY_PROTO(( void )); -#else -static int input YY_PROTO(( void )); -#endif +typedef unsigned char YY_CHAR; +FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; +typedef int yy_state_type; +extern char *yytext; +#define yytext_ptr yytext static yy_state_type yy_get_previous_state YY_PROTO(( void )); static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); static int yy_get_next_buffer YY_PROTO(( void )); -static void yy_fatal_error YY_PROTO(( const char msg[] )); +static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); /* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ yytext_ptr = yy_bp; \ - yyleng = yy_cp - yy_bp; \ + yyleng = (int) (yy_cp - yy_bp); \ yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; +#define YY_NUM_RULES 107 #define YY_END_OF_BUFFER 108 -static const short int yy_accept[365] = +static yyconst short int yy_accept[366] = { 0, 0, 0, 100, 100, 108, 106, 105, 105, 95, 106, 84, 90, 93, 91, 88, 92, 106, 94, 1, 106, @@ -5785,72 +325,269 @@ static const short int yy_accept[365] = 76, 78, 78, 78, 78, 51, 78, 78, 9, 78, 62, 61, 78, 33, 78, 74, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 63, 78, 78, 78, - 78, 78, 78, 52 + 78, 78, 78, 52, 0 } ; -static yy_state_type yy_last_accepting_state; -static char *yy_last_accepting_cpos; +static yyconst int yy_ec[256] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 1, 1, 1, 4, 1, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 15, 16, 17, + 18, 19, 20, 1, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 30, + 1, 1, 1, 1, 46, 1, 30, 30, 30, 30, + + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 47, 1, 48, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1 + } ; + +static yyconst int yy_meta[49] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, + 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 1, 1 + } ; + +static yyconst short int yy_base[371] = + { 0, + 0, 0, 46, 47, 393, 394, 49, 54, 394, 387, + 394, 394, 394, 394, 394, 394, 379, 382, 46, 371, + 394, 43, 394, 370, 394, 25, 38, 37, 41, 39, + 49, 0, 51, 54, 45, 62, 349, 57, 68, 73, + 61, 365, 71, 394, 394, 382, 394, 99, 108, 379, + 394, 394, 394, 369, 102, 394, 394, 394, 394, 0, + 358, 81, 354, 346, 0, 358, 80, 84, 353, 339, + 96, 337, 350, 335, 349, 332, 336, 332, 334, 0, + 98, 0, 334, 332, 326, 333, 0, 0, 339, 339, + 322, 94, 103, 337, 98, 94, 328, 109, 320, 336, + + 332, 310, 326, 330, 321, 107, 314, 348, 394, 137, + 394, 141, 394, 336, 0, 0, 324, 319, 326, 308, + 306, 305, 310, 123, 308, 320, 109, 308, 314, 315, + 297, 297, 126, 0, 312, 313, 0, 300, 307, 28, + 128, 304, 294, 303, 296, 293, 301, 0, 291, 301, + 299, 290, 280, 274, 287, 272, 292, 0, 0, 277, + 0, 291, 282, 279, 134, 275, 290, 269, 271, 276, + 276, 268, 271, 266, 0, 278, 262, 272, 279, 270, + 258, 257, 271, 260, 273, 253, 0, 263, 245, 0, + 264, 261, 248, 0, 243, 248, 247, 257, 0, 243, + + 0, 247, 0, 0, 243, 240, 254, 0, 239, 239, + 237, 253, 238, 250, 232, 250, 245, 0, 240, 240, + 226, 225, 225, 239, 238, 237, 0, 221, 0, 215, + 0, 234, 218, 217, 217, 0, 230, 220, 215, 214, + 226, 216, 215, 0, 0, 0, 0, 208, 0, 222, + 218, 204, 0, 218, 219, 202, 207, 200, 218, 200, + 197, 198, 195, 0, 200, 212, 199, 206, 205, 190, + 0, 0, 0, 182, 189, 0, 0, 186, 0, 185, + 0, 199, 0, 200, 187, 0, 183, 0, 186, 0, + 178, 180, 0, 179, 193, 186, 0, 0, 189, 192, + + 174, 189, 0, 0, 0, 170, 184, 183, 0, 0, + 167, 166, 0, 181, 166, 0, 0, 172, 168, 0, + 163, 0, 175, 164, 174, 163, 0, 150, 0, 170, + 0, 154, 148, 154, 145, 0, 150, 163, 0, 162, + 0, 0, 153, 0, 157, 0, 144, 144, 150, 136, + 159, 147, 142, 132, 127, 118, 0, 128, 135, 126, + 123, 114, 88, 0, 394, 168, 171, 124, 174, 177 + } ; -static const yy_state_type yy_NUL_trans[365] = +static yyconst short int yy_def[371] = { 0, - 6, 6, 46, 46, 0, 0, 0, 0, 0, 50, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 108, 0, 110, 0, 50, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 108, 0, 110, - 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0 + 365, 1, 366, 366, 365, 365, 365, 365, 365, 367, + 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, + 365, 365, 365, 365, 365, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 365, 365, 369, 365, 370, 365, 367, + 365, 365, 365, 365, 365, 365, 365, 365, 365, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + + 368, 368, 368, 368, 368, 368, 368, 369, 365, 370, + 365, 370, 365, 365, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, + 368, 368, 368, 368, 0, 365, 365, 365, 365, 365 } ; +static yyconst short int yy_nxt[443] = + { 0, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 32, 33, 32, + 32, 34, 32, 35, 36, 37, 32, 38, 39, 40, + 41, 42, 43, 32, 32, 32, 44, 45, 47, 47, + 49, 49, 196, 48, 48, 49, 49, 54, 61, 55, + 57, 58, 63, 62, 66, 71, 64, 197, 67, 72, + 74, 68, 75, 76, 69, 73, 80, 70, 83, 85, + 77, 93, 65, 78, 81, 86, 79, 87, 84, 82, + 94, 95, 96, 100, 103, 88, 104, 89, 106, 90, + + 101, 111, 91, 116, 97, 107, 112, 102, 98, 49, + 49, 113, 99, 54, 121, 55, 123, 124, 128, 117, + 122, 139, 149, 151, 125, 157, 60, 129, 150, 155, + 160, 169, 364, 158, 130, 170, 140, 141, 152, 111, + 156, 161, 153, 111, 365, 179, 183, 184, 112, 365, + 190, 363, 198, 113, 191, 219, 220, 362, 361, 360, + 359, 180, 199, 358, 357, 356, 355, 221, 46, 46, + 46, 50, 50, 50, 108, 354, 108, 110, 110, 110, + 353, 352, 351, 350, 349, 348, 347, 346, 345, 344, + 343, 342, 341, 340, 339, 338, 337, 336, 335, 334, + + 333, 332, 331, 330, 329, 328, 327, 326, 325, 324, + 323, 322, 321, 320, 319, 318, 317, 316, 315, 314, + 313, 312, 311, 310, 309, 308, 307, 306, 305, 304, + 303, 302, 301, 300, 299, 298, 297, 296, 295, 294, + 293, 292, 291, 290, 289, 288, 287, 286, 285, 284, + 283, 282, 281, 280, 279, 278, 277, 276, 275, 274, + 273, 272, 271, 270, 269, 268, 267, 266, 265, 264, + 263, 262, 261, 260, 259, 258, 257, 256, 255, 254, + 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, + 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, + + 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, + 223, 222, 218, 217, 216, 215, 214, 213, 212, 211, + 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, + 200, 195, 194, 193, 192, 189, 188, 187, 186, 185, + 182, 181, 178, 177, 176, 175, 174, 173, 172, 114, + 109, 171, 168, 167, 166, 165, 164, 163, 162, 159, + 154, 148, 147, 146, 145, 144, 143, 142, 138, 137, + 136, 135, 134, 133, 132, 131, 127, 126, 120, 119, + 118, 115, 114, 51, 109, 105, 92, 59, 56, 53, + 52, 51, 365, 5, 365, 365, 365, 365, 365, 365, + + 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, + 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, + 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, + 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, + 365, 365 + } ; + +static yyconst short int yy_chk[443] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, + 7, 7, 140, 3, 4, 8, 8, 19, 26, 19, + 22, 22, 27, 26, 28, 29, 27, 140, 28, 29, + 30, 28, 30, 31, 28, 29, 33, 28, 34, 35, + 31, 38, 27, 31, 33, 35, 31, 36, 34, 33, + 38, 38, 39, 40, 41, 36, 41, 36, 43, 36, + + 40, 48, 36, 62, 39, 43, 48, 40, 39, 49, + 49, 48, 39, 55, 67, 55, 68, 68, 71, 62, + 67, 81, 92, 93, 68, 96, 368, 71, 92, 95, + 98, 106, 363, 96, 71, 106, 81, 81, 93, 110, + 95, 98, 93, 112, 110, 124, 127, 127, 112, 110, + 133, 362, 141, 112, 133, 165, 165, 361, 360, 359, + 358, 124, 141, 356, 355, 354, 353, 165, 366, 366, + 366, 367, 367, 367, 369, 352, 369, 370, 370, 370, + 351, 350, 349, 348, 347, 345, 343, 340, 338, 337, + 335, 334, 333, 332, 330, 328, 326, 325, 324, 323, + + 321, 319, 318, 315, 314, 312, 311, 308, 307, 306, + 302, 301, 300, 299, 296, 295, 294, 292, 291, 289, + 287, 285, 284, 282, 280, 278, 275, 274, 270, 269, + 268, 267, 266, 265, 263, 262, 261, 260, 259, 258, + 257, 256, 255, 254, 252, 251, 250, 248, 243, 242, + 241, 240, 239, 238, 237, 235, 234, 233, 232, 230, + 228, 226, 225, 224, 223, 222, 221, 220, 219, 217, + 216, 215, 214, 213, 212, 211, 210, 209, 207, 206, + 205, 202, 200, 198, 197, 196, 195, 193, 192, 191, + 189, 188, 186, 185, 184, 183, 182, 181, 180, 179, + + 178, 177, 176, 174, 173, 172, 171, 170, 169, 168, + 167, 166, 164, 163, 162, 160, 157, 156, 155, 154, + 153, 152, 151, 150, 149, 147, 146, 145, 144, 143, + 142, 139, 138, 136, 135, 132, 131, 130, 129, 128, + 126, 125, 123, 122, 121, 120, 119, 118, 117, 114, + 108, 107, 105, 104, 103, 102, 101, 100, 99, 97, + 94, 91, 90, 89, 86, 85, 84, 83, 79, 78, + 77, 76, 75, 74, 73, 72, 70, 69, 66, 64, + 63, 61, 54, 50, 46, 42, 37, 24, 20, 18, + 17, 10, 5, 365, 365, 365, 365, 365, 365, 365, + + 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, + 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, + 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, + 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, + 365, 365 + } ; + +static yy_state_type yy_last_accepting_state; +static char *yy_last_accepting_cpos; + /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. */ #define REJECT reject_used_but_not_detected #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 +#define YY_RESTORE_YY_MORE_OFFSET char *yytext; +#line 1 "pars0lex.l" +#define INITIAL 0 /****************************************************** SQL parser lexical analyzer: input file for the GNU Flex lexer generator (c) 1997 Innobase Oy Created 12/14/1997 Heikki Tuuri +Published under the GPL version 2 *******************************************************/ +#line 11 "pars0lex.l" #define YYSTYPE que_node_t* +#include "univ.i" #include "pars0pars.h" #include "pars0grm.h" #include "pars0sym.h" @@ -5860,16 +597,66 @@ Created 12/14/1997 Heikki Tuuri #define isatty(A) 0 #define malloc(A) mem_alloc(A) #define free(A) mem_free(A) -#define realloc(P, A) mem_realloc(P, A) +#define realloc(P, A) mem_realloc(P, A, __FILE__, __LINE__) #define exit(A) ut_a(0) -#define YY_INPUT(buf, result, max_size) pars_get_lex_chars(buf, &result,\ - max_size) +#define YY_INPUT(buf, result, max_size) pars_get_lex_chars(buf, &result, max_size) +#define comment 1 + +#line 607 "lex.yy.c" /* Macros after this point can all be overridden by user definitions in * section 1. */ +#ifndef YY_SKIP_YYWRAP +#ifdef __cplusplus +extern "C" int yywrap YY_PROTO(( void )); +#else +extern int yywrap YY_PROTO(( void )); +#endif +#endif + +#ifndef YY_NO_UNPUT +static void yyunput YY_PROTO(( int c, char *buf_ptr )); +#endif + +#ifndef yytext_ptr +static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen YY_PROTO(( yyconst char * )); +#endif + +#ifndef YY_NO_INPUT +#ifdef __cplusplus +static int yyinput YY_PROTO(( void )); +#else +static int input YY_PROTO(( void )); +#endif +#endif + +#if YY_STACK_USED +static int yy_start_stack_ptr = 0; +static int yy_start_stack_depth = 0; +static int *yy_start_stack = 0; +#ifndef YY_NO_PUSH_STATE +static void yy_push_state YY_PROTO(( int new_state )); +#endif +#ifndef YY_NO_POP_STATE +static void yy_pop_state YY_PROTO(( void )); +#endif +#ifndef YY_NO_TOP_STATE +static int yy_top_state YY_PROTO(( void )); +#endif + +#else +#define YY_NO_PUSH_STATE 1 +#define YY_NO_POP_STATE 1 +#define YY_NO_TOP_STATE 1 +#endif + #ifdef YY_MALLOC_DECL YY_MALLOC_DECL #else @@ -5904,7 +691,20 @@ YY_MALLOC_DECL */ #ifndef YY_INPUT #define YY_INPUT(buf,result,max_size) \ - if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \ + if ( yy_current_buffer->yy_is_interactive ) \ + { \ + int c = '*', n; \ + for ( n = 0; n < max_size && \ + (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ + buf[n] = (char) c; \ + if ( c == '\n' ) \ + buf[n++] = (char) c; \ + if ( c == EOF && ferror( yyin ) ) \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + result = n; \ + } \ + else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ + && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); #endif @@ -5945,17 +745,24 @@ YY_MALLOC_DECL #define YY_BREAK break; #endif +#define YY_RULE_SETUP \ + YY_USER_ACTION + YY_DECL { register yy_state_type yy_current_state; register char *yy_cp, *yy_bp; register int yy_act; +#line 32 "pars0lex.l" +#line 761 "lex.yy.c" if ( yy_init ) { + yy_init = 0; + #ifdef YY_USER_INIT YY_USER_INIT; #endif @@ -5969,15 +776,11 @@ YY_DECL if ( ! yyout ) yyout = stdout; - if ( yy_current_buffer ) - yy_init_buffer( yy_current_buffer, yyin ); - else + if ( ! yy_current_buffer ) yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); yy_load_buffer_state(); - - yy_init = 0; } while ( 1 ) /* loops until end-of-file is reached */ @@ -5994,21 +797,33 @@ YY_DECL yy_current_state = yy_start; yy_match: - while ( (yy_current_state = yy_nxt[yy_current_state][YY_SC_TO_UI(*yy_cp)]) > 0 ) + do { + register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; if ( yy_accept[yy_current_state] ) { yy_last_accepting_state = yy_current_state; yy_last_accepting_cpos = yy_cp; } - + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 366 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - - yy_current_state = -yy_current_state; + while ( yy_base[yy_current_state] != 394 ); yy_find_action: yy_act = yy_accept[yy_current_state]; + if ( yy_act == 0 ) + { /* have to back up */ + yy_cp = yy_last_accepting_cpos; + yy_current_state = yy_last_accepting_state; + yy_act = yy_accept[yy_current_state]; + } YY_DO_BEFORE_ACTION; @@ -6021,12 +836,13 @@ do_action: /* This label is used only to access EOF actions. */ case 0: /* must back up */ /* undo the effects of YY_DO_BEFORE_ACTION */ *yy_cp = yy_hold_char; - yy_cp = yy_last_accepting_cpos + 1; + yy_cp = yy_last_accepting_cpos; yy_current_state = yy_last_accepting_state; goto yy_find_action; case 1: -YY_USER_ACTION +YY_RULE_SETUP +#line 34 "pars0lex.l" { yylval = sym_tab_add_int_lit(pars_sym_tab_global, atoi(yytext)); @@ -6034,7 +850,8 @@ YY_USER_ACTION } YY_BREAK case 2: -YY_USER_ACTION +YY_RULE_SETUP +#line 40 "pars0lex.l" { ut_error; /* not implemented */ @@ -6042,7 +859,8 @@ YY_USER_ACTION } YY_BREAK case 3: -YY_USER_ACTION +YY_RULE_SETUP +#line 46 "pars0lex.l" { /* Remove the single quotes around the string */ @@ -6053,7 +871,8 @@ YY_USER_ACTION } YY_BREAK case 4: -YY_USER_ACTION +YY_RULE_SETUP +#line 55 "pars0lex.l" { yylval = sym_tab_add_null_lit(pars_sym_tab_global); @@ -6061,7 +880,8 @@ YY_USER_ACTION } YY_BREAK case 5: -YY_USER_ACTION +YY_RULE_SETUP +#line 61 "pars0lex.l" { /* Implicit cursor name */ yylval = sym_tab_add_str_lit(pars_sym_tab_global, @@ -6070,439 +890,512 @@ YY_USER_ACTION } YY_BREAK case 6: -YY_USER_ACTION +YY_RULE_SETUP +#line 68 "pars0lex.l" { return(PARS_AND_TOKEN); } YY_BREAK case 7: -YY_USER_ACTION +YY_RULE_SETUP +#line 72 "pars0lex.l" { return(PARS_OR_TOKEN); } YY_BREAK case 8: -YY_USER_ACTION +YY_RULE_SETUP +#line 76 "pars0lex.l" { return(PARS_NOT_TOKEN); } YY_BREAK case 9: -YY_USER_ACTION +YY_RULE_SETUP +#line 80 "pars0lex.l" { return(PARS_PROCEDURE_TOKEN); } YY_BREAK case 10: -YY_USER_ACTION +YY_RULE_SETUP +#line 84 "pars0lex.l" { return(PARS_IN_TOKEN); } YY_BREAK case 11: -YY_USER_ACTION +YY_RULE_SETUP +#line 88 "pars0lex.l" { return(PARS_OUT_TOKEN); } YY_BREAK case 12: -YY_USER_ACTION +YY_RULE_SETUP +#line 92 "pars0lex.l" { return(PARS_INT_TOKEN); } YY_BREAK case 13: -YY_USER_ACTION +YY_RULE_SETUP +#line 96 "pars0lex.l" { return(PARS_INT_TOKEN); } YY_BREAK case 14: -YY_USER_ACTION +YY_RULE_SETUP +#line 100 "pars0lex.l" { return(PARS_FLOAT_TOKEN); } YY_BREAK case 15: -YY_USER_ACTION +YY_RULE_SETUP +#line 104 "pars0lex.l" { return(PARS_CHAR_TOKEN); } YY_BREAK case 16: -YY_USER_ACTION +YY_RULE_SETUP +#line 108 "pars0lex.l" { return(PARS_IS_TOKEN); } YY_BREAK case 17: -YY_USER_ACTION +YY_RULE_SETUP +#line 112 "pars0lex.l" { return(PARS_BEGIN_TOKEN); } YY_BREAK case 18: -YY_USER_ACTION +YY_RULE_SETUP +#line 116 "pars0lex.l" { return(PARS_END_TOKEN); } YY_BREAK case 19: -YY_USER_ACTION +YY_RULE_SETUP +#line 120 "pars0lex.l" { return(PARS_IF_TOKEN); } YY_BREAK case 20: -YY_USER_ACTION +YY_RULE_SETUP +#line 124 "pars0lex.l" { return(PARS_THEN_TOKEN); } YY_BREAK case 21: -YY_USER_ACTION +YY_RULE_SETUP +#line 128 "pars0lex.l" { return(PARS_ELSE_TOKEN); } YY_BREAK case 22: -YY_USER_ACTION +YY_RULE_SETUP +#line 132 "pars0lex.l" { return(PARS_ELSIF_TOKEN); } YY_BREAK case 23: -YY_USER_ACTION +YY_RULE_SETUP +#line 136 "pars0lex.l" { return(PARS_LOOP_TOKEN); } YY_BREAK case 24: -YY_USER_ACTION +YY_RULE_SETUP +#line 140 "pars0lex.l" { return(PARS_WHILE_TOKEN); } YY_BREAK case 25: -YY_USER_ACTION +YY_RULE_SETUP +#line 144 "pars0lex.l" { return(PARS_RETURN_TOKEN); } YY_BREAK case 26: -YY_USER_ACTION +YY_RULE_SETUP +#line 148 "pars0lex.l" { return(PARS_SELECT_TOKEN); } YY_BREAK case 27: -YY_USER_ACTION +YY_RULE_SETUP +#line 152 "pars0lex.l" { return(PARS_SUM_TOKEN); } YY_BREAK case 28: -YY_USER_ACTION +YY_RULE_SETUP +#line 156 "pars0lex.l" { return(PARS_COUNT_TOKEN); } YY_BREAK case 29: -YY_USER_ACTION +YY_RULE_SETUP +#line 160 "pars0lex.l" { return(PARS_DISTINCT_TOKEN); } YY_BREAK case 30: -YY_USER_ACTION +YY_RULE_SETUP +#line 164 "pars0lex.l" { return(PARS_FROM_TOKEN); } YY_BREAK case 31: -YY_USER_ACTION +YY_RULE_SETUP +#line 168 "pars0lex.l" { return(PARS_WHERE_TOKEN); } YY_BREAK case 32: -YY_USER_ACTION +YY_RULE_SETUP +#line 172 "pars0lex.l" { return(PARS_FOR_TOKEN); } YY_BREAK case 33: -YY_USER_ACTION +YY_RULE_SETUP +#line 176 "pars0lex.l" { return(PARS_CONSISTENT_TOKEN); } YY_BREAK case 34: -YY_USER_ACTION +YY_RULE_SETUP +#line 180 "pars0lex.l" { return(PARS_READ_TOKEN); } YY_BREAK case 35: -YY_USER_ACTION +YY_RULE_SETUP +#line 184 "pars0lex.l" { return(PARS_ORDER_TOKEN); } YY_BREAK case 36: -YY_USER_ACTION +YY_RULE_SETUP +#line 188 "pars0lex.l" { return(PARS_BY_TOKEN); } YY_BREAK case 37: -YY_USER_ACTION +YY_RULE_SETUP +#line 192 "pars0lex.l" { return(PARS_ASC_TOKEN); } YY_BREAK case 38: -YY_USER_ACTION +YY_RULE_SETUP +#line 196 "pars0lex.l" { return(PARS_DESC_TOKEN); } YY_BREAK case 39: -YY_USER_ACTION +YY_RULE_SETUP +#line 200 "pars0lex.l" { return(PARS_INSERT_TOKEN); } YY_BREAK case 40: -YY_USER_ACTION +YY_RULE_SETUP +#line 204 "pars0lex.l" { return(PARS_INTO_TOKEN); } YY_BREAK case 41: -YY_USER_ACTION +YY_RULE_SETUP +#line 208 "pars0lex.l" { return(PARS_VALUES_TOKEN); } YY_BREAK case 42: -YY_USER_ACTION +YY_RULE_SETUP +#line 212 "pars0lex.l" { return(PARS_UPDATE_TOKEN); } YY_BREAK case 43: -YY_USER_ACTION +YY_RULE_SETUP +#line 216 "pars0lex.l" { return(PARS_SET_TOKEN); } YY_BREAK case 44: -YY_USER_ACTION +YY_RULE_SETUP +#line 220 "pars0lex.l" { return(PARS_DELETE_TOKEN); } YY_BREAK case 45: -YY_USER_ACTION +YY_RULE_SETUP +#line 224 "pars0lex.l" { return(PARS_CURRENT_TOKEN); } YY_BREAK case 46: -YY_USER_ACTION +YY_RULE_SETUP +#line 228 "pars0lex.l" { return(PARS_OF_TOKEN); } YY_BREAK case 47: -YY_USER_ACTION +YY_RULE_SETUP +#line 232 "pars0lex.l" { return(PARS_CREATE_TOKEN); } YY_BREAK case 48: -YY_USER_ACTION +YY_RULE_SETUP +#line 236 "pars0lex.l" { return(PARS_TABLE_TOKEN); } YY_BREAK case 49: -YY_USER_ACTION +YY_RULE_SETUP +#line 240 "pars0lex.l" { return(PARS_INDEX_TOKEN); } YY_BREAK case 50: -YY_USER_ACTION +YY_RULE_SETUP +#line 244 "pars0lex.l" { return(PARS_UNIQUE_TOKEN); } YY_BREAK case 51: -YY_USER_ACTION +YY_RULE_SETUP +#line 248 "pars0lex.l" { return(PARS_CLUSTERED_TOKEN); } YY_BREAK case 52: -YY_USER_ACTION +YY_RULE_SETUP +#line 252 "pars0lex.l" { return(PARS_DOES_NOT_FIT_IN_MEM_TOKEN); } YY_BREAK case 53: -YY_USER_ACTION +YY_RULE_SETUP +#line 256 "pars0lex.l" { return(PARS_ON_TOKEN); } YY_BREAK case 54: -YY_USER_ACTION +YY_RULE_SETUP +#line 260 "pars0lex.l" { return(PARS_DECLARE_TOKEN); } YY_BREAK case 55: -YY_USER_ACTION +YY_RULE_SETUP +#line 264 "pars0lex.l" { return(PARS_CURSOR_TOKEN); } YY_BREAK case 56: -YY_USER_ACTION +YY_RULE_SETUP +#line 268 "pars0lex.l" { return(PARS_OPEN_TOKEN); } YY_BREAK case 57: -YY_USER_ACTION +YY_RULE_SETUP +#line 272 "pars0lex.l" { return(PARS_FETCH_TOKEN); } YY_BREAK case 58: -YY_USER_ACTION +YY_RULE_SETUP +#line 276 "pars0lex.l" { return(PARS_CLOSE_TOKEN); } YY_BREAK case 59: -YY_USER_ACTION +YY_RULE_SETUP +#line 280 "pars0lex.l" { return(PARS_NOTFOUND_TOKEN); } YY_BREAK case 60: -YY_USER_ACTION +YY_RULE_SETUP +#line 284 "pars0lex.l" { return(PARS_TO_CHAR_TOKEN); } YY_BREAK case 61: -YY_USER_ACTION +YY_RULE_SETUP +#line 288 "pars0lex.l" { return(PARS_TO_NUMBER_TOKEN); } YY_BREAK case 62: -YY_USER_ACTION +YY_RULE_SETUP +#line 292 "pars0lex.l" { return(PARS_TO_BINARY_TOKEN); } YY_BREAK case 63: -YY_USER_ACTION +YY_RULE_SETUP +#line 296 "pars0lex.l" { return(PARS_BINARY_TO_NUMBER_TOKEN); } YY_BREAK case 64: -YY_USER_ACTION +YY_RULE_SETUP +#line 300 "pars0lex.l" { return(PARS_SUBSTR_TOKEN); } YY_BREAK case 65: -YY_USER_ACTION +YY_RULE_SETUP +#line 304 "pars0lex.l" { return(PARS_REPLSTR_TOKEN); } YY_BREAK case 66: -YY_USER_ACTION +YY_RULE_SETUP +#line 308 "pars0lex.l" { return(PARS_CONCAT_TOKEN); } YY_BREAK case 67: -YY_USER_ACTION +YY_RULE_SETUP +#line 312 "pars0lex.l" { return(PARS_INSTR_TOKEN); } YY_BREAK case 68: -YY_USER_ACTION +YY_RULE_SETUP +#line 316 "pars0lex.l" { return(PARS_LENGTH_TOKEN); } YY_BREAK case 69: -YY_USER_ACTION +YY_RULE_SETUP +#line 320 "pars0lex.l" { return(PARS_SYSDATE_TOKEN); } YY_BREAK case 70: -YY_USER_ACTION +YY_RULE_SETUP +#line 324 "pars0lex.l" { return(PARS_PRINTF_TOKEN); } YY_BREAK case 71: -YY_USER_ACTION +YY_RULE_SETUP +#line 328 "pars0lex.l" { return(PARS_ASSERT_TOKEN); } YY_BREAK case 72: -YY_USER_ACTION +YY_RULE_SETUP +#line 332 "pars0lex.l" { return(PARS_RND_TOKEN); } YY_BREAK case 73: -YY_USER_ACTION +YY_RULE_SETUP +#line 336 "pars0lex.l" { return(PARS_RND_STR_TOKEN); } YY_BREAK case 74: -YY_USER_ACTION +YY_RULE_SETUP +#line 340 "pars0lex.l" { return(PARS_ROW_PRINTF_TOKEN); } YY_BREAK case 75: -YY_USER_ACTION +YY_RULE_SETUP +#line 344 "pars0lex.l" { return(PARS_COMMIT_TOKEN); } YY_BREAK case 76: -YY_USER_ACTION +YY_RULE_SETUP +#line 348 "pars0lex.l" { return(PARS_ROLLBACK_TOKEN); } YY_BREAK case 77: -YY_USER_ACTION +YY_RULE_SETUP +#line 352 "pars0lex.l" { return(PARS_WORK_TOKEN); } YY_BREAK case 78: -YY_USER_ACTION +YY_RULE_SETUP +#line 356 "pars0lex.l" { yylval = sym_tab_add_id(pars_sym_tab_global, (byte*)yytext, @@ -6511,170 +1404,198 @@ YY_USER_ACTION } YY_BREAK case 79: -YY_USER_ACTION +YY_RULE_SETUP +#line 363 "pars0lex.l" { return(PARS_DDOT_TOKEN); } YY_BREAK case 80: -YY_USER_ACTION +YY_RULE_SETUP +#line 367 "pars0lex.l" { return(PARS_ASSIGN_TOKEN); } YY_BREAK case 81: -YY_USER_ACTION +YY_RULE_SETUP +#line 371 "pars0lex.l" { return(PARS_LE_TOKEN); } YY_BREAK case 82: -YY_USER_ACTION +YY_RULE_SETUP +#line 375 "pars0lex.l" { return(PARS_GE_TOKEN); } YY_BREAK case 83: -YY_USER_ACTION +YY_RULE_SETUP +#line 379 "pars0lex.l" { return(PARS_NE_TOKEN); } YY_BREAK case 84: -YY_USER_ACTION +YY_RULE_SETUP +#line 383 "pars0lex.l" { return((int)(*yytext)); } YY_BREAK case 85: -YY_USER_ACTION +YY_RULE_SETUP +#line 388 "pars0lex.l" { return((int)(*yytext)); } YY_BREAK case 86: -YY_USER_ACTION +YY_RULE_SETUP +#line 393 "pars0lex.l" { return((int)(*yytext)); } YY_BREAK case 87: -YY_USER_ACTION +YY_RULE_SETUP +#line 398 "pars0lex.l" { return((int)(*yytext)); } YY_BREAK case 88: -YY_USER_ACTION +YY_RULE_SETUP +#line 403 "pars0lex.l" { return((int)(*yytext)); } YY_BREAK case 89: -YY_USER_ACTION +YY_RULE_SETUP +#line 408 "pars0lex.l" { return((int)(*yytext)); } YY_BREAK case 90: -YY_USER_ACTION +YY_RULE_SETUP +#line 413 "pars0lex.l" { return((int)(*yytext)); } YY_BREAK case 91: -YY_USER_ACTION +YY_RULE_SETUP +#line 418 "pars0lex.l" { return((int)(*yytext)); } YY_BREAK case 92: -YY_USER_ACTION +YY_RULE_SETUP +#line 423 "pars0lex.l" { return((int)(*yytext)); } YY_BREAK case 93: -YY_USER_ACTION +YY_RULE_SETUP +#line 428 "pars0lex.l" { return((int)(*yytext)); } YY_BREAK case 94: -YY_USER_ACTION +YY_RULE_SETUP +#line 433 "pars0lex.l" { return((int)(*yytext)); } YY_BREAK case 95: -YY_USER_ACTION +YY_RULE_SETUP +#line 438 "pars0lex.l" { return((int)(*yytext)); } YY_BREAK case 96: -YY_USER_ACTION +YY_RULE_SETUP +#line 443 "pars0lex.l" { return((int)(*yytext)); } YY_BREAK case 97: -YY_USER_ACTION +YY_RULE_SETUP +#line 448 "pars0lex.l" { return((int)(*yytext)); } YY_BREAK case 98: -YY_USER_ACTION +YY_RULE_SETUP +#line 453 "pars0lex.l" { return((int)(*yytext)); } YY_BREAK case 99: -YY_USER_ACTION +YY_RULE_SETUP +#line 458 "pars0lex.l" BEGIN(comment); /* eat up comment */ YY_BREAK case 100: -YY_USER_ACTION +YY_RULE_SETUP +#line 460 "pars0lex.l" YY_BREAK case 101: -YY_USER_ACTION +YY_RULE_SETUP +#line 461 "pars0lex.l" YY_BREAK case 102: -YY_USER_ACTION +YY_RULE_SETUP +#line 462 "pars0lex.l" YY_BREAK case 103: -YY_USER_ACTION +YY_RULE_SETUP +#line 463 "pars0lex.l" YY_BREAK case 104: -YY_USER_ACTION +YY_RULE_SETUP +#line 464 "pars0lex.l" BEGIN(INITIAL); YY_BREAK case 105: -YY_USER_ACTION +YY_RULE_SETUP +#line 466 "pars0lex.l" /* eat up whitespace */ YY_BREAK case 106: -YY_USER_ACTION +YY_RULE_SETUP +#line 469 "pars0lex.l" { printf("Unrecognized character: %s\n", yytext); @@ -6684,9 +1605,11 @@ YY_USER_ACTION } YY_BREAK case 107: -YY_USER_ACTION +YY_RULE_SETUP +#line 477 "pars0lex.l" ECHO; YY_BREAK +#line 1613 "lex.yy.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(comment): yyterminate(); @@ -6694,10 +1617,11 @@ case YY_STATE_EOF(comment): case YY_END_OF_BUFFER: { /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = yy_cp - yytext_ptr - 1; + int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; /* Undo the effects of YY_DO_BEFORE_ACTION. */ *yy_cp = yy_hold_char; + YY_RESTORE_YY_MORE_OFFSET if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) { @@ -6753,7 +1677,7 @@ case YY_STATE_EOF(comment): else { - yy_cp = yy_c_buf_p; + yy_cp = yy_c_buf_p; goto yy_find_action; } } @@ -6831,7 +1755,7 @@ case YY_STATE_EOF(comment): static int yy_get_next_buffer() { register char *dest = yy_current_buffer->yy_ch_buf; - register char *source = yytext_ptr - 1; /* copy prev. char, too */ + register char *source = yytext_ptr; register int number_to_move, i; int ret_val; @@ -6843,7 +1767,7 @@ static int yy_get_next_buffer() { /* Don't try to fill the buffer, so this is an EOF. */ if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) { - /* We matched a singled characater, the EOB, so + /* We matched a single character, the EOB, so * treat this as a final EOF. */ return EOB_ACT_END_OF_FILE; @@ -6861,7 +1785,7 @@ static int yy_get_next_buffer() /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = yy_c_buf_p - yytext_ptr; + number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -6870,7 +1794,7 @@ static int yy_get_next_buffer() /* don't do the read, it's not guaranteed to return an EOF, * just force an EOF */ - yy_n_chars = 0; + yy_current_buffer->yy_n_chars = yy_n_chars = 0; else { @@ -6887,12 +1811,26 @@ static int yy_get_next_buffer() /* just a shorter name for the current buffer */ YY_BUFFER_STATE b = yy_current_buffer; - int yy_c_buf_p_offset = yy_c_buf_p - b->yy_ch_buf; + int yy_c_buf_p_offset = + (int) (yy_c_buf_p - b->yy_ch_buf); + + if ( b->yy_is_our_buffer ) + { + int new_size = b->yy_buf_size * 2; - b->yy_buf_size *= 2; - b->yy_ch_buf = (char *) - yy_flex_realloc( (void *) b->yy_ch_buf, - b->yy_buf_size ); + if ( new_size <= 0 ) + b->yy_buf_size += b->yy_buf_size / 8; + else + b->yy_buf_size *= 2; + + b->yy_ch_buf = (char *) + /* Include room in for 2 EOB chars. */ + yy_flex_realloc( (void *) b->yy_ch_buf, + b->yy_buf_size + 2 ); + } + else + /* Can't grow it, we don't own it. */ + b->yy_ch_buf = 0; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( @@ -6911,11 +1849,13 @@ static int yy_get_next_buffer() /* Read in more data. */ YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), yy_n_chars, num_to_read ); + + yy_current_buffer->yy_n_chars = yy_n_chars; } if ( yy_n_chars == 0 ) { - if ( number_to_move - YY_MORE_ADJ == 1 ) + if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; yyrestart( yyin ); @@ -6936,13 +1876,7 @@ static int yy_get_next_buffer() yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; - /* yytext begins at the second character in yy_ch_buf; the first - * character is the one which preceded it before reading in the latest - * buffer; it needs to be kept around in case it's a newline, so - * yy_get_previous_state() will have with '^' rules active. - */ - - yytext_ptr = &yy_current_buffer->yy_ch_buf[1]; + yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; return ret_val; } @@ -6959,17 +1893,19 @@ static yy_state_type yy_get_previous_state() for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) { - if ( *yy_cp ) - { - yy_current_state = yy_nxt[yy_current_state][YY_SC_TO_UI(*yy_cp)]; - } - else - yy_current_state = yy_NUL_trans[yy_current_state]; + register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); if ( yy_accept[yy_current_state] ) { yy_last_accepting_state = yy_current_state; yy_last_accepting_cpos = yy_cp; } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 366 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; } return yy_current_state; @@ -6992,22 +1928,26 @@ yy_state_type yy_current_state; register int yy_is_jam; register char *yy_cp = yy_c_buf_p; - yy_current_state = yy_NUL_trans[yy_current_state]; - yy_is_jam = (yy_current_state == 0); - - if ( ! yy_is_jam ) + register YY_CHAR yy_c = 1; + if ( yy_accept[yy_current_state] ) { - if ( yy_accept[yy_current_state] ) - { - yy_last_accepting_state = yy_current_state; - yy_last_accepting_cpos = yy_cp; - } + yy_last_accepting_state = yy_current_state; + yy_last_accepting_cpos = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 366 ) + yy_c = yy_meta[(unsigned int) yy_c]; } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_is_jam = (yy_current_state == 365); return yy_is_jam ? 0 : yy_current_state; } +#ifndef YY_NO_UNPUT #ifdef YY_USE_PROTOS static void yyunput( int c, register char *yy_bp ) #else @@ -7033,25 +1973,23 @@ register char *yy_bp; while ( source > yy_current_buffer->yy_ch_buf ) *--dest = *--source; - yy_cp += dest - source; - yy_bp += dest - source; - yy_n_chars = yy_current_buffer->yy_buf_size; + yy_cp += (int) (dest - source); + yy_bp += (int) (dest - source); + yy_current_buffer->yy_n_chars = + yy_n_chars = yy_current_buffer->yy_buf_size; if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) YY_FATAL_ERROR( "flex scanner push-back overflow" ); } - if ( yy_cp > yy_bp && yy_cp[-1] == '\n' ) - yy_cp[-2] = '\n'; - *--yy_cp = (char) c; - /* Note: the formal parameter *must* be called "yy_bp" for this - * macro to now work correctly. - */ - YY_DO_BEFORE_ACTION; /* set up yytext again */ + yytext_ptr = yy_bp; + yy_hold_char = *yy_cp; + yy_c_buf_p = yy_cp; } +#endif /* ifndef YY_NO_UNPUT */ #ifdef __cplusplus @@ -7076,21 +2014,34 @@ static int input() else { /* need more input */ - yytext_ptr = yy_c_buf_p; + int offset = yy_c_buf_p - yytext_ptr; ++yy_c_buf_p; switch ( yy_get_next_buffer() ) { + case EOB_ACT_LAST_MATCH: + /* This happens because yy_g_n_b() + * sees that we've accumulated a + * token and flags that we need to + * try matching the token before + * proceeding. But for input(), + * there's no matching to consider. + * So convert the EOB_ACT_LAST_MATCH + * to EOB_ACT_END_OF_FILE. + */ + + /* Reset buffer status. */ + yyrestart( yyin ); + + /* fall through */ + case EOB_ACT_END_OF_FILE: { if ( yywrap() ) - { - yy_c_buf_p = - yytext_ptr + YY_MORE_ADJ; return EOF; - } - YY_NEW_FILE; + if ( ! yy_did_buffer_switch_on_eof ) + YY_NEW_FILE; #ifdef __cplusplus return yyinput(); #else @@ -7099,17 +2050,8 @@ static int input() } case EOB_ACT_CONTINUE_SCAN: - yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; + yy_c_buf_p = yytext_ptr + offset; break; - - case EOB_ACT_LAST_MATCH: -#ifdef __cplusplus - YY_FATAL_ERROR( - "unexpected last match in yyinput()" ); -#else - YY_FATAL_ERROR( - "unexpected last match in input()" ); -#endif } } } @@ -7118,6 +2060,7 @@ static int input() *yy_c_buf_p = '\0'; /* preserve yytext */ yy_hold_char = *++yy_c_buf_p; + return c; } @@ -7191,7 +2134,6 @@ int size; YY_BUFFER_STATE b; b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); - if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); @@ -7201,10 +2143,11 @@ int size; * we need to put in 2 end-of-buffer characters. */ b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); - if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + b->yy_is_our_buffer = 1; + yy_init_buffer( b, file ); return b; @@ -7218,14 +2161,25 @@ void yy_delete_buffer( b ) YY_BUFFER_STATE b; #endif { + if ( ! b ) + return; + if ( b == yy_current_buffer ) yy_current_buffer = (YY_BUFFER_STATE) 0; - yy_flex_free( (void *) b->yy_ch_buf ); + if ( b->yy_is_our_buffer ) + yy_flex_free( (void *) b->yy_ch_buf ); + yy_flex_free( (void *) b ); } +#ifndef YY_ALWAYS_INTERACTIVE +#ifndef YY_NEVER_INTERACTIVE +#include<unistd.h> +#endif +#endif + #ifdef YY_USE_PROTOS void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) #else @@ -7233,33 +2187,151 @@ void yy_init_buffer( b, file ) YY_BUFFER_STATE b; FILE *file; #endif + + { + yy_flush_buffer( b ); + b->yy_input_file = file; + b->yy_fill_buffer = 1; - /* We put in the '\n' and start reading from [1] so that an - * initial match-at-newline will be true. - */ +#if YY_ALWAYS_INTERACTIVE + b->yy_is_interactive = 1; +#else +#if YY_NEVER_INTERACTIVE + b->yy_is_interactive = 0; +#else + b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; +#endif +#endif + } + + +#ifdef YY_USE_PROTOS +void yy_flush_buffer( YY_BUFFER_STATE b ) +#else +void yy_flush_buffer( b ) +YY_BUFFER_STATE b; +#endif + + { + if ( ! b ) + return; - b->yy_ch_buf[0] = '\n'; - b->yy_n_chars = 1; + b->yy_n_chars = 0; /* We always need two end-of-buffer characters. The first causes * a transition to the end-of-buffer state. The second causes * a jam in that state. */ + b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; - b->yy_ch_buf[2] = YY_END_OF_BUFFER_CHAR; - b->yy_buf_pos = &b->yy_ch_buf[1]; + b->yy_buf_pos = &b->yy_ch_buf[0]; - b->yy_is_interactive = file ? isatty( fileno(file) ) : 0; + b->yy_at_bol = 1; + b->yy_buffer_status = YY_BUFFER_NEW; - b->yy_fill_buffer = 1; + if ( b == yy_current_buffer ) + yy_load_buffer_state(); + } + + +#ifndef YY_NO_SCAN_BUFFER +#ifdef YY_USE_PROTOS +YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) +#else +YY_BUFFER_STATE yy_scan_buffer( base, size ) +char *base; +yy_size_t size; +#endif + { + YY_BUFFER_STATE b; + if ( size < 2 || + base[size-2] != YY_END_OF_BUFFER_CHAR || + base[size-1] != YY_END_OF_BUFFER_CHAR ) + /* They forgot to leave room for the EOB's. */ + return 0; + + b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); + + b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ + b->yy_buf_pos = b->yy_ch_buf = base; + b->yy_is_our_buffer = 0; + b->yy_input_file = 0; + b->yy_n_chars = b->yy_buf_size; + b->yy_is_interactive = 0; + b->yy_at_bol = 1; + b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; + + yy_switch_to_buffer( b ); + + return b; + } +#endif + + +#ifndef YY_NO_SCAN_STRING +#ifdef YY_USE_PROTOS +YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str ) +#else +YY_BUFFER_STATE yy_scan_string( yy_str ) +yyconst char *yy_str; +#endif + { + int len; + for ( len = 0; yy_str[len]; ++len ) + ; + + return yy_scan_bytes( yy_str, len ); } +#endif +#ifndef YY_NO_SCAN_BYTES +#ifdef YY_USE_PROTOS +YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) +#else +YY_BUFFER_STATE yy_scan_bytes( bytes, len ) +yyconst char *bytes; +int len; +#endif + { + YY_BUFFER_STATE b; + char *buf; + yy_size_t n; + int i; + + /* Get memory for full buffer, including space for trailing EOB's. */ + n = len + 2; + buf = (char *) yy_flex_alloc( n ); + if ( ! buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); + + for ( i = 0; i < len; ++i ) + buf[i] = bytes[i]; + + buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; + + b = yy_scan_buffer( buf, n ); + if ( ! b ) + YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); + + /* It's okay to grow etc. this buffer, and we should throw it + * away when we're done. + */ + b->yy_is_our_buffer = 1; + + return b; + } +#endif + + +#ifndef YY_NO_PUSH_STATE #ifdef YY_USE_PROTOS static void yy_push_state( int new_state ) #else @@ -7269,7 +2341,7 @@ int new_state; { if ( yy_start_stack_ptr >= yy_start_stack_depth ) { - int new_size; + yy_size_t new_size; yy_start_stack_depth += YY_START_STACK_INCR; new_size = yy_start_stack_depth * sizeof( int ); @@ -7290,8 +2362,10 @@ int new_state; BEGIN(new_state); } +#endif +#ifndef YY_NO_POP_STATE static void yy_pop_state() { if ( --yy_start_stack_ptr < 0 ) @@ -7299,23 +2373,29 @@ static void yy_pop_state() BEGIN(yy_start_stack[yy_start_stack_ptr]); } +#endif +#ifndef YY_NO_TOP_STATE static int yy_top_state() { return yy_start_stack[yy_start_stack_ptr - 1]; } +#endif +#ifndef YY_EXIT_FAILURE +#define YY_EXIT_FAILURE 2 +#endif #ifdef YY_USE_PROTOS -static void yy_fatal_error( const char msg[] ) +static void yy_fatal_error( yyconst char msg[] ) #else static void yy_fatal_error( msg ) char msg[]; #endif { (void) fprintf( stderr, "%s\n", msg ); - exit( 1 ); + exit( YY_EXIT_FAILURE ); } @@ -7328,7 +2408,7 @@ char msg[]; { \ /* Undo effects of setting up yytext. */ \ yytext[yyleng] = yy_hold_char; \ - yy_c_buf_p = yytext + n - YY_MORE_ADJ; \ + yy_c_buf_p = yytext + n; \ yy_hold_char = *yy_c_buf_p; \ *yy_c_buf_p = '\0'; \ yyleng = n; \ @@ -7340,11 +2420,11 @@ char msg[]; #ifndef yytext_ptr #ifdef YY_USE_PROTOS -static void yy_flex_strncpy( char *s1, const char *s2, int n ) +static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) #else static void yy_flex_strncpy( s1, s2, n ) char *s1; -const char *s2; +yyconst char *s2; int n; #endif { @@ -7354,26 +2434,49 @@ int n; } #endif +#ifdef YY_NEED_STRLEN +#ifdef YY_USE_PROTOS +static int yy_flex_strlen( yyconst char *s ) +#else +static int yy_flex_strlen( s ) +yyconst char *s; +#endif + { + register int n; + for ( n = 0; s[n]; ++n ) + ; + + return n; + } +#endif + #ifdef YY_USE_PROTOS -static void *yy_flex_alloc( unsigned int size ) +static void *yy_flex_alloc( yy_size_t size ) #else static void *yy_flex_alloc( size ) -unsigned int size; +yy_size_t size; #endif { - return (void *) mem_alloc( size ); + return (void *) malloc( size ); } #ifdef YY_USE_PROTOS -static void *yy_flex_realloc( void *ptr, unsigned int size ) +static void *yy_flex_realloc( void *ptr, yy_size_t size ) #else static void *yy_flex_realloc( ptr, size ) void *ptr; -unsigned int size; +yy_size_t size; #endif { - return (void *) mem_realloc( ptr, size, __FILE__, __LINE__ ); + /* The cast to (char *) in the following accommodates both + * implementations that use char* generic pointers, and those + * that use void* generic pointers. It works with the latter + * because both ANSI C and C++ allow castless assignment from + * any pointer type to void*, and deal with argument conversions + * as though doing an assignment. + */ + return (void *) realloc( (char *) ptr, size ); } #ifdef YY_USE_PROTOS @@ -7383,6 +2486,15 @@ static void yy_flex_free( ptr ) void *ptr; #endif { - mem_free( ptr ); + free( ptr ); } +#if YY_MAIN +int main() + { + yylex(); + return 0; + } +#endif +#line 477 "pars0lex.l" + diff --git a/innobase/pars/pars0grm.c b/innobase/pars/pars0grm.c index 1f631c69f41..560a3fa6400 100644 --- a/innobase/pars/pars0grm.c +++ b/innobase/pars/pars0grm.c @@ -1,104 +1,106 @@ /* A Bison parser, made from pars0grm.y - by GNU Bison version 1.25 - */ + by GNU Bison version 1.28 */ #define YYBISON 1 /* Identify Bison output. */ -#define PARS_INT_LIT 258 -#define PARS_FLOAT_LIT 259 -#define PARS_STR_LIT 260 -#define PARS_NULL_LIT 261 -#define PARS_ID_TOKEN 262 -#define PARS_AND_TOKEN 263 -#define PARS_OR_TOKEN 264 -#define PARS_NOT_TOKEN 265 -#define PARS_GE_TOKEN 266 -#define PARS_LE_TOKEN 267 -#define PARS_NE_TOKEN 268 -#define PARS_PROCEDURE_TOKEN 269 -#define PARS_IN_TOKEN 270 -#define PARS_OUT_TOKEN 271 -#define PARS_INT_TOKEN 272 -#define PARS_INTEGER_TOKEN 273 -#define PARS_FLOAT_TOKEN 274 -#define PARS_CHAR_TOKEN 275 -#define PARS_IS_TOKEN 276 -#define PARS_BEGIN_TOKEN 277 -#define PARS_END_TOKEN 278 -#define PARS_IF_TOKEN 279 -#define PARS_THEN_TOKEN 280 -#define PARS_ELSE_TOKEN 281 -#define PARS_ELSIF_TOKEN 282 -#define PARS_LOOP_TOKEN 283 -#define PARS_WHILE_TOKEN 284 -#define PARS_RETURN_TOKEN 285 -#define PARS_SELECT_TOKEN 286 -#define PARS_SUM_TOKEN 287 -#define PARS_COUNT_TOKEN 288 -#define PARS_DISTINCT_TOKEN 289 -#define PARS_FROM_TOKEN 290 -#define PARS_WHERE_TOKEN 291 -#define PARS_FOR_TOKEN 292 -#define PARS_DDOT_TOKEN 293 -#define PARS_CONSISTENT_TOKEN 294 -#define PARS_READ_TOKEN 295 -#define PARS_ORDER_TOKEN 296 -#define PARS_BY_TOKEN 297 -#define PARS_ASC_TOKEN 298 -#define PARS_DESC_TOKEN 299 -#define PARS_INSERT_TOKEN 300 -#define PARS_INTO_TOKEN 301 -#define PARS_VALUES_TOKEN 302 -#define PARS_UPDATE_TOKEN 303 -#define PARS_SET_TOKEN 304 -#define PARS_DELETE_TOKEN 305 -#define PARS_CURRENT_TOKEN 306 -#define PARS_OF_TOKEN 307 -#define PARS_CREATE_TOKEN 308 -#define PARS_TABLE_TOKEN 309 -#define PARS_INDEX_TOKEN 310 -#define PARS_UNIQUE_TOKEN 311 -#define PARS_CLUSTERED_TOKEN 312 -#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 313 -#define PARS_ON_TOKEN 314 -#define PARS_ASSIGN_TOKEN 315 -#define PARS_DECLARE_TOKEN 316 -#define PARS_CURSOR_TOKEN 317 -#define PARS_SQL_TOKEN 318 -#define PARS_OPEN_TOKEN 319 -#define PARS_FETCH_TOKEN 320 -#define PARS_CLOSE_TOKEN 321 -#define PARS_NOTFOUND_TOKEN 322 -#define PARS_TO_CHAR_TOKEN 323 -#define PARS_TO_NUMBER_TOKEN 324 -#define PARS_TO_BINARY_TOKEN 325 -#define PARS_BINARY_TO_NUMBER_TOKEN 326 -#define PARS_SUBSTR_TOKEN 327 -#define PARS_REPLSTR_TOKEN 328 -#define PARS_CONCAT_TOKEN 329 -#define PARS_INSTR_TOKEN 330 -#define PARS_LENGTH_TOKEN 331 -#define PARS_SYSDATE_TOKEN 332 -#define PARS_PRINTF_TOKEN 333 -#define PARS_ASSERT_TOKEN 334 -#define PARS_RND_TOKEN 335 -#define PARS_RND_STR_TOKEN 336 -#define PARS_ROW_PRINTF_TOKEN 337 -#define PARS_COMMIT_TOKEN 338 -#define PARS_ROLLBACK_TOKEN 339 -#define PARS_WORK_TOKEN 340 -#define NEG 341 - -#line 9 "pars0grm.y" +#define PARS_INT_LIT 257 +#define PARS_FLOAT_LIT 258 +#define PARS_STR_LIT 259 +#define PARS_NULL_LIT 260 +#define PARS_ID_TOKEN 261 +#define PARS_AND_TOKEN 262 +#define PARS_OR_TOKEN 263 +#define PARS_NOT_TOKEN 264 +#define PARS_GE_TOKEN 265 +#define PARS_LE_TOKEN 266 +#define PARS_NE_TOKEN 267 +#define PARS_PROCEDURE_TOKEN 268 +#define PARS_IN_TOKEN 269 +#define PARS_OUT_TOKEN 270 +#define PARS_INT_TOKEN 271 +#define PARS_INTEGER_TOKEN 272 +#define PARS_FLOAT_TOKEN 273 +#define PARS_CHAR_TOKEN 274 +#define PARS_IS_TOKEN 275 +#define PARS_BEGIN_TOKEN 276 +#define PARS_END_TOKEN 277 +#define PARS_IF_TOKEN 278 +#define PARS_THEN_TOKEN 279 +#define PARS_ELSE_TOKEN 280 +#define PARS_ELSIF_TOKEN 281 +#define PARS_LOOP_TOKEN 282 +#define PARS_WHILE_TOKEN 283 +#define PARS_RETURN_TOKEN 284 +#define PARS_SELECT_TOKEN 285 +#define PARS_SUM_TOKEN 286 +#define PARS_COUNT_TOKEN 287 +#define PARS_DISTINCT_TOKEN 288 +#define PARS_FROM_TOKEN 289 +#define PARS_WHERE_TOKEN 290 +#define PARS_FOR_TOKEN 291 +#define PARS_DDOT_TOKEN 292 +#define PARS_CONSISTENT_TOKEN 293 +#define PARS_READ_TOKEN 294 +#define PARS_ORDER_TOKEN 295 +#define PARS_BY_TOKEN 296 +#define PARS_ASC_TOKEN 297 +#define PARS_DESC_TOKEN 298 +#define PARS_INSERT_TOKEN 299 +#define PARS_INTO_TOKEN 300 +#define PARS_VALUES_TOKEN 301 +#define PARS_UPDATE_TOKEN 302 +#define PARS_SET_TOKEN 303 +#define PARS_DELETE_TOKEN 304 +#define PARS_CURRENT_TOKEN 305 +#define PARS_OF_TOKEN 306 +#define PARS_CREATE_TOKEN 307 +#define PARS_TABLE_TOKEN 308 +#define PARS_INDEX_TOKEN 309 +#define PARS_UNIQUE_TOKEN 310 +#define PARS_CLUSTERED_TOKEN 311 +#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 312 +#define PARS_ON_TOKEN 313 +#define PARS_ASSIGN_TOKEN 314 +#define PARS_DECLARE_TOKEN 315 +#define PARS_CURSOR_TOKEN 316 +#define PARS_SQL_TOKEN 317 +#define PARS_OPEN_TOKEN 318 +#define PARS_FETCH_TOKEN 319 +#define PARS_CLOSE_TOKEN 320 +#define PARS_NOTFOUND_TOKEN 321 +#define PARS_TO_CHAR_TOKEN 322 +#define PARS_TO_NUMBER_TOKEN 323 +#define PARS_TO_BINARY_TOKEN 324 +#define PARS_BINARY_TO_NUMBER_TOKEN 325 +#define PARS_SUBSTR_TOKEN 326 +#define PARS_REPLSTR_TOKEN 327 +#define PARS_CONCAT_TOKEN 328 +#define PARS_INSTR_TOKEN 329 +#define PARS_LENGTH_TOKEN 330 +#define PARS_SYSDATE_TOKEN 331 +#define PARS_PRINTF_TOKEN 332 +#define PARS_ASSERT_TOKEN 333 +#define PARS_RND_TOKEN 334 +#define PARS_RND_STR_TOKEN 335 +#define PARS_ROW_PRINTF_TOKEN 336 +#define PARS_COMMIT_TOKEN 337 +#define PARS_ROLLBACK_TOKEN 338 +#define PARS_WORK_TOKEN 339 +#define NEG 340 + +#line 10 "pars0grm.y" /* The value of the semantic attribute is a pointer to a query tree node que_node_t */ #define YYSTYPE que_node_t* +#define alloca mem_alloc -#include "univ.i" #include <math.h> + +#include "univ.i" #include "pars0pars.h" +#include "mem0mem.h" #include "que0types.h" #include "que0que.h" #include "row0sel.h" @@ -124,7 +126,7 @@ yylex(void); #define YYFLAG -32768 #define YYNTBASE 102 -#define YYTRANSLATE(x) ((unsigned)(x) <= 341 ? yytranslate[x] : 163) +#define YYTRANSLATE(x) ((unsigned)(x) <= 340 ? yytranslate[x] : 163) static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -152,16 +154,15 @@ static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 93 + 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 93 }; #if YYDEBUG != 0 @@ -241,22 +242,22 @@ static const short yyrhs[] = { 162, #if YYDEBUG != 0 static const short yyrline[] = { 0, - 125, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 150, 152, 156, 158, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 180, 182, 186, 188, - 189, 190, 192, 193, 194, 195, 196, 197, 198, 201, - 203, 204, 207, 212, 217, 219, 220, 223, 225, 229, - 231, 232, 236, 238, 239, 242, 244, 249, 255, 261, - 263, 264, 268, 271, 273, 276, 278, 281, 283, 287, - 289, 293, 295, 296, 299, 301, 305, 315, 320, 323, - 327, 331, 333, 337, 343, 350, 355, 360, 366, 371, - 376, 381, 386, 392, 394, 398, 400, 402, 405, 412, - 418, 426, 430, 436, 442, 447, 451, 453, 457, 459, - 464, 470, 472, 476, 478, 481, 483, 486, 494, 499, - 504, 506, 509, 513, 518, 520, 521, 525, 530, 532, - 533, 536, 542, 544, 545, 548 + 126, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 151, 153, 157, 159, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 181, 183, 187, 189, + 190, 191, 193, 194, 195, 196, 197, 198, 199, 202, + 204, 205, 208, 213, 218, 220, 221, 224, 226, 230, + 232, 233, 237, 239, 240, 243, 245, 250, 256, 262, + 264, 265, 269, 272, 274, 277, 279, 282, 284, 288, + 290, 294, 296, 297, 300, 302, 306, 316, 321, 324, + 328, 332, 334, 338, 344, 351, 356, 361, 367, 372, + 377, 382, 387, 393, 395, 399, 401, 403, 406, 413, + 419, 427, 431, 437, 443, 448, 452, 454, 458, 460, + 465, 471, 473, 477, 479, 482, 484, 487, 495, 500, + 505, 507, 510, 514, 519, 521, 522, 526, 531, 533, + 534, 537, 543, 545, 546, 549 }; #endif @@ -567,7 +568,8 @@ static const short yycheck[] = { 0, 91, 92, -1, 86, 87, 88, 89, 90, 91, 92 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "bison.simple" +#line 3 "/usr/share/bison.simple" +/* This file comes from bison-1.28. */ /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. @@ -584,46 +586,71 @@ static const short yycheck[] = { 0, You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. */ -#ifndef alloca +/* This is the parser code that is written into each bison parser + when the %semantic_parser declaration is not specified in the grammar. + It was written by Richard Stallman by simplifying the hairy parser + used when %semantic_parser is specified. */ + +#ifndef YYPARSE_RETURN_TYPE +#define YYPARSE_RETURN_TYPE int +#endif + + +#ifndef YYSTACK_USE_ALLOCA +#ifdef alloca +#define YYSTACK_USE_ALLOCA +#else /* alloca not defined */ #ifdef __GNUC__ +#define YYSTACK_USE_ALLOCA #define alloca __builtin_alloca #else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) +#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) +#define YYSTACK_USE_ALLOCA #include <alloca.h> #else /* not sparc */ -#if defined (MSDOS) && !defined (__TURBOC__) +/* We think this test detects Watcom and Microsoft C. */ +/* This used to test MSDOS, but that is a bad idea + since that symbol is in the user namespace. */ +#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) +#if 0 /* No need for malloc.h, which pollutes the namespace; + instead, just don't use alloca. */ #include <malloc.h> +#endif #else /* not MSDOS, or __TURBOC__ */ #if defined(_AIX) -#include <malloc.h> +/* I don't know what this was needed for, but it pollutes the namespace. + So I turned it off. rms, 2 May 1997. */ +/* #include <malloc.h> */ #pragma alloca -#else /* not MSDOS, __TURBOC__, or _AIX */ -#ifdef __hpux -#ifdef __cplusplus -extern "C" { -void *alloca (unsigned int); -}; -#else /* not __cplusplus */ -void *alloca (); -#endif /* not __cplusplus */ +#define YYSTACK_USE_ALLOCA +#else /* not MSDOS, or __TURBOC__, or _AIX */ +#if 0 +#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, + and on HPUX 10. Eventually we can turn this on. */ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca #endif /* __hpux */ +#endif #endif /* not _AIX */ #endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc. */ -#endif /* not GNU C. */ -#endif /* alloca not defined. */ +#endif /* not sparc */ +#endif /* not GNU C */ +#endif /* alloca not defined */ +#endif /* YYSTACK_USE_ALLOCA not defined */ -/* This is the parser code that is written into each bison parser - when the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ +#ifdef YYSTACK_USE_ALLOCA +#define YYSTACK_ALLOC alloca +#else +#define YYSTACK_ALLOC malloc +#endif /* Note: there must be only one dollar sign in this file. It is replaced by the list of actions, each action @@ -633,8 +660,8 @@ void *alloca (); #define yyclearin (yychar = YYEMPTY) #define YYEMPTY -2 #define YYEOF 0 -#define YYACCEPT return(0) -#define YYABORT return(1) +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 /* Like YYERROR except do call yyerror. This remains here temporarily to ease the @@ -702,7 +729,7 @@ int yydebug; /* nonzero means print parse trace */ /* YYINITDEPTH indicates the initial size of the parser's stacks */ #ifndef YYINITDEPTH -#define YYINITDEPTH 1000 +#define YYINITDEPTH 200 #endif /* YYMAXDEPTH is the maximum size the stacks can grow to @@ -715,12 +742,12 @@ int yydebug; /* nonzero means print parse trace */ #ifndef YYMAXDEPTH #define YYMAXDEPTH 10000 #endif - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -int yyparse (void); -#endif +/* Define __yy_memcpy. Note that the size argument + should be passed with type unsigned int, because that is what the non-GCC + definitions require. With GCC, __builtin_memcpy takes an arg + of type size_t, but it can handle unsigned int. */ + #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) #else /* not GNU C or C++ */ @@ -732,7 +759,7 @@ static void __yy_memcpy (to, from, count) char *to; char *from; - int count; + unsigned int count; { register char *f = from; register char *t = to; @@ -747,10 +774,10 @@ __yy_memcpy (to, from, count) /* This is the most reliable way to avoid incompatibilities in available built-in functions on various systems. */ static void -__yy_memcpy (char *to, char *from, int count) +__yy_memcpy (char *to, char *from, unsigned int count) { - register char *f = from; register char *t = to; + register char *f = from; register int i = count; while (i-- > 0) @@ -760,7 +787,7 @@ __yy_memcpy (char *to, char *from, int count) #endif #endif -#line 196 "bison.simple" +#line 222 "/usr/share/bison.simple" /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. @@ -781,7 +808,18 @@ __yy_memcpy (char *to, char *from, int count) #define YYPARSE_PARAM_DECL #endif /* not YYPARSE_PARAM */ -int +/* Prevent warning if -Wstrict-prototypes. */ +#ifdef __GNUC__ +#ifdef YYPARSE_PARAM +YYPARSE_RETURN_TYPE +yyparse (void *); +#else +YYPARSE_RETURN_TYPE +yyparse (void); +#endif +#endif + +YYPARSE_RETURN_TYPE yyparse(YYPARSE_PARAM_ARG) YYPARSE_PARAM_DECL { @@ -809,6 +847,9 @@ yyparse(YYPARSE_PARAM_ARG) #endif int yystacksize = YYINITDEPTH; +#ifndef YYSTACK_USE_ALLOCA + int yyfree_stacks = 0; +#endif #ifdef YYPURE int yychar; @@ -893,23 +934,34 @@ yynewstate: if (yystacksize >= YYMAXDEPTH) { yyerror("parser stack overflow"); - ut_a(0); +#ifndef YYSTACK_USE_ALLOCA + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } +#endif return 2; } yystacksize *= 2; if (yystacksize > YYMAXDEPTH) yystacksize = YYMAXDEPTH; - - ut_a(0); /* Prevent possible memory leaks through the following - mem_alloc's */ - - yyss = (short *) mem_alloc (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp)); - yyvs = (YYSTYPE *) mem_alloc (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp)); +#ifndef YYSTACK_USE_ALLOCA + yyfree_stacks = 1; +#endif + yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); + __yy_memcpy ((char *)yyss, (char *)yyss1, + size * (unsigned int) sizeof (*yyssp)); + yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); + __yy_memcpy ((char *)yyvs, (char *)yyvs1, + size * (unsigned int) sizeof (*yyvsp)); #ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) mem_alloc (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp)); + yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); + __yy_memcpy ((char *)yyls, (char *)yyls1, + size * (unsigned int) sizeof (*yylsp)); #endif #endif /* no yyoverflow */ @@ -1070,218 +1122,218 @@ yyreduce: switch (yyn) { case 23: -#line 151 "pars0grm.y" +#line 152 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ; break;} case 24: -#line 153 "pars0grm.y" +#line 154 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-1], yyvsp[0]); ; break;} case 25: -#line 157 "pars0grm.y" +#line 158 "pars0grm.y" { yyval = yyvsp[0];; break;} case 26: -#line 159 "pars0grm.y" +#line 160 "pars0grm.y" { yyval = pars_func(yyvsp[-3], yyvsp[-1]); ; break;} case 27: -#line 160 "pars0grm.y" +#line 161 "pars0grm.y" { yyval = yyvsp[0];; break;} case 28: -#line 161 "pars0grm.y" +#line 162 "pars0grm.y" { yyval = yyvsp[0];; break;} case 29: -#line 162 "pars0grm.y" +#line 163 "pars0grm.y" { yyval = yyvsp[0];; break;} case 30: -#line 163 "pars0grm.y" +#line 164 "pars0grm.y" { yyval = yyvsp[0];; break;} case 31: -#line 164 "pars0grm.y" +#line 165 "pars0grm.y" { yyval = yyvsp[0];; break;} case 32: -#line 165 "pars0grm.y" +#line 166 "pars0grm.y" { yyval = pars_op('+', yyvsp[-2], yyvsp[0]); ; break;} case 33: -#line 166 "pars0grm.y" +#line 167 "pars0grm.y" { yyval = pars_op('-', yyvsp[-2], yyvsp[0]); ; break;} case 34: -#line 167 "pars0grm.y" +#line 168 "pars0grm.y" { yyval = pars_op('*', yyvsp[-2], yyvsp[0]); ; break;} case 35: -#line 168 "pars0grm.y" +#line 169 "pars0grm.y" { yyval = pars_op('/', yyvsp[-2], yyvsp[0]); ; break;} case 36: -#line 169 "pars0grm.y" +#line 170 "pars0grm.y" { yyval = pars_op('-', yyvsp[0], NULL); ; break;} case 37: -#line 170 "pars0grm.y" +#line 171 "pars0grm.y" { yyval = yyvsp[-1]; ; break;} case 38: -#line 171 "pars0grm.y" +#line 172 "pars0grm.y" { yyval = pars_op('=', yyvsp[-2], yyvsp[0]); ; break;} case 39: -#line 172 "pars0grm.y" +#line 173 "pars0grm.y" { yyval = pars_op('<', yyvsp[-2], yyvsp[0]); ; break;} case 40: -#line 173 "pars0grm.y" +#line 174 "pars0grm.y" { yyval = pars_op('>', yyvsp[-2], yyvsp[0]); ; break;} case 41: -#line 174 "pars0grm.y" +#line 175 "pars0grm.y" { yyval = pars_op(PARS_GE_TOKEN, yyvsp[-2], yyvsp[0]); ; break;} case 42: -#line 175 "pars0grm.y" +#line 176 "pars0grm.y" { yyval = pars_op(PARS_LE_TOKEN, yyvsp[-2], yyvsp[0]); ; break;} case 43: -#line 176 "pars0grm.y" +#line 177 "pars0grm.y" { yyval = pars_op(PARS_NE_TOKEN, yyvsp[-2], yyvsp[0]); ; break;} case 44: -#line 177 "pars0grm.y" +#line 178 "pars0grm.y" { yyval = pars_op(PARS_AND_TOKEN, yyvsp[-2], yyvsp[0]); ; break;} case 45: -#line 178 "pars0grm.y" +#line 179 "pars0grm.y" { yyval = pars_op(PARS_OR_TOKEN, yyvsp[-2], yyvsp[0]); ; break;} case 46: -#line 179 "pars0grm.y" +#line 180 "pars0grm.y" { yyval = pars_op(PARS_NOT_TOKEN, yyvsp[0], NULL); ; break;} case 47: -#line 181 "pars0grm.y" +#line 182 "pars0grm.y" { yyval = pars_op(PARS_NOTFOUND_TOKEN, yyvsp[-2], NULL); ; break;} case 48: -#line 183 "pars0grm.y" +#line 184 "pars0grm.y" { yyval = pars_op(PARS_NOTFOUND_TOKEN, yyvsp[-2], NULL); ; break;} case 49: -#line 187 "pars0grm.y" +#line 188 "pars0grm.y" { yyval = &pars_to_char_token; ; break;} case 50: -#line 188 "pars0grm.y" +#line 189 "pars0grm.y" { yyval = &pars_to_number_token; ; break;} case 51: -#line 189 "pars0grm.y" +#line 190 "pars0grm.y" { yyval = &pars_to_binary_token; ; break;} case 52: -#line 191 "pars0grm.y" +#line 192 "pars0grm.y" { yyval = &pars_binary_to_number_token; ; break;} case 53: -#line 192 "pars0grm.y" +#line 193 "pars0grm.y" { yyval = &pars_substr_token; ; break;} case 54: -#line 193 "pars0grm.y" +#line 194 "pars0grm.y" { yyval = &pars_concat_token; ; break;} case 55: -#line 194 "pars0grm.y" +#line 195 "pars0grm.y" { yyval = &pars_instr_token; ; break;} case 56: -#line 195 "pars0grm.y" +#line 196 "pars0grm.y" { yyval = &pars_length_token; ; break;} case 57: -#line 196 "pars0grm.y" +#line 197 "pars0grm.y" { yyval = &pars_sysdate_token; ; break;} case 58: -#line 197 "pars0grm.y" +#line 198 "pars0grm.y" { yyval = &pars_rnd_token; ; break;} case 59: -#line 198 "pars0grm.y" +#line 199 "pars0grm.y" { yyval = &pars_rnd_str_token; ; break;} case 63: -#line 209 "pars0grm.y" +#line 210 "pars0grm.y" { yyval = pars_stored_procedure_call(yyvsp[-4]); ; break;} case 64: -#line 214 "pars0grm.y" +#line 215 "pars0grm.y" { yyval = pars_procedure_call(yyvsp[-3], yyvsp[-1]); ; break;} case 65: -#line 218 "pars0grm.y" +#line 219 "pars0grm.y" { yyval = &pars_replstr_token; ; break;} case 66: -#line 219 "pars0grm.y" +#line 220 "pars0grm.y" { yyval = &pars_printf_token; ; break;} case 67: -#line 220 "pars0grm.y" +#line 221 "pars0grm.y" { yyval = &pars_assert_token; ; break;} case 68: -#line 224 "pars0grm.y" +#line 225 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ; break;} case 69: -#line 226 "pars0grm.y" +#line 227 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ; break;} case 70: -#line 230 "pars0grm.y" +#line 231 "pars0grm.y" { yyval = NULL; ; break;} case 71: -#line 231 "pars0grm.y" +#line 232 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ; break;} case 72: -#line 233 "pars0grm.y" +#line 234 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ; break;} case 73: -#line 237 "pars0grm.y" +#line 238 "pars0grm.y" { yyval = NULL; ; break;} case 74: -#line 238 "pars0grm.y" +#line 239 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]);; break;} case 75: -#line 239 "pars0grm.y" +#line 240 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ; break;} case 76: -#line 243 "pars0grm.y" +#line 244 "pars0grm.y" { yyval = yyvsp[0]; ; break;} case 77: -#line 245 "pars0grm.y" +#line 246 "pars0grm.y" { yyval = pars_func(&pars_count_token, que_node_list_add_last(NULL, sym_tab_add_int_lit( pars_sym_tab_global, 1))); ; break;} case 78: -#line 250 "pars0grm.y" +#line 251 "pars0grm.y" { yyval = pars_func(&pars_count_token, que_node_list_add_last(NULL, pars_func(&pars_distinct_token, @@ -1289,308 +1341,308 @@ case 78: NULL, yyvsp[-1])))); ; break;} case 79: -#line 256 "pars0grm.y" +#line 257 "pars0grm.y" { yyval = pars_func(&pars_sum_token, que_node_list_add_last(NULL, yyvsp[-1])); ; break;} case 80: -#line 262 "pars0grm.y" +#line 263 "pars0grm.y" { yyval = NULL; ; break;} case 81: -#line 263 "pars0grm.y" +#line 264 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ; break;} case 82: -#line 265 "pars0grm.y" +#line 266 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ; break;} case 83: -#line 269 "pars0grm.y" +#line 270 "pars0grm.y" { yyval = pars_select_list(&pars_star_denoter, NULL); ; break;} case 84: -#line 272 "pars0grm.y" +#line 273 "pars0grm.y" { yyval = pars_select_list(yyvsp[-2], yyvsp[0]); ; break;} case 85: -#line 273 "pars0grm.y" +#line 274 "pars0grm.y" { yyval = pars_select_list(yyvsp[0], NULL); ; break;} case 86: -#line 277 "pars0grm.y" +#line 278 "pars0grm.y" { yyval = NULL; ; break;} case 87: -#line 278 "pars0grm.y" +#line 279 "pars0grm.y" { yyval = yyvsp[0]; ; break;} case 88: -#line 282 "pars0grm.y" +#line 283 "pars0grm.y" { yyval = NULL; ; break;} case 89: -#line 284 "pars0grm.y" +#line 285 "pars0grm.y" { yyval = &pars_update_token; ; break;} case 90: -#line 288 "pars0grm.y" +#line 289 "pars0grm.y" { yyval = NULL; ; break;} case 91: -#line 290 "pars0grm.y" +#line 291 "pars0grm.y" { yyval = &pars_consistent_token; ; break;} case 92: -#line 294 "pars0grm.y" +#line 295 "pars0grm.y" { yyval = &pars_asc_token; ; break;} case 93: -#line 295 "pars0grm.y" +#line 296 "pars0grm.y" { yyval = &pars_asc_token; ; break;} case 94: -#line 296 "pars0grm.y" +#line 297 "pars0grm.y" { yyval = &pars_desc_token; ; break;} case 95: -#line 300 "pars0grm.y" +#line 301 "pars0grm.y" { yyval = NULL; ; break;} case 96: -#line 302 "pars0grm.y" +#line 303 "pars0grm.y" { yyval = pars_order_by(yyvsp[-1], yyvsp[0]); ; break;} case 97: -#line 311 "pars0grm.y" +#line 312 "pars0grm.y" { yyval = pars_select_statement(yyvsp[-6], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); ; break;} case 98: -#line 317 "pars0grm.y" +#line 318 "pars0grm.y" { yyval = yyvsp[0]; ; break;} case 99: -#line 322 "pars0grm.y" +#line 323 "pars0grm.y" { yyval = pars_insert_statement(yyvsp[-4], yyvsp[-1], NULL); ; break;} case 100: -#line 324 "pars0grm.y" +#line 325 "pars0grm.y" { yyval = pars_insert_statement(yyvsp[-1], NULL, yyvsp[0]); ; break;} case 101: -#line 328 "pars0grm.y" +#line 329 "pars0grm.y" { yyval = pars_column_assignment(yyvsp[-2], yyvsp[0]); ; break;} case 102: -#line 332 "pars0grm.y" +#line 333 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ; break;} case 103: -#line 334 "pars0grm.y" +#line 335 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ; break;} case 104: -#line 340 "pars0grm.y" +#line 341 "pars0grm.y" { yyval = yyvsp[0]; ; break;} case 105: -#line 346 "pars0grm.y" +#line 347 "pars0grm.y" { yyval = pars_update_statement_start(FALSE, yyvsp[-2], yyvsp[0]); ; break;} case 106: -#line 352 "pars0grm.y" +#line 353 "pars0grm.y" { yyval = pars_update_statement(yyvsp[-1], NULL, yyvsp[0]); ; break;} case 107: -#line 357 "pars0grm.y" +#line 358 "pars0grm.y" { yyval = pars_update_statement(yyvsp[-1], yyvsp[0], NULL); ; break;} case 108: -#line 362 "pars0grm.y" +#line 363 "pars0grm.y" { yyval = pars_update_statement_start(TRUE, yyvsp[0], NULL); ; break;} case 109: -#line 368 "pars0grm.y" +#line 369 "pars0grm.y" { yyval = pars_update_statement(yyvsp[-1], NULL, yyvsp[0]); ; break;} case 110: -#line 373 "pars0grm.y" +#line 374 "pars0grm.y" { yyval = pars_update_statement(yyvsp[-1], yyvsp[0], NULL); ; break;} case 111: -#line 378 "pars0grm.y" +#line 379 "pars0grm.y" { yyval = pars_row_printf_statement(yyvsp[0]); ; break;} case 112: -#line 383 "pars0grm.y" +#line 384 "pars0grm.y" { yyval = pars_assignment_statement(yyvsp[-2], yyvsp[0]); ; break;} case 113: -#line 389 "pars0grm.y" +#line 390 "pars0grm.y" { yyval = pars_elsif_element(yyvsp[-2], yyvsp[0]); ; break;} case 114: -#line 393 "pars0grm.y" +#line 394 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ; break;} case 115: -#line 395 "pars0grm.y" +#line 396 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-1], yyvsp[0]); ; break;} case 116: -#line 399 "pars0grm.y" +#line 400 "pars0grm.y" { yyval = NULL; ; break;} case 117: -#line 401 "pars0grm.y" +#line 402 "pars0grm.y" { yyval = yyvsp[0]; ; break;} case 118: -#line 402 "pars0grm.y" +#line 403 "pars0grm.y" { yyval = yyvsp[0]; ; break;} case 119: -#line 409 "pars0grm.y" +#line 410 "pars0grm.y" { yyval = pars_if_statement(yyvsp[-5], yyvsp[-3], yyvsp[-2]); ; break;} case 120: -#line 415 "pars0grm.y" +#line 416 "pars0grm.y" { yyval = pars_while_statement(yyvsp[-4], yyvsp[-2]); ; break;} case 121: -#line 423 "pars0grm.y" +#line 424 "pars0grm.y" { yyval = pars_for_statement(yyvsp[-8], yyvsp[-6], yyvsp[-4], yyvsp[-2]); ; break;} case 122: -#line 427 "pars0grm.y" +#line 428 "pars0grm.y" { yyval = pars_return_statement(); ; break;} case 123: -#line 432 "pars0grm.y" +#line 433 "pars0grm.y" { yyval = pars_open_statement( ROW_SEL_OPEN_CURSOR, yyvsp[0]); ; break;} case 124: -#line 438 "pars0grm.y" +#line 439 "pars0grm.y" { yyval = pars_open_statement( ROW_SEL_CLOSE_CURSOR, yyvsp[0]); ; break;} case 125: -#line 444 "pars0grm.y" +#line 445 "pars0grm.y" { yyval = pars_fetch_statement(yyvsp[-2], yyvsp[0]); ; break;} case 126: -#line 448 "pars0grm.y" +#line 449 "pars0grm.y" { yyval = pars_column_def(yyvsp[-1], yyvsp[0]); ; break;} case 127: -#line 452 "pars0grm.y" +#line 453 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ; break;} case 128: -#line 454 "pars0grm.y" +#line 455 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ; break;} case 129: -#line 458 "pars0grm.y" +#line 459 "pars0grm.y" { yyval = NULL; ; break;} case 130: -#line 460 "pars0grm.y" +#line 461 "pars0grm.y" { yyval = &pars_int_token; /* pass any non-NULL pointer */ ; break;} case 131: -#line 467 "pars0grm.y" +#line 468 "pars0grm.y" { yyval = pars_create_table(yyvsp[-4], yyvsp[-2], yyvsp[0]); ; break;} case 132: -#line 471 "pars0grm.y" +#line 472 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ; break;} case 133: -#line 473 "pars0grm.y" +#line 474 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ; break;} case 134: -#line 477 "pars0grm.y" +#line 478 "pars0grm.y" { yyval = NULL; ; break;} case 135: -#line 478 "pars0grm.y" +#line 479 "pars0grm.y" { yyval = &pars_unique_token; ; break;} case 136: -#line 482 "pars0grm.y" +#line 483 "pars0grm.y" { yyval = NULL; ; break;} case 137: -#line 483 "pars0grm.y" +#line 484 "pars0grm.y" { yyval = &pars_clustered_token; ; break;} case 138: -#line 491 "pars0grm.y" +#line 492 "pars0grm.y" { yyval = pars_create_index(yyvsp[-8], yyvsp[-7], yyvsp[-5], yyvsp[-3], yyvsp[-1]); ; break;} case 139: -#line 496 "pars0grm.y" +#line 497 "pars0grm.y" { yyval = pars_commit_statement(); ; break;} case 140: -#line 501 "pars0grm.y" +#line 502 "pars0grm.y" { yyval = pars_rollback_statement(); ; break;} case 141: -#line 505 "pars0grm.y" +#line 506 "pars0grm.y" { yyval = &pars_int_token; ; break;} case 142: -#line 506 "pars0grm.y" +#line 507 "pars0grm.y" { yyval = &pars_char_token; ; break;} case 143: -#line 511 "pars0grm.y" +#line 512 "pars0grm.y" { yyval = pars_parameter_declaration(yyvsp[-2], PARS_INPUT, yyvsp[0]); ; break;} case 144: -#line 514 "pars0grm.y" +#line 515 "pars0grm.y" { yyval = pars_parameter_declaration(yyvsp[-2], PARS_OUTPUT, yyvsp[0]); ; break;} case 145: -#line 519 "pars0grm.y" +#line 520 "pars0grm.y" { yyval = NULL; ; break;} case 146: -#line 520 "pars0grm.y" +#line 521 "pars0grm.y" { yyval = que_node_list_add_last(NULL, yyvsp[0]); ; break;} case 147: -#line 522 "pars0grm.y" +#line 523 "pars0grm.y" { yyval = que_node_list_add_last(yyvsp[-2], yyvsp[0]); ; break;} case 148: -#line 527 "pars0grm.y" +#line 528 "pars0grm.y" { yyval = pars_variable_declaration(yyvsp[-2], yyvsp[-1]); ; break;} case 152: -#line 539 "pars0grm.y" +#line 540 "pars0grm.y" { yyval = pars_cursor_declaration(yyvsp[-3], yyvsp[-1]); ; break;} case 156: -#line 555 "pars0grm.y" +#line 556 "pars0grm.y" { yyval = pars_procedure_definition(yyvsp[-9], yyvsp[-7], yyvsp[-1]); ; break;} } /* the action file gets copied in in place of this dollarsign */ -#line 498 "bison.simple" +#line 554 "/usr/share/bison.simple" yyvsp -= yylen; yyssp -= yylen; @@ -1665,7 +1717,7 @@ yyerrlab: /* here on detecting error */ x < (sizeof(yytname) / sizeof(char *)); x++) if (yycheck[x + yyn] == x) size += strlen(yytname[x]) + 15, count++; - msg = (char *) mem_alloc(size + 15); + msg = (char *) malloc(size + 15); if (msg != 0) { strcpy(msg, "parse error"); @@ -1684,7 +1736,7 @@ yyerrlab: /* here on detecting error */ } } yyerror(msg); - mem_free(msg); + free(msg); } else yyerror ("parse error; also virtual memory exceeded"); @@ -1785,6 +1837,34 @@ yyerrhandle: yystate = yyn; goto yynewstate; + + yyacceptlab: + /* YYACCEPT comes here. */ +#ifndef YYSTACK_USE_ALLOCA + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } +#endif + return 0; + + yyabortlab: + /* YYABORT comes here. */ +#ifndef YYSTACK_USE_ALLOCA + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } +#endif + return 1; } -#line 559 "pars0grm.y" +#line 560 "pars0grm.y" diff --git a/innobase/pars/pars0grm.h b/innobase/pars/pars0grm.h index d0b4b4c2e42..b2790949057 100644 --- a/innobase/pars/pars0grm.h +++ b/innobase/pars/pars0grm.h @@ -1,90 +1,90 @@ #ifndef YYSTYPE #define YYSTYPE int #endif -#define PARS_INT_LIT 258 -#define PARS_FLOAT_LIT 259 -#define PARS_STR_LIT 260 -#define PARS_NULL_LIT 261 -#define PARS_ID_TOKEN 262 -#define PARS_AND_TOKEN 263 -#define PARS_OR_TOKEN 264 -#define PARS_NOT_TOKEN 265 -#define PARS_GE_TOKEN 266 -#define PARS_LE_TOKEN 267 -#define PARS_NE_TOKEN 268 -#define PARS_PROCEDURE_TOKEN 269 -#define PARS_IN_TOKEN 270 -#define PARS_OUT_TOKEN 271 -#define PARS_INT_TOKEN 272 -#define PARS_INTEGER_TOKEN 273 -#define PARS_FLOAT_TOKEN 274 -#define PARS_CHAR_TOKEN 275 -#define PARS_IS_TOKEN 276 -#define PARS_BEGIN_TOKEN 277 -#define PARS_END_TOKEN 278 -#define PARS_IF_TOKEN 279 -#define PARS_THEN_TOKEN 280 -#define PARS_ELSE_TOKEN 281 -#define PARS_ELSIF_TOKEN 282 -#define PARS_LOOP_TOKEN 283 -#define PARS_WHILE_TOKEN 284 -#define PARS_RETURN_TOKEN 285 -#define PARS_SELECT_TOKEN 286 -#define PARS_SUM_TOKEN 287 -#define PARS_COUNT_TOKEN 288 -#define PARS_DISTINCT_TOKEN 289 -#define PARS_FROM_TOKEN 290 -#define PARS_WHERE_TOKEN 291 -#define PARS_FOR_TOKEN 292 -#define PARS_DDOT_TOKEN 293 -#define PARS_CONSISTENT_TOKEN 294 -#define PARS_READ_TOKEN 295 -#define PARS_ORDER_TOKEN 296 -#define PARS_BY_TOKEN 297 -#define PARS_ASC_TOKEN 298 -#define PARS_DESC_TOKEN 299 -#define PARS_INSERT_TOKEN 300 -#define PARS_INTO_TOKEN 301 -#define PARS_VALUES_TOKEN 302 -#define PARS_UPDATE_TOKEN 303 -#define PARS_SET_TOKEN 304 -#define PARS_DELETE_TOKEN 305 -#define PARS_CURRENT_TOKEN 306 -#define PARS_OF_TOKEN 307 -#define PARS_CREATE_TOKEN 308 -#define PARS_TABLE_TOKEN 309 -#define PARS_INDEX_TOKEN 310 -#define PARS_UNIQUE_TOKEN 311 -#define PARS_CLUSTERED_TOKEN 312 -#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 313 -#define PARS_ON_TOKEN 314 -#define PARS_ASSIGN_TOKEN 315 -#define PARS_DECLARE_TOKEN 316 -#define PARS_CURSOR_TOKEN 317 -#define PARS_SQL_TOKEN 318 -#define PARS_OPEN_TOKEN 319 -#define PARS_FETCH_TOKEN 320 -#define PARS_CLOSE_TOKEN 321 -#define PARS_NOTFOUND_TOKEN 322 -#define PARS_TO_CHAR_TOKEN 323 -#define PARS_TO_NUMBER_TOKEN 324 -#define PARS_TO_BINARY_TOKEN 325 -#define PARS_BINARY_TO_NUMBER_TOKEN 326 -#define PARS_SUBSTR_TOKEN 327 -#define PARS_REPLSTR_TOKEN 328 -#define PARS_CONCAT_TOKEN 329 -#define PARS_INSTR_TOKEN 330 -#define PARS_LENGTH_TOKEN 331 -#define PARS_SYSDATE_TOKEN 332 -#define PARS_PRINTF_TOKEN 333 -#define PARS_ASSERT_TOKEN 334 -#define PARS_RND_TOKEN 335 -#define PARS_RND_STR_TOKEN 336 -#define PARS_ROW_PRINTF_TOKEN 337 -#define PARS_COMMIT_TOKEN 338 -#define PARS_ROLLBACK_TOKEN 339 -#define PARS_WORK_TOKEN 340 -#define NEG 341 +#define PARS_INT_LIT 257 +#define PARS_FLOAT_LIT 258 +#define PARS_STR_LIT 259 +#define PARS_NULL_LIT 260 +#define PARS_ID_TOKEN 261 +#define PARS_AND_TOKEN 262 +#define PARS_OR_TOKEN 263 +#define PARS_NOT_TOKEN 264 +#define PARS_GE_TOKEN 265 +#define PARS_LE_TOKEN 266 +#define PARS_NE_TOKEN 267 +#define PARS_PROCEDURE_TOKEN 268 +#define PARS_IN_TOKEN 269 +#define PARS_OUT_TOKEN 270 +#define PARS_INT_TOKEN 271 +#define PARS_INTEGER_TOKEN 272 +#define PARS_FLOAT_TOKEN 273 +#define PARS_CHAR_TOKEN 274 +#define PARS_IS_TOKEN 275 +#define PARS_BEGIN_TOKEN 276 +#define PARS_END_TOKEN 277 +#define PARS_IF_TOKEN 278 +#define PARS_THEN_TOKEN 279 +#define PARS_ELSE_TOKEN 280 +#define PARS_ELSIF_TOKEN 281 +#define PARS_LOOP_TOKEN 282 +#define PARS_WHILE_TOKEN 283 +#define PARS_RETURN_TOKEN 284 +#define PARS_SELECT_TOKEN 285 +#define PARS_SUM_TOKEN 286 +#define PARS_COUNT_TOKEN 287 +#define PARS_DISTINCT_TOKEN 288 +#define PARS_FROM_TOKEN 289 +#define PARS_WHERE_TOKEN 290 +#define PARS_FOR_TOKEN 291 +#define PARS_DDOT_TOKEN 292 +#define PARS_CONSISTENT_TOKEN 293 +#define PARS_READ_TOKEN 294 +#define PARS_ORDER_TOKEN 295 +#define PARS_BY_TOKEN 296 +#define PARS_ASC_TOKEN 297 +#define PARS_DESC_TOKEN 298 +#define PARS_INSERT_TOKEN 299 +#define PARS_INTO_TOKEN 300 +#define PARS_VALUES_TOKEN 301 +#define PARS_UPDATE_TOKEN 302 +#define PARS_SET_TOKEN 303 +#define PARS_DELETE_TOKEN 304 +#define PARS_CURRENT_TOKEN 305 +#define PARS_OF_TOKEN 306 +#define PARS_CREATE_TOKEN 307 +#define PARS_TABLE_TOKEN 308 +#define PARS_INDEX_TOKEN 309 +#define PARS_UNIQUE_TOKEN 310 +#define PARS_CLUSTERED_TOKEN 311 +#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 312 +#define PARS_ON_TOKEN 313 +#define PARS_ASSIGN_TOKEN 314 +#define PARS_DECLARE_TOKEN 315 +#define PARS_CURSOR_TOKEN 316 +#define PARS_SQL_TOKEN 317 +#define PARS_OPEN_TOKEN 318 +#define PARS_FETCH_TOKEN 319 +#define PARS_CLOSE_TOKEN 320 +#define PARS_NOTFOUND_TOKEN 321 +#define PARS_TO_CHAR_TOKEN 322 +#define PARS_TO_NUMBER_TOKEN 323 +#define PARS_TO_BINARY_TOKEN 324 +#define PARS_BINARY_TO_NUMBER_TOKEN 325 +#define PARS_SUBSTR_TOKEN 326 +#define PARS_REPLSTR_TOKEN 327 +#define PARS_CONCAT_TOKEN 328 +#define PARS_INSTR_TOKEN 329 +#define PARS_LENGTH_TOKEN 330 +#define PARS_SYSDATE_TOKEN 331 +#define PARS_PRINTF_TOKEN 332 +#define PARS_ASSERT_TOKEN 333 +#define PARS_RND_TOKEN 334 +#define PARS_RND_STR_TOKEN 335 +#define PARS_ROW_PRINTF_TOKEN 336 +#define PARS_COMMIT_TOKEN 337 +#define PARS_ROLLBACK_TOKEN 338 +#define PARS_WORK_TOKEN 339 +#define NEG 340 extern YYSTYPE yylval; diff --git a/innobase/pars/pars0grm.y b/innobase/pars/pars0grm.y index ae8c5ab91ec..2d84ee296cd 100644 --- a/innobase/pars/pars0grm.y +++ b/innobase/pars/pars0grm.y @@ -4,17 +4,21 @@ SQL parser: input file for the GNU Bison parser generator (c) 1997 Innobase Oy Created 12/14/1997 Heikki Tuuri +Published under the GPL version 2 + +Look from pars0lex.l for instructions how to generate the C files for +the InnoDB parser. *******************************************************/ %{ /* The value of the semantic attribute is a pointer to a query tree node que_node_t */ #define YYSTYPE que_node_t* - -#include "univ.i" -#undef alloca #define alloca mem_alloc + #include <math.h> + +#include "univ.i" #include "pars0pars.h" #include "mem0mem.h" #include "que0types.h" diff --git a/innobase/pars/pars0lex.l b/innobase/pars/pars0lex.l index 718dfc86646..7abb8b1d74e 100644 --- a/innobase/pars/pars0lex.l +++ b/innobase/pars/pars0lex.l @@ -4,6 +4,30 @@ SQL parser lexical analyzer: input file for the GNU Flex lexer generator (c) 1997 Innobase Oy Created 12/14/1997 Heikki Tuuri +Published under the GPL version 2 + +The InnoDB parser is frozen because MySQL takes care of SQL parsing. +Therefore we normally keep the InnoDB parser C files as they are, and do +not automatically generate them from pars0grm.y and pars0lex.l. + +How to make the InnoDB parser and lexer C files: + +1. First do + bison -d pars0grm.y + That generates pars0grm.tab.c and pars0grm.tab.h. + +2. Rename pars0grm.tab.c to pars0grm.c and pars0grm.tab.h to pars0grm.h. + +3. Copy pars0grm.h also to /innobase/include + +4. Do + flex pars0lex.l + That generates lex.yy.c. + +5. Rename lex.yy.c to lexyy.c. + +These instructions seem to work at least with bison-1.28 and flex-2.5.4 on +Linux. *******************************************************/ %{ @@ -19,11 +43,10 @@ Created 12/14/1997 Heikki Tuuri #define isatty(A) 0 #define malloc(A) mem_alloc(A) #define free(A) mem_free(A) -#define realloc(P, A) mem_realloc(P, A) +#define realloc(P, A) mem_realloc(P, A, __FILE__, __LINE__) #define exit(A) ut_a(0) -#define YY_INPUT(buf, result, max_size) pars_get_lex_chars(buf, &result,\ - max_size) +#define YY_INPUT(buf, result, max_size) pars_get_lex_chars(buf, &result, max_size) %} DIGIT [0-9] |