diff --git a/configure.ac.in b/configure.ac.in index 778c1a3..ba00836 100644 --- a/configure.ac.in +++ b/configure.ac.in @@ -82,6 +82,7 @@ AC_CONFIG_FILES([Makefile pkg/suse/Makefile pkg/win32/Makefile xtra/Makefile + xtra/pg_scanners/Makefile xtra/png2c/Makefile xtra/pgscript/Makefile xtra/pgscript/lib/Makefile diff --git a/pgadmin/Makefile.am b/pgadmin/Makefile.am index d17bca9..406104a 100644 --- a/pgadmin/Makefile.am +++ b/pgadmin/Makefile.am @@ -26,6 +26,18 @@ EXTRA_DIST = \ ver_svn.bat \ ver_svn.sh +pgadmin3_LDADD += \ +../xtra/pg_scanners/keywords.o \ +../xtra/pg_scanners/kwlookup.o \ +../xtra/pg_scanners/pgstrcasecmp.o \ +../xtra/pg_scanners/chklocale.o \ +../xtra/pg_scanners/wchar.o \ +../xtra/pg_scanners/mbutils.o \ +../xtra/pg_scanners/encnames.o \ +../xtra/pg_scanners/scansup.o \ +../xtra/pg_scanners/PgadminScannerCommon.o \ +../xtra/pg_scanners/libpgscanner92.a + # Make sure we always have these dependencies, even if dependency tracking # is turend off. The leading dash keeps automake from trying to process this. -include Makefile.deps @@ -121,3 +133,10 @@ $(BUILT_SOURCES): $(top_srcdir)/xtra/png2c/png2c clean-local: rm -f include/images/*.pngc +../xtra/pg_scanners/libpgscanner92.a: + (cd ../xtra/pg_scanners && $(MAKE) $(AM_MAKEFLAGS)) + +$(BUILT_SOURCES): ../xtra/pg_scanners/libpgscanner92.a + +clean-pg-scanners: + rm -f ../xtra/pg_scanners/*.o ../xtra/pg_scanners/*.a diff --git a/pgadmin/db/keywords.c b/pgadmin/db/keywords.c index f9adb83..90ee5bb 100644 --- a/pgadmin/db/keywords.c +++ b/pgadmin/db/keywords.c @@ -23,16 +23,16 @@ /////////////////////////////////////////////////////////////////////////// #include "postgres.h" -#include "parser/keywords.h" +#include "parser/keywords_pgadmin.h" /* * List of (keyword-name, keyword-token-value) pairs. */ #define PG_KEYWORD(a,b,c) {a,c}, -const ScanKeyword ScanKeywords[] = { +const ScanKeyword_pgadmin ScanKeywords_pgadmin[] = { #include }; -const int NumScanKeywords = lengthof(ScanKeywords); +const int NumScanKeywords_pgadmin = lengthof(ScanKeywords_pgadmin); /* * Additional pairs here. They need to live in a separate array since @@ -42,7 +42,7 @@ const int NumScanKeywords = lengthof(ScanKeywords); * search is used to locate entries. */ #define PG_KEYWORD2(a,b) {a,b}, -const ScanKeyword ScanKeywordsExtra[] = { +const ScanKeyword_pgadmin ScanKeywordsExtra[] = { PG_KEYWORD2("connect", RESERVED_KEYWORD) PG_KEYWORD2("convert", RESERVED_KEYWORD) PG_KEYWORD2("distributed", UNRESERVED_KEYWORD) @@ -66,7 +66,6 @@ const ScanKeyword ScanKeywordsExtra[] = { PG_KEYWORD2("varchar2", RESERVED_KEYWORD) }; const int NumScanKeywordsExtra = lengthof(ScanKeywordsExtra); - /* * ScanKeywordLookup - see if a given word is a keyword * @@ -79,74 +78,74 @@ const int NumScanKeywordsExtra = lengthof(ScanKeywordsExtra); * keywords are to be matched in this way even though non-keyword identifiers * receive a different case-normalization mapping. */ -const ScanKeyword * -ScanKeywordLookup(const char *text) +const ScanKeyword_pgadmin * +ScanKeywordLookup_pgadmin(const char *text) { - int len, - i; - char word[NAMEDATALEN]; - const ScanKeyword *low; - const ScanKeyword *high; + int len, + i; + char word[NAMEDATALEN]; + const ScanKeyword_pgadmin *low; + const ScanKeyword_pgadmin *high; - len = strlen(text); - /* We assume all keywords are shorter than NAMEDATALEN. */ - if (len >= NAMEDATALEN) - return NULL; + len = strlen(text); + /* We assume all keywords are shorter than NAMEDATALEN. */ + if (len >= NAMEDATALEN) + return NULL; - /* - * Apply an ASCII-only downcasing. We must not use tolower() since it may - * produce the wrong translation in some locales (eg, Turkish). - */ - for (i = 0; i < len; i++) - { - char ch = text[i]; + /* + * Apply an ASCII-only downcasing. We must not use tolower() since it may + * produce the wrong translation in some locales (eg, Turkish). + */ + for (i = 0; i < len; i++) + { + char ch = text[i]; - if (ch >= 'A' && ch <= 'Z') - ch += 'a' - 'A'; - word[i] = ch; - } - word[len] = '\0'; + if (ch >= 'A' && ch <= 'Z') + ch += 'a' - 'A'; + word[i] = ch; + } + word[len] = '\0'; - /* - * Now do a binary search using plain strcmp() comparison. - */ - low = &ScanKeywords[0]; - high = endof(ScanKeywords) - 1; - while (low <= high) - { - const ScanKeyword *middle; - int difference; + /* + * Now do a binary search using plain strcmp() comparison. + */ + low = &ScanKeywords_pgadmin[0]; + high = endof(ScanKeywords_pgadmin) - 1; + while (low <= high) + { + const ScanKeyword_pgadmin *middle; + int difference; - middle = low + (high - low) / 2; - difference = strcmp(middle->name, word); - if (difference == 0) - return middle; - else if (difference < 0) - low = middle + 1; - else - high = middle - 1; - } + middle = low + (high - low) / 2; + difference = strcmp(middle->name, word); + if (difference == 0) + return middle; + else if (difference < 0) + low = middle + 1; + else + high = middle - 1; + } /* * If not found, also do a binary search in the list of extra * keywords. */ - low = &ScanKeywordsExtra[0]; - high = endof(ScanKeywordsExtra) - 1; - while (low <= high) - { - const ScanKeyword *middle; - int difference; + low = &ScanKeywordsExtra[0]; + high = endof(ScanKeywordsExtra) - 1; + while (low <= high) + { + const ScanKeyword_pgadmin *middle; + int difference; - middle = low + (high - low) / 2; - difference = strcmp(middle->name, word); - if (difference == 0) - return middle; - else if (difference < 0) - low = middle + 1; - else - high = middle - 1; - } + middle = low + (high - low) / 2; + difference = strcmp(middle->name, word); + if (difference == 0) + return middle; + else if (difference < 0) + low = middle + 1; + else + high = middle - 1; + } - return NULL; + return NULL; } diff --git a/pgadmin/include/parser/keywords.h b/pgadmin/include/parser/keywords.h index 7fe9872..a3a06e4 100644 --- a/pgadmin/include/parser/keywords.h +++ b/pgadmin/include/parser/keywords.h @@ -1,44 +1,46 @@ /*------------------------------------------------------------------------- * * keywords.h - * lexical token lookup for reserved words in postgres SQL + * lexical token lookup for key words in PostgreSQL * * - * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/parser/keywords.h,v 1.21 2006/03/05 15:58:57 momjian Exp $ + * src/include/parser/keywords.h * *------------------------------------------------------------------------- */ - -/////////////////////////////////////////////////////////////////////////// -// -// pgAdmin note: This file is based on src/include/parser/keywords.h from -// PostgreSQL, but with the token code entry removed. -// -// This file is under the BSD licence, per PostgreSQL. -/////////////////////////////////////////////////////////////////////////// - #ifndef KEYWORDS_H #define KEYWORDS_H +#ifdef __cplusplus +extern "C" { +#endif + /* Keyword categories --- should match lists in gram.y */ #define UNRESERVED_KEYWORD 0 #define COL_NAME_KEYWORD 1 #define TYPE_FUNC_NAME_KEYWORD 2 #define RESERVED_KEYWORD 3 + typedef struct ScanKeyword { - const char *name; /* in lower case */ - int category; /* see codes above */ + const char *name; /* in lower case */ + signed short value; /* grammar's token code */ + signed short category; /* see codes above */ } ScanKeyword; -extern const ScanKeyword *ScanKeywordLookup(const char *text); - extern const ScanKeyword ScanKeywords[]; -extern const ScanKeyword ScanKeywordsExtra[]; extern const int NumScanKeywords; -extern const int NumScanKeywordsExtra; + +extern const ScanKeyword *ScanKeywordLookup(const char *text, + const ScanKeyword *keywords, + int num_keywords); + +#ifdef __cplusplus +} +#endif + #endif /* KEYWORDS_H */ diff --git a/pgadmin/include/parser/keywords_pgadmin.h b/pgadmin/include/parser/keywords_pgadmin.h new file mode 100644 index 0000000..e4b74d6 --- /dev/null +++ b/pgadmin/include/parser/keywords_pgadmin.h @@ -0,0 +1,44 @@ +/*------------------------------------------------------------------------- + * + * keywords.h + * lexical token lookup for reserved words in postgres SQL + * + * + * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * $PostgreSQL: pgsql/src/include/parser/keywords.h,v 1.21 2006/03/05 15:58:57 momjian Exp $ + * + *------------------------------------------------------------------------- + */ + +/////////////////////////////////////////////////////////////////////////// +// +// pgAdmin note: This file is based on src/include/parser/keywords.h from +// PostgreSQL, but with the token code entry removed. +// +// This file is under the BSD licence, per PostgreSQL. +/////////////////////////////////////////////////////////////////////////// + +#ifndef KEYWORDS_PGADMIN_H +#define KEYWORDS_PGADMIN_H + +/* Keyword categories --- should match lists in gram.y */ +#define UNRESERVED_KEYWORD 0 +#define COL_NAME_KEYWORD 1 +#define TYPE_FUNC_NAME_KEYWORD 2 +#define RESERVED_KEYWORD 3 + +typedef struct ScanKeyword_pgadmin +{ + const char *name; /* in lower case */ + int category; /* see codes above */ +} ScanKeyword_pgadmin; + +extern const ScanKeyword_pgadmin *ScanKeywordLookup_pgadmin(const char *text); + +extern const ScanKeyword_pgadmin ScanKeywords_pgadmin[]; +extern const ScanKeyword_pgadmin ScanKeywordsExtra[]; +extern const int NumScanKeywords_pgadmin; +extern const int NumScanKeywordsExtra; +#endif /* KEYWORDS_PGADMIN_H */ diff --git a/pgadmin/include/parser/module.mk b/pgadmin/include/parser/module.mk index 34d4c19..8e9cb2f 100644 --- a/pgadmin/include/parser/module.mk +++ b/pgadmin/include/parser/module.mk @@ -10,7 +10,8 @@ ####################################################################### pgadmin3_SOURCES += \ - include/parser/keywords.h + $(srcdir)/include/parser/keywords.h \ + $(srcdir)/include/parser/keywords_pgadmin.h EXTRA_DIST += \ include/parser/module.mk diff --git a/pgadmin/include/utils/PgadminScanner.h b/pgadmin/include/utils/PgadminScanner.h new file mode 100644 index 0000000..75072aa --- /dev/null +++ b/pgadmin/include/utils/PgadminScanner.h @@ -0,0 +1,1141 @@ +/* + * File: vladimir_kokovic.h + * Created on January 29, 2012, 6:24 AM + */ + +#ifndef PGADMINSCANNER_H +#define PGADMINSCANNER_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#ifdef PGADMIN_SCANNER +#include "postgres.h" +#else +#include "postgres_fe.h" +#include "parser/keywords_pgadmin.h" +#undef _ +#undef PACKAGE_NAME +#undef PACKAGE_BUGREPORT +#undef PACKAGE_STRING +#undef PACKAGE_TARNAME +#undef PACKAGE_VERSION +#undef Abs +#endif +#include "parser/scanner.h" + +/* additional token for $foo$*/ +#define DOLCONST 999 + +/* Entry points in parser/scan.l */ + +extern int base_yylex_92(core_YYSTYPE *lvalp, YYLTYPE *llocp, core_yyscan_t yyscanner); +extern core_yyscan_t scanner_init_92(jmp_buf env, const char *str, + core_yy_extra_type *yyext, + const ScanKeyword *keywords, + int num_keywords); +extern void scanner_finish_92(core_yyscan_t yyscanner); +extern int core_yylex_92(core_YYSTYPE *lvalp, YYLTYPE *llocp, core_yyscan_t yyscanner); +extern int scanner_errposition_92(int location, core_yyscan_t yyscanner); +extern void scanner_yyerror_92(const char *message, core_yyscan_t yyscanner); + +#define printlist printlist_92 +#define destroylist destroylist_92 +#define scan_SQL_command scan_SQL_command_92 +#define parse_rule_sql parse_rule_sql_92 +#define parse_trigger_sql parse_trigger_sql_92 +#define get_all_commands get_all_commands_92 +#define qualified_identifier_dot_pos qualified_identifier_dot_pos_92 + +#define core_yy_create_buffer core_yy_create_buffer_92 +#define core_yyrealloc core_yyrealloc_92 +#define core_yyrestart core_yyrestart_92 +#define core_yy_switch_to_buffer core_yy_switch_to_buffer_92 +#define core_yyalloc core_yyalloc_92 +#define core_yy_delete_buffer core_yy_delete_buffer_92 +#define core_yyfree core_yyfree_92 +#define core_yy_flush_buffer core_yy_flush_buffer_92 +#define core_yypush_buffer_state core_yypush_buffer_state_92 +#define core_yypop_buffer_state core_yypop_buffer_state_92 +#define core_yy_scan_buffer core_yy_scan_buffer_92 +#define core_yy_scan_string core_yy_scan_string_92 +#define core_yy_scan_bytes core_yy_scan_bytes_92 +#define core_yyget_extra core_yyget_extra_92 +#define core_yyget_lineno core_yyget_lineno_92 +#define core_yyget_column core_yyget_column_92 +#define core_yyget_in core_yyget_in_92 +#define core_yyget_out core_yyget_out_92 +#define core_yyget_leng core_yyget_leng_92 +#define core_yyget_text core_yyget_text_92 +#define core_yyset_extra core_yyset_extra_92 +#define core_yyset_lineno core_yyset_lineno_92 +#define core_yyset_column core_yyset_column_92 +#define core_yyset_in core_yyset_in_92 +#define core_yyset_out core_yyset_out_92 +#define core_yyget_debug core_yyget_debug_92 +#define core_yyset_debug core_yyset_debug_92 +#define core_yyget_lval core_yyget_lval_92 +#define core_yyset_lval core_yyset_lval_92 +#define core_yyget_lloc core_yyget_lloc_92 +#define core_yyset_lloc core_yyset_lloc_92 +#define core_yylex_init core_yylex_init_92 +#define core_yylex_init_extra core_yylex_init_extra_92 +#define core_yylex_destroy core_yylex_destroy_92 +#define backslash_quote backslash_quote_92 +#define escape_string_warning escape_string_warning_92 +#define standard_conforming_strings standard_conforming_strings_92 +#define base_yylex base_yylex_92 +#define scanner_init scanner_init_92 +#define scanner_finish scanner_finish_92 +#define core_yylex core_yylex_92 +#define scanner_errposition scanner_errposition_92 +#define scanner_yyerror scanner_yyerror_92 + +extern core_yyscan_t scanner_init(jmp_buf env, const char *str, + core_yy_extra_type *yyext, + const ScanKeyword *keywords, + int num_keywords); +extern void scanner_finish(core_yyscan_t yyscanner); +extern int core_yylex(core_YYSTYPE *lvalp, YYLTYPE *llocp, core_yyscan_t yyscanner); +extern int scanner_errposition(int location, core_yyscan_t yyscanner); +extern void scanner_yyerror(const char *message, core_yyscan_t yyscanner); + +#undef palloc +#define palloc malloc + +#define pfree free + +#define repalloc realloc + +#undef pstrdup +#define pstrdup strdup + +typedef enum +{ + BACKSLASH_QUOTE_OFF, + BACKSLASH_QUOTE_ON, + BACKSLASH_QUOTE_SAFE_ENCODING +} BackslashQuoteType; + +typedef enum JoinType +{ + /* + * The canonical kinds of joins according to the SQL JOIN syntax. Only + * these codes can appear in parser output (e.g., JoinExpr nodes). + */ + JOIN_INNER, /* matching tuple pairs only */ + JOIN_LEFT, /* pairs + unmatched LHS tuples */ + JOIN_FULL, /* pairs + unmatched LHS + unmatched RHS */ + JOIN_RIGHT, /* pairs + unmatched RHS tuples */ + + /* + * Semijoins and anti-semijoins (as defined in relational theory) do not + * appear in the SQL JOIN syntax, but there are standard idioms for + * representing them (e.g., using EXISTS). The planner recognizes these + * cases and converts them to joins. So the planner and executor must + * support these codes. NOTE: in JOIN_SEMI output, it is unspecified + * which matching RHS row is joined to. In JOIN_ANTI output, the row is + * guaranteed to be null-extended. + */ + JOIN_SEMI, /* 1 copy of each LHS row that has match(es) */ + JOIN_ANTI, /* 1 copy of each LHS row that has no match */ + + /* + * These codes are used internally in the planner, but are not supported + * by the executor (nor, indeed, by most of the planner). + */ + JOIN_UNIQUE_OUTER, /* LHS path must be made unique */ + JOIN_UNIQUE_INNER /* RHS path must be made unique */ + + /* + * We might need additional join types someday. + */ +} JoinType; + +typedef enum DropBehavior +{ + DROP_RESTRICT, /* drop fails if any dependent objects */ + DROP_CASCADE /* remove dependent objects too */ +} DropBehavior; + +typedef enum OnCommitAction +{ + ONCOMMIT_NOOP, /* No ON COMMIT clause (do nothing) */ + ONCOMMIT_PRESERVE_ROWS, /* ON COMMIT PRESERVE ROWS (do nothing) */ + ONCOMMIT_DELETE_ROWS, /* ON COMMIT DELETE ROWS */ + ONCOMMIT_DROP /* ON COMMIT DROP */ +} OnCommitAction; + +typedef enum NodeTag +{ + T_Invalid = 0, + + /* + * TAGS FOR EXECUTOR NODES (execnodes.h) + */ + T_IndexInfo = 10, + T_ExprContext, + T_ProjectionInfo, + T_JunkFilter, + T_ResultRelInfo, + T_EState, + T_TupleTableSlot, + + /* + * TAGS FOR PLAN NODES (plannodes.h) + */ + T_Plan = 100, + T_Result, + T_ModifyTable, + T_Append, + T_MergeAppend, + T_RecursiveUnion, + T_BitmapAnd, + T_BitmapOr, + T_Scan, + T_SeqScan, + T_IndexScan, + T_BitmapIndexScan, + T_BitmapHeapScan, + T_TidScan, + T_SubqueryScan, + T_FunctionScan, + T_ValuesScan, + T_CteScan, + T_WorkTableScan, + T_ForeignScan, + T_FdwPlan, + T_Join, + T_NestLoop, + T_MergeJoin, + T_HashJoin, + T_Material, + T_Sort, + T_Group, + T_Agg, + T_WindowAgg, + T_Unique, + T_Hash, + T_SetOp, + T_LockRows, + T_Limit, + /* these aren't subclasses of Plan: */ + T_NestLoopParam, + T_PlanRowMark, + T_PlanInvalItem, + + /* + * TAGS FOR PLAN STATE NODES (execnodes.h) + * + * These should correspond one-to-one with Plan node types. + */ + T_PlanState = 200, + T_ResultState, + T_ModifyTableState, + T_AppendState, + T_MergeAppendState, + T_RecursiveUnionState, + T_BitmapAndState, + T_BitmapOrState, + T_ScanState, + T_SeqScanState, + T_IndexScanState, + T_BitmapIndexScanState, + T_BitmapHeapScanState, + T_TidScanState, + T_SubqueryScanState, + T_FunctionScanState, + T_ValuesScanState, + T_CteScanState, + T_WorkTableScanState, + T_ForeignScanState, + T_JoinState, + T_NestLoopState, + T_MergeJoinState, + T_HashJoinState, + T_MaterialState, + T_SortState, + T_GroupState, + T_AggState, + T_WindowAggState, + T_UniqueState, + T_HashState, + T_SetOpState, + T_LockRowsState, + T_LimitState, + + /* + * TAGS FOR PRIMITIVE NODES (primnodes.h) + */ + T_Alias = 300, + T_RangeVar, + T_Expr, + T_Var, + T_Const, + T_Param, + T_Aggref, + T_WindowFunc, + T_ArrayRef, + T_FuncExpr, + T_NamedArgExpr, + T_OpExpr, + T_DistinctExpr, + T_NullIfExpr, + T_ScalarArrayOpExpr, + T_BoolExpr, + T_SubLink, + T_SubPlan, + T_AlternativeSubPlan, + T_FieldSelect, + T_FieldStore, + T_RelabelType, + T_CoerceViaIO, + T_ArrayCoerceExpr, + T_ConvertRowtypeExpr, + T_CollateExpr, + T_CaseExpr, + T_CaseWhen, + T_CaseTestExpr, + T_ArrayExpr, + T_RowExpr, + T_RowCompareExpr, + T_CoalesceExpr, + T_MinMaxExpr, + T_XmlExpr, + T_NullTest, + T_BooleanTest, + T_CoerceToDomain, + T_CoerceToDomainValue, + T_SetToDefault, + T_CurrentOfExpr, + T_TargetEntry, + T_RangeTblRef, + T_JoinExpr, + T_FromExpr, + T_IntoClause, + + /* + * TAGS FOR EXPRESSION STATE NODES (execnodes.h) + * + * These correspond (not always one-for-one) to primitive nodes derived + * from Expr. + */ + T_ExprState = 400, + T_GenericExprState, + T_AggrefExprState, + T_WindowFuncExprState, + T_ArrayRefExprState, + T_FuncExprState, + T_ScalarArrayOpExprState, + T_BoolExprState, + T_SubPlanState, + T_AlternativeSubPlanState, + T_FieldSelectState, + T_FieldStoreState, + T_CoerceViaIOState, + T_ArrayCoerceExprState, + T_ConvertRowtypeExprState, + T_CaseExprState, + T_CaseWhenState, + T_ArrayExprState, + T_RowExprState, + T_RowCompareExprState, + T_CoalesceExprState, + T_MinMaxExprState, + T_XmlExprState, + T_NullTestState, + T_CoerceToDomainState, + T_DomainConstraintState, + + /* + * TAGS FOR PLANNER NODES (relation.h) + */ + T_PlannerInfo = 500, + T_PlannerGlobal, + T_RelOptInfo, + T_IndexOptInfo, + T_Path, + T_IndexPath, + T_BitmapHeapPath, + T_BitmapAndPath, + T_BitmapOrPath, + T_NestPath, + T_MergePath, + T_HashPath, + T_TidPath, + T_ForeignPath, + T_AppendPath, + T_MergeAppendPath, + T_ResultPath, + T_MaterialPath, + T_UniquePath, + T_EquivalenceClass, + T_EquivalenceMember, + T_PathKey, + T_RestrictInfo, + T_InnerIndexscanInfo, + T_PlaceHolderVar, + T_SpecialJoinInfo, + T_AppendRelInfo, + T_PlaceHolderInfo, + T_MinMaxAggInfo, + T_PlannerParamItem, + + /* + * TAGS FOR MEMORY NODES (memnodes.h) + */ + T_MemoryContext = 600, + T_AllocSetContext, + + /* + * TAGS FOR VALUE NODES (value.h) + */ + T_Value = 650, + T_Integer, + T_Float, + T_String, + T_BitString, + T_Null, + + /* + * TAGS FOR LIST NODES (pg_list.h) + */ + T_List, + T_IntList, + T_OidList, + + /* + * TAGS FOR STATEMENT NODES (mostly in parsenodes.h) + */ + T_Query = 700, + T_PlannedStmt, + T_InsertStmt, + T_DeleteStmt, + T_UpdateStmt, + T_SelectStmt, + T_AlterTableStmt, + T_AlterTableCmd, + T_AlterDomainStmt, + T_SetOperationStmt, + T_GrantStmt, + T_GrantRoleStmt, + T_AlterDefaultPrivilegesStmt, + T_ClosePortalStmt, + T_ClusterStmt, + T_CopyStmt, + T_CreateStmt, + T_DefineStmt, + T_DropStmt, + T_TruncateStmt, + T_CommentStmt, + T_FetchStmt, + T_IndexStmt, + T_CreateFunctionStmt, + T_AlterFunctionStmt, + T_RemoveFuncStmt, + T_DoStmt, + T_RenameStmt, + T_RuleStmt, + T_NotifyStmt, + T_ListenStmt, + T_UnlistenStmt, + T_TransactionStmt, + T_ViewStmt, + T_LoadStmt, + T_CreateDomainStmt, + T_CreatedbStmt, + T_DropdbStmt, + T_VacuumStmt, + T_ExplainStmt, + T_CreateSeqStmt, + T_AlterSeqStmt, + T_VariableSetStmt, + T_VariableShowStmt, + T_DiscardStmt, + T_CreateTrigStmt, + T_DropPropertyStmt, + T_CreatePLangStmt, + T_DropPLangStmt, + T_CreateRoleStmt, + T_AlterRoleStmt, + T_DropRoleStmt, + T_LockStmt, + T_ConstraintsSetStmt, + T_ReindexStmt, + T_CheckPointStmt, + T_CreateSchemaStmt, + T_AlterDatabaseStmt, + T_AlterDatabaseSetStmt, + T_AlterRoleSetStmt, + T_CreateConversionStmt, + T_CreateCastStmt, + T_DropCastStmt, + T_CreateOpClassStmt, + T_CreateOpFamilyStmt, + T_AlterOpFamilyStmt, + T_RemoveOpClassStmt, + T_RemoveOpFamilyStmt, + T_PrepareStmt, + T_ExecuteStmt, + T_DeallocateStmt, + T_DeclareCursorStmt, + T_CreateTableSpaceStmt, + T_DropTableSpaceStmt, + T_AlterObjectSchemaStmt, + T_AlterOwnerStmt, + T_DropOwnedStmt, + T_ReassignOwnedStmt, + T_CompositeTypeStmt, + T_CreateEnumStmt, + T_AlterEnumStmt, + T_AlterTSDictionaryStmt, + T_AlterTSConfigurationStmt, + T_CreateFdwStmt, + T_AlterFdwStmt, + T_DropFdwStmt, + T_CreateForeignServerStmt, + T_AlterForeignServerStmt, + T_DropForeignServerStmt, + T_CreateUserMappingStmt, + T_AlterUserMappingStmt, + T_DropUserMappingStmt, + T_AlterTableSpaceOptionsStmt, + T_SecLabelStmt, + T_CreateForeignTableStmt, + T_CreateExtensionStmt, + T_AlterExtensionStmt, + T_AlterExtensionContentsStmt, + + /* + * TAGS FOR PARSE TREE NODES (parsenodes.h) + */ + T_A_Expr = 900, + T_ColumnRef, + T_ParamRef, + T_A_Const, + T_FuncCall, + T_A_Star, + T_A_Indices, + T_A_Indirection, + T_A_ArrayExpr, + T_ResTarget, + T_TypeCast, + T_CollateClause, + T_SortBy, + T_WindowDef, + T_RangeSubselect, + T_RangeFunction, + T_TypeName, + T_ColumnDef, + T_IndexElem, + T_Constraint, + T_DefElem, + T_RangeTblEntry, + T_SortGroupClause, + T_WindowClause, + T_PrivGrantee, + T_FuncWithArgs, + T_AccessPriv, + T_CreateOpClassItem, + T_InhRelation, + T_FunctionParameter, + T_LockingClause, + T_RowMarkClause, + T_XmlSerialize, + T_WithClause, + T_CommonTableExpr, + + /* + * TAGS FOR REPLICATION GRAMMAR PARSE NODES (replnodes.h) + */ + T_IdentifySystemCmd, + T_BaseBackupCmd, + T_StartReplicationCmd, + + /* + * TAGS FOR RANDOM OTHER STUFF + * + * These are objects that aren't part of parse/plan/execute node tree + * structures, but we give them NodeTags anyway for identification + * purposes (usually because they are involved in APIs where we want to + * pass multiple object types through the same pointer). + */ + T_TriggerData = 950, /* in commands/trigger.h */ + T_ReturnSetInfo, /* in nodes/execnodes.h */ + T_WindowObjectData, /* private in nodeWindowAgg.c */ + T_TIDBitmap, /* in nodes/tidbitmap.h */ + T_InlineCodeBlock, /* in nodes/parsenodes.h */ + T_FdwRoutine /* in foreign/fdwapi.h */ +} NodeTag; + +/* + * The first field of a node of any type is guaranteed to be the NodeTag. + * Hence the type of any node can be gotten by casting it to Node. Declaring + * a variable to be of Node * (instead of void *) can also facilitate + * debugging. + */ +typedef struct Node +{ + NodeTag type; +} Node; + +#define nodeTag(nodeptr) (((Node*)(nodeptr))->type) + +typedef struct ListCell ListCell; + +typedef struct List +{ + NodeTag type; /* T_List, T_IntList, or T_OidList */ + int length; + ListCell *head; + ListCell *tail; +} List; + +struct ListCell +{ + union + { + void *ptr_value; + int int_value; + Oid oid_value; + } data; + ListCell *next; +}; + +typedef struct Value +{ + NodeTag type; /* tag appropriately (eg. T_String) */ + union ValUnion + { + long ival; /* machine integer */ + char *str; /* string */ + } val; +} Value; + +typedef enum ObjectType +{ + OBJECT_AGGREGATE, + OBJECT_ATTRIBUTE, /* type's attribute, when distinct from column */ + OBJECT_CAST, + OBJECT_COLUMN, + OBJECT_CONSTRAINT, + OBJECT_COLLATION, + OBJECT_CONVERSION, + OBJECT_DATABASE, + OBJECT_DOMAIN, + OBJECT_EXTENSION, + OBJECT_FDW, + OBJECT_FOREIGN_SERVER, + OBJECT_FOREIGN_TABLE, + OBJECT_FUNCTION, + OBJECT_INDEX, + OBJECT_LANGUAGE, + OBJECT_LARGEOBJECT, + OBJECT_OPCLASS, + OBJECT_OPERATOR, + OBJECT_OPFAMILY, + OBJECT_ROLE, + OBJECT_RULE, + OBJECT_SCHEMA, + OBJECT_SEQUENCE, + OBJECT_TABLE, + OBJECT_TABLESPACE, + OBJECT_TRIGGER, + OBJECT_TSCONFIGURATION, + OBJECT_TSDICTIONARY, + OBJECT_TSPARSER, + OBJECT_TSTEMPLATE, + OBJECT_TYPE, + OBJECT_VIEW +} ObjectType; + +typedef struct TypeName +{ + NodeTag type; + List *names; /* qualified name (list of Value strings) */ + Oid typeOid; /* type identified by OID */ + bool setof; /* is a set? */ + bool pct_type; /* %TYPE specified? */ + List *typmods; /* type modifier expression(s) */ + int32 typemod; /* prespecified type modifier */ + List *arrayBounds; /* array bounds */ + int location; /* token location, or -1 if unknown */ +} TypeName; + +typedef enum FunctionParameterMode +{ + /* the assigned enum values appear in pg_proc, don't change 'em! */ + FUNC_PARAM_IN = 'i', /* input only */ + FUNC_PARAM_OUT = 'o', /* output only */ + FUNC_PARAM_INOUT = 'b', /* both */ + FUNC_PARAM_VARIADIC = 'v', /* variadic (always input) */ + FUNC_PARAM_TABLE = 't' /* table function output column */ +} FunctionParameterMode; + +typedef struct FunctionParameter +{ + NodeTag type; + char *name; /* parameter name, or NULL if not given */ + TypeName *argType; /* TypeName for parameter type */ + FunctionParameterMode mode; /* IN/OUT/etc */ + Node *defexpr; /* raw default expr, or NULL if not given */ +} FunctionParameter; + +typedef struct FuncWithArgs +{ + NodeTag type; + List *funcname; /* qualified name of function */ + List *funcargs; /* list of Typename nodes */ +} FuncWithArgs; + +typedef enum DefElemAction +{ + DEFELEM_UNSPEC, /* no action given */ + DEFELEM_SET, + DEFELEM_ADD, + DEFELEM_DROP +} DefElemAction; + +typedef struct DefElem +{ + NodeTag type; + char *defnamespace; /* NULL if unqualified name */ + char *defname; + Node *arg; /* a (Value *) or a (TypeName *) */ + DefElemAction defaction; /* unspecified action, or SET/ADD/DROP */ +} DefElem; + +/* Sort ordering options for ORDER BY and CREATE INDEX */ +typedef enum SortByDir +{ + SORTBY_DEFAULT, + SORTBY_ASC, + SORTBY_DESC, + SORTBY_USING /* not allowed in CREATE INDEX ... */ +} SortByDir; + +typedef enum SortByNulls +{ + SORTBY_NULLS_DEFAULT, + SORTBY_NULLS_FIRST, + SORTBY_NULLS_LAST +} SortByNulls; + +typedef struct SortBy +{ + NodeTag type; + Node *node; /* expression to sort on */ + SortByDir sortby_dir; /* ASC/DESC/USING/default */ + SortByNulls sortby_nulls; /* NULLS FIRST/LAST */ + List *useOp; /* name of op to use, if SORTBY_USING */ + int location; /* operator location, or -1 if none/unknown */ +} SortBy; + +typedef struct WindowDef +{ + NodeTag type; + char *name; /* window's own name */ + char *refname; /* referenced window name, if any */ + List *partitionClause; /* PARTITION BY expression list */ + List *orderClause; /* ORDER BY (list of SortBy) */ + int frameOptions; /* frame_clause options, see below */ + Node *startOffset; /* expression for starting bound, if any */ + Node *endOffset; /* expression for ending bound, if any */ + int location; /* parse location, or -1 if none/unknown */ +} WindowDef; + +typedef struct Alias +{ + NodeTag type; + char *aliasname; /* aliased rel name (never qualified) */ + List *colnames; /* optional list of column aliases */ +} Alias; + +typedef struct JoinExpr +{ + NodeTag type; + JoinType jointype; /* type of join */ + bool isNatural; /* Natural join? Will need to shape table */ + Node *larg; /* left subtree */ + Node *rarg; /* right subtree */ + List *usingClause; /* USING clause, if any (list of String) */ + Node *quals; /* qualifiers on join, if any */ + Alias *alias; /* user-written alias clause, if any */ + int rtindex; /* RT index assigned for join, or 0 */ +} JoinExpr; + +typedef struct IndexElem +{ + NodeTag type; + char *name; /* name of attribute to index, or NULL */ + Node *expr; /* expression to index, or NULL */ + char *indexcolname; /* name for index column; NULL = default */ + List *collation; /* name of collation; NIL = default */ + List *opclass; /* name of desired opclass; NIL = default */ + SortByDir ordering; /* ASC/DESC/default */ + SortByNulls nulls_ordering; /* FIRST/LAST/default */ +} IndexElem; + +typedef enum InhOption +{ + INH_NO, /* Do NOT scan child tables */ + INH_YES, /* DO scan child tables */ + INH_DEFAULT /* Use current SQL_inheritance option */ +} InhOption; + +typedef struct RangeVar +{ + NodeTag type; + char *catalogname; /* the catalog (database) name, or NULL */ + char *schemaname; /* the schema name, or NULL */ + char *relname; /* the relation/sequence name */ + InhOption inhOpt; /* expand rel by inheritance? recursively act + * on children? */ + char relpersistence; /* see RELPERSISTENCE_* in pg_class.h */ + Alias *alias; /* table alias & optional column aliases */ + int location; /* token location, or -1 if unknown */ +} RangeVar; + +typedef struct IntoClause +{ + NodeTag type; + + RangeVar *rel; /* target relation name */ + List *colNames; /* column names to assign, or NIL */ + List *options; /* options from WITH clause */ + OnCommitAction onCommit; /* what do we do at COMMIT? */ + char *tableSpaceName; /* table space to use, or NULL */ +} IntoClause; + +typedef struct WithClause +{ + NodeTag type; + List *ctes; /* list of CommonTableExprs */ + bool recursive; /* true = WITH RECURSIVE */ + int location; /* token location, or -1 if unknown */ +} WithClause; + +typedef struct A_Indices +{ + NodeTag type; + Node *lidx; /* NULL if it's a single subscript */ + Node *uidx; +} A_Indices; + +typedef struct ResTarget +{ + NodeTag type; + char *name; /* column name or NULL */ + List *indirection; /* subscripts, field names, and '*', or NIL */ + Node *val; /* the value expression to compute or assign */ + int location; /* token location, or -1 if unknown */ +} ResTarget; + +typedef struct AccessPriv +{ + NodeTag type; + char *priv_name; /* string name of privilege */ + List *cols; /* list of Value strings */ +} AccessPriv; + +typedef struct InsertStmt +{ + NodeTag type; + RangeVar *relation; /* relation to insert into */ + List *cols; /* optional: names of the target columns */ + Node *selectStmt; /* the source SELECT/VALUES, or NULL */ + List *returningList; /* list of expressions to return */ + WithClause *withClause; /* WITH clause */ +} InsertStmt; + +typedef enum +{ + VAR_SET_VALUE, /* SET var = value */ + VAR_SET_DEFAULT, /* SET var TO DEFAULT */ + VAR_SET_CURRENT, /* SET var FROM CURRENT */ + VAR_SET_MULTI, /* special case for SET TRANSACTION ... */ + VAR_RESET, /* RESET var */ + VAR_RESET_ALL /* RESET ALL */ +} VariableSetKind; + +typedef struct VariableSetStmt +{ + NodeTag type; + VariableSetKind kind; + char *name; /* variable to be set */ + List *args; /* List of A_Const nodes */ + bool is_local; /* SET LOCAL? */ +} VariableSetStmt; + +typedef enum GrantObjectType +{ + ACL_OBJECT_RELATION, /* table, view */ + ACL_OBJECT_SEQUENCE, /* sequence */ + ACL_OBJECT_DATABASE, /* database */ + ACL_OBJECT_FUNCTION, /* function */ + ACL_OBJECT_LANGUAGE, /* procedural language */ + ACL_OBJECT_NAMESPACE, /* namespace */ + ACL_OBJECT_TABLESPACE /* tablespace */ +} GrantObjectType; + +/* 8.3 This is only used internally in gram.y. */ +typedef struct PrivTarget +{ + NodeTag type; + GrantObjectType objtype; + List *objs; +} PrivTarget; + +/* 8.1 */ +typedef enum ContainsOids +{ + MUST_HAVE_OIDS, /* WITH OIDS explicitely specified */ + MUST_NOT_HAVE_OIDS, /* WITHOUT OIDS explicitely specified */ + DEFAULT_OIDS /* neither specified; use the default, which + * is the value of the default_with_oids GUC + * var */ +} ContainsOids; + +/* 7.4 + * FastList is an optimization for building large lists. The conventional + * way to build a list is repeated lappend() operations, but that is O(N^2) + * in the number of list items, which gets tedious for large lists. + * + * Note: there are some hacks in gram.y that rely on the head pointer (the + * value-as-list) being the first field. + */ +typedef struct FastList +{ + List *head; + List *tail; +} FastList; + +/* 7.4 + * ColumnRef - specifies a reference to a column, or possibly a whole tuple + * + * The "fields" list must be nonempty; its last component may be "*" + * instead of a field name. Subscripts are optional. + */ +typedef struct ColumnRef +{ + NodeTag type; + List *fields; /* field names (list of Value strings) */ + List *indirection; /* subscripts (list of A_Indices) */ +} ColumnRef; + +/* 7.3 + * SortGroupBy - for ORDER BY clause + */ +typedef struct SortGroupBy +{ + NodeTag type; + List *useOp; /* operator to use */ + Node *node; /* Expression */ +} SortGroupBy; + +/* 7.2 + * ParamNo - specifies a parameter reference + */ +typedef struct ParamNo +{ + NodeTag type; + int number; /* the number of the parameter */ + TypeName *typename_vk; /* the typecast */ + List *indirection; /* array references */ +} ParamNo; + +/* 7.2 + * Attr - + * specifies an Attribute (ie. a Column); could have nested dots or + * array references. + * + */ +typedef struct Attr +{ + NodeTag type; + char *relname; /* name of relation (can be "*") */ + ParamNo *paramNo; /* or a parameter */ + List *attrs; /* attributes (possibly nested); list of + * Values (strings) */ + List *indirection; /* array refs (list of A_Indices') */ +} Attr; + +/* 7.2 + * Ident - + * an identifier (could be an attribute or a relation name). Depending + * on the context at transformStmt time, the identifier is treated as + * either a relation name (in which case, isRel will be set) or an + * attribute (in which case, it will be transformed into an Attr). + */ +typedef struct Ident +{ + NodeTag type; + char *name; /* its name */ + List *indirection; /* array references */ + bool isRel; /* is this a relation or a column? */ +} Ident; + +/* ---------------------- + * Create Version Statement 7.2 + * ---------------------- + */ +typedef struct VersionStmt +{ + NodeTag type; + char *relname; /* the new relation */ + int direction; /* FORWARD | BACKWARD */ + char *fromRelname; /* relation to create a version */ + char *date; /* date of the snapshot */ +} VersionStmt; + +/* ---------------------- + * Create {Operator|Type|Aggregate} Statement 7.2 + * ---------------------- + */ +typedef struct DefineStmt +{ + NodeTag type; + int defType; /* OPERATOR|P_TYPE|AGGREGATE */ + char *defname; + List *definition; /* a list of DefElem */ +} DefineStmt; + +/* 7.2 + * CmdType - + * enums for type of operation represented by a Query + * + * ??? could have put this in parsenodes.h but many files not in the + * optimizer also need this... + */ +typedef enum CmdType +{ + CMD_UNKNOWN, + CMD_SELECT, /* select stmt (formerly retrieve) */ + CMD_UPDATE, /* update stmt (formerly replace) */ + CMD_INSERT, /* insert stmt (formerly append) */ + CMD_DELETE, + CMD_UTILITY, /* cmds like create, destroy, copy, + * vacuum, etc. */ + CMD_NOTHING /* dummy command for instead nothing rules + * with qual */ +} CmdType; + +/* ---------------------- + * Create Rule Statement 7.2 + * ---------------------- + */ +typedef struct RuleStmt +{ + NodeTag type; + char *rulename; /* name of the rule */ + Node *whereClause; /* qualifications */ + CmdType event; /* RETRIEVE */ + struct Attr *object; /* object affected */ + bool instead; /* is a 'do instead'? */ + List *actions; /* the action statements */ +} RuleStmt; + +/* + * The YY_EXTRA data that a flex scanner allows us to pass around. Private + * state needed for raw parsing/lexing goes here. + */ +typedef struct base_yy_extra_type +{ + /* + * Fields used by the core scanner. + */ + core_yy_extra_type core_yy_extra; + + /* + * State variables for base_yylex(). + */ + bool have_lookahead; /* is lookahead info valid? */ + int lookahead_token; /* one-token lookahead */ + core_YYSTYPE lookahead_yylval; /* yylval for lookahead token */ + YYLTYPE lookahead_yylloc; /* yylloc for lookahead token */ + + /* + * State variables that belong to the grammar. + */ + List *parsetree; /* final parse result is delivered here */ +} base_yy_extra_type; + +/* + * In principle we should use yyget_extra() to fetch the yyextra field + * from a yyscanner struct. However, flex always puts that field first, + * and this is sufficiently performance-critical to make it seem worth + * cheating a bit to use an inline macro. + */ +#define pg_yyget_extra(yyscanner) (*((base_yy_extra_type **) (yyscanner))) + +extern bool errstart(int elevel, const char *filename, int lineno, const char *funcname, const char *domain); +extern int errmsg(const char *fmt,...); +extern int errdetail(const char *fmt,...); +extern int errcode(int sqlerrcode); +extern void errfinish(int dummy,...); +extern int errhint(const char *fmt,...); +extern int errmsg_internal(const char *fmt,...); +extern int errposition(int cursorpos); +extern void elog_start(const char *filename, int lineno, const char *funcname); +extern void elog_finish(int elevel, const char *fmt,...); +extern void ExceptionalCondition(const char *conditionName, const char *errorType, const char *fileName, int lineNumber) +#ifdef __GNUC__ /* GNU cc */ + __attribute__((noreturn)) +#endif +; +extern void write_stderr(const char *fmt,...); + +extern int base_yylex(core_YYSTYPE *lvalp, YYLTYPE *llocp, core_yyscan_t yyscanner); + +struct myScannerData { + int loc; + int token; + core_YYSTYPE val; +}; + +struct myScannerNode { + struct myScannerData data; + struct myScannerNode *next; +}; + +extern struct myScannerNode* add(struct myScannerNode *head, const struct myScannerData *data); +extern void printlist(const struct myScannerNode *head); +extern void destroylist(struct myScannerNode *head); + +extern bool pgadmin_scanner_firstime; + +extern struct myScannerNode *scan_SQL_command(jmp_buf env, int version, const char *command); +extern void addToken(char **result, const char *token, bool appendblank); +extern char *quote_identifier(const char *ident); +extern char *quote_qualified_identifier(const char *qualifier, const char *ident); + +extern struct myScannerNode *get_all_commands(const struct myScannerNode *head); +extern char *parse_rule_sql( + const struct myScannerNode *head, const char *rulename, const char *targetschema, const char *tablename); +extern char *parse_trigger_sql(const struct myScannerNode *head, const char *targetschema); + +extern struct myScannerNode *scan_SQL_cpp(const char *command); +extern struct myScannerNode *get_all_commands_cpp(const struct myScannerNode *head); +extern char *parse_rule_cpp( + const struct myScannerNode *head, const char *rulename, const char *targetschema, const char *tablename); +extern char *parse_trigger_cpp(const struct myScannerNode *head, const char *targetschema); +extern void destroylist_cpp(struct myScannerNode *head); +extern int qualified_identifier_dot_pos_cpp(const char *identifier); + +extern char *vk_sprintf(const char *format, ...); +extern char *vk_vsprintf(const char *format, va_list argPtr); + +extern void set_pgadmin_scanner_last_error(const char *format, ...); +extern void set_pgadmin_scanner_last_error_va(const char *format, va_list argPtr); + +extern char *pgadmin_scanner_last_error; + +#ifdef __cplusplus +} +#endif + +#endif /* VLADIMIR_KOKOVIC_H */ + diff --git a/pgadmin/utils/misc.cpp b/pgadmin/utils/misc.cpp index 489734c..49af357 100644 --- a/pgadmin/utils/misc.cpp +++ b/pgadmin/utils/misc.cpp @@ -51,7 +51,7 @@ extern "C" #define YYSTYPE_IS_DECLARED #define DECIMAL DECIMAL_P typedef int YYSTYPE; -#include "parser/keywords.h" +#include "parser/keywords_pgadmin.h" } // we dont have an appropriate wxLongLong method @@ -316,9 +316,9 @@ void FillKeywords(wxString &str) str = wxString(); - for (i = 0; i < NumScanKeywords; i++) + for (i = 0; i < NumScanKeywords_pgadmin; i++) { - str += wxT(" ") + wxString::FromAscii(ScanKeywords[i].name); + str += wxT(" ") + wxString::FromAscii(ScanKeywords_pgadmin[i].name); } for (i = 0; i < NumScanKeywordsExtra; i++) { @@ -370,7 +370,7 @@ static bool needsQuoting(wxString &value, bool forTypes) } // is it a keyword? - const ScanKeyword *sk = ScanKeywordLookup(value.ToAscii()); + const ScanKeyword_pgadmin *sk = ScanKeywordLookup_pgadmin(value.ToAscii()); if (!sk) return false; if (sk->category == UNRESERVED_KEYWORD) diff --git a/xtra/Makefile.am b/xtra/Makefile.am index b00c635..c89273a 100644 --- a/xtra/Makefile.am +++ b/xtra/Makefile.am @@ -7,6 +7,6 @@ # Makefile - Makefile for *nix systems ############################################################################## -DIST_SUBDIRS = png2c pgscript wx-build -SUBDIRS = wx-build +DIST_SUBDIRS = png2c pgscript wx-build pg_scanners +SUBDIRS = wx-build pg_scanners diff --git a/xtra/pg_scanners/Makefile.am b/xtra/pg_scanners/Makefile.am new file mode 100644 index 0000000..f917647 --- /dev/null +++ b/xtra/pg_scanners/Makefile.am @@ -0,0 +1,95 @@ +############################################################################## +# pgAdmin III - PostgreSQL Tools +# +# Copyright (C) 2002 - 2012, The pgAdmin Development Team +# This software is released under the PostgreSQL Licence +# +# Makefile - Makefile for *nix systems +############################################################################## + +noinst_LIBRARIES = libpgscanner92.a + +nodist_libpgscanner92_a_SOURCES = ../../xtra/pg_scanners/dummy.c + +LOCAL_DEPENDENCIES = keywords.o kwlookup.o \ +pgstrcasecmp.o chklocale.o wchar.o mbutils.o encnames.o scansup.o PgadminScannerCommon.o + +libpgscanner92_a_LIBADD = scan92.o PgadminScanner92.o $(LOCAL_DEPENDENCIES) + +PG_INCLUDE=`${PG_CONFIG} --includedir` +PG_SVRINCLUDE=`${PG_CONFIG} --includedir-server` + +if BUILD_DEBUG +LOCAL_DEBUG=-gdwarf-2 -g3 +else +LOCAL_DEBUG= +endif + +keywords.o: ../../xtra/pg_scanners/src/backend/parser/keywords.c + $(CC) -c -DSCANNER_VERSION=92 -DPGADMIN_SCANNER $(LOCAL_DEBUG) -I$(srcdir)/../../xtra/pg_scanners \ +-I$(srcdir)/../../pgadmin/include/utils \ +-I$(srcdir)/../../xtra/pg_scanners/src/backend/parser/92 -I$(srcdir)/../../xtra/pg_scanners/src/include \ +-Wall -I$(PG_INCLUDE) -I$(PG_SVRINCLUDE) -o $@ $< + +kwlookup.o: ../../xtra/pg_scanners/src/backend/parser/kwlookup.c + $(CC) -c -DSCANNER_VERSION=92 -DPGADMIN_SCANNER $(LOCAL_DEBUG) -I$(srcdir)/../../xtra/pg_scanners \ +-I$(srcdir)/../../pgadmin/include/utils \ +-I$(srcdir)/../../xtra/pg_scanners/src/backend/parser/92 -I$(srcdir)/../../xtra/pg_scanners/src/include \ +-Wall -I$(PG_INCLUDE) -I$(PG_SVRINCLUDE) -o $@ $< + +pgstrcasecmp.o: ../../xtra/pg_scanners/src/port/pgstrcasecmp.c + $(CC) -c -DSCANNER_VERSION=92 -DPGADMIN_SCANNER $(LOCAL_DEBUG) -I$(srcdir)/../../xtra/pg_scanners \ +-I$(srcdir)/../../pgadmin/include/utils \ +-I$(srcdir)/../../xtra/pg_scanners/src/backend/parser/92 -I$(srcdir)/../../xtra/pg_scanners/src/include \ +-Wall -I$(PG_INCLUDE) -I$(PG_SVRINCLUDE) -o $@ $< + +chklocale.o: ../../xtra/pg_scanners/src/port/chklocale.c + $(CC) -c -DSCANNER_VERSION=92 -DPGADMIN_SCANNER $(LOCAL_DEBUG) -I$(srcdir)/../../xtra/pg_scanners \ +-I$(srcdir)/../../pgadmin/include/utils \ +-I$(srcdir)/../../xtra/pg_scanners/src/backend/parser/92 -I$(srcdir)/../../xtra/pg_scanners/src/include \ +-Wall -I$(PG_INCLUDE) -I$(PG_SVRINCLUDE) -o $@ $< +wchar.o: ../../xtra/pg_scanners/wchar.c + $(CC) -c -DSCANNER_VERSION=92 -DPGADMIN_SCANNER $(LOCAL_DEBUG) -I$(srcdir)/../../xtra/pg_scanners \ +-I$(srcdir)/../../pgadmin/include/utils \ +-I$(srcdir)/../../xtra/pg_scanners/src/backend/parser/92 -I$(srcdir)/../../xtra/pg_scanners/src/include \ +-Wall -I$(PG_INCLUDE) -I$(PG_SVRINCLUDE) -o $@ $< + +mbutils.o: ../../xtra/pg_scanners/mbutils.c + $(CC) -c -DSCANNER_VERSION=92 -DPGADMIN_SCANNER $(LOCAL_DEBUG) -I$(srcdir)/../../xtra/pg_scanners \ +-I$(srcdir)/../../pgadmin/include/utils \ +-I$(srcdir)/../../xtra/pg_scanners/src/backend/parser/92 -I$(srcdir)/../../xtra/pg_scanners/src/include \ +-Wall -I$(PG_INCLUDE) -I$(PG_SVRINCLUDE) -o $@ $< + +encnames.o: ../../xtra/pg_scanners/src/backend/utils/mb/encnames.c + $(CC) -c -DSCANNER_VERSION=92 -DPGADMIN_SCANNER $(LOCAL_DEBUG) -I$(srcdir)/../../xtra/pg_scanners \ +-I$(srcdir)/../../pgadmin/include/utils \ +-I$(srcdir)/../../xtra/pg_scanners/src/backend/parser/92 -I$(srcdir)/../../xtra/pg_scanners/src/include \ +-Wall -I$(PG_INCLUDE) -I$(PG_SVRINCLUDE) -DFRONTEND -o $@ $< + +scansup.o: ../../xtra/pg_scanners/scansup.c + $(CC) -c -DSCANNER_VERSION=92 -DPGADMIN_SCANNER $(LOCAL_DEBUG) -I$(srcdir)/../../xtra/pg_scanners \ +-I$(srcdir)/../../pgadmin/include/utils \ +-I$(srcdir)/../../xtra/pg_scanners/src/backend/parser/92 -I$(srcdir)/../../xtra/pg_scanners/src/include \ +-Wall -I$(PG_INCLUDE) -I$(PG_SVRINCLUDE) -o $@ $< + +PgadminScannerCommon.o: ../../xtra/pg_scanners/PgadminScannerCommon.c + $(CC) -c -DSCANNER_VERSION=92 -DPGADMIN_SCANNER $(LOCAL_DEBUG) -I$(srcdir)/../../xtra/pg_scanners \ +-I$(srcdir)/../../pgadmin/include/utils \ +-I$(srcdir)/../../xtra/pg_scanners/src/backend/parser/92 -I$(srcdir)/../../xtra/pg_scanners/src/include \ +-Wall -I$(PG_INCLUDE) -I$(PG_SVRINCLUDE) -DXVER=0x92 -o $@ $< + +scan92.o: ../../xtra/pg_scanners/scan.c $(LOCAL_DEPENDENCIES) + $(CC) -c -DSCANNER_VERSION=92 -DPGADMIN_SCANNER $(LOCAL_DEBUG) -I$(srcdir)/../../xtra/pg_scanners \ +-I$(srcdir)/../../pgadmin/include/utils \ +-I$(srcdir)/../../xtra/pg_scanners/src/backend/parser/92 -I$(srcdir)/../../xtra/pg_scanners/src/include \ +-Wall -I$(PG_INCLUDE) -I$(PG_SVRINCLUDE) -DXVER=0x92 -o $@ $< + +PgadminScanner92.o: ../../xtra/pg_scanners/PgadminScanner.c + $(CC) -c -DSCANNER_VERSION=92 -DPGADMIN_SCANNER $(LOCAL_DEBUG) -I$(srcdir)/../../xtra/pg_scanners \ +-I$(srcdir)/../../pgadmin/include/utils \ +-I$(srcdir)/../../xtra/pg_scanners/src/backend/parser/92 -I$(srcdir)/../../xtra/pg_scanners/src/include \ +-Wall -I$(PG_INCLUDE) -I$(PG_SVRINCLUDE) -DXVER=0x92 -o $@ $< + +libpgscanner92.a: scan92.o PgadminScanner92.o + $(AR) $(ARFLAGS) $@ $^ + $(RANLIB) libpgscanner92.a diff --git a/xtra/pg_scanners/PgadminScanner.c b/xtra/pg_scanners/PgadminScanner.c new file mode 100644 index 0000000..4173175 --- /dev/null +++ b/xtra/pg_scanners/PgadminScanner.c @@ -0,0 +1,545 @@ + +#include "postgres.h" +#include "PgadminScanner.h" +#include "parser/gram.h" + +int base_yylex(core_YYSTYPE *lvalp, YYLTYPE *llocp, core_yyscan_t yyscanner) +{ + base_yy_extra_type *yyextra = pg_yyget_extra(yyscanner); + int cur_token; + int next_token; + core_YYSTYPE cur_yylval; + YYLTYPE cur_yylloc; + + /* Get next token --- we might already have it */ + if (yyextra->have_lookahead) { + cur_token = yyextra->lookahead_token; + *lvalp = yyextra->lookahead_yylval; + *llocp = yyextra->lookahead_yylloc; + yyextra->have_lookahead = false; + } else + cur_token = core_yylex(lvalp, llocp, yyscanner); + + /* Do we need to look ahead for a possible multiword token? */ + switch (cur_token) { +#undef VERVER +#ifdef XVER +#if XVER >= 0x83 +#define VERVER +#endif +#endif +#ifdef VERVER + case NULLS_P: + + /* + * NULLS FIRST and NULLS LAST must be reduced to one token + */ + cur_yylval = *lvalp; + cur_yylloc = *llocp; + next_token = core_yylex(lvalp, llocp, yyscanner); + switch (next_token) { + case FIRST_P: + cur_token = NULLS_FIRST; + break; + case LAST_P: + cur_token = NULLS_LAST; + break; + default: + /* save the lookahead token for next time */ + yyextra->lookahead_token = next_token; + yyextra->lookahead_yylval = *lvalp; + yyextra->lookahead_yylloc = *llocp; + yyextra->have_lookahead = true; + /* and back up the output info to cur_token */ + *lvalp = cur_yylval; + *llocp = cur_yylloc; + break; + } + break; +#endif + case WITH: + + /* + * WITH TIME must be reduced to one token + */ + cur_yylval = *lvalp; + cur_yylloc = *llocp; + next_token = core_yylex(lvalp, llocp, yyscanner); + switch (next_token) { + case TIME: +#undef VERVER +#ifdef XVER +#if XVER >= 0x84 +#define VERVER +#endif +#endif +#ifdef VERVER + cur_token = WITH_TIME; +#else + scanner_yyerror("WITH_TIME is valid from the PostgreSQL 8.4", yyscanner); +#endif + break; + default: + /* save the lookahead token for next time */ + yyextra->lookahead_token = next_token; + yyextra->lookahead_yylval = *lvalp; + yyextra->lookahead_yylloc = *llocp; + yyextra->have_lookahead = true; + /* and back up the output info to cur_token */ + *lvalp = cur_yylval; + *llocp = cur_yylloc; + break; + } + break; + + default: + break; + } + + return cur_token; +} + +void printlist(const struct myScannerNode *head) +{ + struct myScannerNode *current; + current = (struct myScannerNode *)head; + if (current != NULL) { + do { + switch (current->data.token) { + case ICONST: + case PARAM: + printf("LOC=%d TOKEN=%d INT=%d\n", current->data.loc, current->data.token, current->data.val.ival); + break; + default: + if (current->data.token < 256) + printf("LOC=%d TOKEN=%d TXT='%c'\n", current->data.loc, current->data.token, current->data.token); + else + printf("LOC=%d TOKEN=%d TXT='%s'\n", current->data.loc, current->data.token, current->data.val.str); + break; + } + current = current->next; + } while (current != head); + printf("\n"); + } else + printf("The list is empty\n"); + +} + +void destroylist(struct myScannerNode *head) { + struct myScannerNode *current, *tmp; + + current = head->next; + head->next = NULL; + while (current != NULL) { + tmp = current->next; + switch (current->data.token) { + case ICONST: + case PARAM: + break; + default: + if (current->data.token >= 256) + free(current->data.val.str); + break; + } + free(current); + current = tmp; + } +} + +struct myScannerNode *scan_SQL_command(jmp_buf env, int version, const char *command) +{ + struct myScannerNode *head = NULL; + core_yyscan_t (*scanner)(jmp_buf env, const char *, core_yy_extra_type *, const ScanKeyword *, int); + int (*yylex)(core_YYSTYPE *, YYLTYPE *, core_yyscan_t); + scanner = scanner_init_92; + yylex = base_yylex_92; + core_yyscan_t vkscanner; + base_yy_extra_type vkextra; + core_YYSTYPE yylval_param; + YYLTYPE yylloc_param; + int yyresult; + /* initialize the flex scanner */ + vkscanner = (*scanner)(env, command, &vkextra.core_yy_extra, ScanKeywords, NumScanKeywords); + /* base_yylex() only needs this much initialization */ + vkextra.have_lookahead = false; + /* Parse! */ + do { + yyresult = (*yylex)(&yylval_param, &yylloc_param, vkscanner); + if (yyresult) { + struct myScannerData data; + data.loc = yylloc_param; + data.token = yyresult; + switch (yyresult) { + case ICONST: + case PARAM: + data.val.ival = yylval_param.ival; + break; + default: + if (yyresult < 256) + data.val.ival = yyresult; + else + { + if (yyresult == SCONST) + { + int len = strlen(yylval_param.str); + data.val.str = malloc(len + 2 + 1); + strcpy(data.val.str, "'"); + strcat(data.val.str, yylval_param.str); + strcat(data.val.str, "'"); + } + else if (yyresult == TYPECAST) + { + data.val.str = malloc(2 + 1); + strcpy(data.val.str, "::"); + } + else if (yyresult == COLON_EQUALS) + { + data.val.str = malloc(2 + 1); + strcpy(data.val.str, ":="); + } + else if (yyresult == DOT_DOT) + { + data.val.str = malloc(2 + 1); + strcpy(data.val.str, ".."); + } + else + data.val.str = strdup(yylval_param.str); + } + break; + } + head = add(head, &data); + } + } while (yyresult); + /* Clean up (release memory) */ + scanner_finish(vkscanner); + return head; +} + +char *parse_rule_sql(const struct myScannerNode *head, const char *rulename, const char *targetschema, const char *tablename) +{ + char *result = NULL; + bool to_token = false; + struct myScannerNode *current, *prevnode = NULL, *nextnode = NULL; + pgadmin_scanner_firstime = true; + current = (struct myScannerNode *)head; + if (current != NULL) + { + do { + switch (current->data.token) + { + case ICONST: + case PARAM: + { + char token[20]; + sprintf(token, "%d", current->data.val.ival); + addToken(&result, token, true); + break; + } + case RULE: + { + addToken(&result, current->data.val.str, true); + nextnode = current->next; + char *x = quote_identifier(rulename); + addToken(&result, x, true); + free(x); + current = nextnode; + break; + } + case TO: + { + addToken(&result, "to", true); + to_token = true; + break; + } + default: + { + if (current->data.token < 256) + { + char token[20]; + if (current->data.token == '.') + { + nextnode = current->next; + if (to_token) + { + char *x = quote_qualified_identifier(targetschema, tablename); + addToken(&result, x, true); + free(x); + current = nextnode; + to_token = false; + } + else if (prevnode->data.token == IDENT && nextnode->data.token == IDENT) + { + char *x = quote_qualified_identifier(prevnode->data.val.str, nextnode->data.val.str); + addToken(&result, x, true); + free(x); + current = nextnode; + } + else + { + addToken(&result, ".", true); + } + } + else + { + sprintf(token, "%c", current->data.token); + addToken(&result, token, true); + } + } + else + { + if (current->data.token == IDENT) + { + nextnode = current->next; + if (nextnode->data.token != '.') + { + char *x = quote_identifier(current->data.val.str); + addToken(&result, x, true); + free(x); + } + } + else + { + addToken(&result, current->data.val.str, true); + } + } + break; + } + } + prevnode = current; + current = current->next; + } while (current != head); + + } + return result; +} + +char *parse_trigger_sql(const struct myScannerNode *head, const char *targetschema) +{ + char *result = NULL; + bool on_token = false; + struct myScannerNode *current, *prevnode = NULL, *nextnode = NULL; + pgadmin_scanner_firstime = true; + current = (struct myScannerNode *)head; + if (current != NULL) + { + do { + switch (current->data.token) + { + case ICONST: + case PARAM: + { + char token[20]; + sprintf(token, "%d", current->data.val.ival); + addToken(&result, token, true); + break; + } + case TRIGGER: + { + addToken(&result, current->data.val.str, true); + nextnode = current->next; + char *x = quote_identifier(nextnode->data.val.str); + addToken(&result, x, true); + free(x); + current = nextnode; + break; + } + case ON: + { + addToken(&result, "on", true); + on_token = true; + break; + } + default: + { + if (current->data.token < 256) + { + char token[20]; + if (current->data.token == '.') + { + nextnode = current->next; + if (on_token) + { + char *x = quote_qualified_identifier(targetschema, nextnode->data.val.str); + addToken(&result, x, true); + free(x); + current = nextnode; + on_token = false; + } + else if (prevnode->data.token == IDENT && nextnode->data.token == IDENT) + { + char *x = quote_qualified_identifier(prevnode->data.val.str, nextnode->data.val.str); + addToken(&result, x, true); + free(x); + current = nextnode; + } + else + { + addToken(&result, ".", true); + } + } + else + { + sprintf(token, "%c", current->data.token); + addToken(&result, token, true); + } + } + else + { + if (current->data.token == IDENT) + { + nextnode = current->next; + if (nextnode->data.token != '.') + { + char *x = quote_identifier(current->data.val.str); + addToken(&result, x, true); + free(x); + } + } + else + { + addToken(&result, current->data.val.str, true); + } + } + break; + } + } + prevnode = current; + current = current->next; + } while (current != head); + + } + return result; +} + +struct myScannerNode *get_all_commands(const struct myScannerNode *head) +{ + struct myScannerNode *newhead = NULL; + char *result = NULL; + struct myScannerNode *current, *prevnode = NULL, *nextnode = NULL; + int offset = 0; + pgadmin_scanner_firstime = true; + current = (struct myScannerNode *)head; + if (current != NULL) + { + do { + switch (current->data.token) + { + case ICONST: + case PARAM: + { + char token[20]; + sprintf(token, "%d", current->data.val.ival); + addToken(&result, token, true); + break; + } + default: + { + if (current->data.token < 256) + { + char token[20]; + if (current->data.token == ';') + { + struct myScannerData data; + data.loc = offset; + data.token = IDENT; + addToken(&result, ";", false); + data.val.str = strdup(result); + newhead = add(newhead, &data); + free(result); + result = NULL; + pgadmin_scanner_firstime = true; + offset = current->data.loc + 1; + } + else if (current->data.token == '.') + { + nextnode = current->next; + if (prevnode->data.token == IDENT && nextnode->data.token == IDENT) { + char *x = quote_qualified_identifier(prevnode->data.val.str, nextnode->data.val.str); + addToken(&result, x, true); + free(x); + current = nextnode; + } + else + { + sprintf(token, "%c", current->data.token); + addToken(&result, token, false); + } + } + else + { + sprintf(token, "%c", current->data.token); + addToken(&result, token, true); + } + } + else + { + if (current->data.token == IDENT) + { + nextnode = current->next; + if (nextnode->data.token != '.') + { + char *x = quote_identifier(current->data.val.str); + addToken(&result, x, true); + free(x); + } + } + else + addToken(&result, current->data.val.str, true); + } + break; + } + } + prevnode = current; + current = current->next; + } while (current != head); + } + if (result) + { + struct myScannerData data; + data.loc = offset; + data.token = IDENT; + data.val.str = strdup(result); + newhead = add(newhead, &data); + free(result); + } + return newhead; +} + +int qualified_identifier_dot_pos(const struct myScannerNode *head) +{ + int pos = -1; + struct myScannerNode *current, *prevnode = NULL, *nextnode = NULL; + pgadmin_scanner_firstime = true; + current = (struct myScannerNode *)head; + if (current != NULL) + { + do { + switch (current->data.token) + { + case ICONST: + case PARAM: + break; + default: + { + if (current->data.token < 256) + { + if (current->data.token == '.') + { + nextnode = current->next; + if (prevnode->data.token == IDENT && nextnode->data.token == IDENT) + { + pos = current->data.loc; + return pos; + } + } + } + break; + } + } + prevnode = current; + current = current->next; + } while (current != head); + + } + return pos; +} diff --git a/xtra/pg_scanners/PgadminScannerCommon.c b/xtra/pg_scanners/PgadminScannerCommon.c new file mode 100644 index 0000000..db70a07 --- /dev/null +++ b/xtra/pg_scanners/PgadminScannerCommon.c @@ -0,0 +1,435 @@ + +#include "postgres.h" +#include "PgadminScanner.h" + +bool assert_enabled = false; +char *pgadmin_scanner_last_error = NULL; +bool pgadmin_scanner_firstime = true; + +/* GUC parameters */ +bool quote_all_identifiers = false; + +char *vk_vsprintf(const char *format, va_list argPtr) +{ + static char *s = NULL; + int size = 1024, x = -1; + while (x == -1) + { + if (s) free(s); + if (NULL == (s = malloc(size + 1))) + { + s = strdup(""); + return s; + } +#ifndef WIN32 + x = vsnprintf((char *) s, size, format, argPtr); +#else + x = _vsnprintf((char *) s, size, format, argPtr); +#endif + if ((x != -1) && ((x + 1) <= size)) + { + if ((x + 1) < size) s = realloc(s, x + 1); + if (s) + { + return s; + } + s = strdup(""); + return s; + } + size *= 2; + x = -1; + } + s = strdup(""); + return s; +} + +char *vk_sprintf(const char *format, ...) +{ + va_list argPtr; + va_start(argPtr, format); + char *x = vk_vsprintf(format, argPtr); + va_end(argPtr); + return x; +} + +void set_pgadmin_scanner_last_error(const char *format, ...) +{ + va_list argPtr; + va_start(argPtr, format); + pgadmin_scanner_last_error = vk_vsprintf(format, argPtr); + va_end(argPtr); +} + +void set_pgadmin_scanner_last_error_va(const char *format, va_list argPtr) +{ + pgadmin_scanner_last_error = vk_vsprintf(format, argPtr); +} + +bool +errstart(int elevel, const char *filename, int lineno, + const char *funcname, const char *domain) +{ + return true; +} + +int +errmsg(const char *fmt, ...) +{ + va_list argPtr; + va_start(argPtr, fmt); + set_pgadmin_scanner_last_error_va("ERROR: %s\n", argPtr); + va_end(argPtr); + /*fprintf(stderr, "ERROR: %s\n", fmt);*/ + return 0; /* return value does not matter */ +} + +int +errdetail(const char *fmt, ...) +{ + set_pgadmin_scanner_last_error("DETAIL: %s\n", fmt); + /*fprintf(stderr, "DETAIL: %s\n", fmt);*/ + return 0; /* return value does not matter */ +} + +int +errcode(int sqlerrcode) +{ + return 0; /* return value does not matter */ +} + +void +errfinish(int dummy, ...) +{ + /*exit(1);*/ +} + +int +errhint(const char *fmt, ...) +{ + set_pgadmin_scanner_last_error("HINT: %s\n", fmt); + /*fprintf(stderr, "HINT: %s\n", fmt);*/ + return 0; /* return value does not matter */ +} + +int +errmsg_internal(const char *fmt, ...) +{ + set_pgadmin_scanner_last_error("ERROR: %s\n", fmt); + /*fprintf(stderr, "ERROR: %s\n", fmt);*/ + return 0; /* return value does not matter */ +} + +int +errposition(int cursorpos) +{ + /* + ErrorData *edata = &errordata[errordata_stack_depth]; + + / * we don't bother incrementing recursion_depth * / + CHECK_STACK_DEPTH(); + + edata->cursorpos = cursorpos; + */ + + return 0; /* return value does not matter */ +} + +void +elog_start(const char *filename, int lineno, const char *funcname) +{ +} + +void +elog_finish(int elevel, const char *fmt, ...) +{ + set_pgadmin_scanner_last_error("ERROR: %s\n", fmt); + /*fprintf(stderr, "ERROR: %s\n", fmt);*/ + /*exit(1);*/ +} + +void +ExceptionalCondition(const char *conditionName, + const char *errorType, + const char *fileName, + int lineNumber) +{ + if (!PointerIsValid(conditionName) + || !PointerIsValid(fileName) + || !PointerIsValid(errorType)) + write_stderr("TRAP: ExceptionalCondition: bad arguments\n"); + else + { + write_stderr("TRAP: %s(\"%s\", File: \"%s\", Line: %d)\n", + errorType, conditionName, + fileName, lineNumber); + } + + /* Usually this shouldn't be needed, but make sure the msg went out */ + fflush(stderr); + +#ifdef SLEEP_ON_ASSERT + + /* + * It would be nice to use pg_usleep() here, but only does 2000 sec or 33 + * minutes, which seems too short. + */ + sleep(1000000); +#endif + + abort(); +} + +void +write_stderr(const char *fmt, ...) +{ + va_list ap; + va_start(ap, fmt); + set_pgadmin_scanner_last_error_va(fmt, ap); + va_end(ap); +} + +struct myScannerNode* add(struct myScannerNode *head, const struct myScannerData *data) +{ + struct myScannerNode *tmp; + + if (head == NULL) + { + head = (struct myScannerNode *) malloc(sizeof (struct myScannerNode)); + if (head == NULL) + { + set_pgadmin_scanner_last_error("Add error1! Memory is not available\n"); + /* + printf("Error! memory is not available\n"); + exit(0); + */ + return head; + } + head-> data = *data; + head-> next = head; + } + else + { + tmp = head; + + while (tmp-> next != head) + tmp = tmp-> next; + tmp-> next = (struct myScannerNode *) malloc(sizeof (struct myScannerNode)); + if (tmp -> next == NULL) + { + /* + printf("Error! memory is not available\n"); + exit(0); + */ + set_pgadmin_scanner_last_error("Add error2! Memory is not available\n"); + return NULL; + } + tmp = tmp-> next; + tmp-> data = *data; + tmp-> next = head; + } + return head; +} + +void addToken(char **result, const char *token, bool appendblank) +{ + int lenr = (*result) ? strlen(*result) : 0; + int lenb = strlen(token); + char *x = malloc(lenr + lenb + 2); + if (*result) + strcpy(x, *result); + else + strcpy(x, ""); + if (!pgadmin_scanner_firstime && appendblank) + strcat(x, " "); + else + pgadmin_scanner_firstime = false; + strcat(x, token); + if (*result) + free(*result); + *result = x; +} + +/* + * quote_identifier - Quote an identifier only if needed + * + * When quotes are needed, we palloc the required space; slightly + * space-wasteful but well worth it for notational simplicity. + */ +char *quote_identifier(const char *ident) +{ + /* + * Can avoid quoting if ident starts with a lowercase letter or underscore + * and contains only lowercase letters, digits, and underscores, *and* is + * not any SQL keyword. Otherwise, supply quotes. + */ + int nquotes = 0; + bool safe; + const char *ptr; + char *result; + char *optr; + + /* + * would like to use macros here, but they might yield unwanted + * locale-specific results... + */ + safe = ((ident[0] >= 'a' && ident[0] <= 'z') || ident[0] == '_'); + + for (ptr = ident; *ptr; ptr++) + { + char ch = *ptr; + + if ((ch >= 'a' && ch <= 'z') || + (ch >= '0' && ch <= '9') || + (ch == '_')) + { + /* okay */ + } + else + { + safe = false; + if (ch == '"') + nquotes++; + } + } + + if (quote_all_identifiers) + safe = false; + + if (safe) + { + /* + * Check for keyword. We quote keywords except for unreserved ones. + * (In some cases we could avoid quoting a col_name or type_func_name + * keyword, but it seems much harder than it's worth to tell that.) + * + * Note: ScanKeywordLookup() does case-insensitive comparison, but + * that's fine, since we already know we have all-lower-case. + */ + const ScanKeyword *keyword = ScanKeywordLookup(ident, + ScanKeywords, + NumScanKeywords); + + if (keyword != NULL && keyword->category != UNRESERVED_KEYWORD) + safe = false; + } + + if (safe) + { + result = strdup(ident); + return result; /* no change needed */ + } + + result = (char *) palloc(strlen(ident) + nquotes + 2 + 1); + + optr = result; + *optr++ = '"'; + for (ptr = ident; *ptr; ptr++) + { + char ch = *ptr; + + if (ch == '"') + *optr++ = '"'; + *optr++ = ch; + } + *optr++ = '"'; + *optr = '\0'; + + return result; +} + +/* + * quote_qualified_identifier - Quote a possibly-qualified identifier + * + * Return a name of the form qualifier.ident, or just ident if qualifier + * is NULL, quoting each component if necessary. The result is palloc'd. + */ +char *quote_qualified_identifier(const char *qualifier, const char *ident) +{ + char *qual = NULL, *identifier, *result; + + if (qualifier) + { + qual = quote_identifier(qualifier); + } + + identifier = quote_identifier(ident); + if (!qual) + return identifier; + + result = malloc(strlen(qual) + 1 + strlen(identifier) + 1); + strcpy(result, qual); + strcat(result, "."); + strcat(result, identifier); + free(qual); + free(identifier); + + return result; +} + +extern struct myScannerNode *scan_SQL_command_92(jmp_buf env, int version, const char *command); + +struct myScannerNode *scan_SQL_cpp(const char *command) +{ + struct myScannerNode *head = NULL; + jmp_buf env; + /* + * setjmp() return 0 if returning directly, and nonzero when returning from longjmp using the saved context. + */ + int rc = setjmp(env); + if (rc == 0) + { + head = scan_SQL_command_92(env, 92, command); + } + + return head; +} + +extern char *parse_rule_sql_92(const struct myScannerNode *head, const char *rulename, const char *targetschema, const char *tablename); + +char *parse_rule_cpp( + const struct myScannerNode *head, const char *rulename, const char *targetschema, const char *tablename) +{ + char *result = parse_rule_sql_92(head, rulename, targetschema, tablename); + + return result; +} + +extern char *parse_trigger_sql_92(const struct myScannerNode *head, const char *targetschema); + +char *parse_trigger_cpp(const struct myScannerNode *head, const char *targetschema) +{ + char *result = parse_trigger_sql_92(head, targetschema); + + return result; +} + +extern void destroylist_92(struct myScannerNode *head); + +void destroylist_cpp(struct myScannerNode *head) +{ + destroylist_92(head); +} + +extern int qualified_identifier_dot_pos_92(struct myScannerNode *head); + +int qualified_identifier_dot_pos_cpp(const char *identifier) +{ + int pos = -1; + struct myScannerNode *head = scan_SQL_cpp(identifier); + if (head) + { + pos = qualified_identifier_dot_pos_92(head); + destroylist_92(head); + } + + return pos; +} + +extern struct myScannerNode *get_all_commands_92(const struct myScannerNode *head); + +struct myScannerNode *get_all_commands_cpp(const struct myScannerNode *head) +{ + struct myScannerNode *result = get_all_commands_92(head); + + return result; +} diff --git a/xtra/pg_scanners/dummy.c b/xtra/pg_scanners/dummy.c new file mode 100644 index 0000000..89674a6 --- /dev/null +++ b/xtra/pg_scanners/dummy.c @@ -0,0 +1,3 @@ +/* + * dummy c file + */ diff --git a/xtra/pg_scanners/mbutils.c b/xtra/pg_scanners/mbutils.c new file mode 100644 index 0000000..3355000 --- /dev/null +++ b/xtra/pg_scanners/mbutils.c @@ -0,0 +1,1092 @@ +/* + * This file contains public functions for conversion between + * client encoding and server (database) encoding. + * + * Tatsuo Ishii + * + * src/backend/utils/mb/mbutils.c + */ +#include "postgres.h" + +#ifdef PGADMIN_SCANNER +#include "mb/pg_wchar.h" +#include "utils/builtins.h" +#include "utils/memutils.h" +#include "port.h" +#undef palloc +#define palloc malloc +#define pfree free +#define repalloc realloc +#undef pstrdup +#define pstrdup strdup +#else +#include "access/xact.h" +#include "catalog/namespace.h" +#include "mb/pg_wchar.h" +#include "utils/builtins.h" +#include "utils/memutils.h" +#include "utils/syscache.h" +#endif + +/* + * When converting strings between different encodings, we assume that space + * for converted result is 4-to-1 growth in the worst case. The rate for + * currently supported encoding pairs are within 3 (SJIS JIS X0201 half width + * kanna -> UTF8 is the worst case). So "4" should be enough for the moment. + * + * Note that this is not the same as the maximum character width in any + * particular encoding. + */ +#define MAX_CONVERSION_GROWTH 4 + +/* + * We maintain a simple linked list caching the fmgr lookup info for the + * currently selected conversion functions, as well as any that have been + * selected previously in the current session. (We remember previous + * settings because we must be able to restore a previous setting during + * transaction rollback, without doing any fresh catalog accesses.) + * + * Since we'll never release this data, we just keep it in TopMemoryContext. + */ +typedef struct ConvProcInfo +{ + int s_encoding; /* server and client encoding IDs */ + int c_encoding; + FmgrInfo to_server_info; /* lookup info for conversion procs */ + FmgrInfo to_client_info; +} ConvProcInfo; + +#ifndef PGADMIN_SCANNER +static List *ConvProcList = NIL; /* List of ConvProcInfo */ +#endif + +/* + * These variables point to the currently active conversion functions, + * or are NULL when no conversion is needed. + */ +#ifndef PGADMIN_SCANNER +static FmgrInfo *ToServerConvProc = NULL; +static FmgrInfo *ToClientConvProc = NULL; +#endif + +/* + * These variables track the currently selected FE and BE encodings. + */ +static pg_enc2name *ClientEncoding = &pg_enc2name_tbl[PG_SQL_ASCII]; +static pg_enc2name *DatabaseEncoding = &pg_enc2name_tbl[PG_SQL_ASCII]; +#ifndef PGADMIN_SCANNER +static pg_enc2name *PlatformEncoding = NULL; +#endif + +/* + * During backend startup we can't set client encoding because we (a) + * can't look up the conversion functions, and (b) may not know the database + * encoding yet either. So SetClientEncoding() just accepts anything and + * remembers it for InitializeClientEncoding() to apply later. + */ + +#ifndef PGADMIN_SCANNER +static bool backend_startup_complete = false; +static int pending_client_encoding = PG_SQL_ASCII; +#endif + +/* Internal functions */ +#ifndef PGADMIN_SCANNER +static char *perform_default_encoding_conversion(const char *src, + int len, bool is_client_to_server); +#endif +static int cliplen(const char *str, int len, int limit); + + +/* + * Prepare for a future call to SetClientEncoding. Success should mean + * that SetClientEncoding is guaranteed to succeed for this encoding request. + * + * (But note that success before backend_startup_complete does not guarantee + * success after ...) + * + * Returns 0 if okay, -1 if not (bad encoding or can't support conversion) + */ +int +PrepareClientEncoding(int encoding) +{ +#ifdef PGADMIN_SCANNER + return 0; +#else + int current_server_encoding; + ListCell *lc = NULL; + + if (!PG_VALID_FE_ENCODING(encoding)) + return -1; + + /* Can't do anything during startup, per notes above */ + if (!backend_startup_complete) + return 0; + + current_server_encoding = GetDatabaseEncoding(); + + /* + * Check for cases that require no conversion function. + */ + if (current_server_encoding == encoding || + current_server_encoding == PG_SQL_ASCII || + encoding == PG_SQL_ASCII) + return 0; + if (IsTransactionState()) + { + /* + * If we're in a live transaction, it's safe to access the catalogs, + * so look up the functions. We repeat the lookup even if the info is + * already cached, so that we can react to changes in the contents of + * pg_conversion. + */ + Oid to_server_proc, + to_client_proc; + ConvProcInfo *convinfo; + MemoryContext oldcontext; + + to_server_proc = FindDefaultConversionProc(encoding, + current_server_encoding); + if (!OidIsValid(to_server_proc)) + return -1; + to_client_proc = FindDefaultConversionProc(current_server_encoding, + encoding); + if (!OidIsValid(to_client_proc)) + return -1; + + /* + * Load the fmgr info into TopMemoryContext (could still fail here) + */ + convinfo = (ConvProcInfo *) MemoryContextAlloc(TopMemoryContext, + sizeof(ConvProcInfo)); + convinfo->s_encoding = current_server_encoding; + convinfo->c_encoding = encoding; + fmgr_info_cxt(to_server_proc, &convinfo->to_server_info, + TopMemoryContext); + fmgr_info_cxt(to_client_proc, &convinfo->to_client_info, + TopMemoryContext); + + /* Attach new info to head of list */ + oldcontext = MemoryContextSwitchTo(TopMemoryContext); + ConvProcList = lcons(convinfo, ConvProcList); + MemoryContextSwitchTo(oldcontext); + + /* + * We cannot yet remove any older entry for the same encoding pair, + * since it could still be in use. SetClientEncoding will clean up. + */ + + return 0; /* success */ + } + else + { + /* + * If we're not in a live transaction, the only thing we can do is + * restore a previous setting using the cache. This covers all + * transaction-rollback cases. The only case it might not work for is + * trying to change client_encoding on the fly by editing + * postgresql.conf and SIGHUP'ing. Which would probably be a stupid + * thing to do anyway. + */ + foreach(lc, ConvProcList) + { + ConvProcInfo *oldinfo = (ConvProcInfo *) lfirst(lc); + + if (oldinfo->s_encoding == current_server_encoding && + oldinfo->c_encoding == encoding) + return 0; + } + + return -1; /* it's not cached, so fail */ + } +#endif +} + +/* + * Set the active client encoding and set up the conversion-function pointers. + * PrepareClientEncoding should have been called previously for this encoding. + * + * Returns 0 if okay, -1 if not (bad encoding or can't support conversion) + */ +int +SetClientEncoding(int encoding) +{ +#ifdef PGADMIN_SCANNER + return 0; +#else + int current_server_encoding; + bool found; + ListCell *lc; + ListCell *prev; + ListCell *next; + + if (!PG_VALID_FE_ENCODING(encoding)) + return -1; + + /* Can't do anything during startup, per notes above */ + if (!backend_startup_complete) + { + pending_client_encoding = encoding; + return 0; + } + + current_server_encoding = GetDatabaseEncoding(); + + /* + * Check for cases that require no conversion function. + */ + if (current_server_encoding == encoding || + current_server_encoding == PG_SQL_ASCII || + encoding == PG_SQL_ASCII) + { + ClientEncoding = &pg_enc2name_tbl[encoding]; + ToServerConvProc = NULL; + ToClientConvProc = NULL; + return 0; + } + + /* + * Search the cache for the entry previously prepared by + * PrepareClientEncoding; if there isn't one, we lose. While at it, + * release any duplicate entries so that repeated Prepare/Set cycles don't + * leak memory. + */ + found = false; + prev = NULL; + for (lc = list_head(ConvProcList); lc; lc = next) + { + ConvProcInfo *convinfo = (ConvProcInfo *) lfirst(lc); + + next = lnext(lc); + + if (convinfo->s_encoding == current_server_encoding && + convinfo->c_encoding == encoding) + { + if (!found) + { + /* Found newest entry, so set up */ + ClientEncoding = &pg_enc2name_tbl[encoding]; + ToServerConvProc = &convinfo->to_server_info; + ToClientConvProc = &convinfo->to_client_info; + found = true; + } + else + { + /* Duplicate entry, release it */ + ConvProcList = list_delete_cell(ConvProcList, lc, prev); + pfree(convinfo); + continue; /* prev mustn't advance */ + } + } + + prev = lc; + } + + if (found) + return 0; /* success */ + else + return -1; /* it's not cached, so fail */ +#endif +} + +/* + * Initialize client encoding conversions. + * Called from InitPostgres() once during backend startup. + */ +void +InitializeClientEncoding(void) +{ +#ifdef PGADMIN_SCANNER + return; +#else + Assert(!backend_startup_complete); + backend_startup_complete = true; + + if (PrepareClientEncoding(pending_client_encoding) < 0 || + SetClientEncoding(pending_client_encoding) < 0) + { + /* + * Oops, the requested conversion is not available. We couldn't fail + * before, but we can now. + */ + ereport(FATAL, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("conversion between %s and %s is not supported", + pg_enc2name_tbl[pending_client_encoding].name, + GetDatabaseEncodingName()))); + } +#endif +} + +/* + * returns the current client encoding + */ +int +pg_get_client_encoding(void) +{ + Assert(ClientEncoding); + return ClientEncoding->encoding; +} + +/* + * returns the current client encoding name + */ +const char * +pg_get_client_encoding_name(void) +{ + Assert(ClientEncoding); + return ClientEncoding->name; +} + +/* + * Apply encoding conversion on src and return it. The encoding + * conversion function is chosen from the pg_conversion system catalog + * marked as "default". If it is not found in the schema search path, + * it's taken from pg_catalog schema. If it even is not in the schema, + * warn and return src. + * + * If conversion occurs, a palloc'd null-terminated string is returned. + * In the case of no conversion, src is returned. + * + * CAUTION: although the presence of a length argument means that callers + * can pass non-null-terminated strings, care is required because the same + * string will be passed back if no conversion occurs. Such callers *must* + * check whether result == src and handle that case differently. + * + * Note: we try to avoid raising error, since that could get us into + * infinite recursion when this function is invoked during error message + * sending. It should be OK to raise error for overlength strings though, + * since the recursion will come with a shorter message. + */ +unsigned char * +pg_do_encoding_conversion(unsigned char *src, int len, + int src_encoding, int dest_encoding) +{ +#ifdef PGADMIN_SCANNER + return src; +#else + unsigned char *result; + Oid proc; + + if (!IsTransactionState()) + return src; + + if (src_encoding == dest_encoding) + return src; + + if (src_encoding == PG_SQL_ASCII || dest_encoding == PG_SQL_ASCII) + return src; + + if (len <= 0) + return src; + + proc = FindDefaultConversionProc(src_encoding, dest_encoding); + if (!OidIsValid(proc)) + { + ereport(LOG, + (errcode(ERRCODE_UNDEFINED_FUNCTION), + errmsg("default conversion function for encoding \"%s\" to \"%s\" does not exist", + pg_encoding_to_char(src_encoding), + pg_encoding_to_char(dest_encoding)))); + return src; + } + + /* + * XXX we should avoid throwing errors in OidFunctionCall. Otherwise we + * are going into infinite loop! So we have to make sure that the + * function exists before calling OidFunctionCall. + */ + + if (!SearchSysCacheExists1(PROCOID, ObjectIdGetDatum(proc))) + { + elog(LOG, "cache lookup failed for function %u", proc); + return src; + } + + /* + * Allocate space for conversion result, being wary of integer overflow + */ + if ((Size) len >= (MaxAllocSize / (Size) MAX_CONVERSION_GROWTH)) + ereport(ERROR, + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), + errmsg("out of memory"), + errdetail("String of %d bytes is too long for encoding conversion.", + len))); + + result = palloc(len * MAX_CONVERSION_GROWTH + 1); + + OidFunctionCall5(proc, + Int32GetDatum(src_encoding), + Int32GetDatum(dest_encoding), + CStringGetDatum(src), + CStringGetDatum(result), + Int32GetDatum(len)); + return result; +#endif +} + +/* + * Convert string using encoding_name. The source + * encoding is the DB encoding. + * + * BYTEA convert_to(TEXT string, NAME encoding_name) */ +Datum +pg_convert_to(PG_FUNCTION_ARGS) +{ + Datum string = PG_GETARG_DATUM(0); +#ifdef PGADMIN_SCANNER + PG_RETURN_DATUM(string); +#else + + Datum dest_encoding_name = PG_GETARG_DATUM(1); + Datum src_encoding_name = DirectFunctionCall1(namein, + CStringGetDatum(DatabaseEncoding->name)); + Datum result; + + /* + * pg_convert expects a bytea as its first argument. We're passing it a + * text argument here, relying on the fact that they are both in fact + * varlena types, and thus structurally identical. + */ + result = DirectFunctionCall3(pg_convert, string, + src_encoding_name, dest_encoding_name); + + PG_RETURN_DATUM(result); +#endif +} + +/* + * Convert string using encoding_name. The destination + * encoding is the DB encoding. + * + * TEXT convert_from(BYTEA string, NAME encoding_name) */ +Datum +pg_convert_from(PG_FUNCTION_ARGS) +{ + Datum string = PG_GETARG_DATUM(0); +#ifdef PGADMIN_SCANNER + PG_RETURN_DATUM(string); +#else + Datum src_encoding_name = PG_GETARG_DATUM(1); + Datum dest_encoding_name = DirectFunctionCall1(namein, + CStringGetDatum(DatabaseEncoding->name)); + Datum result; + + result = DirectFunctionCall3(pg_convert, string, + src_encoding_name, dest_encoding_name); + + /* + * pg_convert returns a bytea, which we in turn return as text, relying on + * the fact that they are both in fact varlena types, and thus + * structurally identical. Although not all bytea values are valid text, + * in this case it will be because we've told pg_convert to return one + * that is valid as text in the current database encoding. + */ + PG_RETURN_DATUM(result); +#endif +} + +/* + * Convert string using encoding_names. + * + * BYTEA convert(BYTEA string, NAME src_encoding_name, NAME dest_encoding_name) + */ +Datum +pg_convert(PG_FUNCTION_ARGS) +{ +#ifdef PGADMIN_SCANNER + PG_RETURN_NULL(); +#else + bytea *string = PG_GETARG_BYTEA_PP(0); + char *src_encoding_name = NameStr(*PG_GETARG_NAME(1)); + int src_encoding = pg_char_to_encoding(src_encoding_name); + char *dest_encoding_name = NameStr(*PG_GETARG_NAME(2)); + int dest_encoding = pg_char_to_encoding(dest_encoding_name); + const char *src_str; + char *dest_str; + bytea *retval; + int len; + + if (src_encoding < 0) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("invalid source encoding name \"%s\"", + src_encoding_name))); + if (dest_encoding < 0) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("invalid destination encoding name \"%s\"", + dest_encoding_name))); + + /* make sure that source string is valid */ + len = VARSIZE_ANY_EXHDR(string); + src_str = VARDATA_ANY(string); + pg_verify_mbstr_len(src_encoding, src_str, len, false); + + dest_str = (char *) pg_do_encoding_conversion( + (unsigned char *) src_str, len, src_encoding, dest_encoding); + if (dest_str != src_str) + len = strlen(dest_str); + + /* + * build bytea data type structure. + */ + retval = (bytea *) palloc(len + VARHDRSZ); + SET_VARSIZE(retval, len + VARHDRSZ); + memcpy(VARDATA(retval), dest_str, len); + + if (dest_str != src_str) + pfree(dest_str); + + /* free memory if allocated by the toaster */ + PG_FREE_IF_COPY(string, 0); + + PG_RETURN_BYTEA_P(retval); +#endif +} + +/* + * get the length of the string considered as text in the specified + * encoding. Raises an error if the data is not valid in that + * encoding. + * + * INT4 length (BYTEA string, NAME src_encoding_name) + */ +Datum +length_in_encoding(PG_FUNCTION_ARGS) +{ +#ifdef PGADMIN_SCANNER + PG_RETURN_INT32(0); +#else + bytea *string = PG_GETARG_BYTEA_P(0); + char *src_encoding_name = NameStr(*PG_GETARG_NAME(1)); + int src_encoding = pg_char_to_encoding(src_encoding_name); + int len = VARSIZE(string) - VARHDRSZ; + int retval; + + if (src_encoding < 0) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("invalid encoding name \"%s\"", + src_encoding_name))); + + retval = pg_verify_mbstr_len(src_encoding, VARDATA(string), len, false); + PG_RETURN_INT32(retval); +#endif +} + +Datum +pg_encoding_max_length_sql(PG_FUNCTION_ARGS) +{ +#ifdef PGADMIN_SCANNER + PG_RETURN_NULL(); +#else + int encoding = PG_GETARG_INT32(0); + + if (PG_VALID_ENCODING(encoding)) + PG_RETURN_INT32(pg_wchar_table[encoding].maxmblen); + else + PG_RETURN_NULL(); +#endif +} + +/* + * convert client encoding to server encoding. + */ +char * +pg_client_to_server(const char *s, int len) +{ + Assert(ClientEncoding); + + return pg_any_to_server(s, len, ClientEncoding->encoding); +} + +/* + * convert any encoding to server encoding. + */ +char * +pg_any_to_server(const char *s, int len, int encoding) +{ +#ifdef PGADMIN_SCANNER + return strdup(s); +#else + Assert(DatabaseEncoding); + Assert(ClientEncoding); + + if (len <= 0) + return (char *) s; + + if (encoding == DatabaseEncoding->encoding || + encoding == PG_SQL_ASCII) + { + /* + * No conversion is needed, but we must still validate the data. + */ + (void) pg_verify_mbstr(DatabaseEncoding->encoding, s, len, false); + return (char *) s; + } + + if (DatabaseEncoding->encoding == PG_SQL_ASCII) + { + /* + * No conversion is possible, but we must still validate the data, + * because the client-side code might have done string escaping using + * the selected client_encoding. If the client encoding is ASCII-safe + * then we just do a straight validation under that encoding. For an + * ASCII-unsafe encoding we have a problem: we dare not pass such data + * to the parser but we have no way to convert it. We compromise by + * rejecting the data if it contains any non-ASCII characters. + */ + if (PG_VALID_BE_ENCODING(encoding)) + (void) pg_verify_mbstr(encoding, s, len, false); + else + { + int i; + + for (i = 0; i < len; i++) + { + if (s[i] == '\0' || IS_HIGHBIT_SET(s[i])) + ereport(ERROR, + (errcode(ERRCODE_CHARACTER_NOT_IN_REPERTOIRE), + errmsg("invalid byte value for encoding \"%s\": 0x%02x", + pg_enc2name_tbl[PG_SQL_ASCII].name, + (unsigned char) s[i]))); + } + } + return (char *) s; + } + + if (ClientEncoding->encoding == encoding) + return perform_default_encoding_conversion(s, len, true); + else + return (char *) pg_do_encoding_conversion( + (unsigned char *) s, len, encoding, DatabaseEncoding->encoding); +#endif +} + +/* + * convert server encoding to client encoding. + */ +char * +pg_server_to_client(const char *s, int len) +{ + Assert(ClientEncoding); + + return pg_server_to_any(s, len, ClientEncoding->encoding); +} + +/* + * convert server encoding to any encoding. + */ +char * +pg_server_to_any(const char *s, int len, int encoding) +{ +#ifdef PGADMIN_SCANNER + return strdup(s); +#else + Assert(DatabaseEncoding); + Assert(ClientEncoding); + + if (len <= 0) + return (char *) s; + + if (encoding == DatabaseEncoding->encoding || + encoding == PG_SQL_ASCII || + DatabaseEncoding->encoding == PG_SQL_ASCII) + return (char *) s; /* assume data is valid */ + + if (ClientEncoding->encoding == encoding) + return perform_default_encoding_conversion(s, len, false); + else + return (char *) pg_do_encoding_conversion( + (unsigned char *) s, len, DatabaseEncoding->encoding, encoding); +#endif +} + +/* + * Perform default encoding conversion using cached FmgrInfo. Since + * this function does not access database at all, it is safe to call + * outside transactions. If the conversion has not been set up by + * SetClientEncoding(), no conversion is performed. + */ +#ifndef PGADMIN_SCANNER +static char * +perform_default_encoding_conversion(const char *src, int len, bool is_client_to_server) +{ + char *result; + int src_encoding, + dest_encoding; + FmgrInfo *flinfo; + + if (is_client_to_server) + { + src_encoding = ClientEncoding->encoding; + dest_encoding = DatabaseEncoding->encoding; + flinfo = ToServerConvProc; + } + else + { + src_encoding = DatabaseEncoding->encoding; + dest_encoding = ClientEncoding->encoding; + flinfo = ToClientConvProc; + } + + if (flinfo == NULL) + return (char *) src; + + /* + * Allocate space for conversion result, being wary of integer overflow + */ + if ((Size) len >= (MaxAllocSize / (Size) MAX_CONVERSION_GROWTH)) + ereport(ERROR, + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), + errmsg("out of memory"), + errdetail("String of %d bytes is too long for encoding conversion.", + len))); + + result = palloc(len * MAX_CONVERSION_GROWTH + 1); + + FunctionCall5(flinfo, + Int32GetDatum(src_encoding), + Int32GetDatum(dest_encoding), + CStringGetDatum(src), + CStringGetDatum(result), + Int32GetDatum(len)); + return result; +} +#endif + + +/* convert a multibyte string to a wchar */ +int +pg_mb2wchar(const char *from, pg_wchar *to) +{ + return (*pg_wchar_table[DatabaseEncoding->encoding].mb2wchar_with_len) ((const unsigned char *) from, to, strlen(from)); +} + +/* convert a multibyte string to a wchar with a limited length */ +int +pg_mb2wchar_with_len(const char *from, pg_wchar *to, int len) +{ + return (*pg_wchar_table[DatabaseEncoding->encoding].mb2wchar_with_len) ((const unsigned char *) from, to, len); +} + +/* same, with any encoding */ +int +pg_encoding_mb2wchar_with_len(int encoding, + const char *from, pg_wchar *to, int len) +{ + return (*pg_wchar_table[encoding].mb2wchar_with_len) ((const unsigned char *) from, to, len); +} + +/* returns the byte length of a multibyte character */ +int +pg_mblen(const char *mbstr) +{ + return ((*pg_wchar_table[DatabaseEncoding->encoding].mblen) ((const unsigned char *) mbstr)); +} + +/* returns the display length of a multibyte character */ +int +pg_dsplen(const char *mbstr) +{ + return ((*pg_wchar_table[DatabaseEncoding->encoding].dsplen) ((const unsigned char *) mbstr)); +} + +/* returns the length (counted in wchars) of a multibyte string */ +int +pg_mbstrlen(const char *mbstr) +{ + int len = 0; + + /* optimization for single byte encoding */ + if (pg_database_encoding_max_length() == 1) + return strlen(mbstr); + + while (*mbstr) + { + mbstr += pg_mblen(mbstr); + len++; + } + return len; +} + +/* returns the length (counted in wchars) of a multibyte string + * (not necessarily NULL terminated) + */ +int +pg_mbstrlen_with_len(const char *mbstr, int limit) +{ + int len = 0; + + /* optimization for single byte encoding */ + if (pg_database_encoding_max_length() == 1) + return limit; + + while (limit > 0 && *mbstr) + { + int l = pg_mblen(mbstr); + + limit -= l; + mbstr += l; + len++; + } + return len; +} + +/* + * returns the byte length of a multibyte string + * (not necessarily NULL terminated) + * that is no longer than limit. + * this function does not break multibyte character boundary. + */ +int +pg_mbcliplen(const char *mbstr, int len, int limit) +{ + return pg_encoding_mbcliplen(DatabaseEncoding->encoding, mbstr, + len, limit); +} + +/* + * pg_mbcliplen with specified encoding + */ +int +pg_encoding_mbcliplen(int encoding, const char *mbstr, + int len, int limit) +{ + mblen_converter mblen_fn; + int clen = 0; + int l; + + /* optimization for single byte encoding */ + if (pg_encoding_max_length(encoding) == 1) + return cliplen(mbstr, len, limit); + + mblen_fn = pg_wchar_table[encoding].mblen; + + while (len > 0 && *mbstr) + { + l = (*mblen_fn) ((const unsigned char *) mbstr); + if ((clen + l) > limit) + break; + clen += l; + if (clen == limit) + break; + len -= l; + mbstr += l; + } + return clen; +} + +/* + * Similar to pg_mbcliplen except the limit parameter specifies the + * character length, not the byte length. + */ +int +pg_mbcharcliplen(const char *mbstr, int len, int limit) +{ + int clen = 0; + int nch = 0; + int l; + + /* optimization for single byte encoding */ + if (pg_database_encoding_max_length() == 1) + return cliplen(mbstr, len, limit); + + while (len > 0 && *mbstr) + { + l = pg_mblen(mbstr); + nch++; + if (nch > limit) + break; + clen += l; + len -= l; + mbstr += l; + } + return clen; +} + +/* mbcliplen for any single-byte encoding */ +static int +cliplen(const char *str, int len, int limit) +{ + int l = 0; + + len = Min(len, limit); + while (l < len && str[l]) + l++; + return l; +} + +void +SetDatabaseEncoding(int encoding) +{ +#ifdef PGADMIN_SCANNER + return; +#else + if (!PG_VALID_BE_ENCODING(encoding)) + elog(ERROR, "invalid database encoding: %d", encoding); + DatabaseEncoding = &pg_enc2name_tbl[encoding]; + Assert(DatabaseEncoding->encoding == encoding); +#endif +} + +/* + * Bind gettext to the codeset equivalent with the database encoding. + */ +void +pg_bind_textdomain_codeset(const char *domainname) +{ +#if defined(ENABLE_NLS) + int encoding = GetDatabaseEncoding(); + int i; + + /* + * gettext() uses the codeset specified by LC_CTYPE by default, so if that + * matches the database encoding we don't need to do anything. In CREATE + * DATABASE, we enforce or trust that the locale's codeset matches + * database encoding, except for the C locale. In C locale, we bind + * gettext() explicitly to the right codeset. + * + * On Windows, though, gettext() tends to get confused so we always bind + * it. + */ +#ifndef WIN32 + const char *ctype = setlocale(LC_CTYPE, NULL); + + if (pg_strcasecmp(ctype, "C") != 0 && pg_strcasecmp(ctype, "POSIX") != 0) + return; +#endif + + for (i = 0; pg_enc2gettext_tbl[i].name != NULL; i++) + { + if (pg_enc2gettext_tbl[i].encoding == encoding) + { + if (bind_textdomain_codeset(domainname, + pg_enc2gettext_tbl[i].name) == NULL) + elog(LOG, "bind_textdomain_codeset failed"); + break; + } + } +#endif +} + +int +GetDatabaseEncoding(void) +{ +#ifdef PGADMIN_SCANNER + return PG_SQL_ASCII; +#else + Assert(DatabaseEncoding); + return DatabaseEncoding->encoding; +#endif +} + +const char * +GetDatabaseEncodingName(void) +{ +#ifdef PGADMIN_SCANNER + return pg_enc2gettext_tbl[PG_SQL_ASCII].name; +#else + Assert(DatabaseEncoding); + return DatabaseEncoding->name; +#endif +} + +Datum +getdatabaseencoding(PG_FUNCTION_ARGS) +{ +#ifdef PGADMIN_SCANNER + Datum result = 0; + PG_RETURN_DATUM(result); +#else + Assert(DatabaseEncoding); + return DirectFunctionCall1(namein, CStringGetDatum(DatabaseEncoding->name)); +#endif +} + +Datum +pg_client_encoding(PG_FUNCTION_ARGS) +{ +#ifdef PGADMIN_SCANNER + Datum result = 0; + PG_RETURN_DATUM(result); +#else + Assert(ClientEncoding); + return DirectFunctionCall1(namein, CStringGetDatum(ClientEncoding->name)); +#endif +} + +int +GetPlatformEncoding(void) +{ +#ifdef PGADMIN_SCANNER + return PG_SQL_ASCII; +#else + if (PlatformEncoding == NULL) + { + /* try to determine encoding of server's environment locale */ + int encoding = pg_get_encoding_from_locale("", true); + + if (encoding < 0) + encoding = PG_SQL_ASCII; + PlatformEncoding = &pg_enc2name_tbl[encoding]; + } + return PlatformEncoding->encoding; +#endif +} + +#ifdef WIN32 + +/* + * Result is palloc'ed null-terminated utf16 string. The character length + * is also passed to utf16len if not null. Returns NULL iff failed. + */ +WCHAR * +pgwin32_toUTF16(const char *str, int len, int *utf16len) +{ + WCHAR *utf16; + int dstlen; + UINT codepage; + + codepage = pg_enc2name_tbl[GetDatabaseEncoding()].codepage; + + /* + * Use MultiByteToWideChar directly if there is a corresponding codepage, + * or double conversion through UTF8 if not. + */ + if (codepage != 0) + { + utf16 = (WCHAR *) palloc(sizeof(WCHAR) * (len + 1)); + dstlen = MultiByteToWideChar(codepage, 0, str, len, utf16, len); + utf16[dstlen] = (WCHAR) 0; + } + else + { + char *utf8; + + utf8 = (char *) pg_do_encoding_conversion((unsigned char *) str, + len, GetDatabaseEncoding(), PG_UTF8); + if (utf8 != str) + len = strlen(utf8); + + utf16 = (WCHAR *) palloc(sizeof(WCHAR) * (len + 1)); + dstlen = MultiByteToWideChar(CP_UTF8, 0, utf8, len, utf16, len); + utf16[dstlen] = (WCHAR) 0; + + if (utf8 != str) + pfree(utf8); + } + + if (dstlen == 0 && len > 0) + { + pfree(utf16); + return NULL; /* error */ + } + + if (utf16len) + *utf16len = dstlen; + return utf16; +} + +#endif diff --git a/xtra/pg_scanners/scan.c b/xtra/pg_scanners/scan.c new file mode 100644 index 0000000..15caa3a --- /dev/null +++ b/xtra/pg_scanners/scan.c @@ -0,0 +1,17656 @@ +/*#line 2 "scan.c"*/ + +/*#line 4 "scan.c"*/ + +#define YY_INT_ALIGNED short int + +#undef VERVER90 +#ifdef XVER +#if XVER >= 0x90 +#define VERVER90 +#endif +#endif + +#undef VERVER73 +#ifdef XVER +#if XVER >= 0x73 +#define VERVER3 +#endif +#endif + +/* A lexical scanner generated by flex */ + +#define FLEX_SCANNER +#define YY_FLEX_MAJOR_VERSION 2 +#define YY_FLEX_MINOR_VERSION 5 +#define YY_FLEX_SUBMINOR_VERSION 35 +#if YY_FLEX_SUBMINOR_VERSION > 0 +#define FLEX_BETA +#endif + +/* First, we deal with platform-specific or compiler-specific issues. */ + +/* begin standard C headers. */ +#include +#include +#include +#include + +#ifdef PGADMIN_SCANNER +#include "PgadminScanner.h" +#endif + +static jmp_buf gEnv; + +/* end standard C headers. */ + +/* flex integer type definitions */ + +#ifndef FLEXINT_H +#define FLEXINT_H + +/* C99 systems have . Non-C99 systems may or may not. */ + +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + +/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, + * if you want the limit (max/min) macros for int types. + */ +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS 1 +#endif + +#include +typedef int8_t flex_int8_t; +typedef uint8_t flex_uint8_t; +typedef int16_t flex_int16_t; +typedef uint16_t flex_uint16_t; +typedef int32_t flex_int32_t; +typedef uint32_t flex_uint32_t; +#else +typedef signed char flex_int8_t; +typedef short int flex_int16_t; +typedef int flex_int32_t; +typedef unsigned char flex_uint8_t; +typedef unsigned short int flex_uint16_t; +typedef unsigned int flex_uint32_t; + +/* Limits of integral types. */ +#ifndef INT8_MIN +#define INT8_MIN (-128) +#endif +#ifndef INT16_MIN +#define INT16_MIN (-32767-1) +#endif +#ifndef INT32_MIN +#define INT32_MIN (-2147483647-1) +#endif +#ifndef INT8_MAX +#define INT8_MAX (127) +#endif +#ifndef INT16_MAX +#define INT16_MAX (32767) +#endif +#ifndef INT32_MAX +#define INT32_MAX (2147483647) +#endif +#ifndef UINT8_MAX +#define UINT8_MAX (255U) +#endif +#ifndef UINT16_MAX +#define UINT16_MAX (65535U) +#endif +#ifndef UINT32_MAX +#define UINT32_MAX (4294967295U) +#endif + +#endif /* ! C99 */ + +#endif /* ! FLEXINT_H */ + +#ifdef __cplusplus + +/* The "const" storage-class-modifier is valid. */ +#define YY_USE_CONST + +#else /* ! __cplusplus */ + +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) + +#define YY_USE_CONST + +#endif /* defined (__STDC__) */ +#endif /* ! __cplusplus */ + +#ifdef YY_USE_CONST +#define yyconst const +#else +#define yyconst +#endif + +/* Returned upon end-of-file. */ +#define YY_NULL 0 + +/* Promotes a possibly negative, possibly signed char to an unsigned + * integer for use as an array index. If the signed char is negative, + * we want to instead treat it as an 8-bit unsigned char, hence the + * double cast. + */ +#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) + +/* An opaque pointer. */ +#ifndef YY_TYPEDEF_YY_SCANNER_T +#define YY_TYPEDEF_YY_SCANNER_T +typedef void* yyscan_t; +#endif + +/* For convenience, these vars (plus the bison vars far below) + are macros in the reentrant scanner. */ +#define yyin yyg->yyin_r +#define yyout yyg->yyout_r +#define yyextra yyg->yyextra_r +#define yyleng yyg->yyleng_r +#define yytext yyg->yytext_r +#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno) +#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column) +#define yy_flex_debug yyg->yy_flex_debug_r + +/* Enter a start condition. This macro really ought to take a parameter, + * but we do it the disgusting crufty way forced on us by the ()-less + * definition of BEGIN. + */ +#define BEGIN yyg->yy_start = 1 + 2 * + +/* Translate the current start state into a value that can be later handed + * to BEGIN to return to the state. The YYSTATE alias is for lex + * compatibility. + */ +#define YY_START ((yyg->yy_start - 1) / 2) +#define YYSTATE YY_START + +/* Action number for EOF rule of a given start state. */ +#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) + +/* Special action meaning "start processing a new file". */ +#define YY_NEW_FILE core_yyrestart(yyin ,yyscanner ) + +#define YY_END_OF_BUFFER_CHAR 0 + +/* Size of default input buffer. */ +#ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else +#define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ +#endif + +/* The state buf must be large enough to hold one state per character in the main buffer. + */ +#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) + +#ifndef YY_TYPEDEF_YY_BUFFER_STATE +#define YY_TYPEDEF_YY_BUFFER_STATE +typedef struct yy_buffer_state *YY_BUFFER_STATE; +#endif + +#define EOB_ACT_CONTINUE_SCAN 0 +#define EOB_ACT_END_OF_FILE 1 +#define EOB_ACT_LAST_MATCH 2 + + #define YY_LESS_LINENO(n) + +/* Return all but the first "n" matched characters back to the input stream. */ +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + *yy_cp = yyg->yy_hold_char; \ + YY_RESTORE_YY_MORE_OFFSET \ + yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ + YY_DO_BEFORE_ACTION; /* set up yytext again */ \ + } \ + while ( 0 ) + +#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + +#ifndef YY_STRUCT_YY_BUFFER_STATE +#define YY_STRUCT_YY_BUFFER_STATE +struct yy_buffer_state + { + FILE *yy_input_file; + + char *yy_ch_buf; /* input buffer */ + char *yy_buf_pos; /* current position in input buffer */ + + /* Size of input buffer in bytes, not including room for EOB + * characters. + */ + yy_size_t yy_buf_size; + + /* Number of characters read into yy_ch_buf, not including EOB + * characters. + */ + int yy_n_chars; + + /* Whether we "own" the buffer - i.e., we know we created it, + * and can realloc() it to grow it, and should free() it to + * delete it. + */ + int yy_is_our_buffer; + + /* Whether this is an "interactive" input source; if so, and + * if we're using stdio for input, then we want to use getc() + * instead of fread(), to make sure we stop fetching input after + * each newline. + */ + int yy_is_interactive; + + /* Whether we're considered to be at the beginning of a line. + * If so, '^' rules will be active on the next match, otherwise + * not. + */ + int yy_at_bol; + + int yy_bs_lineno; /**< The line count. */ + int yy_bs_column; /**< The column count. */ + + /* Whether to try to fill the input buffer when we reach the + * end of it. + */ + int yy_fill_buffer; + + int yy_buffer_status; + +#define YY_BUFFER_NEW 0 +#define YY_BUFFER_NORMAL 1 + /* When an EOF's been seen but there's still some text to process + * then we mark the buffer as YY_EOF_PENDING, to indicate that we + * shouldn't try reading from the input source any more. We might + * still have a bunch of tokens to match, though, because of + * possible backing-up. + * + * When we actually see the EOF, we change the status to "new" + * (via core_yyrestart()), so that the user can continue scanning by + * just pointing yyin at a new input file. + */ +#define YY_BUFFER_EOF_PENDING 2 + + }; +#endif /* !YY_STRUCT_YY_BUFFER_STATE */ + +/* We provide macros for accessing buffer states in case in the + * future we want to put the buffer states in a more general + * "scanner state". + * + * Returns the top of the stack, or NULL. + */ +#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \ + ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \ + : NULL) + +/* Same as previous macro, but useful when we know that the buffer stack is not + * NULL or when we need an lvalue. For internal use only. + */ +#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] + +void core_yyrestart (FILE *input_file ,yyscan_t yyscanner ); +void core_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); +YY_BUFFER_STATE core_yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner ); +void core_yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); +void core_yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); +void core_yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); +void core_yypop_buffer_state (yyscan_t yyscanner ); + +static void core_yyensure_buffer_stack (yyscan_t yyscanner ); +static void core_yy_load_buffer_state (yyscan_t yyscanner ); +static void core_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner ); + +#define YY_FLUSH_BUFFER core_yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner) + +YY_BUFFER_STATE core_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); +YY_BUFFER_STATE core_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); +YY_BUFFER_STATE core_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner ); + +void *core_yyalloc (yy_size_t ,yyscan_t yyscanner ); +void *core_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner ); +void core_yyfree (void * ,yyscan_t yyscanner ); + +#define yy_new_buffer core_yy_create_buffer + +#define yy_set_interactive(is_interactive) \ + { \ + if ( ! YY_CURRENT_BUFFER ){ \ + core_yyensure_buffer_stack (yyscanner); \ + YY_CURRENT_BUFFER_LVALUE = \ + core_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ + } + +#define yy_set_bol(at_bol) \ + { \ + if ( ! YY_CURRENT_BUFFER ){\ + core_yyensure_buffer_stack (yyscanner); \ + YY_CURRENT_BUFFER_LVALUE = \ + core_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ + } + +#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) + +/* Begin user sect3 */ + +#define core_yywrap(n) 1 +#define YY_SKIP_YYWRAP + +typedef unsigned char YY_CHAR; + +typedef yyconst struct yy_trans_info *yy_state_type; + +#define yytext_ptr yytext_r + +static yy_state_type yy_get_previous_state (yyscan_t yyscanner ); +static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner); +static int yy_get_next_buffer (yyscan_t yyscanner ); +static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); + +/* Done after the current pattern has been matched and before the + * corresponding action - sets up yytext. + */ +#define YY_DO_BEFORE_ACTION \ + yyg->yytext_ptr = yy_bp; \ + yyleng = (size_t) (yy_cp - yy_bp); \ + yyg->yy_hold_char = *yy_cp; \ + *yy_cp = '\0'; \ + yyg->yy_c_buf_p = yy_cp; + +#define YY_NUM_RULES 67 +#define YY_END_OF_BUFFER 68 +struct yy_trans_info + { + flex_int32_t yy_verify; + flex_int32_t yy_nxt; + }; +static yyconst struct yy_trans_info yy_transition[64535] = + { + { 0, 0 }, { 0,64279 }, { 0, 0 }, { 0,64277 }, { 1,5676 }, + { 2,5676 }, { 3,5676 }, { 4,5676 }, { 5,5676 }, { 6,5676 }, + { 7,5676 }, { 8,5676 }, { 9,5678 }, { 10,5683 }, { 11,5676 }, + { 12,5678 }, { 13,5678 }, { 14,5676 }, { 15,5676 }, { 16,5676 }, + { 17,5676 }, { 18,5676 }, { 19,5676 }, { 20,5676 }, { 21,5676 }, + { 22,5676 }, { 23,5676 }, { 24,5676 }, { 25,5676 }, { 26,5676 }, + { 27,5676 }, { 28,5676 }, { 29,5676 }, { 30,5676 }, { 31,5676 }, + { 32,5678 }, { 33,5685 }, { 34,5680 }, { 35,5685 }, { 36,5717 }, + { 37,5974 }, { 38,5685 }, { 39,5698 }, { 40,5700 }, { 41,5700 }, + { 42,5974 }, { 43,5974 }, { 44,5700 }, { 45,5985 }, { 46,6004 }, + + { 47,6075 }, { 48,6077 }, { 49,6077 }, { 50,6077 }, { 51,6077 }, + { 52,6077 }, { 53,6077 }, { 54,6077 }, { 55,6077 }, { 56,6077 }, + { 57,6077 }, { 58,5702 }, { 59,5700 }, { 60,5974 }, { 61,5974 }, + { 62,5974 }, { 63,5685 }, { 64,5685 }, { 65,6141 }, { 66,6398 }, + { 67,6141 }, { 68,6141 }, { 69,6655 }, { 70,6141 }, { 71,6141 }, + { 72,6141 }, { 73,6141 }, { 74,6141 }, { 75,6141 }, { 76,6141 }, + { 77,6141 }, { 78,6912 }, { 79,6141 }, { 80,6141 }, { 81,6141 }, + { 82,6141 }, { 83,6141 }, { 84,6141 }, { 85,7169 }, { 86,6141 }, + { 87,6141 }, { 88,7426 }, { 89,6141 }, { 90,6141 }, { 91,5700 }, + { 92,5676 }, { 93,5700 }, { 94,5974 }, { 95,6141 }, { 96,5685 }, + + { 97,6141 }, { 98,6398 }, { 99,6141 }, { 100,6141 }, { 101,6655 }, + { 102,6141 }, { 103,6141 }, { 104,6141 }, { 105,6141 }, { 106,6141 }, + { 107,6141 }, { 108,6141 }, { 109,6141 }, { 110,6912 }, { 111,6141 }, + { 112,6141 }, { 113,6141 }, { 114,6141 }, { 115,6141 }, { 116,6141 }, + { 117,7169 }, { 118,6141 }, { 119,6141 }, { 120,7426 }, { 121,6141 }, + { 122,6141 }, { 123,5676 }, { 124,5685 }, { 125,5676 }, { 126,5685 }, + { 127,5676 }, { 128,6141 }, { 129,6141 }, { 130,6141 }, { 131,6141 }, + { 132,6141 }, { 133,6141 }, { 134,6141 }, { 135,6141 }, { 136,6141 }, + { 137,6141 }, { 138,6141 }, { 139,6141 }, { 140,6141 }, { 141,6141 }, + { 142,6141 }, { 143,6141 }, { 144,6141 }, { 145,6141 }, { 146,6141 }, + + { 147,6141 }, { 148,6141 }, { 149,6141 }, { 150,6141 }, { 151,6141 }, + { 152,6141 }, { 153,6141 }, { 154,6141 }, { 155,6141 }, { 156,6141 }, + { 157,6141 }, { 158,6141 }, { 159,6141 }, { 160,6141 }, { 161,6141 }, + { 162,6141 }, { 163,6141 }, { 164,6141 }, { 165,6141 }, { 166,6141 }, + { 167,6141 }, { 168,6141 }, { 169,6141 }, { 170,6141 }, { 171,6141 }, + { 172,6141 }, { 173,6141 }, { 174,6141 }, { 175,6141 }, { 176,6141 }, + { 177,6141 }, { 178,6141 }, { 179,6141 }, { 180,6141 }, { 181,6141 }, + { 182,6141 }, { 183,6141 }, { 184,6141 }, { 185,6141 }, { 186,6141 }, + { 187,6141 }, { 188,6141 }, { 189,6141 }, { 190,6141 }, { 191,6141 }, + { 192,6141 }, { 193,6141 }, { 194,6141 }, { 195,6141 }, { 196,6141 }, + + { 197,6141 }, { 198,6141 }, { 199,6141 }, { 200,6141 }, { 201,6141 }, + { 202,6141 }, { 203,6141 }, { 204,6141 }, { 205,6141 }, { 206,6141 }, + { 207,6141 }, { 208,6141 }, { 209,6141 }, { 210,6141 }, { 211,6141 }, + { 212,6141 }, { 213,6141 }, { 214,6141 }, { 215,6141 }, { 216,6141 }, + { 217,6141 }, { 218,6141 }, { 219,6141 }, { 220,6141 }, { 221,6141 }, + { 222,6141 }, { 223,6141 }, { 224,6141 }, { 225,6141 }, { 226,6141 }, + { 227,6141 }, { 228,6141 }, { 229,6141 }, { 230,6141 }, { 231,6141 }, + { 232,6141 }, { 233,6141 }, { 234,6141 }, { 235,6141 }, { 236,6141 }, + { 237,6141 }, { 238,6141 }, { 239,6141 }, { 240,6141 }, { 241,6141 }, + { 242,6141 }, { 243,6141 }, { 244,6141 }, { 245,6141 }, { 246,6141 }, + + { 247,6141 }, { 248,6141 }, { 249,6141 }, { 250,6141 }, { 251,6141 }, + { 252,6141 }, { 253,6141 }, { 254,6141 }, { 255,6141 }, { 256,5676 }, + { 0, 0 }, { 0,64019 }, { 1,5418 }, { 2,5418 }, { 3,5418 }, + { 4,5418 }, { 5,5418 }, { 6,5418 }, { 7,5418 }, { 8,5418 }, + { 9,5420 }, { 10,5425 }, { 11,5418 }, { 12,5420 }, { 13,5420 }, + { 14,5418 }, { 15,5418 }, { 16,5418 }, { 17,5418 }, { 18,5418 }, + { 19,5418 }, { 20,5418 }, { 21,5418 }, { 22,5418 }, { 23,5418 }, + { 24,5418 }, { 25,5418 }, { 26,5418 }, { 27,5418 }, { 28,5418 }, + { 29,5418 }, { 30,5418 }, { 31,5418 }, { 32,5420 }, { 33,5427 }, + { 34,5422 }, { 35,5427 }, { 36,5459 }, { 37,5716 }, { 38,5427 }, + + { 39,5440 }, { 40,5442 }, { 41,5442 }, { 42,5716 }, { 43,5716 }, + { 44,5442 }, { 45,5727 }, { 46,5746 }, { 47,5817 }, { 48,5819 }, + { 49,5819 }, { 50,5819 }, { 51,5819 }, { 52,5819 }, { 53,5819 }, + { 54,5819 }, { 55,5819 }, { 56,5819 }, { 57,5819 }, { 58,5444 }, + { 59,5442 }, { 60,5716 }, { 61,5716 }, { 62,5716 }, { 63,5427 }, + { 64,5427 }, { 65,5883 }, { 66,6140 }, { 67,5883 }, { 68,5883 }, + { 69,6397 }, { 70,5883 }, { 71,5883 }, { 72,5883 }, { 73,5883 }, + { 74,5883 }, { 75,5883 }, { 76,5883 }, { 77,5883 }, { 78,6654 }, + { 79,5883 }, { 80,5883 }, { 81,5883 }, { 82,5883 }, { 83,5883 }, + { 84,5883 }, { 85,6911 }, { 86,5883 }, { 87,5883 }, { 88,7168 }, + + { 89,5883 }, { 90,5883 }, { 91,5442 }, { 92,5418 }, { 93,5442 }, + { 94,5716 }, { 95,5883 }, { 96,5427 }, { 97,5883 }, { 98,6140 }, + { 99,5883 }, { 100,5883 }, { 101,6397 }, { 102,5883 }, { 103,5883 }, + { 104,5883 }, { 105,5883 }, { 106,5883 }, { 107,5883 }, { 108,5883 }, + { 109,5883 }, { 110,6654 }, { 111,5883 }, { 112,5883 }, { 113,5883 }, + { 114,5883 }, { 115,5883 }, { 116,5883 }, { 117,6911 }, { 118,5883 }, + { 119,5883 }, { 120,7168 }, { 121,5883 }, { 122,5883 }, { 123,5418 }, + { 124,5427 }, { 125,5418 }, { 126,5427 }, { 127,5418 }, { 128,5883 }, + { 129,5883 }, { 130,5883 }, { 131,5883 }, { 132,5883 }, { 133,5883 }, + { 134,5883 }, { 135,5883 }, { 136,5883 }, { 137,5883 }, { 138,5883 }, + + { 139,5883 }, { 140,5883 }, { 141,5883 }, { 142,5883 }, { 143,5883 }, + { 144,5883 }, { 145,5883 }, { 146,5883 }, { 147,5883 }, { 148,5883 }, + { 149,5883 }, { 150,5883 }, { 151,5883 }, { 152,5883 }, { 153,5883 }, + { 154,5883 }, { 155,5883 }, { 156,5883 }, { 157,5883 }, { 158,5883 }, + { 159,5883 }, { 160,5883 }, { 161,5883 }, { 162,5883 }, { 163,5883 }, + { 164,5883 }, { 165,5883 }, { 166,5883 }, { 167,5883 }, { 168,5883 }, + { 169,5883 }, { 170,5883 }, { 171,5883 }, { 172,5883 }, { 173,5883 }, + { 174,5883 }, { 175,5883 }, { 176,5883 }, { 177,5883 }, { 178,5883 }, + { 179,5883 }, { 180,5883 }, { 181,5883 }, { 182,5883 }, { 183,5883 }, + { 184,5883 }, { 185,5883 }, { 186,5883 }, { 187,5883 }, { 188,5883 }, + + { 189,5883 }, { 190,5883 }, { 191,5883 }, { 192,5883 }, { 193,5883 }, + { 194,5883 }, { 195,5883 }, { 196,5883 }, { 197,5883 }, { 198,5883 }, + { 199,5883 }, { 200,5883 }, { 201,5883 }, { 202,5883 }, { 203,5883 }, + { 204,5883 }, { 205,5883 }, { 206,5883 }, { 207,5883 }, { 208,5883 }, + { 209,5883 }, { 210,5883 }, { 211,5883 }, { 212,5883 }, { 213,5883 }, + { 214,5883 }, { 215,5883 }, { 216,5883 }, { 217,5883 }, { 218,5883 }, + { 219,5883 }, { 220,5883 }, { 221,5883 }, { 222,5883 }, { 223,5883 }, + { 224,5883 }, { 225,5883 }, { 226,5883 }, { 227,5883 }, { 228,5883 }, + { 229,5883 }, { 230,5883 }, { 231,5883 }, { 232,5883 }, { 233,5883 }, + { 234,5883 }, { 235,5883 }, { 236,5883 }, { 237,5883 }, { 238,5883 }, + + { 239,5883 }, { 240,5883 }, { 241,5883 }, { 242,5883 }, { 243,5883 }, + { 244,5883 }, { 245,5883 }, { 246,5883 }, { 247,5883 }, { 248,5883 }, + { 249,5883 }, { 250,5883 }, { 251,5883 }, { 252,5883 }, { 253,5883 }, + { 254,5883 }, { 255,5883 }, { 256,5418 }, { 0, 12 }, { 0,63761 }, + { 1,7167 }, { 2,7167 }, { 3,7167 }, { 4,7167 }, { 5,7167 }, + { 6,7167 }, { 7,7167 }, { 8,7167 }, { 9,7167 }, { 10,7167 }, + { 11,7167 }, { 12,7167 }, { 13,7167 }, { 14,7167 }, { 15,7167 }, + { 16,7167 }, { 17,7167 }, { 18,7167 }, { 19,7167 }, { 20,7167 }, + { 21,7167 }, { 22,7167 }, { 23,7167 }, { 24,7167 }, { 25,7167 }, + { 26,7167 }, { 27,7167 }, { 28,7167 }, { 29,7167 }, { 30,7167 }, + + { 31,7167 }, { 32,7167 }, { 33,7167 }, { 34,7167 }, { 35,7167 }, + { 36,7167 }, { 37,7167 }, { 38,7167 }, { 39,7425 }, { 40,7167 }, + { 41,7167 }, { 42,7167 }, { 43,7167 }, { 44,7167 }, { 45,7167 }, + { 46,7167 }, { 47,7167 }, { 48,7167 }, { 49,7167 }, { 50,7167 }, + { 51,7167 }, { 52,7167 }, { 53,7167 }, { 54,7167 }, { 55,7167 }, + { 56,7167 }, { 57,7167 }, { 58,7167 }, { 59,7167 }, { 60,7167 }, + { 61,7167 }, { 62,7167 }, { 63,7167 }, { 64,7167 }, { 65,7167 }, + { 66,7167 }, { 67,7167 }, { 68,7167 }, { 69,7167 }, { 70,7167 }, + { 71,7167 }, { 72,7167 }, { 73,7167 }, { 74,7167 }, { 75,7167 }, + { 76,7167 }, { 77,7167 }, { 78,7167 }, { 79,7167 }, { 80,7167 }, + + { 81,7167 }, { 82,7167 }, { 83,7167 }, { 84,7167 }, { 85,7167 }, + { 86,7167 }, { 87,7167 }, { 88,7167 }, { 89,7167 }, { 90,7167 }, + { 91,7167 }, { 92,7167 }, { 93,7167 }, { 94,7167 }, { 95,7167 }, + { 96,7167 }, { 97,7167 }, { 98,7167 }, { 99,7167 }, { 100,7167 }, + { 101,7167 }, { 102,7167 }, { 103,7167 }, { 104,7167 }, { 105,7167 }, + { 106,7167 }, { 107,7167 }, { 108,7167 }, { 109,7167 }, { 110,7167 }, + { 111,7167 }, { 112,7167 }, { 113,7167 }, { 114,7167 }, { 115,7167 }, + { 116,7167 }, { 117,7167 }, { 118,7167 }, { 119,7167 }, { 120,7167 }, + { 121,7167 }, { 122,7167 }, { 123,7167 }, { 124,7167 }, { 125,7167 }, + { 126,7167 }, { 127,7167 }, { 128,7167 }, { 129,7167 }, { 130,7167 }, + + { 131,7167 }, { 132,7167 }, { 133,7167 }, { 134,7167 }, { 135,7167 }, + { 136,7167 }, { 137,7167 }, { 138,7167 }, { 139,7167 }, { 140,7167 }, + { 141,7167 }, { 142,7167 }, { 143,7167 }, { 144,7167 }, { 145,7167 }, + { 146,7167 }, { 147,7167 }, { 148,7167 }, { 149,7167 }, { 150,7167 }, + { 151,7167 }, { 152,7167 }, { 153,7167 }, { 154,7167 }, { 155,7167 }, + { 156,7167 }, { 157,7167 }, { 158,7167 }, { 159,7167 }, { 160,7167 }, + { 161,7167 }, { 162,7167 }, { 163,7167 }, { 164,7167 }, { 165,7167 }, + { 166,7167 }, { 167,7167 }, { 168,7167 }, { 169,7167 }, { 170,7167 }, + { 171,7167 }, { 172,7167 }, { 173,7167 }, { 174,7167 }, { 175,7167 }, + { 176,7167 }, { 177,7167 }, { 178,7167 }, { 179,7167 }, { 180,7167 }, + + { 181,7167 }, { 182,7167 }, { 183,7167 }, { 184,7167 }, { 185,7167 }, + { 186,7167 }, { 187,7167 }, { 188,7167 }, { 189,7167 }, { 190,7167 }, + { 191,7167 }, { 192,7167 }, { 193,7167 }, { 194,7167 }, { 195,7167 }, + { 196,7167 }, { 197,7167 }, { 198,7167 }, { 199,7167 }, { 200,7167 }, + { 201,7167 }, { 202,7167 }, { 203,7167 }, { 204,7167 }, { 205,7167 }, + { 206,7167 }, { 207,7167 }, { 208,7167 }, { 209,7167 }, { 210,7167 }, + { 211,7167 }, { 212,7167 }, { 213,7167 }, { 214,7167 }, { 215,7167 }, + { 216,7167 }, { 217,7167 }, { 218,7167 }, { 219,7167 }, { 220,7167 }, + { 221,7167 }, { 222,7167 }, { 223,7167 }, { 224,7167 }, { 225,7167 }, + { 226,7167 }, { 227,7167 }, { 228,7167 }, { 229,7167 }, { 230,7167 }, + + { 231,7167 }, { 232,7167 }, { 233,7167 }, { 234,7167 }, { 235,7167 }, + { 236,7167 }, { 237,7167 }, { 238,7167 }, { 239,7167 }, { 240,7167 }, + { 241,7167 }, { 242,7167 }, { 243,7167 }, { 244,7167 }, { 245,7167 }, + { 246,7167 }, { 247,7167 }, { 248,7167 }, { 249,7167 }, { 250,7167 }, + { 251,7167 }, { 252,7167 }, { 253,7167 }, { 254,7167 }, { 255,7167 }, + { 256,7167 }, { 0, 12 }, { 0,63503 }, { 1,6909 }, { 2,6909 }, + { 3,6909 }, { 4,6909 }, { 5,6909 }, { 6,6909 }, { 7,6909 }, + { 8,6909 }, { 9,6909 }, { 10,6909 }, { 11,6909 }, { 12,6909 }, + { 13,6909 }, { 14,6909 }, { 15,6909 }, { 16,6909 }, { 17,6909 }, + { 18,6909 }, { 19,6909 }, { 20,6909 }, { 21,6909 }, { 22,6909 }, + + { 23,6909 }, { 24,6909 }, { 25,6909 }, { 26,6909 }, { 27,6909 }, + { 28,6909 }, { 29,6909 }, { 30,6909 }, { 31,6909 }, { 32,6909 }, + { 33,6909 }, { 34,6909 }, { 35,6909 }, { 36,6909 }, { 37,6909 }, + { 38,6909 }, { 39,7167 }, { 40,6909 }, { 41,6909 }, { 42,6909 }, + { 43,6909 }, { 44,6909 }, { 45,6909 }, { 46,6909 }, { 47,6909 }, + { 48,6909 }, { 49,6909 }, { 50,6909 }, { 51,6909 }, { 52,6909 }, + { 53,6909 }, { 54,6909 }, { 55,6909 }, { 56,6909 }, { 57,6909 }, + { 58,6909 }, { 59,6909 }, { 60,6909 }, { 61,6909 }, { 62,6909 }, + { 63,6909 }, { 64,6909 }, { 65,6909 }, { 66,6909 }, { 67,6909 }, + { 68,6909 }, { 69,6909 }, { 70,6909 }, { 71,6909 }, { 72,6909 }, + + { 73,6909 }, { 74,6909 }, { 75,6909 }, { 76,6909 }, { 77,6909 }, + { 78,6909 }, { 79,6909 }, { 80,6909 }, { 81,6909 }, { 82,6909 }, + { 83,6909 }, { 84,6909 }, { 85,6909 }, { 86,6909 }, { 87,6909 }, + { 88,6909 }, { 89,6909 }, { 90,6909 }, { 91,6909 }, { 92,6909 }, + { 93,6909 }, { 94,6909 }, { 95,6909 }, { 96,6909 }, { 97,6909 }, + { 98,6909 }, { 99,6909 }, { 100,6909 }, { 101,6909 }, { 102,6909 }, + { 103,6909 }, { 104,6909 }, { 105,6909 }, { 106,6909 }, { 107,6909 }, + { 108,6909 }, { 109,6909 }, { 110,6909 }, { 111,6909 }, { 112,6909 }, + { 113,6909 }, { 114,6909 }, { 115,6909 }, { 116,6909 }, { 117,6909 }, + { 118,6909 }, { 119,6909 }, { 120,6909 }, { 121,6909 }, { 122,6909 }, + + { 123,6909 }, { 124,6909 }, { 125,6909 }, { 126,6909 }, { 127,6909 }, + { 128,6909 }, { 129,6909 }, { 130,6909 }, { 131,6909 }, { 132,6909 }, + { 133,6909 }, { 134,6909 }, { 135,6909 }, { 136,6909 }, { 137,6909 }, + { 138,6909 }, { 139,6909 }, { 140,6909 }, { 141,6909 }, { 142,6909 }, + { 143,6909 }, { 144,6909 }, { 145,6909 }, { 146,6909 }, { 147,6909 }, + { 148,6909 }, { 149,6909 }, { 150,6909 }, { 151,6909 }, { 152,6909 }, + { 153,6909 }, { 154,6909 }, { 155,6909 }, { 156,6909 }, { 157,6909 }, + { 158,6909 }, { 159,6909 }, { 160,6909 }, { 161,6909 }, { 162,6909 }, + { 163,6909 }, { 164,6909 }, { 165,6909 }, { 166,6909 }, { 167,6909 }, + { 168,6909 }, { 169,6909 }, { 170,6909 }, { 171,6909 }, { 172,6909 }, + + { 173,6909 }, { 174,6909 }, { 175,6909 }, { 176,6909 }, { 177,6909 }, + { 178,6909 }, { 179,6909 }, { 180,6909 }, { 181,6909 }, { 182,6909 }, + { 183,6909 }, { 184,6909 }, { 185,6909 }, { 186,6909 }, { 187,6909 }, + { 188,6909 }, { 189,6909 }, { 190,6909 }, { 191,6909 }, { 192,6909 }, + { 193,6909 }, { 194,6909 }, { 195,6909 }, { 196,6909 }, { 197,6909 }, + { 198,6909 }, { 199,6909 }, { 200,6909 }, { 201,6909 }, { 202,6909 }, + { 203,6909 }, { 204,6909 }, { 205,6909 }, { 206,6909 }, { 207,6909 }, + { 208,6909 }, { 209,6909 }, { 210,6909 }, { 211,6909 }, { 212,6909 }, + { 213,6909 }, { 214,6909 }, { 215,6909 }, { 216,6909 }, { 217,6909 }, + { 218,6909 }, { 219,6909 }, { 220,6909 }, { 221,6909 }, { 222,6909 }, + + { 223,6909 }, { 224,6909 }, { 225,6909 }, { 226,6909 }, { 227,6909 }, + { 228,6909 }, { 229,6909 }, { 230,6909 }, { 231,6909 }, { 232,6909 }, + { 233,6909 }, { 234,6909 }, { 235,6909 }, { 236,6909 }, { 237,6909 }, + { 238,6909 }, { 239,6909 }, { 240,6909 }, { 241,6909 }, { 242,6909 }, + { 243,6909 }, { 244,6909 }, { 245,6909 }, { 246,6909 }, { 247,6909 }, + { 248,6909 }, { 249,6909 }, { 250,6909 }, { 251,6909 }, { 252,6909 }, + { 253,6909 }, { 254,6909 }, { 255,6909 }, { 256,6909 }, { 0, 0 }, + { 0,63245 }, { 1,6956 }, { 2,6956 }, { 3,6956 }, { 4,6956 }, + { 5,6956 }, { 6,6956 }, { 7,6956 }, { 8,6956 }, { 9,6956 }, + { 10,6956 }, { 11,6956 }, { 12,6956 }, { 13,6956 }, { 14,6956 }, + + { 15,6956 }, { 16,6956 }, { 17,6956 }, { 18,6956 }, { 19,6956 }, + { 20,6956 }, { 21,6956 }, { 22,6956 }, { 23,6956 }, { 24,6956 }, + { 25,6956 }, { 26,6956 }, { 27,6956 }, { 28,6956 }, { 29,6956 }, + { 30,6956 }, { 31,6956 }, { 32,6956 }, { 33,7214 }, { 34,6956 }, + { 35,7214 }, { 36,6956 }, { 37,7214 }, { 38,7214 }, { 39,6956 }, + { 40,6956 }, { 41,6956 }, { 42,4676 }, { 43,7214 }, { 44,6956 }, + { 45,7214 }, { 46,6956 }, { 47,4680 }, { 48,6956 }, { 49,6956 }, + { 50,6956 }, { 51,6956 }, { 52,6956 }, { 53,6956 }, { 54,6956 }, + { 55,6956 }, { 56,6956 }, { 57,6956 }, { 58,6956 }, { 59,6956 }, + { 60,7214 }, { 61,7214 }, { 62,7214 }, { 63,7214 }, { 64,7214 }, + + { 65,6956 }, { 66,6956 }, { 67,6956 }, { 68,6956 }, { 69,6956 }, + { 70,6956 }, { 71,6956 }, { 72,6956 }, { 73,6956 }, { 74,6956 }, + { 75,6956 }, { 76,6956 }, { 77,6956 }, { 78,6956 }, { 79,6956 }, + { 80,6956 }, { 81,6956 }, { 82,6956 }, { 83,6956 }, { 84,6956 }, + { 85,6956 }, { 86,6956 }, { 87,6956 }, { 88,6956 }, { 89,6956 }, + { 90,6956 }, { 91,6956 }, { 92,6956 }, { 93,6956 }, { 94,7214 }, + { 95,6956 }, { 96,7214 }, { 97,6956 }, { 98,6956 }, { 99,6956 }, + { 100,6956 }, { 101,6956 }, { 102,6956 }, { 103,6956 }, { 104,6956 }, + { 105,6956 }, { 106,6956 }, { 107,6956 }, { 108,6956 }, { 109,6956 }, + { 110,6956 }, { 111,6956 }, { 112,6956 }, { 113,6956 }, { 114,6956 }, + + { 115,6956 }, { 116,6956 }, { 117,6956 }, { 118,6956 }, { 119,6956 }, + { 120,6956 }, { 121,6956 }, { 122,6956 }, { 123,6956 }, { 124,7214 }, + { 125,6956 }, { 126,7214 }, { 127,6956 }, { 128,6956 }, { 129,6956 }, + { 130,6956 }, { 131,6956 }, { 132,6956 }, { 133,6956 }, { 134,6956 }, + { 135,6956 }, { 136,6956 }, { 137,6956 }, { 138,6956 }, { 139,6956 }, + { 140,6956 }, { 141,6956 }, { 142,6956 }, { 143,6956 }, { 144,6956 }, + { 145,6956 }, { 146,6956 }, { 147,6956 }, { 148,6956 }, { 149,6956 }, + { 150,6956 }, { 151,6956 }, { 152,6956 }, { 153,6956 }, { 154,6956 }, + { 155,6956 }, { 156,6956 }, { 157,6956 }, { 158,6956 }, { 159,6956 }, + { 160,6956 }, { 161,6956 }, { 162,6956 }, { 163,6956 }, { 164,6956 }, + + { 165,6956 }, { 166,6956 }, { 167,6956 }, { 168,6956 }, { 169,6956 }, + { 170,6956 }, { 171,6956 }, { 172,6956 }, { 173,6956 }, { 174,6956 }, + { 175,6956 }, { 176,6956 }, { 177,6956 }, { 178,6956 }, { 179,6956 }, + { 180,6956 }, { 181,6956 }, { 182,6956 }, { 183,6956 }, { 184,6956 }, + { 185,6956 }, { 186,6956 }, { 187,6956 }, { 188,6956 }, { 189,6956 }, + { 190,6956 }, { 191,6956 }, { 192,6956 }, { 193,6956 }, { 194,6956 }, + { 195,6956 }, { 196,6956 }, { 197,6956 }, { 198,6956 }, { 199,6956 }, + { 200,6956 }, { 201,6956 }, { 202,6956 }, { 203,6956 }, { 204,6956 }, + { 205,6956 }, { 206,6956 }, { 207,6956 }, { 208,6956 }, { 209,6956 }, + { 210,6956 }, { 211,6956 }, { 212,6956 }, { 213,6956 }, { 214,6956 }, + + { 215,6956 }, { 216,6956 }, { 217,6956 }, { 218,6956 }, { 219,6956 }, + { 220,6956 }, { 221,6956 }, { 222,6956 }, { 223,6956 }, { 224,6956 }, + { 225,6956 }, { 226,6956 }, { 227,6956 }, { 228,6956 }, { 229,6956 }, + { 230,6956 }, { 231,6956 }, { 232,6956 }, { 233,6956 }, { 234,6956 }, + { 235,6956 }, { 236,6956 }, { 237,6956 }, { 238,6956 }, { 239,6956 }, + { 240,6956 }, { 241,6956 }, { 242,6956 }, { 243,6956 }, { 244,6956 }, + { 245,6956 }, { 246,6956 }, { 247,6956 }, { 248,6956 }, { 249,6956 }, + { 250,6956 }, { 251,6956 }, { 252,6956 }, { 253,6956 }, { 254,6956 }, + { 255,6956 }, { 256,6956 }, { 0, 0 }, { 0,62987 }, { 1,6698 }, + { 2,6698 }, { 3,6698 }, { 4,6698 }, { 5,6698 }, { 6,6698 }, + + { 7,6698 }, { 8,6698 }, { 9,6698 }, { 10,6698 }, { 11,6698 }, + { 12,6698 }, { 13,6698 }, { 14,6698 }, { 15,6698 }, { 16,6698 }, + { 17,6698 }, { 18,6698 }, { 19,6698 }, { 20,6698 }, { 21,6698 }, + { 22,6698 }, { 23,6698 }, { 24,6698 }, { 25,6698 }, { 26,6698 }, + { 27,6698 }, { 28,6698 }, { 29,6698 }, { 30,6698 }, { 31,6698 }, + { 32,6698 }, { 33,6956 }, { 34,6698 }, { 35,6956 }, { 36,6698 }, + { 37,6956 }, { 38,6956 }, { 39,6698 }, { 40,6698 }, { 41,6698 }, + { 42,4418 }, { 43,6956 }, { 44,6698 }, { 45,6956 }, { 46,6698 }, + { 47,4422 }, { 48,6698 }, { 49,6698 }, { 50,6698 }, { 51,6698 }, + { 52,6698 }, { 53,6698 }, { 54,6698 }, { 55,6698 }, { 56,6698 }, + + { 57,6698 }, { 58,6698 }, { 59,6698 }, { 60,6956 }, { 61,6956 }, + { 62,6956 }, { 63,6956 }, { 64,6956 }, { 65,6698 }, { 66,6698 }, + { 67,6698 }, { 68,6698 }, { 69,6698 }, { 70,6698 }, { 71,6698 }, + { 72,6698 }, { 73,6698 }, { 74,6698 }, { 75,6698 }, { 76,6698 }, + { 77,6698 }, { 78,6698 }, { 79,6698 }, { 80,6698 }, { 81,6698 }, + { 82,6698 }, { 83,6698 }, { 84,6698 }, { 85,6698 }, { 86,6698 }, + { 87,6698 }, { 88,6698 }, { 89,6698 }, { 90,6698 }, { 91,6698 }, + { 92,6698 }, { 93,6698 }, { 94,6956 }, { 95,6698 }, { 96,6956 }, + { 97,6698 }, { 98,6698 }, { 99,6698 }, { 100,6698 }, { 101,6698 }, + { 102,6698 }, { 103,6698 }, { 104,6698 }, { 105,6698 }, { 106,6698 }, + + { 107,6698 }, { 108,6698 }, { 109,6698 }, { 110,6698 }, { 111,6698 }, + { 112,6698 }, { 113,6698 }, { 114,6698 }, { 115,6698 }, { 116,6698 }, + { 117,6698 }, { 118,6698 }, { 119,6698 }, { 120,6698 }, { 121,6698 }, + { 122,6698 }, { 123,6698 }, { 124,6956 }, { 125,6698 }, { 126,6956 }, + { 127,6698 }, { 128,6698 }, { 129,6698 }, { 130,6698 }, { 131,6698 }, + { 132,6698 }, { 133,6698 }, { 134,6698 }, { 135,6698 }, { 136,6698 }, + { 137,6698 }, { 138,6698 }, { 139,6698 }, { 140,6698 }, { 141,6698 }, + { 142,6698 }, { 143,6698 }, { 144,6698 }, { 145,6698 }, { 146,6698 }, + { 147,6698 }, { 148,6698 }, { 149,6698 }, { 150,6698 }, { 151,6698 }, + { 152,6698 }, { 153,6698 }, { 154,6698 }, { 155,6698 }, { 156,6698 }, + + { 157,6698 }, { 158,6698 }, { 159,6698 }, { 160,6698 }, { 161,6698 }, + { 162,6698 }, { 163,6698 }, { 164,6698 }, { 165,6698 }, { 166,6698 }, + { 167,6698 }, { 168,6698 }, { 169,6698 }, { 170,6698 }, { 171,6698 }, + { 172,6698 }, { 173,6698 }, { 174,6698 }, { 175,6698 }, { 176,6698 }, + { 177,6698 }, { 178,6698 }, { 179,6698 }, { 180,6698 }, { 181,6698 }, + { 182,6698 }, { 183,6698 }, { 184,6698 }, { 185,6698 }, { 186,6698 }, + { 187,6698 }, { 188,6698 }, { 189,6698 }, { 190,6698 }, { 191,6698 }, + { 192,6698 }, { 193,6698 }, { 194,6698 }, { 195,6698 }, { 196,6698 }, + { 197,6698 }, { 198,6698 }, { 199,6698 }, { 200,6698 }, { 201,6698 }, + { 202,6698 }, { 203,6698 }, { 204,6698 }, { 205,6698 }, { 206,6698 }, + + { 207,6698 }, { 208,6698 }, { 209,6698 }, { 210,6698 }, { 211,6698 }, + { 212,6698 }, { 213,6698 }, { 214,6698 }, { 215,6698 }, { 216,6698 }, + { 217,6698 }, { 218,6698 }, { 219,6698 }, { 220,6698 }, { 221,6698 }, + { 222,6698 }, { 223,6698 }, { 224,6698 }, { 225,6698 }, { 226,6698 }, + { 227,6698 }, { 228,6698 }, { 229,6698 }, { 230,6698 }, { 231,6698 }, + { 232,6698 }, { 233,6698 }, { 234,6698 }, { 235,6698 }, { 236,6698 }, + { 237,6698 }, { 238,6698 }, { 239,6698 }, { 240,6698 }, { 241,6698 }, + { 242,6698 }, { 243,6698 }, { 244,6698 }, { 245,6698 }, { 246,6698 }, + { 247,6698 }, { 248,6698 }, { 249,6698 }, { 250,6698 }, { 251,6698 }, + { 252,6698 }, { 253,6698 }, { 254,6698 }, { 255,6698 }, { 256,6698 }, + + { 0, 0 }, { 0,62729 }, { 1,6956 }, { 2,6956 }, { 3,6956 }, + { 4,6956 }, { 5,6956 }, { 6,6956 }, { 7,6956 }, { 8,6956 }, + { 9,6956 }, { 10,6956 }, { 11,6956 }, { 12,6956 }, { 13,6956 }, + { 14,6956 }, { 15,6956 }, { 16,6956 }, { 17,6956 }, { 18,6956 }, + { 19,6956 }, { 20,6956 }, { 21,6956 }, { 22,6956 }, { 23,6956 }, + { 24,6956 }, { 25,6956 }, { 26,6956 }, { 27,6956 }, { 28,6956 }, + { 29,6956 }, { 30,6956 }, { 31,6956 }, { 32,6956 }, { 33,6956 }, + { 34,4177 }, { 35,6956 }, { 36,6956 }, { 37,6956 }, { 38,6956 }, + { 39,6956 }, { 40,6956 }, { 41,6956 }, { 42,6956 }, { 43,6956 }, + { 44,6956 }, { 45,6956 }, { 46,6956 }, { 47,6956 }, { 48,6956 }, + + { 49,6956 }, { 50,6956 }, { 51,6956 }, { 52,6956 }, { 53,6956 }, + { 54,6956 }, { 55,6956 }, { 56,6956 }, { 57,6956 }, { 58,6956 }, + { 59,6956 }, { 60,6956 }, { 61,6956 }, { 62,6956 }, { 63,6956 }, + { 64,6956 }, { 65,6956 }, { 66,6956 }, { 67,6956 }, { 68,6956 }, + { 69,6956 }, { 70,6956 }, { 71,6956 }, { 72,6956 }, { 73,6956 }, + { 74,6956 }, { 75,6956 }, { 76,6956 }, { 77,6956 }, { 78,6956 }, + { 79,6956 }, { 80,6956 }, { 81,6956 }, { 82,6956 }, { 83,6956 }, + { 84,6956 }, { 85,6956 }, { 86,6956 }, { 87,6956 }, { 88,6956 }, + { 89,6956 }, { 90,6956 }, { 91,6956 }, { 92,6956 }, { 93,6956 }, + { 94,6956 }, { 95,6956 }, { 96,6956 }, { 97,6956 }, { 98,6956 }, + + { 99,6956 }, { 100,6956 }, { 101,6956 }, { 102,6956 }, { 103,6956 }, + { 104,6956 }, { 105,6956 }, { 106,6956 }, { 107,6956 }, { 108,6956 }, + { 109,6956 }, { 110,6956 }, { 111,6956 }, { 112,6956 }, { 113,6956 }, + { 114,6956 }, { 115,6956 }, { 116,6956 }, { 117,6956 }, { 118,6956 }, + { 119,6956 }, { 120,6956 }, { 121,6956 }, { 122,6956 }, { 123,6956 }, + { 124,6956 }, { 125,6956 }, { 126,6956 }, { 127,6956 }, { 128,6956 }, + { 129,6956 }, { 130,6956 }, { 131,6956 }, { 132,6956 }, { 133,6956 }, + { 134,6956 }, { 135,6956 }, { 136,6956 }, { 137,6956 }, { 138,6956 }, + { 139,6956 }, { 140,6956 }, { 141,6956 }, { 142,6956 }, { 143,6956 }, + { 144,6956 }, { 145,6956 }, { 146,6956 }, { 147,6956 }, { 148,6956 }, + + { 149,6956 }, { 150,6956 }, { 151,6956 }, { 152,6956 }, { 153,6956 }, + { 154,6956 }, { 155,6956 }, { 156,6956 }, { 157,6956 }, { 158,6956 }, + { 159,6956 }, { 160,6956 }, { 161,6956 }, { 162,6956 }, { 163,6956 }, + { 164,6956 }, { 165,6956 }, { 166,6956 }, { 167,6956 }, { 168,6956 }, + { 169,6956 }, { 170,6956 }, { 171,6956 }, { 172,6956 }, { 173,6956 }, + { 174,6956 }, { 175,6956 }, { 176,6956 }, { 177,6956 }, { 178,6956 }, + { 179,6956 }, { 180,6956 }, { 181,6956 }, { 182,6956 }, { 183,6956 }, + { 184,6956 }, { 185,6956 }, { 186,6956 }, { 187,6956 }, { 188,6956 }, + { 189,6956 }, { 190,6956 }, { 191,6956 }, { 192,6956 }, { 193,6956 }, + { 194,6956 }, { 195,6956 }, { 196,6956 }, { 197,6956 }, { 198,6956 }, + + { 199,6956 }, { 200,6956 }, { 201,6956 }, { 202,6956 }, { 203,6956 }, + { 204,6956 }, { 205,6956 }, { 206,6956 }, { 207,6956 }, { 208,6956 }, + { 209,6956 }, { 210,6956 }, { 211,6956 }, { 212,6956 }, { 213,6956 }, + { 214,6956 }, { 215,6956 }, { 216,6956 }, { 217,6956 }, { 218,6956 }, + { 219,6956 }, { 220,6956 }, { 221,6956 }, { 222,6956 }, { 223,6956 }, + { 224,6956 }, { 225,6956 }, { 226,6956 }, { 227,6956 }, { 228,6956 }, + { 229,6956 }, { 230,6956 }, { 231,6956 }, { 232,6956 }, { 233,6956 }, + { 234,6956 }, { 235,6956 }, { 236,6956 }, { 237,6956 }, { 238,6956 }, + { 239,6956 }, { 240,6956 }, { 241,6956 }, { 242,6956 }, { 243,6956 }, + { 244,6956 }, { 245,6956 }, { 246,6956 }, { 247,6956 }, { 248,6956 }, + + { 249,6956 }, { 250,6956 }, { 251,6956 }, { 252,6956 }, { 253,6956 }, + { 254,6956 }, { 255,6956 }, { 256,6956 }, { 0, 0 }, { 0,62471 }, + { 1,6698 }, { 2,6698 }, { 3,6698 }, { 4,6698 }, { 5,6698 }, + { 6,6698 }, { 7,6698 }, { 8,6698 }, { 9,6698 }, { 10,6698 }, + { 11,6698 }, { 12,6698 }, { 13,6698 }, { 14,6698 }, { 15,6698 }, + { 16,6698 }, { 17,6698 }, { 18,6698 }, { 19,6698 }, { 20,6698 }, + { 21,6698 }, { 22,6698 }, { 23,6698 }, { 24,6698 }, { 25,6698 }, + { 26,6698 }, { 27,6698 }, { 28,6698 }, { 29,6698 }, { 30,6698 }, + { 31,6698 }, { 32,6698 }, { 33,6698 }, { 34,3919 }, { 35,6698 }, + { 36,6698 }, { 37,6698 }, { 38,6698 }, { 39,6698 }, { 40,6698 }, + + { 41,6698 }, { 42,6698 }, { 43,6698 }, { 44,6698 }, { 45,6698 }, + { 46,6698 }, { 47,6698 }, { 48,6698 }, { 49,6698 }, { 50,6698 }, + { 51,6698 }, { 52,6698 }, { 53,6698 }, { 54,6698 }, { 55,6698 }, + { 56,6698 }, { 57,6698 }, { 58,6698 }, { 59,6698 }, { 60,6698 }, + { 61,6698 }, { 62,6698 }, { 63,6698 }, { 64,6698 }, { 65,6698 }, + { 66,6698 }, { 67,6698 }, { 68,6698 }, { 69,6698 }, { 70,6698 }, + { 71,6698 }, { 72,6698 }, { 73,6698 }, { 74,6698 }, { 75,6698 }, + { 76,6698 }, { 77,6698 }, { 78,6698 }, { 79,6698 }, { 80,6698 }, + { 81,6698 }, { 82,6698 }, { 83,6698 }, { 84,6698 }, { 85,6698 }, + { 86,6698 }, { 87,6698 }, { 88,6698 }, { 89,6698 }, { 90,6698 }, + + { 91,6698 }, { 92,6698 }, { 93,6698 }, { 94,6698 }, { 95,6698 }, + { 96,6698 }, { 97,6698 }, { 98,6698 }, { 99,6698 }, { 100,6698 }, + { 101,6698 }, { 102,6698 }, { 103,6698 }, { 104,6698 }, { 105,6698 }, + { 106,6698 }, { 107,6698 }, { 108,6698 }, { 109,6698 }, { 110,6698 }, + { 111,6698 }, { 112,6698 }, { 113,6698 }, { 114,6698 }, { 115,6698 }, + { 116,6698 }, { 117,6698 }, { 118,6698 }, { 119,6698 }, { 120,6698 }, + { 121,6698 }, { 122,6698 }, { 123,6698 }, { 124,6698 }, { 125,6698 }, + { 126,6698 }, { 127,6698 }, { 128,6698 }, { 129,6698 }, { 130,6698 }, + { 131,6698 }, { 132,6698 }, { 133,6698 }, { 134,6698 }, { 135,6698 }, + { 136,6698 }, { 137,6698 }, { 138,6698 }, { 139,6698 }, { 140,6698 }, + + { 141,6698 }, { 142,6698 }, { 143,6698 }, { 144,6698 }, { 145,6698 }, + { 146,6698 }, { 147,6698 }, { 148,6698 }, { 149,6698 }, { 150,6698 }, + { 151,6698 }, { 152,6698 }, { 153,6698 }, { 154,6698 }, { 155,6698 }, + { 156,6698 }, { 157,6698 }, { 158,6698 }, { 159,6698 }, { 160,6698 }, + { 161,6698 }, { 162,6698 }, { 163,6698 }, { 164,6698 }, { 165,6698 }, + { 166,6698 }, { 167,6698 }, { 168,6698 }, { 169,6698 }, { 170,6698 }, + { 171,6698 }, { 172,6698 }, { 173,6698 }, { 174,6698 }, { 175,6698 }, + { 176,6698 }, { 177,6698 }, { 178,6698 }, { 179,6698 }, { 180,6698 }, + { 181,6698 }, { 182,6698 }, { 183,6698 }, { 184,6698 }, { 185,6698 }, + { 186,6698 }, { 187,6698 }, { 188,6698 }, { 189,6698 }, { 190,6698 }, + + { 191,6698 }, { 192,6698 }, { 193,6698 }, { 194,6698 }, { 195,6698 }, + { 196,6698 }, { 197,6698 }, { 198,6698 }, { 199,6698 }, { 200,6698 }, + { 201,6698 }, { 202,6698 }, { 203,6698 }, { 204,6698 }, { 205,6698 }, + { 206,6698 }, { 207,6698 }, { 208,6698 }, { 209,6698 }, { 210,6698 }, + { 211,6698 }, { 212,6698 }, { 213,6698 }, { 214,6698 }, { 215,6698 }, + { 216,6698 }, { 217,6698 }, { 218,6698 }, { 219,6698 }, { 220,6698 }, + { 221,6698 }, { 222,6698 }, { 223,6698 }, { 224,6698 }, { 225,6698 }, + { 226,6698 }, { 227,6698 }, { 228,6698 }, { 229,6698 }, { 230,6698 }, + { 231,6698 }, { 232,6698 }, { 233,6698 }, { 234,6698 }, { 235,6698 }, + { 236,6698 }, { 237,6698 }, { 238,6698 }, { 239,6698 }, { 240,6698 }, + + { 241,6698 }, { 242,6698 }, { 243,6698 }, { 244,6698 }, { 245,6698 }, + { 246,6698 }, { 247,6698 }, { 248,6698 }, { 249,6698 }, { 250,6698 }, + { 251,6698 }, { 252,6698 }, { 253,6698 }, { 254,6698 }, { 255,6698 }, + { 256,6698 }, { 0, 11 }, { 0,62213 }, { 1,6698 }, { 2,6698 }, + { 3,6698 }, { 4,6698 }, { 5,6698 }, { 6,6698 }, { 7,6698 }, + { 8,6698 }, { 9,6698 }, { 10,6698 }, { 11,6698 }, { 12,6698 }, + { 13,6698 }, { 14,6698 }, { 15,6698 }, { 16,6698 }, { 17,6698 }, + { 18,6698 }, { 19,6698 }, { 20,6698 }, { 21,6698 }, { 22,6698 }, + { 23,6698 }, { 24,6698 }, { 25,6698 }, { 26,6698 }, { 27,6698 }, + { 28,6698 }, { 29,6698 }, { 30,6698 }, { 31,6698 }, { 32,6698 }, + + { 33,6698 }, { 34,6698 }, { 35,6698 }, { 36,6698 }, { 37,6698 }, + { 38,6698 }, { 39,6956 }, { 40,6698 }, { 41,6698 }, { 42,6698 }, + { 43,6698 }, { 44,6698 }, { 45,6698 }, { 46,6698 }, { 47,6698 }, + { 48,6698 }, { 49,6698 }, { 50,6698 }, { 51,6698 }, { 52,6698 }, + { 53,6698 }, { 54,6698 }, { 55,6698 }, { 56,6698 }, { 57,6698 }, + { 58,6698 }, { 59,6698 }, { 60,6698 }, { 61,6698 }, { 62,6698 }, + { 63,6698 }, { 64,6698 }, { 65,6698 }, { 66,6698 }, { 67,6698 }, + { 68,6698 }, { 69,6698 }, { 70,6698 }, { 71,6698 }, { 72,6698 }, + { 73,6698 }, { 74,6698 }, { 75,6698 }, { 76,6698 }, { 77,6698 }, + { 78,6698 }, { 79,6698 }, { 80,6698 }, { 81,6698 }, { 82,6698 }, + + { 83,6698 }, { 84,6698 }, { 85,6698 }, { 86,6698 }, { 87,6698 }, + { 88,6698 }, { 89,6698 }, { 90,6698 }, { 91,6698 }, { 92,6698 }, + { 93,6698 }, { 94,6698 }, { 95,6698 }, { 96,6698 }, { 97,6698 }, + { 98,6698 }, { 99,6698 }, { 100,6698 }, { 101,6698 }, { 102,6698 }, + { 103,6698 }, { 104,6698 }, { 105,6698 }, { 106,6698 }, { 107,6698 }, + { 108,6698 }, { 109,6698 }, { 110,6698 }, { 111,6698 }, { 112,6698 }, + { 113,6698 }, { 114,6698 }, { 115,6698 }, { 116,6698 }, { 117,6698 }, + { 118,6698 }, { 119,6698 }, { 120,6698 }, { 121,6698 }, { 122,6698 }, + { 123,6698 }, { 124,6698 }, { 125,6698 }, { 126,6698 }, { 127,6698 }, + { 128,6698 }, { 129,6698 }, { 130,6698 }, { 131,6698 }, { 132,6698 }, + + { 133,6698 }, { 134,6698 }, { 135,6698 }, { 136,6698 }, { 137,6698 }, + { 138,6698 }, { 139,6698 }, { 140,6698 }, { 141,6698 }, { 142,6698 }, + { 143,6698 }, { 144,6698 }, { 145,6698 }, { 146,6698 }, { 147,6698 }, + { 148,6698 }, { 149,6698 }, { 150,6698 }, { 151,6698 }, { 152,6698 }, + { 153,6698 }, { 154,6698 }, { 155,6698 }, { 156,6698 }, { 157,6698 }, + { 158,6698 }, { 159,6698 }, { 160,6698 }, { 161,6698 }, { 162,6698 }, + { 163,6698 }, { 164,6698 }, { 165,6698 }, { 166,6698 }, { 167,6698 }, + { 168,6698 }, { 169,6698 }, { 170,6698 }, { 171,6698 }, { 172,6698 }, + { 173,6698 }, { 174,6698 }, { 175,6698 }, { 176,6698 }, { 177,6698 }, + { 178,6698 }, { 179,6698 }, { 180,6698 }, { 181,6698 }, { 182,6698 }, + + { 183,6698 }, { 184,6698 }, { 185,6698 }, { 186,6698 }, { 187,6698 }, + { 188,6698 }, { 189,6698 }, { 190,6698 }, { 191,6698 }, { 192,6698 }, + { 193,6698 }, { 194,6698 }, { 195,6698 }, { 196,6698 }, { 197,6698 }, + { 198,6698 }, { 199,6698 }, { 200,6698 }, { 201,6698 }, { 202,6698 }, + { 203,6698 }, { 204,6698 }, { 205,6698 }, { 206,6698 }, { 207,6698 }, + { 208,6698 }, { 209,6698 }, { 210,6698 }, { 211,6698 }, { 212,6698 }, + { 213,6698 }, { 214,6698 }, { 215,6698 }, { 216,6698 }, { 217,6698 }, + { 218,6698 }, { 219,6698 }, { 220,6698 }, { 221,6698 }, { 222,6698 }, + { 223,6698 }, { 224,6698 }, { 225,6698 }, { 226,6698 }, { 227,6698 }, + { 228,6698 }, { 229,6698 }, { 230,6698 }, { 231,6698 }, { 232,6698 }, + + { 233,6698 }, { 234,6698 }, { 235,6698 }, { 236,6698 }, { 237,6698 }, + { 238,6698 }, { 239,6698 }, { 240,6698 }, { 241,6698 }, { 242,6698 }, + { 243,6698 }, { 244,6698 }, { 245,6698 }, { 246,6698 }, { 247,6698 }, + { 248,6698 }, { 249,6698 }, { 250,6698 }, { 251,6698 }, { 252,6698 }, + { 253,6698 }, { 254,6698 }, { 255,6698 }, { 256,6698 }, { 0, 11 }, + { 0,61955 }, { 1,6440 }, { 2,6440 }, { 3,6440 }, { 4,6440 }, + { 5,6440 }, { 6,6440 }, { 7,6440 }, { 8,6440 }, { 9,6440 }, + { 10,6440 }, { 11,6440 }, { 12,6440 }, { 13,6440 }, { 14,6440 }, + { 15,6440 }, { 16,6440 }, { 17,6440 }, { 18,6440 }, { 19,6440 }, + { 20,6440 }, { 21,6440 }, { 22,6440 }, { 23,6440 }, { 24,6440 }, + + { 25,6440 }, { 26,6440 }, { 27,6440 }, { 28,6440 }, { 29,6440 }, + { 30,6440 }, { 31,6440 }, { 32,6440 }, { 33,6440 }, { 34,6440 }, + { 35,6440 }, { 36,6440 }, { 37,6440 }, { 38,6440 }, { 39,6698 }, + { 40,6440 }, { 41,6440 }, { 42,6440 }, { 43,6440 }, { 44,6440 }, + { 45,6440 }, { 46,6440 }, { 47,6440 }, { 48,6440 }, { 49,6440 }, + { 50,6440 }, { 51,6440 }, { 52,6440 }, { 53,6440 }, { 54,6440 }, + { 55,6440 }, { 56,6440 }, { 57,6440 }, { 58,6440 }, { 59,6440 }, + { 60,6440 }, { 61,6440 }, { 62,6440 }, { 63,6440 }, { 64,6440 }, + { 65,6440 }, { 66,6440 }, { 67,6440 }, { 68,6440 }, { 69,6440 }, + { 70,6440 }, { 71,6440 }, { 72,6440 }, { 73,6440 }, { 74,6440 }, + + { 75,6440 }, { 76,6440 }, { 77,6440 }, { 78,6440 }, { 79,6440 }, + { 80,6440 }, { 81,6440 }, { 82,6440 }, { 83,6440 }, { 84,6440 }, + { 85,6440 }, { 86,6440 }, { 87,6440 }, { 88,6440 }, { 89,6440 }, + { 90,6440 }, { 91,6440 }, { 92,6440 }, { 93,6440 }, { 94,6440 }, + { 95,6440 }, { 96,6440 }, { 97,6440 }, { 98,6440 }, { 99,6440 }, + { 100,6440 }, { 101,6440 }, { 102,6440 }, { 103,6440 }, { 104,6440 }, + { 105,6440 }, { 106,6440 }, { 107,6440 }, { 108,6440 }, { 109,6440 }, + { 110,6440 }, { 111,6440 }, { 112,6440 }, { 113,6440 }, { 114,6440 }, + { 115,6440 }, { 116,6440 }, { 117,6440 }, { 118,6440 }, { 119,6440 }, + { 120,6440 }, { 121,6440 }, { 122,6440 }, { 123,6440 }, { 124,6440 }, + + { 125,6440 }, { 126,6440 }, { 127,6440 }, { 128,6440 }, { 129,6440 }, + { 130,6440 }, { 131,6440 }, { 132,6440 }, { 133,6440 }, { 134,6440 }, + { 135,6440 }, { 136,6440 }, { 137,6440 }, { 138,6440 }, { 139,6440 }, + { 140,6440 }, { 141,6440 }, { 142,6440 }, { 143,6440 }, { 144,6440 }, + { 145,6440 }, { 146,6440 }, { 147,6440 }, { 148,6440 }, { 149,6440 }, + { 150,6440 }, { 151,6440 }, { 152,6440 }, { 153,6440 }, { 154,6440 }, + { 155,6440 }, { 156,6440 }, { 157,6440 }, { 158,6440 }, { 159,6440 }, + { 160,6440 }, { 161,6440 }, { 162,6440 }, { 163,6440 }, { 164,6440 }, + { 165,6440 }, { 166,6440 }, { 167,6440 }, { 168,6440 }, { 169,6440 }, + { 170,6440 }, { 171,6440 }, { 172,6440 }, { 173,6440 }, { 174,6440 }, + + { 175,6440 }, { 176,6440 }, { 177,6440 }, { 178,6440 }, { 179,6440 }, + { 180,6440 }, { 181,6440 }, { 182,6440 }, { 183,6440 }, { 184,6440 }, + { 185,6440 }, { 186,6440 }, { 187,6440 }, { 188,6440 }, { 189,6440 }, + { 190,6440 }, { 191,6440 }, { 192,6440 }, { 193,6440 }, { 194,6440 }, + { 195,6440 }, { 196,6440 }, { 197,6440 }, { 198,6440 }, { 199,6440 }, + { 200,6440 }, { 201,6440 }, { 202,6440 }, { 203,6440 }, { 204,6440 }, + { 205,6440 }, { 206,6440 }, { 207,6440 }, { 208,6440 }, { 209,6440 }, + { 210,6440 }, { 211,6440 }, { 212,6440 }, { 213,6440 }, { 214,6440 }, + { 215,6440 }, { 216,6440 }, { 217,6440 }, { 218,6440 }, { 219,6440 }, + { 220,6440 }, { 221,6440 }, { 222,6440 }, { 223,6440 }, { 224,6440 }, + + { 225,6440 }, { 226,6440 }, { 227,6440 }, { 228,6440 }, { 229,6440 }, + { 230,6440 }, { 231,6440 }, { 232,6440 }, { 233,6440 }, { 234,6440 }, + { 235,6440 }, { 236,6440 }, { 237,6440 }, { 238,6440 }, { 239,6440 }, + { 240,6440 }, { 241,6440 }, { 242,6440 }, { 243,6440 }, { 244,6440 }, + { 245,6440 }, { 246,6440 }, { 247,6440 }, { 248,6440 }, { 249,6440 }, + { 250,6440 }, { 251,6440 }, { 252,6440 }, { 253,6440 }, { 254,6440 }, + { 255,6440 }, { 256,6440 }, { 0, 0 }, { 0,61697 }, { 1,6487 }, + { 2,6487 }, { 3,6487 }, { 4,6487 }, { 5,6487 }, { 6,6487 }, + { 7,6487 }, { 8,6487 }, { 9,6487 }, { 10,6745 }, { 11,6487 }, + { 12,6487 }, { 13,6487 }, { 14,6487 }, { 15,6487 }, { 16,6487 }, + + { 17,6487 }, { 18,6487 }, { 19,6487 }, { 20,6487 }, { 21,6487 }, + { 22,6487 }, { 23,6487 }, { 24,6487 }, { 25,6487 }, { 26,6487 }, + { 27,6487 }, { 28,6487 }, { 29,6487 }, { 30,6487 }, { 31,6487 }, + { 32,6487 }, { 33,6487 }, { 34,6487 }, { 35,6487 }, { 36,6487 }, + { 37,6487 }, { 38,6487 }, { 39,7003 }, { 40,6487 }, { 41,6487 }, + { 42,6487 }, { 43,6487 }, { 44,6487 }, { 45,6487 }, { 46,6487 }, + { 47,6487 }, { 48,6487 }, { 49,6487 }, { 50,6487 }, { 51,6487 }, + { 52,6487 }, { 53,6487 }, { 54,6487 }, { 55,6487 }, { 56,6487 }, + { 57,6487 }, { 58,6487 }, { 59,6487 }, { 60,6487 }, { 61,6487 }, + { 62,6487 }, { 63,6487 }, { 64,6487 }, { 65,6487 }, { 66,6487 }, + + { 67,6487 }, { 68,6487 }, { 69,6487 }, { 70,6487 }, { 71,6487 }, + { 72,6487 }, { 73,6487 }, { 74,6487 }, { 75,6487 }, { 76,6487 }, + { 77,6487 }, { 78,6487 }, { 79,6487 }, { 80,6487 }, { 81,6487 }, + { 82,6487 }, { 83,6487 }, { 84,6487 }, { 85,6487 }, { 86,6487 }, + { 87,6487 }, { 88,6487 }, { 89,6487 }, { 90,6487 }, { 91,6487 }, + { 92,7050 }, { 93,6487 }, { 94,6487 }, { 95,6487 }, { 96,6487 }, + { 97,6487 }, { 98,6487 }, { 99,6487 }, { 100,6487 }, { 101,6487 }, + { 102,6487 }, { 103,6487 }, { 104,6487 }, { 105,6487 }, { 106,6487 }, + { 107,6487 }, { 108,6487 }, { 109,6487 }, { 110,6487 }, { 111,6487 }, + { 112,6487 }, { 113,6487 }, { 114,6487 }, { 115,6487 }, { 116,6487 }, + + { 117,6487 }, { 118,6487 }, { 119,6487 }, { 120,6487 }, { 121,6487 }, + { 122,6487 }, { 123,6487 }, { 124,6487 }, { 125,6487 }, { 126,6487 }, + { 127,6487 }, { 128,6487 }, { 129,6487 }, { 130,6487 }, { 131,6487 }, + { 132,6487 }, { 133,6487 }, { 134,6487 }, { 135,6487 }, { 136,6487 }, + { 137,6487 }, { 138,6487 }, { 139,6487 }, { 140,6487 }, { 141,6487 }, + { 142,6487 }, { 143,6487 }, { 144,6487 }, { 145,6487 }, { 146,6487 }, + { 147,6487 }, { 148,6487 }, { 149,6487 }, { 150,6487 }, { 151,6487 }, + { 152,6487 }, { 153,6487 }, { 154,6487 }, { 155,6487 }, { 156,6487 }, + { 157,6487 }, { 158,6487 }, { 159,6487 }, { 160,6487 }, { 161,6487 }, + { 162,6487 }, { 163,6487 }, { 164,6487 }, { 165,6487 }, { 166,6487 }, + + { 167,6487 }, { 168,6487 }, { 169,6487 }, { 170,6487 }, { 171,6487 }, + { 172,6487 }, { 173,6487 }, { 174,6487 }, { 175,6487 }, { 176,6487 }, + { 177,6487 }, { 178,6487 }, { 179,6487 }, { 180,6487 }, { 181,6487 }, + { 182,6487 }, { 183,6487 }, { 184,6487 }, { 185,6487 }, { 186,6487 }, + { 187,6487 }, { 188,6487 }, { 189,6487 }, { 190,6487 }, { 191,6487 }, + { 192,6487 }, { 193,6487 }, { 194,6487 }, { 195,6487 }, { 196,6487 }, + { 197,6487 }, { 198,6487 }, { 199,6487 }, { 200,6487 }, { 201,6487 }, + { 202,6487 }, { 203,6487 }, { 204,6487 }, { 205,6487 }, { 206,6487 }, + { 207,6487 }, { 208,6487 }, { 209,6487 }, { 210,6487 }, { 211,6487 }, + { 212,6487 }, { 213,6487 }, { 214,6487 }, { 215,6487 }, { 216,6487 }, + + { 217,6487 }, { 218,6487 }, { 219,6487 }, { 220,6487 }, { 221,6487 }, + { 222,6487 }, { 223,6487 }, { 224,6487 }, { 225,6487 }, { 226,6487 }, + { 227,6487 }, { 228,6487 }, { 229,6487 }, { 230,6487 }, { 231,6487 }, + { 232,6487 }, { 233,6487 }, { 234,6487 }, { 235,6487 }, { 236,6487 }, + { 237,6487 }, { 238,6487 }, { 239,6487 }, { 240,6487 }, { 241,6487 }, + { 242,6487 }, { 243,6487 }, { 244,6487 }, { 245,6487 }, { 246,6487 }, + { 247,6487 }, { 248,6487 }, { 249,6487 }, { 250,6487 }, { 251,6487 }, + { 252,6487 }, { 253,6487 }, { 254,6487 }, { 255,6487 }, { 256,6487 }, + { 0, 0 }, { 0,61439 }, { 1,6229 }, { 2,6229 }, { 3,6229 }, + { 4,6229 }, { 5,6229 }, { 6,6229 }, { 7,6229 }, { 8,6229 }, + + { 9,6229 }, { 10,6487 }, { 11,6229 }, { 12,6229 }, { 13,6229 }, + { 14,6229 }, { 15,6229 }, { 16,6229 }, { 17,6229 }, { 18,6229 }, + { 19,6229 }, { 20,6229 }, { 21,6229 }, { 22,6229 }, { 23,6229 }, + { 24,6229 }, { 25,6229 }, { 26,6229 }, { 27,6229 }, { 28,6229 }, + { 29,6229 }, { 30,6229 }, { 31,6229 }, { 32,6229 }, { 33,6229 }, + { 34,6229 }, { 35,6229 }, { 36,6229 }, { 37,6229 }, { 38,6229 }, + { 39,6745 }, { 40,6229 }, { 41,6229 }, { 42,6229 }, { 43,6229 }, + { 44,6229 }, { 45,6229 }, { 46,6229 }, { 47,6229 }, { 48,6229 }, + { 49,6229 }, { 50,6229 }, { 51,6229 }, { 52,6229 }, { 53,6229 }, + { 54,6229 }, { 55,6229 }, { 56,6229 }, { 57,6229 }, { 58,6229 }, + + { 59,6229 }, { 60,6229 }, { 61,6229 }, { 62,6229 }, { 63,6229 }, + { 64,6229 }, { 65,6229 }, { 66,6229 }, { 67,6229 }, { 68,6229 }, + { 69,6229 }, { 70,6229 }, { 71,6229 }, { 72,6229 }, { 73,6229 }, + { 74,6229 }, { 75,6229 }, { 76,6229 }, { 77,6229 }, { 78,6229 }, + { 79,6229 }, { 80,6229 }, { 81,6229 }, { 82,6229 }, { 83,6229 }, + { 84,6229 }, { 85,6229 }, { 86,6229 }, { 87,6229 }, { 88,6229 }, + { 89,6229 }, { 90,6229 }, { 91,6229 }, { 92,6792 }, { 93,6229 }, + { 94,6229 }, { 95,6229 }, { 96,6229 }, { 97,6229 }, { 98,6229 }, + { 99,6229 }, { 100,6229 }, { 101,6229 }, { 102,6229 }, { 103,6229 }, + { 104,6229 }, { 105,6229 }, { 106,6229 }, { 107,6229 }, { 108,6229 }, + + { 109,6229 }, { 110,6229 }, { 111,6229 }, { 112,6229 }, { 113,6229 }, + { 114,6229 }, { 115,6229 }, { 116,6229 }, { 117,6229 }, { 118,6229 }, + { 119,6229 }, { 120,6229 }, { 121,6229 }, { 122,6229 }, { 123,6229 }, + { 124,6229 }, { 125,6229 }, { 126,6229 }, { 127,6229 }, { 128,6229 }, + { 129,6229 }, { 130,6229 }, { 131,6229 }, { 132,6229 }, { 133,6229 }, + { 134,6229 }, { 135,6229 }, { 136,6229 }, { 137,6229 }, { 138,6229 }, + { 139,6229 }, { 140,6229 }, { 141,6229 }, { 142,6229 }, { 143,6229 }, + { 144,6229 }, { 145,6229 }, { 146,6229 }, { 147,6229 }, { 148,6229 }, + { 149,6229 }, { 150,6229 }, { 151,6229 }, { 152,6229 }, { 153,6229 }, + { 154,6229 }, { 155,6229 }, { 156,6229 }, { 157,6229 }, { 158,6229 }, + + { 159,6229 }, { 160,6229 }, { 161,6229 }, { 162,6229 }, { 163,6229 }, + { 164,6229 }, { 165,6229 }, { 166,6229 }, { 167,6229 }, { 168,6229 }, + { 169,6229 }, { 170,6229 }, { 171,6229 }, { 172,6229 }, { 173,6229 }, + { 174,6229 }, { 175,6229 }, { 176,6229 }, { 177,6229 }, { 178,6229 }, + { 179,6229 }, { 180,6229 }, { 181,6229 }, { 182,6229 }, { 183,6229 }, + { 184,6229 }, { 185,6229 }, { 186,6229 }, { 187,6229 }, { 188,6229 }, + { 189,6229 }, { 190,6229 }, { 191,6229 }, { 192,6229 }, { 193,6229 }, + { 194,6229 }, { 195,6229 }, { 196,6229 }, { 197,6229 }, { 198,6229 }, + { 199,6229 }, { 200,6229 }, { 201,6229 }, { 202,6229 }, { 203,6229 }, + { 204,6229 }, { 205,6229 }, { 206,6229 }, { 207,6229 }, { 208,6229 }, + + { 209,6229 }, { 210,6229 }, { 211,6229 }, { 212,6229 }, { 213,6229 }, + { 214,6229 }, { 215,6229 }, { 216,6229 }, { 217,6229 }, { 218,6229 }, + { 219,6229 }, { 220,6229 }, { 221,6229 }, { 222,6229 }, { 223,6229 }, + { 224,6229 }, { 225,6229 }, { 226,6229 }, { 227,6229 }, { 228,6229 }, + { 229,6229 }, { 230,6229 }, { 231,6229 }, { 232,6229 }, { 233,6229 }, + { 234,6229 }, { 235,6229 }, { 236,6229 }, { 237,6229 }, { 238,6229 }, + { 239,6229 }, { 240,6229 }, { 241,6229 }, { 242,6229 }, { 243,6229 }, + { 244,6229 }, { 245,6229 }, { 246,6229 }, { 247,6229 }, { 248,6229 }, + { 249,6229 }, { 250,6229 }, { 251,6229 }, { 252,6229 }, { 253,6229 }, + { 254,6229 }, { 255,6229 }, { 256,6229 }, { 0, 0 }, { 0,61181 }, + + { 1,6792 }, { 2,6792 }, { 3,6792 }, { 4,6792 }, { 5,6792 }, + { 6,6792 }, { 7,6792 }, { 8,6792 }, { 9,6792 }, { 10,6792 }, + { 11,6792 }, { 12,6792 }, { 13,6792 }, { 14,6792 }, { 15,6792 }, + { 16,6792 }, { 17,6792 }, { 18,6792 }, { 19,6792 }, { 20,6792 }, + { 21,6792 }, { 22,6792 }, { 23,6792 }, { 24,6792 }, { 25,6792 }, + { 26,6792 }, { 27,6792 }, { 28,6792 }, { 29,6792 }, { 30,6792 }, + { 31,6792 }, { 32,6792 }, { 33,6792 }, { 34,6792 }, { 35,6792 }, + { 36,6792 }, { 37,6792 }, { 38,6792 }, { 39,7050 }, { 40,6792 }, + { 41,6792 }, { 42,6792 }, { 43,6792 }, { 44,6792 }, { 45,6792 }, + { 46,6792 }, { 47,6792 }, { 48,6792 }, { 49,6792 }, { 50,6792 }, + + { 51,6792 }, { 52,6792 }, { 53,6792 }, { 54,6792 }, { 55,6792 }, + { 56,6792 }, { 57,6792 }, { 58,6792 }, { 59,6792 }, { 60,6792 }, + { 61,6792 }, { 62,6792 }, { 63,6792 }, { 64,6792 }, { 65,6792 }, + { 66,6792 }, { 67,6792 }, { 68,6792 }, { 69,6792 }, { 70,6792 }, + { 71,6792 }, { 72,6792 }, { 73,6792 }, { 74,6792 }, { 75,6792 }, + { 76,6792 }, { 77,6792 }, { 78,6792 }, { 79,6792 }, { 80,6792 }, + { 81,6792 }, { 82,6792 }, { 83,6792 }, { 84,6792 }, { 85,6792 }, + { 86,6792 }, { 87,6792 }, { 88,6792 }, { 89,6792 }, { 90,6792 }, + { 91,6792 }, { 92,6792 }, { 93,6792 }, { 94,6792 }, { 95,6792 }, + { 96,6792 }, { 97,6792 }, { 98,6792 }, { 99,6792 }, { 100,6792 }, + + { 101,6792 }, { 102,6792 }, { 103,6792 }, { 104,6792 }, { 105,6792 }, + { 106,6792 }, { 107,6792 }, { 108,6792 }, { 109,6792 }, { 110,6792 }, + { 111,6792 }, { 112,6792 }, { 113,6792 }, { 114,6792 }, { 115,6792 }, + { 116,6792 }, { 117,6792 }, { 118,6792 }, { 119,6792 }, { 120,6792 }, + { 121,6792 }, { 122,6792 }, { 123,6792 }, { 124,6792 }, { 125,6792 }, + { 126,6792 }, { 127,6792 }, { 128,6792 }, { 129,6792 }, { 130,6792 }, + { 131,6792 }, { 132,6792 }, { 133,6792 }, { 134,6792 }, { 135,6792 }, + { 136,6792 }, { 137,6792 }, { 138,6792 }, { 139,6792 }, { 140,6792 }, + { 141,6792 }, { 142,6792 }, { 143,6792 }, { 144,6792 }, { 145,6792 }, + { 146,6792 }, { 147,6792 }, { 148,6792 }, { 149,6792 }, { 150,6792 }, + + { 151,6792 }, { 152,6792 }, { 153,6792 }, { 154,6792 }, { 155,6792 }, + { 156,6792 }, { 157,6792 }, { 158,6792 }, { 159,6792 }, { 160,6792 }, + { 161,6792 }, { 162,6792 }, { 163,6792 }, { 164,6792 }, { 165,6792 }, + { 166,6792 }, { 167,6792 }, { 168,6792 }, { 169,6792 }, { 170,6792 }, + { 171,6792 }, { 172,6792 }, { 173,6792 }, { 174,6792 }, { 175,6792 }, + { 176,6792 }, { 177,6792 }, { 178,6792 }, { 179,6792 }, { 180,6792 }, + { 181,6792 }, { 182,6792 }, { 183,6792 }, { 184,6792 }, { 185,6792 }, + { 186,6792 }, { 187,6792 }, { 188,6792 }, { 189,6792 }, { 190,6792 }, + { 191,6792 }, { 192,6792 }, { 193,6792 }, { 194,6792 }, { 195,6792 }, + { 196,6792 }, { 197,6792 }, { 198,6792 }, { 199,6792 }, { 200,6792 }, + + { 201,6792 }, { 202,6792 }, { 203,6792 }, { 204,6792 }, { 205,6792 }, + { 206,6792 }, { 207,6792 }, { 208,6792 }, { 209,6792 }, { 210,6792 }, + { 211,6792 }, { 212,6792 }, { 213,6792 }, { 214,6792 }, { 215,6792 }, + { 216,6792 }, { 217,6792 }, { 218,6792 }, { 219,6792 }, { 220,6792 }, + { 221,6792 }, { 222,6792 }, { 223,6792 }, { 224,6792 }, { 225,6792 }, + { 226,6792 }, { 227,6792 }, { 228,6792 }, { 229,6792 }, { 230,6792 }, + { 231,6792 }, { 232,6792 }, { 233,6792 }, { 234,6792 }, { 235,6792 }, + { 236,6792 }, { 237,6792 }, { 238,6792 }, { 239,6792 }, { 240,6792 }, + { 241,6792 }, { 242,6792 }, { 243,6792 }, { 244,6792 }, { 245,6792 }, + { 246,6792 }, { 247,6792 }, { 248,6792 }, { 249,6792 }, { 250,6792 }, + + { 251,6792 }, { 252,6792 }, { 253,6792 }, { 254,6792 }, { 255,6792 }, + { 256,6792 }, { 0, 0 }, { 0,60923 }, { 1,6534 }, { 2,6534 }, + { 3,6534 }, { 4,6534 }, { 5,6534 }, { 6,6534 }, { 7,6534 }, + { 8,6534 }, { 9,6534 }, { 10,6534 }, { 11,6534 }, { 12,6534 }, + { 13,6534 }, { 14,6534 }, { 15,6534 }, { 16,6534 }, { 17,6534 }, + { 18,6534 }, { 19,6534 }, { 20,6534 }, { 21,6534 }, { 22,6534 }, + { 23,6534 }, { 24,6534 }, { 25,6534 }, { 26,6534 }, { 27,6534 }, + { 28,6534 }, { 29,6534 }, { 30,6534 }, { 31,6534 }, { 32,6534 }, + { 33,6534 }, { 34,6534 }, { 35,6534 }, { 36,6534 }, { 37,6534 }, + { 38,6534 }, { 39,6792 }, { 40,6534 }, { 41,6534 }, { 42,6534 }, + + { 43,6534 }, { 44,6534 }, { 45,6534 }, { 46,6534 }, { 47,6534 }, + { 48,6534 }, { 49,6534 }, { 50,6534 }, { 51,6534 }, { 52,6534 }, + { 53,6534 }, { 54,6534 }, { 55,6534 }, { 56,6534 }, { 57,6534 }, + { 58,6534 }, { 59,6534 }, { 60,6534 }, { 61,6534 }, { 62,6534 }, + { 63,6534 }, { 64,6534 }, { 65,6534 }, { 66,6534 }, { 67,6534 }, + { 68,6534 }, { 69,6534 }, { 70,6534 }, { 71,6534 }, { 72,6534 }, + { 73,6534 }, { 74,6534 }, { 75,6534 }, { 76,6534 }, { 77,6534 }, + { 78,6534 }, { 79,6534 }, { 80,6534 }, { 81,6534 }, { 82,6534 }, + { 83,6534 }, { 84,6534 }, { 85,6534 }, { 86,6534 }, { 87,6534 }, + { 88,6534 }, { 89,6534 }, { 90,6534 }, { 91,6534 }, { 92,6534 }, + + { 93,6534 }, { 94,6534 }, { 95,6534 }, { 96,6534 }, { 97,6534 }, + { 98,6534 }, { 99,6534 }, { 100,6534 }, { 101,6534 }, { 102,6534 }, + { 103,6534 }, { 104,6534 }, { 105,6534 }, { 106,6534 }, { 107,6534 }, + { 108,6534 }, { 109,6534 }, { 110,6534 }, { 111,6534 }, { 112,6534 }, + { 113,6534 }, { 114,6534 }, { 115,6534 }, { 116,6534 }, { 117,6534 }, + { 118,6534 }, { 119,6534 }, { 120,6534 }, { 121,6534 }, { 122,6534 }, + { 123,6534 }, { 124,6534 }, { 125,6534 }, { 126,6534 }, { 127,6534 }, + { 128,6534 }, { 129,6534 }, { 130,6534 }, { 131,6534 }, { 132,6534 }, + { 133,6534 }, { 134,6534 }, { 135,6534 }, { 136,6534 }, { 137,6534 }, + { 138,6534 }, { 139,6534 }, { 140,6534 }, { 141,6534 }, { 142,6534 }, + + { 143,6534 }, { 144,6534 }, { 145,6534 }, { 146,6534 }, { 147,6534 }, + { 148,6534 }, { 149,6534 }, { 150,6534 }, { 151,6534 }, { 152,6534 }, + { 153,6534 }, { 154,6534 }, { 155,6534 }, { 156,6534 }, { 157,6534 }, + { 158,6534 }, { 159,6534 }, { 160,6534 }, { 161,6534 }, { 162,6534 }, + { 163,6534 }, { 164,6534 }, { 165,6534 }, { 166,6534 }, { 167,6534 }, + { 168,6534 }, { 169,6534 }, { 170,6534 }, { 171,6534 }, { 172,6534 }, + { 173,6534 }, { 174,6534 }, { 175,6534 }, { 176,6534 }, { 177,6534 }, + { 178,6534 }, { 179,6534 }, { 180,6534 }, { 181,6534 }, { 182,6534 }, + { 183,6534 }, { 184,6534 }, { 185,6534 }, { 186,6534 }, { 187,6534 }, + { 188,6534 }, { 189,6534 }, { 190,6534 }, { 191,6534 }, { 192,6534 }, + + { 193,6534 }, { 194,6534 }, { 195,6534 }, { 196,6534 }, { 197,6534 }, + { 198,6534 }, { 199,6534 }, { 200,6534 }, { 201,6534 }, { 202,6534 }, + { 203,6534 }, { 204,6534 }, { 205,6534 }, { 206,6534 }, { 207,6534 }, + { 208,6534 }, { 209,6534 }, { 210,6534 }, { 211,6534 }, { 212,6534 }, + { 213,6534 }, { 214,6534 }, { 215,6534 }, { 216,6534 }, { 217,6534 }, + { 218,6534 }, { 219,6534 }, { 220,6534 }, { 221,6534 }, { 222,6534 }, + { 223,6534 }, { 224,6534 }, { 225,6534 }, { 226,6534 }, { 227,6534 }, + { 228,6534 }, { 229,6534 }, { 230,6534 }, { 231,6534 }, { 232,6534 }, + { 233,6534 }, { 234,6534 }, { 235,6534 }, { 236,6534 }, { 237,6534 }, + { 238,6534 }, { 239,6534 }, { 240,6534 }, { 241,6534 }, { 242,6534 }, + + { 243,6534 }, { 244,6534 }, { 245,6534 }, { 246,6534 }, { 247,6534 }, + { 248,6534 }, { 249,6534 }, { 250,6534 }, { 251,6534 }, { 252,6534 }, + { 253,6534 }, { 254,6534 }, { 255,6534 }, { 256,6534 }, { 0, 0 }, + { 0,60665 }, { 1,6581 }, { 2,6581 }, { 3,6581 }, { 4,6581 }, + { 5,6581 }, { 6,6581 }, { 7,6581 }, { 8,6581 }, { 9,6581 }, + { 10,6839 }, { 11,6581 }, { 12,6581 }, { 13,6581 }, { 14,6581 }, + { 15,6581 }, { 16,6581 }, { 17,6581 }, { 18,6581 }, { 19,6581 }, + { 20,6581 }, { 21,6581 }, { 22,6581 }, { 23,6581 }, { 24,6581 }, + { 25,6581 }, { 26,6581 }, { 27,6581 }, { 28,6581 }, { 29,6581 }, + { 30,6581 }, { 31,6581 }, { 32,6581 }, { 33,6581 }, { 34,6581 }, + + { 35,6581 }, { 36,7097 }, { 37,6581 }, { 38,6581 }, { 39,6581 }, + { 40,6581 }, { 41,6581 }, { 42,6581 }, { 43,6581 }, { 44,6581 }, + { 45,6581 }, { 46,6581 }, { 47,6581 }, { 48,6581 }, { 49,6581 }, + { 50,6581 }, { 51,6581 }, { 52,6581 }, { 53,6581 }, { 54,6581 }, + { 55,6581 }, { 56,6581 }, { 57,6581 }, { 58,6581 }, { 59,6581 }, + { 60,6581 }, { 61,6581 }, { 62,6581 }, { 63,6581 }, { 64,6581 }, + { 65,6581 }, { 66,6581 }, { 67,6581 }, { 68,6581 }, { 69,6581 }, + { 70,6581 }, { 71,6581 }, { 72,6581 }, { 73,6581 }, { 74,6581 }, + { 75,6581 }, { 76,6581 }, { 77,6581 }, { 78,6581 }, { 79,6581 }, + { 80,6581 }, { 81,6581 }, { 82,6581 }, { 83,6581 }, { 84,6581 }, + + { 85,6581 }, { 86,6581 }, { 87,6581 }, { 88,6581 }, { 89,6581 }, + { 90,6581 }, { 91,6581 }, { 92,6581 }, { 93,6581 }, { 94,6581 }, + { 95,6581 }, { 96,6581 }, { 97,6581 }, { 98,6581 }, { 99,6581 }, + { 100,6581 }, { 101,6581 }, { 102,6581 }, { 103,6581 }, { 104,6581 }, + { 105,6581 }, { 106,6581 }, { 107,6581 }, { 108,6581 }, { 109,6581 }, + { 110,6581 }, { 111,6581 }, { 112,6581 }, { 113,6581 }, { 114,6581 }, + { 115,6581 }, { 116,6581 }, { 117,6581 }, { 118,6581 }, { 119,6581 }, + { 120,6581 }, { 121,6581 }, { 122,6581 }, { 123,6581 }, { 124,6581 }, + { 125,6581 }, { 126,6581 }, { 127,6581 }, { 128,6581 }, { 129,6581 }, + { 130,6581 }, { 131,6581 }, { 132,6581 }, { 133,6581 }, { 134,6581 }, + + { 135,6581 }, { 136,6581 }, { 137,6581 }, { 138,6581 }, { 139,6581 }, + { 140,6581 }, { 141,6581 }, { 142,6581 }, { 143,6581 }, { 144,6581 }, + { 145,6581 }, { 146,6581 }, { 147,6581 }, { 148,6581 }, { 149,6581 }, + { 150,6581 }, { 151,6581 }, { 152,6581 }, { 153,6581 }, { 154,6581 }, + { 155,6581 }, { 156,6581 }, { 157,6581 }, { 158,6581 }, { 159,6581 }, + { 160,6581 }, { 161,6581 }, { 162,6581 }, { 163,6581 }, { 164,6581 }, + { 165,6581 }, { 166,6581 }, { 167,6581 }, { 168,6581 }, { 169,6581 }, + { 170,6581 }, { 171,6581 }, { 172,6581 }, { 173,6581 }, { 174,6581 }, + { 175,6581 }, { 176,6581 }, { 177,6581 }, { 178,6581 }, { 179,6581 }, + { 180,6581 }, { 181,6581 }, { 182,6581 }, { 183,6581 }, { 184,6581 }, + + { 185,6581 }, { 186,6581 }, { 187,6581 }, { 188,6581 }, { 189,6581 }, + { 190,6581 }, { 191,6581 }, { 192,6581 }, { 193,6581 }, { 194,6581 }, + { 195,6581 }, { 196,6581 }, { 197,6581 }, { 198,6581 }, { 199,6581 }, + { 200,6581 }, { 201,6581 }, { 202,6581 }, { 203,6581 }, { 204,6581 }, + { 205,6581 }, { 206,6581 }, { 207,6581 }, { 208,6581 }, { 209,6581 }, + { 210,6581 }, { 211,6581 }, { 212,6581 }, { 213,6581 }, { 214,6581 }, + { 215,6581 }, { 216,6581 }, { 217,6581 }, { 218,6581 }, { 219,6581 }, + { 220,6581 }, { 221,6581 }, { 222,6581 }, { 223,6581 }, { 224,6581 }, + { 225,6581 }, { 226,6581 }, { 227,6581 }, { 228,6581 }, { 229,6581 }, + { 230,6581 }, { 231,6581 }, { 232,6581 }, { 233,6581 }, { 234,6581 }, + + { 235,6581 }, { 236,6581 }, { 237,6581 }, { 238,6581 }, { 239,6581 }, + { 240,6581 }, { 241,6581 }, { 242,6581 }, { 243,6581 }, { 244,6581 }, + { 245,6581 }, { 246,6581 }, { 247,6581 }, { 248,6581 }, { 249,6581 }, + { 250,6581 }, { 251,6581 }, { 252,6581 }, { 253,6581 }, { 254,6581 }, + { 255,6581 }, { 256,6581 }, { 0, 0 }, { 0,60407 }, { 1,6323 }, + { 2,6323 }, { 3,6323 }, { 4,6323 }, { 5,6323 }, { 6,6323 }, + { 7,6323 }, { 8,6323 }, { 9,6323 }, { 10,6581 }, { 11,6323 }, + { 12,6323 }, { 13,6323 }, { 14,6323 }, { 15,6323 }, { 16,6323 }, + { 17,6323 }, { 18,6323 }, { 19,6323 }, { 20,6323 }, { 21,6323 }, + { 22,6323 }, { 23,6323 }, { 24,6323 }, { 25,6323 }, { 26,6323 }, + + { 27,6323 }, { 28,6323 }, { 29,6323 }, { 30,6323 }, { 31,6323 }, + { 32,6323 }, { 33,6323 }, { 34,6323 }, { 35,6323 }, { 36,6839 }, + { 37,6323 }, { 38,6323 }, { 39,6323 }, { 40,6323 }, { 41,6323 }, + { 42,6323 }, { 43,6323 }, { 44,6323 }, { 45,6323 }, { 46,6323 }, + { 47,6323 }, { 48,6323 }, { 49,6323 }, { 50,6323 }, { 51,6323 }, + { 52,6323 }, { 53,6323 }, { 54,6323 }, { 55,6323 }, { 56,6323 }, + { 57,6323 }, { 58,6323 }, { 59,6323 }, { 60,6323 }, { 61,6323 }, + { 62,6323 }, { 63,6323 }, { 64,6323 }, { 65,6323 }, { 66,6323 }, + { 67,6323 }, { 68,6323 }, { 69,6323 }, { 70,6323 }, { 71,6323 }, + { 72,6323 }, { 73,6323 }, { 74,6323 }, { 75,6323 }, { 76,6323 }, + + { 77,6323 }, { 78,6323 }, { 79,6323 }, { 80,6323 }, { 81,6323 }, + { 82,6323 }, { 83,6323 }, { 84,6323 }, { 85,6323 }, { 86,6323 }, + { 87,6323 }, { 88,6323 }, { 89,6323 }, { 90,6323 }, { 91,6323 }, + { 92,6323 }, { 93,6323 }, { 94,6323 }, { 95,6323 }, { 96,6323 }, + { 97,6323 }, { 98,6323 }, { 99,6323 }, { 100,6323 }, { 101,6323 }, + { 102,6323 }, { 103,6323 }, { 104,6323 }, { 105,6323 }, { 106,6323 }, + { 107,6323 }, { 108,6323 }, { 109,6323 }, { 110,6323 }, { 111,6323 }, + { 112,6323 }, { 113,6323 }, { 114,6323 }, { 115,6323 }, { 116,6323 }, + { 117,6323 }, { 118,6323 }, { 119,6323 }, { 120,6323 }, { 121,6323 }, + { 122,6323 }, { 123,6323 }, { 124,6323 }, { 125,6323 }, { 126,6323 }, + + { 127,6323 }, { 128,6323 }, { 129,6323 }, { 130,6323 }, { 131,6323 }, + { 132,6323 }, { 133,6323 }, { 134,6323 }, { 135,6323 }, { 136,6323 }, + { 137,6323 }, { 138,6323 }, { 139,6323 }, { 140,6323 }, { 141,6323 }, + { 142,6323 }, { 143,6323 }, { 144,6323 }, { 145,6323 }, { 146,6323 }, + { 147,6323 }, { 148,6323 }, { 149,6323 }, { 150,6323 }, { 151,6323 }, + { 152,6323 }, { 153,6323 }, { 154,6323 }, { 155,6323 }, { 156,6323 }, + { 157,6323 }, { 158,6323 }, { 159,6323 }, { 160,6323 }, { 161,6323 }, + { 162,6323 }, { 163,6323 }, { 164,6323 }, { 165,6323 }, { 166,6323 }, + { 167,6323 }, { 168,6323 }, { 169,6323 }, { 170,6323 }, { 171,6323 }, + { 172,6323 }, { 173,6323 }, { 174,6323 }, { 175,6323 }, { 176,6323 }, + + { 177,6323 }, { 178,6323 }, { 179,6323 }, { 180,6323 }, { 181,6323 }, + { 182,6323 }, { 183,6323 }, { 184,6323 }, { 185,6323 }, { 186,6323 }, + { 187,6323 }, { 188,6323 }, { 189,6323 }, { 190,6323 }, { 191,6323 }, + { 192,6323 }, { 193,6323 }, { 194,6323 }, { 195,6323 }, { 196,6323 }, + { 197,6323 }, { 198,6323 }, { 199,6323 }, { 200,6323 }, { 201,6323 }, + { 202,6323 }, { 203,6323 }, { 204,6323 }, { 205,6323 }, { 206,6323 }, + { 207,6323 }, { 208,6323 }, { 209,6323 }, { 210,6323 }, { 211,6323 }, + { 212,6323 }, { 213,6323 }, { 214,6323 }, { 215,6323 }, { 216,6323 }, + { 217,6323 }, { 218,6323 }, { 219,6323 }, { 220,6323 }, { 221,6323 }, + { 222,6323 }, { 223,6323 }, { 224,6323 }, { 225,6323 }, { 226,6323 }, + + { 227,6323 }, { 228,6323 }, { 229,6323 }, { 230,6323 }, { 231,6323 }, + { 232,6323 }, { 233,6323 }, { 234,6323 }, { 235,6323 }, { 236,6323 }, + { 237,6323 }, { 238,6323 }, { 239,6323 }, { 240,6323 }, { 241,6323 }, + { 242,6323 }, { 243,6323 }, { 244,6323 }, { 245,6323 }, { 246,6323 }, + { 247,6323 }, { 248,6323 }, { 249,6323 }, { 250,6323 }, { 251,6323 }, + { 252,6323 }, { 253,6323 }, { 254,6323 }, { 255,6323 }, { 256,6323 }, + { 0, 0 }, { 0,60149 }, { 1,4376 }, { 2,4376 }, { 3,4376 }, + { 4,4376 }, { 5,4376 }, { 6,4376 }, { 7,4376 }, { 8,4376 }, + { 9,4376 }, { 10,4376 }, { 11,4376 }, { 12,4376 }, { 13,4376 }, + { 14,4376 }, { 15,4376 }, { 16,4376 }, { 17,4376 }, { 18,4376 }, + + { 19,4376 }, { 20,4376 }, { 21,4376 }, { 22,4376 }, { 23,4376 }, + { 24,4376 }, { 25,4376 }, { 26,4376 }, { 27,4376 }, { 28,4376 }, + { 29,4376 }, { 30,4376 }, { 31,4376 }, { 32,4376 }, { 33,4376 }, + { 34,6587 }, { 35,4376 }, { 36,4376 }, { 37,4376 }, { 38,4376 }, + { 39,4376 }, { 40,4376 }, { 41,4376 }, { 42,4376 }, { 43,4376 }, + { 44,4376 }, { 45,4376 }, { 46,4376 }, { 47,4376 }, { 48,4376 }, + { 49,4376 }, { 50,4376 }, { 51,4376 }, { 52,4376 }, { 53,4376 }, + { 54,4376 }, { 55,4376 }, { 56,4376 }, { 57,4376 }, { 58,4376 }, + { 59,4376 }, { 60,4376 }, { 61,4376 }, { 62,4376 }, { 63,4376 }, + { 64,4376 }, { 65,4376 }, { 66,4376 }, { 67,4376 }, { 68,4376 }, + + { 69,4376 }, { 70,4376 }, { 71,4376 }, { 72,4376 }, { 73,4376 }, + { 74,4376 }, { 75,4376 }, { 76,4376 }, { 77,4376 }, { 78,4376 }, + { 79,4376 }, { 80,4376 }, { 81,4376 }, { 82,4376 }, { 83,4376 }, + { 84,4376 }, { 85,4376 }, { 86,4376 }, { 87,4376 }, { 88,4376 }, + { 89,4376 }, { 90,4376 }, { 91,4376 }, { 92,4376 }, { 93,4376 }, + { 94,4376 }, { 95,4376 }, { 96,4376 }, { 97,4376 }, { 98,4376 }, + { 99,4376 }, { 100,4376 }, { 101,4376 }, { 102,4376 }, { 103,4376 }, + { 104,4376 }, { 105,4376 }, { 106,4376 }, { 107,4376 }, { 108,4376 }, + { 109,4376 }, { 110,4376 }, { 111,4376 }, { 112,4376 }, { 113,4376 }, + { 114,4376 }, { 115,4376 }, { 116,4376 }, { 117,4376 }, { 118,4376 }, + + { 119,4376 }, { 120,4376 }, { 121,4376 }, { 122,4376 }, { 123,4376 }, + { 124,4376 }, { 125,4376 }, { 126,4376 }, { 127,4376 }, { 128,4376 }, + { 129,4376 }, { 130,4376 }, { 131,4376 }, { 132,4376 }, { 133,4376 }, + { 134,4376 }, { 135,4376 }, { 136,4376 }, { 137,4376 }, { 138,4376 }, + { 139,4376 }, { 140,4376 }, { 141,4376 }, { 142,4376 }, { 143,4376 }, + { 144,4376 }, { 145,4376 }, { 146,4376 }, { 147,4376 }, { 148,4376 }, + { 149,4376 }, { 150,4376 }, { 151,4376 }, { 152,4376 }, { 153,4376 }, + { 154,4376 }, { 155,4376 }, { 156,4376 }, { 157,4376 }, { 158,4376 }, + { 159,4376 }, { 160,4376 }, { 161,4376 }, { 162,4376 }, { 163,4376 }, + { 164,4376 }, { 165,4376 }, { 166,4376 }, { 167,4376 }, { 168,4376 }, + + { 169,4376 }, { 170,4376 }, { 171,4376 }, { 172,4376 }, { 173,4376 }, + { 174,4376 }, { 175,4376 }, { 176,4376 }, { 177,4376 }, { 178,4376 }, + { 179,4376 }, { 180,4376 }, { 181,4376 }, { 182,4376 }, { 183,4376 }, + { 184,4376 }, { 185,4376 }, { 186,4376 }, { 187,4376 }, { 188,4376 }, + { 189,4376 }, { 190,4376 }, { 191,4376 }, { 192,4376 }, { 193,4376 }, + { 194,4376 }, { 195,4376 }, { 196,4376 }, { 197,4376 }, { 198,4376 }, + { 199,4376 }, { 200,4376 }, { 201,4376 }, { 202,4376 }, { 203,4376 }, + { 204,4376 }, { 205,4376 }, { 206,4376 }, { 207,4376 }, { 208,4376 }, + { 209,4376 }, { 210,4376 }, { 211,4376 }, { 212,4376 }, { 213,4376 }, + { 214,4376 }, { 215,4376 }, { 216,4376 }, { 217,4376 }, { 218,4376 }, + + { 219,4376 }, { 220,4376 }, { 221,4376 }, { 222,4376 }, { 223,4376 }, + { 224,4376 }, { 225,4376 }, { 226,4376 }, { 227,4376 }, { 228,4376 }, + { 229,4376 }, { 230,4376 }, { 231,4376 }, { 232,4376 }, { 233,4376 }, + { 234,4376 }, { 235,4376 }, { 236,4376 }, { 237,4376 }, { 238,4376 }, + { 239,4376 }, { 240,4376 }, { 241,4376 }, { 242,4376 }, { 243,4376 }, + { 244,4376 }, { 245,4376 }, { 246,4376 }, { 247,4376 }, { 248,4376 }, + { 249,4376 }, { 250,4376 }, { 251,4376 }, { 252,4376 }, { 253,4376 }, + { 254,4376 }, { 255,4376 }, { 256,4376 }, { 0, 0 }, { 0,59891 }, + { 1,4118 }, { 2,4118 }, { 3,4118 }, { 4,4118 }, { 5,4118 }, + { 6,4118 }, { 7,4118 }, { 8,4118 }, { 9,4118 }, { 10,4118 }, + + { 11,4118 }, { 12,4118 }, { 13,4118 }, { 14,4118 }, { 15,4118 }, + { 16,4118 }, { 17,4118 }, { 18,4118 }, { 19,4118 }, { 20,4118 }, + { 21,4118 }, { 22,4118 }, { 23,4118 }, { 24,4118 }, { 25,4118 }, + { 26,4118 }, { 27,4118 }, { 28,4118 }, { 29,4118 }, { 30,4118 }, + { 31,4118 }, { 32,4118 }, { 33,4118 }, { 34,6329 }, { 35,4118 }, + { 36,4118 }, { 37,4118 }, { 38,4118 }, { 39,4118 }, { 40,4118 }, + { 41,4118 }, { 42,4118 }, { 43,4118 }, { 44,4118 }, { 45,4118 }, + { 46,4118 }, { 47,4118 }, { 48,4118 }, { 49,4118 }, { 50,4118 }, + { 51,4118 }, { 52,4118 }, { 53,4118 }, { 54,4118 }, { 55,4118 }, + { 56,4118 }, { 57,4118 }, { 58,4118 }, { 59,4118 }, { 60,4118 }, + + { 61,4118 }, { 62,4118 }, { 63,4118 }, { 64,4118 }, { 65,4118 }, + { 66,4118 }, { 67,4118 }, { 68,4118 }, { 69,4118 }, { 70,4118 }, + { 71,4118 }, { 72,4118 }, { 73,4118 }, { 74,4118 }, { 75,4118 }, + { 76,4118 }, { 77,4118 }, { 78,4118 }, { 79,4118 }, { 80,4118 }, + { 81,4118 }, { 82,4118 }, { 83,4118 }, { 84,4118 }, { 85,4118 }, + { 86,4118 }, { 87,4118 }, { 88,4118 }, { 89,4118 }, { 90,4118 }, + { 91,4118 }, { 92,4118 }, { 93,4118 }, { 94,4118 }, { 95,4118 }, + { 96,4118 }, { 97,4118 }, { 98,4118 }, { 99,4118 }, { 100,4118 }, + { 101,4118 }, { 102,4118 }, { 103,4118 }, { 104,4118 }, { 105,4118 }, + { 106,4118 }, { 107,4118 }, { 108,4118 }, { 109,4118 }, { 110,4118 }, + + { 111,4118 }, { 112,4118 }, { 113,4118 }, { 114,4118 }, { 115,4118 }, + { 116,4118 }, { 117,4118 }, { 118,4118 }, { 119,4118 }, { 120,4118 }, + { 121,4118 }, { 122,4118 }, { 123,4118 }, { 124,4118 }, { 125,4118 }, + { 126,4118 }, { 127,4118 }, { 128,4118 }, { 129,4118 }, { 130,4118 }, + { 131,4118 }, { 132,4118 }, { 133,4118 }, { 134,4118 }, { 135,4118 }, + { 136,4118 }, { 137,4118 }, { 138,4118 }, { 139,4118 }, { 140,4118 }, + { 141,4118 }, { 142,4118 }, { 143,4118 }, { 144,4118 }, { 145,4118 }, + { 146,4118 }, { 147,4118 }, { 148,4118 }, { 149,4118 }, { 150,4118 }, + { 151,4118 }, { 152,4118 }, { 153,4118 }, { 154,4118 }, { 155,4118 }, + { 156,4118 }, { 157,4118 }, { 158,4118 }, { 159,4118 }, { 160,4118 }, + + { 161,4118 }, { 162,4118 }, { 163,4118 }, { 164,4118 }, { 165,4118 }, + { 166,4118 }, { 167,4118 }, { 168,4118 }, { 169,4118 }, { 170,4118 }, + { 171,4118 }, { 172,4118 }, { 173,4118 }, { 174,4118 }, { 175,4118 }, + { 176,4118 }, { 177,4118 }, { 178,4118 }, { 179,4118 }, { 180,4118 }, + { 181,4118 }, { 182,4118 }, { 183,4118 }, { 184,4118 }, { 185,4118 }, + { 186,4118 }, { 187,4118 }, { 188,4118 }, { 189,4118 }, { 190,4118 }, + { 191,4118 }, { 192,4118 }, { 193,4118 }, { 194,4118 }, { 195,4118 }, + { 196,4118 }, { 197,4118 }, { 198,4118 }, { 199,4118 }, { 200,4118 }, + { 201,4118 }, { 202,4118 }, { 203,4118 }, { 204,4118 }, { 205,4118 }, + { 206,4118 }, { 207,4118 }, { 208,4118 }, { 209,4118 }, { 210,4118 }, + + { 211,4118 }, { 212,4118 }, { 213,4118 }, { 214,4118 }, { 215,4118 }, + { 216,4118 }, { 217,4118 }, { 218,4118 }, { 219,4118 }, { 220,4118 }, + { 221,4118 }, { 222,4118 }, { 223,4118 }, { 224,4118 }, { 225,4118 }, + { 226,4118 }, { 227,4118 }, { 228,4118 }, { 229,4118 }, { 230,4118 }, + { 231,4118 }, { 232,4118 }, { 233,4118 }, { 234,4118 }, { 235,4118 }, + { 236,4118 }, { 237,4118 }, { 238,4118 }, { 239,4118 }, { 240,4118 }, + { 241,4118 }, { 242,4118 }, { 243,4118 }, { 244,4118 }, { 245,4118 }, + { 246,4118 }, { 247,4118 }, { 248,4118 }, { 249,4118 }, { 250,4118 }, + { 251,4118 }, { 252,4118 }, { 253,4118 }, { 254,4118 }, { 255,4118 }, + { 256,4118 }, { 0, 0 }, { 0,59633 }, { 1,5244 }, { 2,5244 }, + + { 3,5244 }, { 4,5244 }, { 5,5244 }, { 6,5244 }, { 7,5244 }, + { 8,5244 }, { 9,5244 }, { 10,5244 }, { 11,5244 }, { 12,5244 }, + { 13,5244 }, { 14,5244 }, { 15,5244 }, { 16,5244 }, { 17,5244 }, + { 18,5244 }, { 19,5244 }, { 20,5244 }, { 21,5244 }, { 22,5244 }, + { 23,5244 }, { 24,5244 }, { 25,5244 }, { 26,5244 }, { 27,5244 }, + { 28,5244 }, { 29,5244 }, { 30,5244 }, { 31,5244 }, { 32,5244 }, + { 33,5244 }, { 34,5244 }, { 35,5244 }, { 36,5244 }, { 37,5244 }, + { 38,5244 }, { 39,6322 }, { 40,5244 }, { 41,5244 }, { 42,5244 }, + { 43,5244 }, { 44,5244 }, { 45,5244 }, { 46,5244 }, { 47,5244 }, + { 48,5244 }, { 49,5244 }, { 50,5244 }, { 51,5244 }, { 52,5244 }, + + { 53,5244 }, { 54,5244 }, { 55,5244 }, { 56,5244 }, { 57,5244 }, + { 58,5244 }, { 59,5244 }, { 60,5244 }, { 61,5244 }, { 62,5244 }, + { 63,5244 }, { 64,5244 }, { 65,5244 }, { 66,5244 }, { 67,5244 }, + { 68,5244 }, { 69,5244 }, { 70,5244 }, { 71,5244 }, { 72,5244 }, + { 73,5244 }, { 74,5244 }, { 75,5244 }, { 76,5244 }, { 77,5244 }, + { 78,5244 }, { 79,5244 }, { 80,5244 }, { 81,5244 }, { 82,5244 }, + { 83,5244 }, { 84,5244 }, { 85,5244 }, { 86,5244 }, { 87,5244 }, + { 88,5244 }, { 89,5244 }, { 90,5244 }, { 91,5244 }, { 92,5244 }, + { 93,5244 }, { 94,5244 }, { 95,5244 }, { 96,5244 }, { 97,5244 }, + { 98,5244 }, { 99,5244 }, { 100,5244 }, { 101,5244 }, { 102,5244 }, + + { 103,5244 }, { 104,5244 }, { 105,5244 }, { 106,5244 }, { 107,5244 }, + { 108,5244 }, { 109,5244 }, { 110,5244 }, { 111,5244 }, { 112,5244 }, + { 113,5244 }, { 114,5244 }, { 115,5244 }, { 116,5244 }, { 117,5244 }, + { 118,5244 }, { 119,5244 }, { 120,5244 }, { 121,5244 }, { 122,5244 }, + { 123,5244 }, { 124,5244 }, { 125,5244 }, { 126,5244 }, { 127,5244 }, + { 128,5244 }, { 129,5244 }, { 130,5244 }, { 131,5244 }, { 132,5244 }, + { 133,5244 }, { 134,5244 }, { 135,5244 }, { 136,5244 }, { 137,5244 }, + { 138,5244 }, { 139,5244 }, { 140,5244 }, { 141,5244 }, { 142,5244 }, + { 143,5244 }, { 144,5244 }, { 145,5244 }, { 146,5244 }, { 147,5244 }, + { 148,5244 }, { 149,5244 }, { 150,5244 }, { 151,5244 }, { 152,5244 }, + + { 153,5244 }, { 154,5244 }, { 155,5244 }, { 156,5244 }, { 157,5244 }, + { 158,5244 }, { 159,5244 }, { 160,5244 }, { 161,5244 }, { 162,5244 }, + { 163,5244 }, { 164,5244 }, { 165,5244 }, { 166,5244 }, { 167,5244 }, + { 168,5244 }, { 169,5244 }, { 170,5244 }, { 171,5244 }, { 172,5244 }, + { 173,5244 }, { 174,5244 }, { 175,5244 }, { 176,5244 }, { 177,5244 }, + { 178,5244 }, { 179,5244 }, { 180,5244 }, { 181,5244 }, { 182,5244 }, + { 183,5244 }, { 184,5244 }, { 185,5244 }, { 186,5244 }, { 187,5244 }, + { 188,5244 }, { 189,5244 }, { 190,5244 }, { 191,5244 }, { 192,5244 }, + { 193,5244 }, { 194,5244 }, { 195,5244 }, { 196,5244 }, { 197,5244 }, + { 198,5244 }, { 199,5244 }, { 200,5244 }, { 201,5244 }, { 202,5244 }, + + { 203,5244 }, { 204,5244 }, { 205,5244 }, { 206,5244 }, { 207,5244 }, + { 208,5244 }, { 209,5244 }, { 210,5244 }, { 211,5244 }, { 212,5244 }, + { 213,5244 }, { 214,5244 }, { 215,5244 }, { 216,5244 }, { 217,5244 }, + { 218,5244 }, { 219,5244 }, { 220,5244 }, { 221,5244 }, { 222,5244 }, + { 223,5244 }, { 224,5244 }, { 225,5244 }, { 226,5244 }, { 227,5244 }, + { 228,5244 }, { 229,5244 }, { 230,5244 }, { 231,5244 }, { 232,5244 }, + { 233,5244 }, { 234,5244 }, { 235,5244 }, { 236,5244 }, { 237,5244 }, + { 238,5244 }, { 239,5244 }, { 240,5244 }, { 241,5244 }, { 242,5244 }, + { 243,5244 }, { 244,5244 }, { 245,5244 }, { 246,5244 }, { 247,5244 }, + { 248,5244 }, { 249,5244 }, { 250,5244 }, { 251,5244 }, { 252,5244 }, + + { 253,5244 }, { 254,5244 }, { 255,5244 }, { 256,5244 }, { 0, 0 }, + { 0,59375 }, { 1,4986 }, { 2,4986 }, { 3,4986 }, { 4,4986 }, + { 5,4986 }, { 6,4986 }, { 7,4986 }, { 8,4986 }, { 9,4986 }, + { 10,4986 }, { 11,4986 }, { 12,4986 }, { 13,4986 }, { 14,4986 }, + { 15,4986 }, { 16,4986 }, { 17,4986 }, { 18,4986 }, { 19,4986 }, + { 20,4986 }, { 21,4986 }, { 22,4986 }, { 23,4986 }, { 24,4986 }, + { 25,4986 }, { 26,4986 }, { 27,4986 }, { 28,4986 }, { 29,4986 }, + { 30,4986 }, { 31,4986 }, { 32,4986 }, { 33,4986 }, { 34,4986 }, + { 35,4986 }, { 36,4986 }, { 37,4986 }, { 38,4986 }, { 39,6064 }, + { 40,4986 }, { 41,4986 }, { 42,4986 }, { 43,4986 }, { 44,4986 }, + + { 45,4986 }, { 46,4986 }, { 47,4986 }, { 48,4986 }, { 49,4986 }, + { 50,4986 }, { 51,4986 }, { 52,4986 }, { 53,4986 }, { 54,4986 }, + { 55,4986 }, { 56,4986 }, { 57,4986 }, { 58,4986 }, { 59,4986 }, + { 60,4986 }, { 61,4986 }, { 62,4986 }, { 63,4986 }, { 64,4986 }, + { 65,4986 }, { 66,4986 }, { 67,4986 }, { 68,4986 }, { 69,4986 }, + { 70,4986 }, { 71,4986 }, { 72,4986 }, { 73,4986 }, { 74,4986 }, + { 75,4986 }, { 76,4986 }, { 77,4986 }, { 78,4986 }, { 79,4986 }, + { 80,4986 }, { 81,4986 }, { 82,4986 }, { 83,4986 }, { 84,4986 }, + { 85,4986 }, { 86,4986 }, { 87,4986 }, { 88,4986 }, { 89,4986 }, + { 90,4986 }, { 91,4986 }, { 92,4986 }, { 93,4986 }, { 94,4986 }, + + { 95,4986 }, { 96,4986 }, { 97,4986 }, { 98,4986 }, { 99,4986 }, + { 100,4986 }, { 101,4986 }, { 102,4986 }, { 103,4986 }, { 104,4986 }, + { 105,4986 }, { 106,4986 }, { 107,4986 }, { 108,4986 }, { 109,4986 }, + { 110,4986 }, { 111,4986 }, { 112,4986 }, { 113,4986 }, { 114,4986 }, + { 115,4986 }, { 116,4986 }, { 117,4986 }, { 118,4986 }, { 119,4986 }, + { 120,4986 }, { 121,4986 }, { 122,4986 }, { 123,4986 }, { 124,4986 }, + { 125,4986 }, { 126,4986 }, { 127,4986 }, { 128,4986 }, { 129,4986 }, + { 130,4986 }, { 131,4986 }, { 132,4986 }, { 133,4986 }, { 134,4986 }, + { 135,4986 }, { 136,4986 }, { 137,4986 }, { 138,4986 }, { 139,4986 }, + { 140,4986 }, { 141,4986 }, { 142,4986 }, { 143,4986 }, { 144,4986 }, + + { 145,4986 }, { 146,4986 }, { 147,4986 }, { 148,4986 }, { 149,4986 }, + { 150,4986 }, { 151,4986 }, { 152,4986 }, { 153,4986 }, { 154,4986 }, + { 155,4986 }, { 156,4986 }, { 157,4986 }, { 158,4986 }, { 159,4986 }, + { 160,4986 }, { 161,4986 }, { 162,4986 }, { 163,4986 }, { 164,4986 }, + { 165,4986 }, { 166,4986 }, { 167,4986 }, { 168,4986 }, { 169,4986 }, + { 170,4986 }, { 171,4986 }, { 172,4986 }, { 173,4986 }, { 174,4986 }, + { 175,4986 }, { 176,4986 }, { 177,4986 }, { 178,4986 }, { 179,4986 }, + { 180,4986 }, { 181,4986 }, { 182,4986 }, { 183,4986 }, { 184,4986 }, + { 185,4986 }, { 186,4986 }, { 187,4986 }, { 188,4986 }, { 189,4986 }, + { 190,4986 }, { 191,4986 }, { 192,4986 }, { 193,4986 }, { 194,4986 }, + + { 195,4986 }, { 196,4986 }, { 197,4986 }, { 198,4986 }, { 199,4986 }, + { 200,4986 }, { 201,4986 }, { 202,4986 }, { 203,4986 }, { 204,4986 }, + { 205,4986 }, { 206,4986 }, { 207,4986 }, { 208,4986 }, { 209,4986 }, + { 210,4986 }, { 211,4986 }, { 212,4986 }, { 213,4986 }, { 214,4986 }, + { 215,4986 }, { 216,4986 }, { 217,4986 }, { 218,4986 }, { 219,4986 }, + { 220,4986 }, { 221,4986 }, { 222,4986 }, { 223,4986 }, { 224,4986 }, + { 225,4986 }, { 226,4986 }, { 227,4986 }, { 228,4986 }, { 229,4986 }, + { 230,4986 }, { 231,4986 }, { 232,4986 }, { 233,4986 }, { 234,4986 }, + { 235,4986 }, { 236,4986 }, { 237,4986 }, { 238,4986 }, { 239,4986 }, + { 240,4986 }, { 241,4986 }, { 242,4986 }, { 243,4986 }, { 244,4986 }, + + { 245,4986 }, { 246,4986 }, { 247,4986 }, { 248,4986 }, { 249,4986 }, + { 250,4986 }, { 251,4986 }, { 252,4986 }, { 253,4986 }, { 254,4986 }, + { 255,4986 }, { 256,4986 }, { 0, 0 }, { 0,59117 }, { 1, 574 }, + { 2, 574 }, { 3, 574 }, { 4, 574 }, { 5, 574 }, { 6, 574 }, + { 7, 574 }, { 8, 574 }, { 9, 574 }, { 10, 576 }, { 11, 574 }, + { 12, 574 }, { 13, 574 }, { 14, 574 }, { 15, 574 }, { 16, 574 }, + { 17, 574 }, { 18, 574 }, { 19, 574 }, { 20, 574 }, { 21, 574 }, + { 22, 574 }, { 23, 574 }, { 24, 574 }, { 25, 574 }, { 26, 574 }, + { 27, 574 }, { 28, 574 }, { 29, 574 }, { 30, 574 }, { 31, 574 }, + { 32, 574 }, { 33, 574 }, { 34, 574 }, { 35, 574 }, { 36, 574 }, + + { 37, 574 }, { 38, 574 }, { 39, 574 }, { 40, 574 }, { 41, 574 }, + { 42, 574 }, { 43, 574 }, { 44, 574 }, { 45, 574 }, { 46, 574 }, + { 47, 574 }, { 48, 574 }, { 49, 574 }, { 50, 574 }, { 51, 574 }, + { 52, 574 }, { 53, 574 }, { 54, 574 }, { 55, 574 }, { 56, 574 }, + { 57, 574 }, { 58, 574 }, { 59, 574 }, { 60, 574 }, { 61, 574 }, + { 62, 574 }, { 63, 574 }, { 64, 574 }, { 65, 574 }, { 66, 574 }, + { 67, 574 }, { 68, 574 }, { 69, 574 }, { 70, 574 }, { 71, 574 }, + { 72, 574 }, { 73, 574 }, { 74, 574 }, { 75, 574 }, { 76, 574 }, + { 77, 574 }, { 78, 574 }, { 79, 574 }, { 80, 574 }, { 81, 574 }, + { 82, 574 }, { 83, 574 }, { 84, 574 }, { 85, 574 }, { 86, 574 }, + + { 87, 574 }, { 88, 574 }, { 89, 574 }, { 90, 574 }, { 91, 574 }, + { 92, 817 }, { 93, 574 }, { 94, 574 }, { 95, 574 }, { 96, 574 }, + { 97, 574 }, { 98, 574 }, { 99, 574 }, { 100, 574 }, { 101, 574 }, + { 102, 574 }, { 103, 574 }, { 104, 574 }, { 105, 574 }, { 106, 574 }, + { 107, 574 }, { 108, 574 }, { 109, 574 }, { 110, 574 }, { 111, 574 }, + { 112, 574 }, { 113, 574 }, { 114, 574 }, { 115, 574 }, { 116, 574 }, + { 117, 574 }, { 118, 574 }, { 119, 574 }, { 120, 574 }, { 121, 574 }, + { 122, 574 }, { 123, 574 }, { 124, 574 }, { 125, 574 }, { 126, 574 }, + { 127, 574 }, { 128, 574 }, { 129, 574 }, { 130, 574 }, { 131, 574 }, + { 132, 574 }, { 133, 574 }, { 134, 574 }, { 135, 574 }, { 136, 574 }, + + { 137, 574 }, { 138, 574 }, { 139, 574 }, { 140, 574 }, { 141, 574 }, + { 142, 574 }, { 143, 574 }, { 144, 574 }, { 145, 574 }, { 146, 574 }, + { 147, 574 }, { 148, 574 }, { 149, 574 }, { 150, 574 }, { 151, 574 }, + { 152, 574 }, { 153, 574 }, { 154, 574 }, { 155, 574 }, { 156, 574 }, + { 157, 574 }, { 158, 574 }, { 159, 574 }, { 160, 574 }, { 161, 574 }, + { 162, 574 }, { 163, 574 }, { 164, 574 }, { 165, 574 }, { 166, 574 }, + { 167, 574 }, { 168, 574 }, { 169, 574 }, { 170, 574 }, { 171, 574 }, + { 172, 574 }, { 173, 574 }, { 174, 574 }, { 175, 574 }, { 176, 574 }, + { 177, 574 }, { 178, 574 }, { 179, 574 }, { 180, 574 }, { 181, 574 }, + { 182, 574 }, { 183, 574 }, { 184, 574 }, { 185, 574 }, { 186, 574 }, + + { 187, 574 }, { 188, 574 }, { 189, 574 }, { 190, 574 }, { 191, 574 }, + { 192, 574 }, { 193, 574 }, { 194, 574 }, { 195, 574 }, { 196, 574 }, + { 197, 574 }, { 198, 574 }, { 199, 574 }, { 200, 574 }, { 201, 574 }, + { 202, 574 }, { 203, 574 }, { 204, 574 }, { 205, 574 }, { 206, 574 }, + { 207, 574 }, { 208, 574 }, { 209, 574 }, { 210, 574 }, { 211, 574 }, + { 212, 574 }, { 213, 574 }, { 214, 574 }, { 215, 574 }, { 216, 574 }, + { 217, 574 }, { 218, 574 }, { 219, 574 }, { 220, 574 }, { 221, 574 }, + { 222, 574 }, { 223, 574 }, { 224, 574 }, { 225, 574 }, { 226, 574 }, + { 227, 574 }, { 228, 574 }, { 229, 574 }, { 230, 574 }, { 231, 574 }, + { 232, 574 }, { 233, 574 }, { 234, 574 }, { 235, 574 }, { 236, 574 }, + + { 237, 574 }, { 238, 574 }, { 239, 574 }, { 240, 574 }, { 241, 574 }, + { 242, 574 }, { 243, 574 }, { 244, 574 }, { 245, 574 }, { 246, 574 }, + { 247, 574 }, { 248, 574 }, { 249, 574 }, { 250, 574 }, { 251, 574 }, + { 252, 574 }, { 253, 574 }, { 254, 574 }, { 255, 574 }, { 256, 574 }, + { 0, 0 }, { 0,58859 }, { 1, 316 }, { 2, 316 }, { 3, 316 }, + { 4, 316 }, { 5, 316 }, { 6, 316 }, { 7, 316 }, { 8, 316 }, + { 9, 316 }, { 10, 318 }, { 11, 316 }, { 12, 316 }, { 13, 316 }, + { 14, 316 }, { 15, 316 }, { 16, 316 }, { 17, 316 }, { 18, 316 }, + { 19, 316 }, { 20, 316 }, { 21, 316 }, { 22, 316 }, { 23, 316 }, + { 24, 316 }, { 25, 316 }, { 26, 316 }, { 27, 316 }, { 28, 316 }, + + { 29, 316 }, { 30, 316 }, { 31, 316 }, { 32, 316 }, { 33, 316 }, + { 34, 316 }, { 35, 316 }, { 36, 316 }, { 37, 316 }, { 38, 316 }, + { 39, 316 }, { 40, 316 }, { 41, 316 }, { 42, 316 }, { 43, 316 }, + { 44, 316 }, { 45, 316 }, { 46, 316 }, { 47, 316 }, { 48, 316 }, + { 49, 316 }, { 50, 316 }, { 51, 316 }, { 52, 316 }, { 53, 316 }, + { 54, 316 }, { 55, 316 }, { 56, 316 }, { 57, 316 }, { 58, 316 }, + { 59, 316 }, { 60, 316 }, { 61, 316 }, { 62, 316 }, { 63, 316 }, + { 64, 316 }, { 65, 316 }, { 66, 316 }, { 67, 316 }, { 68, 316 }, + { 69, 316 }, { 70, 316 }, { 71, 316 }, { 72, 316 }, { 73, 316 }, + { 74, 316 }, { 75, 316 }, { 76, 316 }, { 77, 316 }, { 78, 316 }, + + { 79, 316 }, { 80, 316 }, { 81, 316 }, { 82, 316 }, { 83, 316 }, + { 84, 316 }, { 85, 316 }, { 86, 316 }, { 87, 316 }, { 88, 316 }, + { 89, 316 }, { 90, 316 }, { 91, 316 }, { 92, 559 }, { 93, 316 }, + { 94, 316 }, { 95, 316 }, { 96, 316 }, { 97, 316 }, { 98, 316 }, + { 99, 316 }, { 100, 316 }, { 101, 316 }, { 102, 316 }, { 103, 316 }, + { 104, 316 }, { 105, 316 }, { 106, 316 }, { 107, 316 }, { 108, 316 }, + { 109, 316 }, { 110, 316 }, { 111, 316 }, { 112, 316 }, { 113, 316 }, + { 114, 316 }, { 115, 316 }, { 116, 316 }, { 117, 316 }, { 118, 316 }, + { 119, 316 }, { 120, 316 }, { 121, 316 }, { 122, 316 }, { 123, 316 }, + { 124, 316 }, { 125, 316 }, { 126, 316 }, { 127, 316 }, { 128, 316 }, + + { 129, 316 }, { 130, 316 }, { 131, 316 }, { 132, 316 }, { 133, 316 }, + { 134, 316 }, { 135, 316 }, { 136, 316 }, { 137, 316 }, { 138, 316 }, + { 139, 316 }, { 140, 316 }, { 141, 316 }, { 142, 316 }, { 143, 316 }, + { 144, 316 }, { 145, 316 }, { 146, 316 }, { 147, 316 }, { 148, 316 }, + { 149, 316 }, { 150, 316 }, { 151, 316 }, { 152, 316 }, { 153, 316 }, + { 154, 316 }, { 155, 316 }, { 156, 316 }, { 157, 316 }, { 158, 316 }, + { 159, 316 }, { 160, 316 }, { 161, 316 }, { 162, 316 }, { 163, 316 }, + { 164, 316 }, { 165, 316 }, { 166, 316 }, { 167, 316 }, { 168, 316 }, + { 169, 316 }, { 170, 316 }, { 171, 316 }, { 172, 316 }, { 173, 316 }, + { 174, 316 }, { 175, 316 }, { 176, 316 }, { 177, 316 }, { 178, 316 }, + + { 179, 316 }, { 180, 316 }, { 181, 316 }, { 182, 316 }, { 183, 316 }, + { 184, 316 }, { 185, 316 }, { 186, 316 }, { 187, 316 }, { 188, 316 }, + { 189, 316 }, { 190, 316 }, { 191, 316 }, { 192, 316 }, { 193, 316 }, + { 194, 316 }, { 195, 316 }, { 196, 316 }, { 197, 316 }, { 198, 316 }, + { 199, 316 }, { 200, 316 }, { 201, 316 }, { 202, 316 }, { 203, 316 }, + { 204, 316 }, { 205, 316 }, { 206, 316 }, { 207, 316 }, { 208, 316 }, + { 209, 316 }, { 210, 316 }, { 211, 316 }, { 212, 316 }, { 213, 316 }, + { 214, 316 }, { 215, 316 }, { 216, 316 }, { 217, 316 }, { 218, 316 }, + { 219, 316 }, { 220, 316 }, { 221, 316 }, { 222, 316 }, { 223, 316 }, + { 224, 316 }, { 225, 316 }, { 226, 316 }, { 227, 316 }, { 228, 316 }, + + { 229, 316 }, { 230, 316 }, { 231, 316 }, { 232, 316 }, { 233, 316 }, + { 234, 316 }, { 235, 316 }, { 236, 316 }, { 237, 316 }, { 238, 316 }, + { 239, 316 }, { 240, 316 }, { 241, 316 }, { 242, 316 }, { 243, 316 }, + { 244, 316 }, { 245, 316 }, { 246, 316 }, { 247, 316 }, { 248, 316 }, + { 249, 316 }, { 250, 316 }, { 251, 316 }, { 252, 316 }, { 253, 316 }, + { 254, 316 }, { 255, 316 }, { 256, 316 }, { 0, 66 }, { 0,58601 }, + { 0, 1 }, { 0,58599 }, { 0, 45 }, { 0,58597 }, { 0, 0 }, + { 0, 1 }, { 0,58594 }, { 0, 57 }, { 0,58592 }, { 0, 0 }, + { 9,5293 }, { 10,5293 }, { 0, 0 }, { 12,5293 }, { 13,5293 }, + { 9,5288 }, { 10,5288 }, { 0, 0 }, { 12,5288 }, { 13,5288 }, + + { 0, 19 }, { 0,58579 }, { 0, 56 }, { 0,58577 }, { 0, 56 }, + { 0,58575 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 6 }, { 0,58569 }, { 0, 0 }, { 32,5293 }, { 0, 6 }, + { 0,58565 }, { 0, 0 }, { 0, 0 }, { 32,5288 }, { 0, 66 }, + { 0,58560 }, { 33,5301 }, { 0, 0 }, { 35,5301 }, { 0, 0 }, + { 37,5301 }, { 38,5301 }, { 0, 47 }, { 0,58552 }, { 0, 0 }, + { 42,5301 }, { 43,5301 }, { 0, 0 }, { 45,5301 }, { 0, 0 }, + { 47,5301 }, { 0, 31 }, { 0,58543 }, { 0, 32 }, { 0,58541 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 60,5301 }, { 61,5301 }, + + { 62,5301 }, { 63,5301 }, { 64,5301 }, { 42, 394 }, { 0, 0 }, + { 0, 0 }, { 36, 262 }, { 42,6846 }, { 47, 396 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 34, 381 }, { 58, 281 }, { 0, 0 }, + { 0, 0 }, { 61, 285 }, { 0, 0 }, { 48,5271 }, { 49,5271 }, + { 50,5271 }, { 51,5271 }, { 52,5271 }, { 53,5271 }, { 54,5271 }, + { 55,5271 }, { 56,5271 }, { 57,5271 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 94,5301 }, { 0, 0 }, { 96,5301 }, + { 65,5348 }, { 66,5348 }, { 67,5348 }, { 68,5348 }, { 69,5348 }, + { 70,5348 }, { 71,5348 }, { 72,5348 }, { 73,5348 }, { 74,5348 }, + { 75,5348 }, { 76,5348 }, { 77,5348 }, { 78,5348 }, { 79,5348 }, + + { 80,5348 }, { 81,5348 }, { 82,5348 }, { 83,5348 }, { 84,5348 }, + { 85,5348 }, { 86,5348 }, { 87,5348 }, { 88,5348 }, { 89,5348 }, + { 90,5348 }, { 0, 0 }, { 124,5301 }, { 0, 0 }, { 126,5301 }, + { 95,5348 }, { 0, 0 }, { 97,5348 }, { 98,5348 }, { 99,5348 }, + { 100,5348 }, { 101,5348 }, { 102,5348 }, { 103,5348 }, { 104,5348 }, + { 105,5348 }, { 106,5348 }, { 107,5348 }, { 108,5348 }, { 109,5348 }, + { 110,5348 }, { 111,5348 }, { 112,5348 }, { 113,5348 }, { 114,5348 }, + { 115,5348 }, { 116,5348 }, { 117,5348 }, { 118,5348 }, { 119,5348 }, + { 120,5348 }, { 121,5348 }, { 122,5348 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,5348 }, { 129,5348 }, + + { 130,5348 }, { 131,5348 }, { 132,5348 }, { 133,5348 }, { 134,5348 }, + { 135,5348 }, { 136,5348 }, { 137,5348 }, { 138,5348 }, { 139,5348 }, + { 140,5348 }, { 141,5348 }, { 142,5348 }, { 143,5348 }, { 144,5348 }, + { 145,5348 }, { 146,5348 }, { 147,5348 }, { 148,5348 }, { 149,5348 }, + { 150,5348 }, { 151,5348 }, { 152,5348 }, { 153,5348 }, { 154,5348 }, + { 155,5348 }, { 156,5348 }, { 157,5348 }, { 158,5348 }, { 159,5348 }, + { 160,5348 }, { 161,5348 }, { 162,5348 }, { 163,5348 }, { 164,5348 }, + { 165,5348 }, { 166,5348 }, { 167,5348 }, { 168,5348 }, { 169,5348 }, + { 170,5348 }, { 171,5348 }, { 172,5348 }, { 173,5348 }, { 174,5348 }, + { 175,5348 }, { 176,5348 }, { 177,5348 }, { 178,5348 }, { 179,5348 }, + + { 180,5348 }, { 181,5348 }, { 182,5348 }, { 183,5348 }, { 184,5348 }, + { 185,5348 }, { 186,5348 }, { 187,5348 }, { 188,5348 }, { 189,5348 }, + { 190,5348 }, { 191,5348 }, { 192,5348 }, { 193,5348 }, { 194,5348 }, + { 195,5348 }, { 196,5348 }, { 197,5348 }, { 198,5348 }, { 199,5348 }, + { 200,5348 }, { 201,5348 }, { 202,5348 }, { 203,5348 }, { 204,5348 }, + { 205,5348 }, { 206,5348 }, { 207,5348 }, { 208,5348 }, { 209,5348 }, + { 210,5348 }, { 211,5348 }, { 212,5348 }, { 213,5348 }, { 214,5348 }, + { 215,5348 }, { 216,5348 }, { 217,5348 }, { 218,5348 }, { 219,5348 }, + { 220,5348 }, { 221,5348 }, { 222,5348 }, { 223,5348 }, { 224,5348 }, + { 225,5348 }, { 226,5348 }, { 227,5348 }, { 228,5348 }, { 229,5348 }, + + { 230,5348 }, { 231,5348 }, { 232,5348 }, { 233,5348 }, { 234,5348 }, + { 235,5348 }, { 236,5348 }, { 237,5348 }, { 238,5348 }, { 239,5348 }, + { 240,5348 }, { 241,5348 }, { 242,5348 }, { 243,5348 }, { 244,5348 }, + { 245,5348 }, { 246,5348 }, { 247,5348 }, { 248,5348 }, { 249,5348 }, + { 250,5348 }, { 251,5348 }, { 252,5348 }, { 253,5348 }, { 254,5348 }, + { 255,5348 }, { 0, 56 }, { 0,58303 }, { 0, 0 }, { 0, 31 }, + { 0,58300 }, { 0, 39 }, { 0,58298 }, { 0, 54 }, { 0,58296 }, + { 0, 53 }, { 0,58294 }, { 0, 56 }, { 0,58292 }, { 0, 55 }, + { 0,58290 }, { 0, 8 }, { 0,58288 }, { 0, 20 }, { 0,58286 }, + { 0, 18 }, { 0,58284 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 56 }, { 0,58273 }, { 0, 0 }, { 0, 0 }, + { 33,5012 }, { 0, 0 }, { 35,5012 }, { 0, 0 }, { 37,5012 }, + { 38,5012 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42,5012 }, + { 43,5012 }, { 33,5001 }, { 45,5012 }, { 35,5001 }, { 47,5012 }, + { 37,5001 }, { 38,5001 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 42,5001 }, { 43,5001 }, { 0, 0 }, { 45,5337 }, { 0, 0 }, + { 47,5001 }, { 0, 0 }, { 60,5012 }, { 61,5012 }, { 62,5012 }, + { 63,5012 }, { 64,5012 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 52 }, { 0,58233 }, { 60,5001 }, { 61,5001 }, + + { 62,5001 }, { 63,5001 }, { 64,5001 }, { 46, -23 }, { 0, 0 }, + { 48,5576 }, { 49,5576 }, { 50,5576 }, { 51,5576 }, { 52,5576 }, + { 53,5576 }, { 54,5576 }, { 55,5576 }, { 56,5576 }, { 57,5576 }, + { 85,8519 }, { 0, 15 }, { 0,58213 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 94,5012 }, { 0, 0 }, { 96,5012 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 56 }, { 0,58202 }, { 0, 59 }, + { 0,58200 }, { 34, 637 }, { 94,5001 }, { 0, 0 }, { 96,5001 }, + { 0, 0 }, { 39, 639 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 117,8591 }, { 0, 0 }, { 0, 10 }, + + { 0,58180 }, { 124,5012 }, { 0, 0 }, { 126,5012 }, { 0, 7 }, + { 0,58175 }, { 0, 4 }, { 0,58173 }, { 0, 50 }, { 0,58171 }, + { 0, 0 }, { 33,4911 }, { 124,5001 }, { 35,4911 }, { 126,5001 }, + { 37,4911 }, { 38,4911 }, { 0, 17 }, { 0,58162 }, { 0, 0 }, + { 42,5530 }, { 43,4911 }, { 0, 0 }, { 45,4911 }, { 0, 0 }, + { 47,4911 }, { 46,5530 }, { 0, 0 }, { 48,5594 }, { 49,5594 }, + { 50,5594 }, { 51,5594 }, { 52,5594 }, { 53,5594 }, { 54,5594 }, + { 55,5594 }, { 56,5594 }, { 57,5594 }, { 60,4911 }, { 61,4911 }, + { 62,4911 }, { 63,4911 }, { 64,4911 }, { 0, 65 }, { 0,58136 }, + { 45,9427 }, { 0, 0 }, { 42, 0 }, { 0, 0 }, { 69,5616 }, + + { 0, 26 }, { 0,58129 }, { 47, 2 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 23 }, { 0,58122 }, { 0, 34 }, + { 0,58120 }, { 0, 41 }, { 0,58118 }, { 45,9795 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 94,4911 }, { 0, 0 }, { 96,4911 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 36,5592 }, { 101,5616 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 48 }, + { 0,58090 }, { 0, 0 }, { 48,5592 }, { 49,5592 }, { 50,5592 }, + { 51,5592 }, { 52,5592 }, { 53,5592 }, { 54,5592 }, { 55,5592 }, + + { 56,5592 }, { 57,5592 }, { 124,4911 }, { 45,10060 }, { 126,4911 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,5592 }, + { 66,5592 }, { 67,5592 }, { 68,5592 }, { 69,5592 }, { 70,5592 }, + { 71,5592 }, { 72,5592 }, { 73,5592 }, { 74,5592 }, { 75,5592 }, + { 76,5592 }, { 77,5592 }, { 78,5592 }, { 79,5592 }, { 80,5592 }, + { 81,5592 }, { 82,5592 }, { 83,5592 }, { 84,5592 }, { 85,5592 }, + { 86,5592 }, { 87,5592 }, { 88,5592 }, { 89,5592 }, { 90,5592 }, + { 45,10684 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,5592 }, + { 0, 0 }, { 97,5592 }, { 98,5592 }, { 99,5592 }, { 100,5592 }, + { 101,5592 }, { 102,5592 }, { 103,5592 }, { 104,5592 }, { 105,5592 }, + + { 106,5592 }, { 107,5592 }, { 108,5592 }, { 109,5592 }, { 110,5592 }, + { 111,5592 }, { 112,5592 }, { 113,5592 }, { 114,5592 }, { 115,5592 }, + { 116,5592 }, { 117,5592 }, { 118,5592 }, { 119,5592 }, { 120,5592 }, + { 121,5592 }, { 122,5592 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,5592 }, { 129,5592 }, { 130,5592 }, + { 131,5592 }, { 132,5592 }, { 133,5592 }, { 134,5592 }, { 135,5592 }, + { 136,5592 }, { 137,5592 }, { 138,5592 }, { 139,5592 }, { 140,5592 }, + { 141,5592 }, { 142,5592 }, { 143,5592 }, { 144,5592 }, { 145,5592 }, + { 146,5592 }, { 147,5592 }, { 148,5592 }, { 149,5592 }, { 150,5592 }, + { 151,5592 }, { 152,5592 }, { 153,5592 }, { 154,5592 }, { 155,5592 }, + + { 156,5592 }, { 157,5592 }, { 158,5592 }, { 159,5592 }, { 160,5592 }, + { 161,5592 }, { 162,5592 }, { 163,5592 }, { 164,5592 }, { 165,5592 }, + { 166,5592 }, { 167,5592 }, { 168,5592 }, { 169,5592 }, { 170,5592 }, + { 171,5592 }, { 172,5592 }, { 173,5592 }, { 174,5592 }, { 175,5592 }, + { 176,5592 }, { 177,5592 }, { 178,5592 }, { 179,5592 }, { 180,5592 }, + { 181,5592 }, { 182,5592 }, { 183,5592 }, { 184,5592 }, { 185,5592 }, + { 186,5592 }, { 187,5592 }, { 188,5592 }, { 189,5592 }, { 190,5592 }, + { 191,5592 }, { 192,5592 }, { 193,5592 }, { 194,5592 }, { 195,5592 }, + { 196,5592 }, { 197,5592 }, { 198,5592 }, { 199,5592 }, { 200,5592 }, + { 201,5592 }, { 202,5592 }, { 203,5592 }, { 204,5592 }, { 205,5592 }, + + { 206,5592 }, { 207,5592 }, { 208,5592 }, { 209,5592 }, { 210,5592 }, + { 211,5592 }, { 212,5592 }, { 213,5592 }, { 214,5592 }, { 215,5592 }, + { 216,5592 }, { 217,5592 }, { 218,5592 }, { 219,5592 }, { 220,5592 }, + { 221,5592 }, { 222,5592 }, { 223,5592 }, { 224,5592 }, { 225,5592 }, + { 226,5592 }, { 227,5592 }, { 228,5592 }, { 229,5592 }, { 230,5592 }, + { 231,5592 }, { 232,5592 }, { 233,5592 }, { 234,5592 }, { 235,5592 }, + { 236,5592 }, { 237,5592 }, { 238,5592 }, { 239,5592 }, { 240,5592 }, + { 241,5592 }, { 242,5592 }, { 243,5592 }, { 244,5592 }, { 245,5592 }, + { 246,5592 }, { 247,5592 }, { 248,5592 }, { 249,5592 }, { 250,5592 }, + { 251,5592 }, { 252,5592 }, { 253,5592 }, { 254,5592 }, { 255,5592 }, + + { 0, 65 }, { 0,57879 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 48 }, { 0,57857 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 36,5335 }, { 0, 0 }, { 0, 0 }, + { 39,-409 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 24 }, { 0,57832 }, { 48,5335 }, + + { 49,5335 }, { 50,5335 }, { 51,5335 }, { 52,5335 }, { 53,5335 }, + { 54,5335 }, { 55,5335 }, { 56,5335 }, { 57,5335 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,5335 }, { 66,5335 }, { 67,5335 }, { 68,5335 }, + { 69,5335 }, { 70,5335 }, { 71,5335 }, { 72,5335 }, { 73,5335 }, + { 74,5335 }, { 75,5335 }, { 76,5335 }, { 77,5335 }, { 78,5335 }, + { 79,5335 }, { 80,5335 }, { 81,5335 }, { 82,5335 }, { 83,5335 }, + { 84,5335 }, { 85,5335 }, { 86,5335 }, { 87,5335 }, { 88,5335 }, + { 89,5335 }, { 90,5335 }, { 69, 757 }, { 45,10803 }, { 0, 0 }, + { 0, 0 }, { 95,5335 }, { 0, 0 }, { 97,5335 }, { 98,5335 }, + + { 99,5335 }, { 100,5335 }, { 101,5335 }, { 102,5335 }, { 103,5335 }, + { 104,5335 }, { 105,5335 }, { 106,5335 }, { 107,5335 }, { 108,5335 }, + { 109,5335 }, { 110,5335 }, { 111,5335 }, { 112,5335 }, { 113,5335 }, + { 114,5335 }, { 115,5335 }, { 116,5335 }, { 117,5335 }, { 118,5335 }, + { 119,5335 }, { 120,5335 }, { 121,5335 }, { 122,5335 }, { 101, 757 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,5335 }, + { 129,5335 }, { 130,5335 }, { 131,5335 }, { 132,5335 }, { 133,5335 }, + { 134,5335 }, { 135,5335 }, { 136,5335 }, { 137,5335 }, { 138,5335 }, + { 139,5335 }, { 140,5335 }, { 141,5335 }, { 142,5335 }, { 143,5335 }, + { 144,5335 }, { 145,5335 }, { 146,5335 }, { 147,5335 }, { 148,5335 }, + + { 149,5335 }, { 150,5335 }, { 151,5335 }, { 152,5335 }, { 153,5335 }, + { 154,5335 }, { 155,5335 }, { 156,5335 }, { 157,5335 }, { 158,5335 }, + { 159,5335 }, { 160,5335 }, { 161,5335 }, { 162,5335 }, { 163,5335 }, + { 164,5335 }, { 165,5335 }, { 166,5335 }, { 167,5335 }, { 168,5335 }, + { 169,5335 }, { 170,5335 }, { 171,5335 }, { 172,5335 }, { 173,5335 }, + { 174,5335 }, { 175,5335 }, { 176,5335 }, { 177,5335 }, { 178,5335 }, + { 179,5335 }, { 180,5335 }, { 181,5335 }, { 182,5335 }, { 183,5335 }, + { 184,5335 }, { 185,5335 }, { 186,5335 }, { 187,5335 }, { 188,5335 }, + { 189,5335 }, { 190,5335 }, { 191,5335 }, { 192,5335 }, { 193,5335 }, + { 194,5335 }, { 195,5335 }, { 196,5335 }, { 197,5335 }, { 198,5335 }, + + { 199,5335 }, { 200,5335 }, { 201,5335 }, { 202,5335 }, { 203,5335 }, + { 204,5335 }, { 205,5335 }, { 206,5335 }, { 207,5335 }, { 208,5335 }, + { 209,5335 }, { 210,5335 }, { 211,5335 }, { 212,5335 }, { 213,5335 }, + { 214,5335 }, { 215,5335 }, { 216,5335 }, { 217,5335 }, { 218,5335 }, + { 219,5335 }, { 220,5335 }, { 221,5335 }, { 222,5335 }, { 223,5335 }, + { 224,5335 }, { 225,5335 }, { 226,5335 }, { 227,5335 }, { 228,5335 }, + { 229,5335 }, { 230,5335 }, { 231,5335 }, { 232,5335 }, { 233,5335 }, + { 234,5335 }, { 235,5335 }, { 236,5335 }, { 237,5335 }, { 238,5335 }, + { 239,5335 }, { 240,5335 }, { 241,5335 }, { 242,5335 }, { 243,5335 }, + { 244,5335 }, { 245,5335 }, { 246,5335 }, { 247,5335 }, { 248,5335 }, + + { 249,5335 }, { 250,5335 }, { 251,5335 }, { 252,5335 }, { 253,5335 }, + { 254,5335 }, { 255,5335 }, { 0, 65 }, { 0,57622 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 24 }, + { 0,57600 }, { 0, 61 }, { 0,57598 }, { 0, 46 }, { 0,57596 }, + { 0, 21 }, { 0,57594 }, { 0, 14 }, { 0,57592 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,5078 }, + { 0, 0 }, { 0, 0 }, { 39,-664 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 10 }, + { 0,57575 }, { 48,5078 }, { 49,5078 }, { 50,5078 }, { 51,5078 }, + { 52,5078 }, { 53,5078 }, { 54,5078 }, { 55,5078 }, { 56,5078 }, + { 57,5078 }, { 0, 13 }, { 0,57563 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,5078 }, { 66,5078 }, + { 67,5078 }, { 68,5078 }, { 69,5078 }, { 70,5078 }, { 71,5078 }, + { 72,5078 }, { 73,5078 }, { 74,5078 }, { 75,5078 }, { 76,5078 }, + { 77,5078 }, { 78,5078 }, { 79,5078 }, { 80,5078 }, { 81,5078 }, + { 82,5078 }, { 83,5078 }, { 84,5078 }, { 85,5078 }, { 86,5078 }, + { 87,5078 }, { 88,5078 }, { 89,5078 }, { 90,5078 }, { 69, 757 }, + + { 45,10931 }, { 0, 0 }, { 0, 0 }, { 95,5078 }, { 0, 0 }, + { 97,5078 }, { 98,5078 }, { 99,5078 }, { 100,5078 }, { 101,5078 }, + { 102,5078 }, { 103,5078 }, { 104,5078 }, { 105,5078 }, { 106,5078 }, + { 107,5078 }, { 108,5078 }, { 109,5078 }, { 110,5078 }, { 111,5078 }, + { 112,5078 }, { 113,5078 }, { 114,5078 }, { 115,5078 }, { 116,5078 }, + { 117,5078 }, { 118,5078 }, { 119,5078 }, { 120,5078 }, { 121,5078 }, + { 122,5078 }, { 101, 757 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,5078 }, { 129,5078 }, { 130,5078 }, { 131,5078 }, + { 132,5078 }, { 133,5078 }, { 134,5078 }, { 135,5078 }, { 136,5078 }, + { 137,5078 }, { 138,5078 }, { 139,5078 }, { 140,5078 }, { 141,5078 }, + + { 142,5078 }, { 143,5078 }, { 144,5078 }, { 145,5078 }, { 146,5078 }, + { 147,5078 }, { 148,5078 }, { 149,5078 }, { 150,5078 }, { 151,5078 }, + { 152,5078 }, { 153,5078 }, { 154,5078 }, { 155,5078 }, { 156,5078 }, + { 157,5078 }, { 158,5078 }, { 159,5078 }, { 160,5078 }, { 161,5078 }, + { 162,5078 }, { 163,5078 }, { 164,5078 }, { 165,5078 }, { 166,5078 }, + { 167,5078 }, { 168,5078 }, { 169,5078 }, { 170,5078 }, { 171,5078 }, + { 172,5078 }, { 173,5078 }, { 174,5078 }, { 175,5078 }, { 176,5078 }, + { 177,5078 }, { 178,5078 }, { 179,5078 }, { 180,5078 }, { 181,5078 }, + { 182,5078 }, { 183,5078 }, { 184,5078 }, { 185,5078 }, { 186,5078 }, + { 187,5078 }, { 188,5078 }, { 189,5078 }, { 190,5078 }, { 191,5078 }, + + { 192,5078 }, { 193,5078 }, { 194,5078 }, { 195,5078 }, { 196,5078 }, + { 197,5078 }, { 198,5078 }, { 199,5078 }, { 200,5078 }, { 201,5078 }, + { 202,5078 }, { 203,5078 }, { 204,5078 }, { 205,5078 }, { 206,5078 }, + { 207,5078 }, { 208,5078 }, { 209,5078 }, { 210,5078 }, { 211,5078 }, + { 212,5078 }, { 213,5078 }, { 214,5078 }, { 215,5078 }, { 216,5078 }, + { 217,5078 }, { 218,5078 }, { 219,5078 }, { 220,5078 }, { 221,5078 }, + { 222,5078 }, { 223,5078 }, { 224,5078 }, { 225,5078 }, { 226,5078 }, + { 227,5078 }, { 228,5078 }, { 229,5078 }, { 230,5078 }, { 231,5078 }, + { 232,5078 }, { 233,5078 }, { 234,5078 }, { 235,5078 }, { 236,5078 }, + { 237,5078 }, { 238,5078 }, { 239,5078 }, { 240,5078 }, { 241,5078 }, + + { 242,5078 }, { 243,5078 }, { 244,5078 }, { 245,5078 }, { 246,5078 }, + { 247,5078 }, { 248,5078 }, { 249,5078 }, { 250,5078 }, { 251,5078 }, + { 252,5078 }, { 253,5078 }, { 254,5078 }, { 255,5078 }, { 0, 65 }, + { 0,57365 }, { 0, 17 }, { 0,57363 }, { 0, 37 }, { 0,57361 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 23 }, { 0,57352 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 36,4821 }, { 0, 0 }, { 0, 0 }, { 39,-919 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 45,11751 }, { 48,4821 }, { 49,4821 }, + { 50,4821 }, { 51,4821 }, { 52,4821 }, { 53,4821 }, { 54,4821 }, + { 55,4821 }, { 56,4821 }, { 57,4821 }, { 45,12772 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,4821 }, { 66,4821 }, { 67,4821 }, { 68,4821 }, { 69,4821 }, + { 70,4821 }, { 71,4821 }, { 72,4821 }, { 73,4821 }, { 74,4821 }, + { 75,4821 }, { 76,4821 }, { 77,4821 }, { 78,4821 }, { 79,4821 }, + { 80,4821 }, { 81,4821 }, { 82,4821 }, { 83,4821 }, { 84,4821 }, + + { 85,4821 }, { 86,4821 }, { 87,4821 }, { 88,4821 }, { 89,4821 }, + { 90,4821 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,4821 }, { 0, 0 }, { 97,4821 }, { 98,4821 }, { 99,4821 }, + { 100,4821 }, { 101,4821 }, { 102,4821 }, { 103,4821 }, { 104,4821 }, + { 105,4821 }, { 106,4821 }, { 107,4821 }, { 108,4821 }, { 109,4821 }, + { 110,4821 }, { 111,4821 }, { 112,4821 }, { 113,4821 }, { 114,4821 }, + { 115,4821 }, { 116,4821 }, { 117,4821 }, { 118,4821 }, { 119,4821 }, + { 120,4821 }, { 121,4821 }, { 122,4821 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,4821 }, { 129,4821 }, + { 130,4821 }, { 131,4821 }, { 132,4821 }, { 133,4821 }, { 134,4821 }, + + { 135,4821 }, { 136,4821 }, { 137,4821 }, { 138,4821 }, { 139,4821 }, + { 140,4821 }, { 141,4821 }, { 142,4821 }, { 143,4821 }, { 144,4821 }, + { 145,4821 }, { 146,4821 }, { 147,4821 }, { 148,4821 }, { 149,4821 }, + { 150,4821 }, { 151,4821 }, { 152,4821 }, { 153,4821 }, { 154,4821 }, + { 155,4821 }, { 156,4821 }, { 157,4821 }, { 158,4821 }, { 159,4821 }, + { 160,4821 }, { 161,4821 }, { 162,4821 }, { 163,4821 }, { 164,4821 }, + { 165,4821 }, { 166,4821 }, { 167,4821 }, { 168,4821 }, { 169,4821 }, + { 170,4821 }, { 171,4821 }, { 172,4821 }, { 173,4821 }, { 174,4821 }, + { 175,4821 }, { 176,4821 }, { 177,4821 }, { 178,4821 }, { 179,4821 }, + { 180,4821 }, { 181,4821 }, { 182,4821 }, { 183,4821 }, { 184,4821 }, + + { 185,4821 }, { 186,4821 }, { 187,4821 }, { 188,4821 }, { 189,4821 }, + { 190,4821 }, { 191,4821 }, { 192,4821 }, { 193,4821 }, { 194,4821 }, + { 195,4821 }, { 196,4821 }, { 197,4821 }, { 198,4821 }, { 199,4821 }, + { 200,4821 }, { 201,4821 }, { 202,4821 }, { 203,4821 }, { 204,4821 }, + { 205,4821 }, { 206,4821 }, { 207,4821 }, { 208,4821 }, { 209,4821 }, + { 210,4821 }, { 211,4821 }, { 212,4821 }, { 213,4821 }, { 214,4821 }, + { 215,4821 }, { 216,4821 }, { 217,4821 }, { 218,4821 }, { 219,4821 }, + { 220,4821 }, { 221,4821 }, { 222,4821 }, { 223,4821 }, { 224,4821 }, + { 225,4821 }, { 226,4821 }, { 227,4821 }, { 228,4821 }, { 229,4821 }, + { 230,4821 }, { 231,4821 }, { 232,4821 }, { 233,4821 }, { 234,4821 }, + + { 235,4821 }, { 236,4821 }, { 237,4821 }, { 238,4821 }, { 239,4821 }, + { 240,4821 }, { 241,4821 }, { 242,4821 }, { 243,4821 }, { 244,4821 }, + { 245,4821 }, { 246,4821 }, { 247,4821 }, { 248,4821 }, { 249,4821 }, + { 250,4821 }, { 251,4821 }, { 252,4821 }, { 253,4821 }, { 254,4821 }, + { 255,4821 }, { 0, 65 }, { 0,57108 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 48 }, + { 0,57100 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 24 }, + { 0,57095 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,4564 }, { 0, 0 }, + { 38,-1125 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,4564 }, { 49,4564 }, { 50,4564 }, { 51,4564 }, { 52,4564 }, + { 53,4564 }, { 54,4564 }, { 55,4564 }, { 56,4564 }, { 57,4564 }, + { 45,14706 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,4564 }, { 66,4564 }, { 67,4564 }, + { 68,4564 }, { 69,4564 }, { 70,4564 }, { 71,4564 }, { 72,4564 }, + { 73,4564 }, { 74,4564 }, { 75,4564 }, { 76,4564 }, { 77,4564 }, + + { 78,4564 }, { 79,4564 }, { 80,4564 }, { 81,4564 }, { 82,4564 }, + { 83,4564 }, { 84,4564 }, { 85,4564 }, { 86,4564 }, { 87,4564 }, + { 88,4564 }, { 89,4564 }, { 90,4564 }, { 83, 274 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,4564 }, { 0, 0 }, { 97,4564 }, + { 98,4564 }, { 99,4564 }, { 100,4564 }, { 101,4564 }, { 102,4564 }, + { 103,4564 }, { 104,4564 }, { 105,4564 }, { 106,4564 }, { 107,4564 }, + { 108,4564 }, { 109,4564 }, { 110,4564 }, { 111,4564 }, { 112,4564 }, + { 113,4564 }, { 114,4564 }, { 115,4564 }, { 116,4564 }, { 117,4564 }, + { 118,4564 }, { 119,4564 }, { 120,4564 }, { 121,4564 }, { 122,4564 }, + { 115, 274 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 128,4564 }, { 129,4564 }, { 130,4564 }, { 131,4564 }, { 132,4564 }, + { 133,4564 }, { 134,4564 }, { 135,4564 }, { 136,4564 }, { 137,4564 }, + { 138,4564 }, { 139,4564 }, { 140,4564 }, { 141,4564 }, { 142,4564 }, + { 143,4564 }, { 144,4564 }, { 145,4564 }, { 146,4564 }, { 147,4564 }, + { 148,4564 }, { 149,4564 }, { 150,4564 }, { 151,4564 }, { 152,4564 }, + { 153,4564 }, { 154,4564 }, { 155,4564 }, { 156,4564 }, { 157,4564 }, + { 158,4564 }, { 159,4564 }, { 160,4564 }, { 161,4564 }, { 162,4564 }, + { 163,4564 }, { 164,4564 }, { 165,4564 }, { 166,4564 }, { 167,4564 }, + { 168,4564 }, { 169,4564 }, { 170,4564 }, { 171,4564 }, { 172,4564 }, + { 173,4564 }, { 174,4564 }, { 175,4564 }, { 176,4564 }, { 177,4564 }, + + { 178,4564 }, { 179,4564 }, { 180,4564 }, { 181,4564 }, { 182,4564 }, + { 183,4564 }, { 184,4564 }, { 185,4564 }, { 186,4564 }, { 187,4564 }, + { 188,4564 }, { 189,4564 }, { 190,4564 }, { 191,4564 }, { 192,4564 }, + { 193,4564 }, { 194,4564 }, { 195,4564 }, { 196,4564 }, { 197,4564 }, + { 198,4564 }, { 199,4564 }, { 200,4564 }, { 201,4564 }, { 202,4564 }, + { 203,4564 }, { 204,4564 }, { 205,4564 }, { 206,4564 }, { 207,4564 }, + { 208,4564 }, { 209,4564 }, { 210,4564 }, { 211,4564 }, { 212,4564 }, + { 213,4564 }, { 214,4564 }, { 215,4564 }, { 216,4564 }, { 217,4564 }, + { 218,4564 }, { 219,4564 }, { 220,4564 }, { 221,4564 }, { 222,4564 }, + { 223,4564 }, { 224,4564 }, { 225,4564 }, { 226,4564 }, { 227,4564 }, + + { 228,4564 }, { 229,4564 }, { 230,4564 }, { 231,4564 }, { 232,4564 }, + { 233,4564 }, { 234,4564 }, { 235,4564 }, { 236,4564 }, { 237,4564 }, + { 238,4564 }, { 239,4564 }, { 240,4564 }, { 241,4564 }, { 242,4564 }, + { 243,4564 }, { 244,4564 }, { 245,4564 }, { 246,4564 }, { 247,4564 }, + { 248,4564 }, { 249,4564 }, { 250,4564 }, { 251,4564 }, { 252,4564 }, + { 253,4564 }, { 254,4564 }, { 255,4564 }, { 0, 65 }, { 0,56851 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 24 }, { 0,56843 }, { 0, 35 }, { 0,56841 }, + { 0, 36 }, { 0,56839 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 48 }, { 0,56826 }, + { 0, 24 }, { 0,56824 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 36,4307 }, { 0, 0 }, { 0, 0 }, { 39,-1362 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,4307 }, { 49,4307 }, { 50,4307 }, + { 51,4307 }, { 52,4307 }, { 53,4307 }, { 54,4307 }, { 55,4307 }, + { 56,4307 }, { 57,4307 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,4307 }, + { 66,4307 }, { 67,4307 }, { 68,4307 }, { 69,4307 }, { 70,4307 }, + + { 71,4307 }, { 72,4307 }, { 73,4307 }, { 74,4307 }, { 75,4307 }, + { 76,4307 }, { 77,4307 }, { 78,4307 }, { 79,4307 }, { 80,4307 }, + { 81,4307 }, { 82,4307 }, { 83,4307 }, { 84,4307 }, { 85,4307 }, + { 86,4307 }, { 87,4307 }, { 88,4307 }, { 89,4307 }, { 90,4307 }, + { 83, 19 }, { 67,3285 }, { 0, 0 }, { 67,3285 }, { 95,4307 }, + { 0, 0 }, { 97,4307 }, { 98,4307 }, { 99,4307 }, { 100,4307 }, + { 101,4307 }, { 102,4307 }, { 103,4307 }, { 104,4307 }, { 105,4307 }, + { 106,4307 }, { 107,4307 }, { 108,4307 }, { 109,4307 }, { 110,4307 }, + { 111,4307 }, { 112,4307 }, { 113,4307 }, { 114,4307 }, { 115,4307 }, + { 116,4307 }, { 117,4307 }, { 118,4307 }, { 119,4307 }, { 120,4307 }, + + { 121,4307 }, { 122,4307 }, { 115, 19 }, { 99,3285 }, { 0, 0 }, + { 99,3285 }, { 0, 0 }, { 128,4307 }, { 129,4307 }, { 130,4307 }, + { 131,4307 }, { 132,4307 }, { 133,4307 }, { 134,4307 }, { 135,4307 }, + { 136,4307 }, { 137,4307 }, { 138,4307 }, { 139,4307 }, { 140,4307 }, + { 141,4307 }, { 142,4307 }, { 143,4307 }, { 144,4307 }, { 145,4307 }, + { 146,4307 }, { 147,4307 }, { 148,4307 }, { 149,4307 }, { 150,4307 }, + { 151,4307 }, { 152,4307 }, { 153,4307 }, { 154,4307 }, { 155,4307 }, + { 156,4307 }, { 157,4307 }, { 158,4307 }, { 159,4307 }, { 160,4307 }, + { 161,4307 }, { 162,4307 }, { 163,4307 }, { 164,4307 }, { 165,4307 }, + { 166,4307 }, { 167,4307 }, { 168,4307 }, { 169,4307 }, { 170,4307 }, + + { 171,4307 }, { 172,4307 }, { 173,4307 }, { 174,4307 }, { 175,4307 }, + { 176,4307 }, { 177,4307 }, { 178,4307 }, { 179,4307 }, { 180,4307 }, + { 181,4307 }, { 182,4307 }, { 183,4307 }, { 184,4307 }, { 185,4307 }, + { 186,4307 }, { 187,4307 }, { 188,4307 }, { 189,4307 }, { 190,4307 }, + { 191,4307 }, { 192,4307 }, { 193,4307 }, { 194,4307 }, { 195,4307 }, + { 196,4307 }, { 197,4307 }, { 198,4307 }, { 199,4307 }, { 200,4307 }, + { 201,4307 }, { 202,4307 }, { 203,4307 }, { 204,4307 }, { 205,4307 }, + { 206,4307 }, { 207,4307 }, { 208,4307 }, { 209,4307 }, { 210,4307 }, + { 211,4307 }, { 212,4307 }, { 213,4307 }, { 214,4307 }, { 215,4307 }, + { 216,4307 }, { 217,4307 }, { 218,4307 }, { 219,4307 }, { 220,4307 }, + + { 221,4307 }, { 222,4307 }, { 223,4307 }, { 224,4307 }, { 225,4307 }, + { 226,4307 }, { 227,4307 }, { 228,4307 }, { 229,4307 }, { 230,4307 }, + { 231,4307 }, { 232,4307 }, { 233,4307 }, { 234,4307 }, { 235,4307 }, + { 236,4307 }, { 237,4307 }, { 238,4307 }, { 239,4307 }, { 240,4307 }, + { 241,4307 }, { 242,4307 }, { 243,4307 }, { 244,4307 }, { 245,4307 }, + { 246,4307 }, { 247,4307 }, { 248,4307 }, { 249,4307 }, { 250,4307 }, + { 251,4307 }, { 252,4307 }, { 253,4307 }, { 254,4307 }, { 255,4307 }, + { 0, 12 }, { 0,56594 }, { 1,4307 }, { 2,4307 }, { 3,4307 }, + { 4,4307 }, { 5,4307 }, { 6,4307 }, { 7,4307 }, { 8,4307 }, + { 9,4307 }, { 10,4307 }, { 11,4307 }, { 12,4307 }, { 13,4307 }, + + { 14,4307 }, { 15,4307 }, { 16,4307 }, { 17,4307 }, { 18,4307 }, + { 19,4307 }, { 20,4307 }, { 21,4307 }, { 22,4307 }, { 23,4307 }, + { 24,4307 }, { 25,4307 }, { 26,4307 }, { 27,4307 }, { 28,4307 }, + { 29,4307 }, { 30,4307 }, { 31,4307 }, { 32,4307 }, { 33,4307 }, + { 34,4307 }, { 35,4307 }, { 36,4307 }, { 37,4307 }, { 38,4307 }, + { 0, 0 }, { 40,4307 }, { 41,4307 }, { 42,4307 }, { 43,4307 }, + { 44,4307 }, { 45,4307 }, { 46,4307 }, { 47,4307 }, { 48,4307 }, + { 49,4307 }, { 50,4307 }, { 51,4307 }, { 52,4307 }, { 53,4307 }, + { 54,4307 }, { 55,4307 }, { 56,4307 }, { 57,4307 }, { 58,4307 }, + { 59,4307 }, { 60,4307 }, { 61,4307 }, { 62,4307 }, { 63,4307 }, + + { 64,4307 }, { 65,4307 }, { 66,4307 }, { 67,4307 }, { 68,4307 }, + { 69,4307 }, { 70,4307 }, { 71,4307 }, { 72,4307 }, { 73,4307 }, + { 74,4307 }, { 75,4307 }, { 76,4307 }, { 77,4307 }, { 78,4307 }, + { 79,4307 }, { 80,4307 }, { 81,4307 }, { 82,4307 }, { 83,4307 }, + { 84,4307 }, { 85,4307 }, { 86,4307 }, { 87,4307 }, { 88,4307 }, + { 89,4307 }, { 90,4307 }, { 91,4307 }, { 92,4307 }, { 93,4307 }, + { 94,4307 }, { 95,4307 }, { 96,4307 }, { 97,4307 }, { 98,4307 }, + { 99,4307 }, { 100,4307 }, { 101,4307 }, { 102,4307 }, { 103,4307 }, + { 104,4307 }, { 105,4307 }, { 106,4307 }, { 107,4307 }, { 108,4307 }, + { 109,4307 }, { 110,4307 }, { 111,4307 }, { 112,4307 }, { 113,4307 }, + + { 114,4307 }, { 115,4307 }, { 116,4307 }, { 117,4307 }, { 118,4307 }, + { 119,4307 }, { 120,4307 }, { 121,4307 }, { 122,4307 }, { 123,4307 }, + { 124,4307 }, { 125,4307 }, { 126,4307 }, { 127,4307 }, { 128,4307 }, + { 129,4307 }, { 130,4307 }, { 131,4307 }, { 132,4307 }, { 133,4307 }, + { 134,4307 }, { 135,4307 }, { 136,4307 }, { 137,4307 }, { 138,4307 }, + { 139,4307 }, { 140,4307 }, { 141,4307 }, { 142,4307 }, { 143,4307 }, + { 144,4307 }, { 145,4307 }, { 146,4307 }, { 147,4307 }, { 148,4307 }, + { 149,4307 }, { 150,4307 }, { 151,4307 }, { 152,4307 }, { 153,4307 }, + { 154,4307 }, { 155,4307 }, { 156,4307 }, { 157,4307 }, { 158,4307 }, + { 159,4307 }, { 160,4307 }, { 161,4307 }, { 162,4307 }, { 163,4307 }, + + { 164,4307 }, { 165,4307 }, { 166,4307 }, { 167,4307 }, { 168,4307 }, + { 169,4307 }, { 170,4307 }, { 171,4307 }, { 172,4307 }, { 173,4307 }, + { 174,4307 }, { 175,4307 }, { 176,4307 }, { 177,4307 }, { 178,4307 }, + { 179,4307 }, { 180,4307 }, { 181,4307 }, { 182,4307 }, { 183,4307 }, + { 184,4307 }, { 185,4307 }, { 186,4307 }, { 187,4307 }, { 188,4307 }, + { 189,4307 }, { 190,4307 }, { 191,4307 }, { 192,4307 }, { 193,4307 }, + { 194,4307 }, { 195,4307 }, { 196,4307 }, { 197,4307 }, { 198,4307 }, + { 199,4307 }, { 200,4307 }, { 201,4307 }, { 202,4307 }, { 203,4307 }, + { 204,4307 }, { 205,4307 }, { 206,4307 }, { 207,4307 }, { 208,4307 }, + { 209,4307 }, { 210,4307 }, { 211,4307 }, { 212,4307 }, { 213,4307 }, + + { 214,4307 }, { 215,4307 }, { 216,4307 }, { 217,4307 }, { 218,4307 }, + { 219,4307 }, { 220,4307 }, { 221,4307 }, { 222,4307 }, { 223,4307 }, + { 224,4307 }, { 225,4307 }, { 226,4307 }, { 227,4307 }, { 228,4307 }, + { 229,4307 }, { 230,4307 }, { 231,4307 }, { 232,4307 }, { 233,4307 }, + { 234,4307 }, { 235,4307 }, { 236,4307 }, { 237,4307 }, { 238,4307 }, + { 239,4307 }, { 240,4307 }, { 241,4307 }, { 242,4307 }, { 243,4307 }, + { 244,4307 }, { 245,4307 }, { 246,4307 }, { 247,4307 }, { 248,4307 }, + { 249,4307 }, { 250,4307 }, { 251,4307 }, { 252,4307 }, { 253,4307 }, + { 254,4307 }, { 255,4307 }, { 256,4307 }, { 0, 9 }, { 0,56336 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9,4307 }, { 10,4312 }, + { 0, 0 }, { 12,4307 }, { 13,4312 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 32,4307 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-1844 }, + { 0, 5 }, { 0,56289 }, { 1,4312 }, { 2,4312 }, { 3,4312 }, + { 4,4312 }, { 5,4312 }, { 6,4312 }, { 7,4312 }, { 8,4312 }, + + { 9,4312 }, { 10,4312 }, { 11,4312 }, { 12,4312 }, { 13,4312 }, + { 14,4312 }, { 15,4312 }, { 16,4312 }, { 17,4312 }, { 18,4312 }, + { 19,4312 }, { 20,4312 }, { 21,4312 }, { 22,4312 }, { 23,4312 }, + { 24,4312 }, { 25,4312 }, { 26,4312 }, { 27,4312 }, { 28,4312 }, + { 29,4312 }, { 30,4312 }, { 31,4312 }, { 32,4312 }, { 33,4312 }, + { 34,4312 }, { 35,4312 }, { 36,4312 }, { 37,4312 }, { 38,4312 }, + { 39,4312 }, { 40,4312 }, { 41,4312 }, { 0, 0 }, { 43,4312 }, + { 44,4312 }, { 45,4312 }, { 46,4312 }, { 0, 0 }, { 48,4312 }, + { 49,4312 }, { 50,4312 }, { 51,4312 }, { 52,4312 }, { 53,4312 }, + { 54,4312 }, { 55,4312 }, { 56,4312 }, { 57,4312 }, { 58,4312 }, + + { 59,4312 }, { 60,4312 }, { 61,4312 }, { 62,4312 }, { 63,4312 }, + { 64,4312 }, { 65,4312 }, { 66,4312 }, { 67,4312 }, { 68,4312 }, + { 69,4312 }, { 70,4312 }, { 71,4312 }, { 72,4312 }, { 73,4312 }, + { 74,4312 }, { 75,4312 }, { 76,4312 }, { 77,4312 }, { 78,4312 }, + { 79,4312 }, { 80,4312 }, { 81,4312 }, { 82,4312 }, { 83,4312 }, + { 84,4312 }, { 85,4312 }, { 86,4312 }, { 87,4312 }, { 88,4312 }, + { 89,4312 }, { 90,4312 }, { 91,4312 }, { 92,4312 }, { 93,4312 }, + { 94,4312 }, { 95,4312 }, { 96,4312 }, { 97,4312 }, { 98,4312 }, + { 99,4312 }, { 100,4312 }, { 101,4312 }, { 102,4312 }, { 103,4312 }, + { 104,4312 }, { 105,4312 }, { 106,4312 }, { 107,4312 }, { 108,4312 }, + + { 109,4312 }, { 110,4312 }, { 111,4312 }, { 112,4312 }, { 113,4312 }, + { 114,4312 }, { 115,4312 }, { 116,4312 }, { 117,4312 }, { 118,4312 }, + { 119,4312 }, { 120,4312 }, { 121,4312 }, { 122,4312 }, { 123,4312 }, + { 124,4312 }, { 125,4312 }, { 126,4312 }, { 127,4312 }, { 128,4312 }, + { 129,4312 }, { 130,4312 }, { 131,4312 }, { 132,4312 }, { 133,4312 }, + { 134,4312 }, { 135,4312 }, { 136,4312 }, { 137,4312 }, { 138,4312 }, + { 139,4312 }, { 140,4312 }, { 141,4312 }, { 142,4312 }, { 143,4312 }, + { 144,4312 }, { 145,4312 }, { 146,4312 }, { 147,4312 }, { 148,4312 }, + { 149,4312 }, { 150,4312 }, { 151,4312 }, { 152,4312 }, { 153,4312 }, + { 154,4312 }, { 155,4312 }, { 156,4312 }, { 157,4312 }, { 158,4312 }, + + { 159,4312 }, { 160,4312 }, { 161,4312 }, { 162,4312 }, { 163,4312 }, + { 164,4312 }, { 165,4312 }, { 166,4312 }, { 167,4312 }, { 168,4312 }, + { 169,4312 }, { 170,4312 }, { 171,4312 }, { 172,4312 }, { 173,4312 }, + { 174,4312 }, { 175,4312 }, { 176,4312 }, { 177,4312 }, { 178,4312 }, + { 179,4312 }, { 180,4312 }, { 181,4312 }, { 182,4312 }, { 183,4312 }, + { 184,4312 }, { 185,4312 }, { 186,4312 }, { 187,4312 }, { 188,4312 }, + { 189,4312 }, { 190,4312 }, { 191,4312 }, { 192,4312 }, { 193,4312 }, + { 194,4312 }, { 195,4312 }, { 196,4312 }, { 197,4312 }, { 198,4312 }, + { 199,4312 }, { 200,4312 }, { 201,4312 }, { 202,4312 }, { 203,4312 }, + { 204,4312 }, { 205,4312 }, { 206,4312 }, { 207,4312 }, { 208,4312 }, + + { 209,4312 }, { 210,4312 }, { 211,4312 }, { 212,4312 }, { 213,4312 }, + { 214,4312 }, { 215,4312 }, { 216,4312 }, { 217,4312 }, { 218,4312 }, + { 219,4312 }, { 220,4312 }, { 221,4312 }, { 222,4312 }, { 223,4312 }, + { 224,4312 }, { 225,4312 }, { 226,4312 }, { 227,4312 }, { 228,4312 }, + { 229,4312 }, { 230,4312 }, { 231,4312 }, { 232,4312 }, { 233,4312 }, + { 234,4312 }, { 235,4312 }, { 236,4312 }, { 237,4312 }, { 238,4312 }, + { 239,4312 }, { 240,4312 }, { 241,4312 }, { 242,4312 }, { 243,4312 }, + { 244,4312 }, { 245,4312 }, { 246,4312 }, { 247,4312 }, { 248,4312 }, + { 249,4312 }, { 250,4312 }, { 251,4312 }, { 252,4312 }, { 253,4312 }, + { 254,4312 }, { 255,4312 }, { 256,4312 }, { 0, 5 }, { 0,56031 }, + + { 1,4054 }, { 2,4054 }, { 3,4054 }, { 4,4054 }, { 5,4054 }, + { 6,4054 }, { 7,4054 }, { 8,4054 }, { 9,4054 }, { 10,4054 }, + { 11,4054 }, { 12,4054 }, { 13,4054 }, { 14,4054 }, { 15,4054 }, + { 16,4054 }, { 17,4054 }, { 18,4054 }, { 19,4054 }, { 20,4054 }, + { 21,4054 }, { 22,4054 }, { 23,4054 }, { 24,4054 }, { 25,4054 }, + { 26,4054 }, { 27,4054 }, { 28,4054 }, { 29,4054 }, { 30,4054 }, + { 31,4054 }, { 32,4054 }, { 33,4054 }, { 34,4054 }, { 35,4054 }, + { 36,4054 }, { 37,4054 }, { 38,4054 }, { 39,4054 }, { 40,4054 }, + { 41,4054 }, { 0, 0 }, { 43,4054 }, { 44,4054 }, { 45,4054 }, + { 46,4054 }, { 0, 0 }, { 48,4054 }, { 49,4054 }, { 50,4054 }, + + { 51,4054 }, { 52,4054 }, { 53,4054 }, { 54,4054 }, { 55,4054 }, + { 56,4054 }, { 57,4054 }, { 58,4054 }, { 59,4054 }, { 60,4054 }, + { 61,4054 }, { 62,4054 }, { 63,4054 }, { 64,4054 }, { 65,4054 }, + { 66,4054 }, { 67,4054 }, { 68,4054 }, { 69,4054 }, { 70,4054 }, + { 71,4054 }, { 72,4054 }, { 73,4054 }, { 74,4054 }, { 75,4054 }, + { 76,4054 }, { 77,4054 }, { 78,4054 }, { 79,4054 }, { 80,4054 }, + { 81,4054 }, { 82,4054 }, { 83,4054 }, { 84,4054 }, { 85,4054 }, + { 86,4054 }, { 87,4054 }, { 88,4054 }, { 89,4054 }, { 90,4054 }, + { 91,4054 }, { 92,4054 }, { 93,4054 }, { 94,4054 }, { 95,4054 }, + { 96,4054 }, { 97,4054 }, { 98,4054 }, { 99,4054 }, { 100,4054 }, + + { 101,4054 }, { 102,4054 }, { 103,4054 }, { 104,4054 }, { 105,4054 }, + { 106,4054 }, { 107,4054 }, { 108,4054 }, { 109,4054 }, { 110,4054 }, + { 111,4054 }, { 112,4054 }, { 113,4054 }, { 114,4054 }, { 115,4054 }, + { 116,4054 }, { 117,4054 }, { 118,4054 }, { 119,4054 }, { 120,4054 }, + { 121,4054 }, { 122,4054 }, { 123,4054 }, { 124,4054 }, { 125,4054 }, + { 126,4054 }, { 127,4054 }, { 128,4054 }, { 129,4054 }, { 130,4054 }, + { 131,4054 }, { 132,4054 }, { 133,4054 }, { 134,4054 }, { 135,4054 }, + { 136,4054 }, { 137,4054 }, { 138,4054 }, { 139,4054 }, { 140,4054 }, + { 141,4054 }, { 142,4054 }, { 143,4054 }, { 144,4054 }, { 145,4054 }, + { 146,4054 }, { 147,4054 }, { 148,4054 }, { 149,4054 }, { 150,4054 }, + + { 151,4054 }, { 152,4054 }, { 153,4054 }, { 154,4054 }, { 155,4054 }, + { 156,4054 }, { 157,4054 }, { 158,4054 }, { 159,4054 }, { 160,4054 }, + { 161,4054 }, { 162,4054 }, { 163,4054 }, { 164,4054 }, { 165,4054 }, + { 166,4054 }, { 167,4054 }, { 168,4054 }, { 169,4054 }, { 170,4054 }, + { 171,4054 }, { 172,4054 }, { 173,4054 }, { 174,4054 }, { 175,4054 }, + { 176,4054 }, { 177,4054 }, { 178,4054 }, { 179,4054 }, { 180,4054 }, + { 181,4054 }, { 182,4054 }, { 183,4054 }, { 184,4054 }, { 185,4054 }, + { 186,4054 }, { 187,4054 }, { 188,4054 }, { 189,4054 }, { 190,4054 }, + { 191,4054 }, { 192,4054 }, { 193,4054 }, { 194,4054 }, { 195,4054 }, + { 196,4054 }, { 197,4054 }, { 198,4054 }, { 199,4054 }, { 200,4054 }, + + { 201,4054 }, { 202,4054 }, { 203,4054 }, { 204,4054 }, { 205,4054 }, + { 206,4054 }, { 207,4054 }, { 208,4054 }, { 209,4054 }, { 210,4054 }, + { 211,4054 }, { 212,4054 }, { 213,4054 }, { 214,4054 }, { 215,4054 }, + { 216,4054 }, { 217,4054 }, { 218,4054 }, { 219,4054 }, { 220,4054 }, + { 221,4054 }, { 222,4054 }, { 223,4054 }, { 224,4054 }, { 225,4054 }, + { 226,4054 }, { 227,4054 }, { 228,4054 }, { 229,4054 }, { 230,4054 }, + { 231,4054 }, { 232,4054 }, { 233,4054 }, { 234,4054 }, { 235,4054 }, + { 236,4054 }, { 237,4054 }, { 238,4054 }, { 239,4054 }, { 240,4054 }, + { 241,4054 }, { 242,4054 }, { 243,4054 }, { 244,4054 }, { 245,4054 }, + { 246,4054 }, { 247,4054 }, { 248,4054 }, { 249,4054 }, { 250,4054 }, + + { 251,4054 }, { 252,4054 }, { 253,4054 }, { 254,4054 }, { 255,4054 }, + { 256,4054 }, { 0, 51 }, { 0,55773 }, { 1,4182 }, { 2,4182 }, + { 3,4182 }, { 4,4182 }, { 5,4182 }, { 6,4182 }, { 7,4182 }, + { 8,4182 }, { 9,4182 }, { 10,4182 }, { 11,4182 }, { 12,4182 }, + { 13,4182 }, { 14,4182 }, { 15,4182 }, { 16,4182 }, { 17,4182 }, + { 18,4182 }, { 19,4182 }, { 20,4182 }, { 21,4182 }, { 22,4182 }, + { 23,4182 }, { 24,4182 }, { 25,4182 }, { 26,4182 }, { 27,4182 }, + { 28,4182 }, { 29,4182 }, { 30,4182 }, { 31,4182 }, { 32,4182 }, + { 33,4182 }, { 0, 0 }, { 35,4182 }, { 36,4182 }, { 37,4182 }, + { 38,4182 }, { 39,4182 }, { 40,4182 }, { 41,4182 }, { 42,4182 }, + + { 43,4182 }, { 44,4182 }, { 45,4182 }, { 46,4182 }, { 47,4182 }, + { 48,4182 }, { 49,4182 }, { 50,4182 }, { 51,4182 }, { 52,4182 }, + { 53,4182 }, { 54,4182 }, { 55,4182 }, { 56,4182 }, { 57,4182 }, + { 58,4182 }, { 59,4182 }, { 60,4182 }, { 61,4182 }, { 62,4182 }, + { 63,4182 }, { 64,4182 }, { 65,4182 }, { 66,4182 }, { 67,4182 }, + { 68,4182 }, { 69,4182 }, { 70,4182 }, { 71,4182 }, { 72,4182 }, + { 73,4182 }, { 74,4182 }, { 75,4182 }, { 76,4182 }, { 77,4182 }, + { 78,4182 }, { 79,4182 }, { 80,4182 }, { 81,4182 }, { 82,4182 }, + { 83,4182 }, { 84,4182 }, { 85,4182 }, { 86,4182 }, { 87,4182 }, + { 88,4182 }, { 89,4182 }, { 90,4182 }, { 91,4182 }, { 92,4182 }, + + { 93,4182 }, { 94,4182 }, { 95,4182 }, { 96,4182 }, { 97,4182 }, + { 98,4182 }, { 99,4182 }, { 100,4182 }, { 101,4182 }, { 102,4182 }, + { 103,4182 }, { 104,4182 }, { 105,4182 }, { 106,4182 }, { 107,4182 }, + { 108,4182 }, { 109,4182 }, { 110,4182 }, { 111,4182 }, { 112,4182 }, + { 113,4182 }, { 114,4182 }, { 115,4182 }, { 116,4182 }, { 117,4182 }, + { 118,4182 }, { 119,4182 }, { 120,4182 }, { 121,4182 }, { 122,4182 }, + { 123,4182 }, { 124,4182 }, { 125,4182 }, { 126,4182 }, { 127,4182 }, + { 128,4182 }, { 129,4182 }, { 130,4182 }, { 131,4182 }, { 132,4182 }, + { 133,4182 }, { 134,4182 }, { 135,4182 }, { 136,4182 }, { 137,4182 }, + { 138,4182 }, { 139,4182 }, { 140,4182 }, { 141,4182 }, { 142,4182 }, + + { 143,4182 }, { 144,4182 }, { 145,4182 }, { 146,4182 }, { 147,4182 }, + { 148,4182 }, { 149,4182 }, { 150,4182 }, { 151,4182 }, { 152,4182 }, + { 153,4182 }, { 154,4182 }, { 155,4182 }, { 156,4182 }, { 157,4182 }, + { 158,4182 }, { 159,4182 }, { 160,4182 }, { 161,4182 }, { 162,4182 }, + { 163,4182 }, { 164,4182 }, { 165,4182 }, { 166,4182 }, { 167,4182 }, + { 168,4182 }, { 169,4182 }, { 170,4182 }, { 171,4182 }, { 172,4182 }, + { 173,4182 }, { 174,4182 }, { 175,4182 }, { 176,4182 }, { 177,4182 }, + { 178,4182 }, { 179,4182 }, { 180,4182 }, { 181,4182 }, { 182,4182 }, + { 183,4182 }, { 184,4182 }, { 185,4182 }, { 186,4182 }, { 187,4182 }, + { 188,4182 }, { 189,4182 }, { 190,4182 }, { 191,4182 }, { 192,4182 }, + + { 193,4182 }, { 194,4182 }, { 195,4182 }, { 196,4182 }, { 197,4182 }, + { 198,4182 }, { 199,4182 }, { 200,4182 }, { 201,4182 }, { 202,4182 }, + { 203,4182 }, { 204,4182 }, { 205,4182 }, { 206,4182 }, { 207,4182 }, + { 208,4182 }, { 209,4182 }, { 210,4182 }, { 211,4182 }, { 212,4182 }, + { 213,4182 }, { 214,4182 }, { 215,4182 }, { 216,4182 }, { 217,4182 }, + { 218,4182 }, { 219,4182 }, { 220,4182 }, { 221,4182 }, { 222,4182 }, + { 223,4182 }, { 224,4182 }, { 225,4182 }, { 226,4182 }, { 227,4182 }, + { 228,4182 }, { 229,4182 }, { 230,4182 }, { 231,4182 }, { 232,4182 }, + { 233,4182 }, { 234,4182 }, { 235,4182 }, { 236,4182 }, { 237,4182 }, + { 238,4182 }, { 239,4182 }, { 240,4182 }, { 241,4182 }, { 242,4182 }, + + { 243,4182 }, { 244,4182 }, { 245,4182 }, { 246,4182 }, { 247,4182 }, + { 248,4182 }, { 249,4182 }, { 250,4182 }, { 251,4182 }, { 252,4182 }, + { 253,4182 }, { 254,4182 }, { 255,4182 }, { 256,4182 }, { 0, 11 }, + { 0,55515 }, { 1,4182 }, { 2,4182 }, { 3,4182 }, { 4,4182 }, + { 5,4182 }, { 6,4182 }, { 7,4182 }, { 8,4182 }, { 9,4182 }, + { 10,4182 }, { 11,4182 }, { 12,4182 }, { 13,4182 }, { 14,4182 }, + { 15,4182 }, { 16,4182 }, { 17,4182 }, { 18,4182 }, { 19,4182 }, + { 20,4182 }, { 21,4182 }, { 22,4182 }, { 23,4182 }, { 24,4182 }, + { 25,4182 }, { 26,4182 }, { 27,4182 }, { 28,4182 }, { 29,4182 }, + { 30,4182 }, { 31,4182 }, { 32,4182 }, { 33,4182 }, { 34,4182 }, + + { 35,4182 }, { 36,4182 }, { 37,4182 }, { 38,4182 }, { 0, 0 }, + { 40,4182 }, { 41,4182 }, { 42,4182 }, { 43,4182 }, { 44,4182 }, + { 45,4182 }, { 46,4182 }, { 47,4182 }, { 48,4182 }, { 49,4182 }, + { 50,4182 }, { 51,4182 }, { 52,4182 }, { 53,4182 }, { 54,4182 }, + { 55,4182 }, { 56,4182 }, { 57,4182 }, { 58,4182 }, { 59,4182 }, + { 60,4182 }, { 61,4182 }, { 62,4182 }, { 63,4182 }, { 64,4182 }, + { 65,4182 }, { 66,4182 }, { 67,4182 }, { 68,4182 }, { 69,4182 }, + { 70,4182 }, { 71,4182 }, { 72,4182 }, { 73,4182 }, { 74,4182 }, + { 75,4182 }, { 76,4182 }, { 77,4182 }, { 78,4182 }, { 79,4182 }, + { 80,4182 }, { 81,4182 }, { 82,4182 }, { 83,4182 }, { 84,4182 }, + + { 85,4182 }, { 86,4182 }, { 87,4182 }, { 88,4182 }, { 89,4182 }, + { 90,4182 }, { 91,4182 }, { 92,4182 }, { 93,4182 }, { 94,4182 }, + { 95,4182 }, { 96,4182 }, { 97,4182 }, { 98,4182 }, { 99,4182 }, + { 100,4182 }, { 101,4182 }, { 102,4182 }, { 103,4182 }, { 104,4182 }, + { 105,4182 }, { 106,4182 }, { 107,4182 }, { 108,4182 }, { 109,4182 }, + { 110,4182 }, { 111,4182 }, { 112,4182 }, { 113,4182 }, { 114,4182 }, + { 115,4182 }, { 116,4182 }, { 117,4182 }, { 118,4182 }, { 119,4182 }, + { 120,4182 }, { 121,4182 }, { 122,4182 }, { 123,4182 }, { 124,4182 }, + { 125,4182 }, { 126,4182 }, { 127,4182 }, { 128,4182 }, { 129,4182 }, + { 130,4182 }, { 131,4182 }, { 132,4182 }, { 133,4182 }, { 134,4182 }, + + { 135,4182 }, { 136,4182 }, { 137,4182 }, { 138,4182 }, { 139,4182 }, + { 140,4182 }, { 141,4182 }, { 142,4182 }, { 143,4182 }, { 144,4182 }, + { 145,4182 }, { 146,4182 }, { 147,4182 }, { 148,4182 }, { 149,4182 }, + { 150,4182 }, { 151,4182 }, { 152,4182 }, { 153,4182 }, { 154,4182 }, + { 155,4182 }, { 156,4182 }, { 157,4182 }, { 158,4182 }, { 159,4182 }, + { 160,4182 }, { 161,4182 }, { 162,4182 }, { 163,4182 }, { 164,4182 }, + { 165,4182 }, { 166,4182 }, { 167,4182 }, { 168,4182 }, { 169,4182 }, + { 170,4182 }, { 171,4182 }, { 172,4182 }, { 173,4182 }, { 174,4182 }, + { 175,4182 }, { 176,4182 }, { 177,4182 }, { 178,4182 }, { 179,4182 }, + { 180,4182 }, { 181,4182 }, { 182,4182 }, { 183,4182 }, { 184,4182 }, + + { 185,4182 }, { 186,4182 }, { 187,4182 }, { 188,4182 }, { 189,4182 }, + { 190,4182 }, { 191,4182 }, { 192,4182 }, { 193,4182 }, { 194,4182 }, + { 195,4182 }, { 196,4182 }, { 197,4182 }, { 198,4182 }, { 199,4182 }, + { 200,4182 }, { 201,4182 }, { 202,4182 }, { 203,4182 }, { 204,4182 }, + { 205,4182 }, { 206,4182 }, { 207,4182 }, { 208,4182 }, { 209,4182 }, + { 210,4182 }, { 211,4182 }, { 212,4182 }, { 213,4182 }, { 214,4182 }, + { 215,4182 }, { 216,4182 }, { 217,4182 }, { 218,4182 }, { 219,4182 }, + { 220,4182 }, { 221,4182 }, { 222,4182 }, { 223,4182 }, { 224,4182 }, + { 225,4182 }, { 226,4182 }, { 227,4182 }, { 228,4182 }, { 229,4182 }, + { 230,4182 }, { 231,4182 }, { 232,4182 }, { 233,4182 }, { 234,4182 }, + + { 235,4182 }, { 236,4182 }, { 237,4182 }, { 238,4182 }, { 239,4182 }, + { 240,4182 }, { 241,4182 }, { 242,4182 }, { 243,4182 }, { 244,4182 }, + { 245,4182 }, { 246,4182 }, { 247,4182 }, { 248,4182 }, { 249,4182 }, + { 250,4182 }, { 251,4182 }, { 252,4182 }, { 253,4182 }, { 254,4182 }, + { 255,4182 }, { 256,4182 }, { 0, 16 }, { 0,55257 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 9,4182 }, { 10,4187 }, { 0, 0 }, + { 12,4182 }, { 13,4187 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 32,4182 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-2905 }, { 0, 28 }, + { 0,55210 }, { 1,4187 }, { 2,4187 }, { 3,4187 }, { 4,4187 }, + { 5,4187 }, { 6,4187 }, { 7,4187 }, { 8,4187 }, { 9,4187 }, + { 10,4187 }, { 11,4187 }, { 12,4187 }, { 13,4187 }, { 14,4187 }, + { 15,4187 }, { 16,4187 }, { 17,4187 }, { 18,4187 }, { 19,4187 }, + { 20,4187 }, { 21,4187 }, { 22,4187 }, { 23,4187 }, { 24,4187 }, + { 25,4187 }, { 26,4187 }, { 27,4187 }, { 28,4187 }, { 29,4187 }, + + { 30,4187 }, { 31,4187 }, { 32,4187 }, { 33,4187 }, { 34,4187 }, + { 35,4187 }, { 36,4187 }, { 37,4187 }, { 38,4187 }, { 0, 0 }, + { 40,4187 }, { 41,4187 }, { 42,4187 }, { 43,4187 }, { 44,4187 }, + { 45,4187 }, { 46,4187 }, { 47,4187 }, { 48,4187 }, { 49,4187 }, + { 50,4187 }, { 51,4187 }, { 52,4187 }, { 53,4187 }, { 54,4187 }, + { 55,4187 }, { 56,4187 }, { 57,4187 }, { 58,4187 }, { 59,4187 }, + { 60,4187 }, { 61,4187 }, { 62,4187 }, { 63,4187 }, { 64,4187 }, + { 65,4187 }, { 66,4187 }, { 67,4187 }, { 68,4187 }, { 69,4187 }, + { 70,4187 }, { 71,4187 }, { 72,4187 }, { 73,4187 }, { 74,4187 }, + { 75,4187 }, { 76,4187 }, { 77,4187 }, { 78,4187 }, { 79,4187 }, + + { 80,4187 }, { 81,4187 }, { 82,4187 }, { 83,4187 }, { 84,4187 }, + { 85,4187 }, { 86,4187 }, { 87,4187 }, { 88,4187 }, { 89,4187 }, + { 90,4187 }, { 91,4187 }, { 0, 0 }, { 93,4187 }, { 94,4187 }, + { 95,4187 }, { 96,4187 }, { 97,4187 }, { 98,4187 }, { 99,4187 }, + { 100,4187 }, { 101,4187 }, { 102,4187 }, { 103,4187 }, { 104,4187 }, + { 105,4187 }, { 106,4187 }, { 107,4187 }, { 108,4187 }, { 109,4187 }, + { 110,4187 }, { 111,4187 }, { 112,4187 }, { 113,4187 }, { 114,4187 }, + { 115,4187 }, { 116,4187 }, { 117,4187 }, { 118,4187 }, { 119,4187 }, + { 120,4187 }, { 121,4187 }, { 122,4187 }, { 123,4187 }, { 124,4187 }, + { 125,4187 }, { 126,4187 }, { 127,4187 }, { 128,4187 }, { 129,4187 }, + + { 130,4187 }, { 131,4187 }, { 132,4187 }, { 133,4187 }, { 134,4187 }, + { 135,4187 }, { 136,4187 }, { 137,4187 }, { 138,4187 }, { 139,4187 }, + { 140,4187 }, { 141,4187 }, { 142,4187 }, { 143,4187 }, { 144,4187 }, + { 145,4187 }, { 146,4187 }, { 147,4187 }, { 148,4187 }, { 149,4187 }, + { 150,4187 }, { 151,4187 }, { 152,4187 }, { 153,4187 }, { 154,4187 }, + { 155,4187 }, { 156,4187 }, { 157,4187 }, { 158,4187 }, { 159,4187 }, + { 160,4187 }, { 161,4187 }, { 162,4187 }, { 163,4187 }, { 164,4187 }, + { 165,4187 }, { 166,4187 }, { 167,4187 }, { 168,4187 }, { 169,4187 }, + { 170,4187 }, { 171,4187 }, { 172,4187 }, { 173,4187 }, { 174,4187 }, + { 175,4187 }, { 176,4187 }, { 177,4187 }, { 178,4187 }, { 179,4187 }, + + { 180,4187 }, { 181,4187 }, { 182,4187 }, { 183,4187 }, { 184,4187 }, + { 185,4187 }, { 186,4187 }, { 187,4187 }, { 188,4187 }, { 189,4187 }, + { 190,4187 }, { 191,4187 }, { 192,4187 }, { 193,4187 }, { 194,4187 }, + { 195,4187 }, { 196,4187 }, { 197,4187 }, { 198,4187 }, { 199,4187 }, + { 200,4187 }, { 201,4187 }, { 202,4187 }, { 203,4187 }, { 204,4187 }, + { 205,4187 }, { 206,4187 }, { 207,4187 }, { 208,4187 }, { 209,4187 }, + { 210,4187 }, { 211,4187 }, { 212,4187 }, { 213,4187 }, { 214,4187 }, + { 215,4187 }, { 216,4187 }, { 217,4187 }, { 218,4187 }, { 219,4187 }, + { 220,4187 }, { 221,4187 }, { 222,4187 }, { 223,4187 }, { 224,4187 }, + { 225,4187 }, { 226,4187 }, { 227,4187 }, { 228,4187 }, { 229,4187 }, + + { 230,4187 }, { 231,4187 }, { 232,4187 }, { 233,4187 }, { 234,4187 }, + { 235,4187 }, { 236,4187 }, { 237,4187 }, { 238,4187 }, { 239,4187 }, + { 240,4187 }, { 241,4187 }, { 242,4187 }, { 243,4187 }, { 244,4187 }, + { 245,4187 }, { 246,4187 }, { 247,4187 }, { 248,4187 }, { 249,4187 }, + { 250,4187 }, { 251,4187 }, { 252,4187 }, { 253,4187 }, { 254,4187 }, + { 255,4187 }, { 256,4187 }, { 0, 28 }, { 0,54952 }, { 1,3929 }, + { 2,3929 }, { 3,3929 }, { 4,3929 }, { 5,3929 }, { 6,3929 }, + { 7,3929 }, { 8,3929 }, { 9,3929 }, { 10,3929 }, { 11,3929 }, + { 12,3929 }, { 13,3929 }, { 14,3929 }, { 15,3929 }, { 16,3929 }, + { 17,3929 }, { 18,3929 }, { 19,3929 }, { 20,3929 }, { 21,3929 }, + + { 22,3929 }, { 23,3929 }, { 24,3929 }, { 25,3929 }, { 26,3929 }, + { 27,3929 }, { 28,3929 }, { 29,3929 }, { 30,3929 }, { 31,3929 }, + { 32,3929 }, { 33,3929 }, { 34,3929 }, { 35,3929 }, { 36,3929 }, + { 37,3929 }, { 38,3929 }, { 0, 0 }, { 40,3929 }, { 41,3929 }, + { 42,3929 }, { 43,3929 }, { 44,3929 }, { 45,3929 }, { 46,3929 }, + { 47,3929 }, { 48,3929 }, { 49,3929 }, { 50,3929 }, { 51,3929 }, + { 52,3929 }, { 53,3929 }, { 54,3929 }, { 55,3929 }, { 56,3929 }, + { 57,3929 }, { 58,3929 }, { 59,3929 }, { 60,3929 }, { 61,3929 }, + { 62,3929 }, { 63,3929 }, { 64,3929 }, { 65,3929 }, { 66,3929 }, + { 67,3929 }, { 68,3929 }, { 69,3929 }, { 70,3929 }, { 71,3929 }, + + { 72,3929 }, { 73,3929 }, { 74,3929 }, { 75,3929 }, { 76,3929 }, + { 77,3929 }, { 78,3929 }, { 79,3929 }, { 80,3929 }, { 81,3929 }, + { 82,3929 }, { 83,3929 }, { 84,3929 }, { 85,3929 }, { 86,3929 }, + { 87,3929 }, { 88,3929 }, { 89,3929 }, { 90,3929 }, { 91,3929 }, + { 0, 0 }, { 93,3929 }, { 94,3929 }, { 95,3929 }, { 96,3929 }, + { 97,3929 }, { 98,3929 }, { 99,3929 }, { 100,3929 }, { 101,3929 }, + { 102,3929 }, { 103,3929 }, { 104,3929 }, { 105,3929 }, { 106,3929 }, + { 107,3929 }, { 108,3929 }, { 109,3929 }, { 110,3929 }, { 111,3929 }, + { 112,3929 }, { 113,3929 }, { 114,3929 }, { 115,3929 }, { 116,3929 }, + { 117,3929 }, { 118,3929 }, { 119,3929 }, { 120,3929 }, { 121,3929 }, + + { 122,3929 }, { 123,3929 }, { 124,3929 }, { 125,3929 }, { 126,3929 }, + { 127,3929 }, { 128,3929 }, { 129,3929 }, { 130,3929 }, { 131,3929 }, + { 132,3929 }, { 133,3929 }, { 134,3929 }, { 135,3929 }, { 136,3929 }, + { 137,3929 }, { 138,3929 }, { 139,3929 }, { 140,3929 }, { 141,3929 }, + { 142,3929 }, { 143,3929 }, { 144,3929 }, { 145,3929 }, { 146,3929 }, + { 147,3929 }, { 148,3929 }, { 149,3929 }, { 150,3929 }, { 151,3929 }, + { 152,3929 }, { 153,3929 }, { 154,3929 }, { 155,3929 }, { 156,3929 }, + { 157,3929 }, { 158,3929 }, { 159,3929 }, { 160,3929 }, { 161,3929 }, + { 162,3929 }, { 163,3929 }, { 164,3929 }, { 165,3929 }, { 166,3929 }, + { 167,3929 }, { 168,3929 }, { 169,3929 }, { 170,3929 }, { 171,3929 }, + + { 172,3929 }, { 173,3929 }, { 174,3929 }, { 175,3929 }, { 176,3929 }, + { 177,3929 }, { 178,3929 }, { 179,3929 }, { 180,3929 }, { 181,3929 }, + { 182,3929 }, { 183,3929 }, { 184,3929 }, { 185,3929 }, { 186,3929 }, + { 187,3929 }, { 188,3929 }, { 189,3929 }, { 190,3929 }, { 191,3929 }, + { 192,3929 }, { 193,3929 }, { 194,3929 }, { 195,3929 }, { 196,3929 }, + { 197,3929 }, { 198,3929 }, { 199,3929 }, { 200,3929 }, { 201,3929 }, + { 202,3929 }, { 203,3929 }, { 204,3929 }, { 205,3929 }, { 206,3929 }, + { 207,3929 }, { 208,3929 }, { 209,3929 }, { 210,3929 }, { 211,3929 }, + { 212,3929 }, { 213,3929 }, { 214,3929 }, { 215,3929 }, { 216,3929 }, + { 217,3929 }, { 218,3929 }, { 219,3929 }, { 220,3929 }, { 221,3929 }, + + { 222,3929 }, { 223,3929 }, { 224,3929 }, { 225,3929 }, { 226,3929 }, + { 227,3929 }, { 228,3929 }, { 229,3929 }, { 230,3929 }, { 231,3929 }, + { 232,3929 }, { 233,3929 }, { 234,3929 }, { 235,3929 }, { 236,3929 }, + { 237,3929 }, { 238,3929 }, { 239,3929 }, { 240,3929 }, { 241,3929 }, + { 242,3929 }, { 243,3929 }, { 244,3929 }, { 245,3929 }, { 246,3929 }, + { 247,3929 }, { 248,3929 }, { 249,3929 }, { 250,3929 }, { 251,3929 }, + { 252,3929 }, { 253,3929 }, { 254,3929 }, { 255,3929 }, { 256,3929 }, + { 0, 22 }, { 0,54694 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 9,3929 }, { 10,3934 }, { 0, 0 }, { 12,3929 }, { 13,3934 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32,3929 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 39,-3435 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 45,-3428 }, { 0, 38 }, { 0,54647 }, { 1,-3473 }, + { 2,-3473 }, { 3,-3473 }, { 4,-3473 }, { 5,-3473 }, { 6,-3473 }, + { 7,-3473 }, { 8,-3473 }, { 9,-3473 }, { 10,-3473 }, { 11,-3473 }, + { 12,-3473 }, { 13,-3473 }, { 14,-3473 }, { 15,-3473 }, { 16,-3473 }, + + { 17,-3473 }, { 18,-3473 }, { 19,-3473 }, { 20,-3473 }, { 21,-3473 }, + { 22,-3473 }, { 23,-3473 }, { 24,-3473 }, { 25,-3473 }, { 26,-3473 }, + { 27,-3473 }, { 28,-3473 }, { 29,-3473 }, { 30,-3473 }, { 31,-3473 }, + { 32,-3473 }, { 33,-3473 }, { 34,-3473 }, { 35,-3473 }, { 36,-3473 }, + { 37,-3473 }, { 38,-3473 }, { 39,-3473 }, { 40,-3473 }, { 41,-3473 }, + { 42,-3473 }, { 43,-3473 }, { 44,-3473 }, { 45,-3473 }, { 46,-3473 }, + { 47,-3473 }, { 48,3889 }, { 49,3889 }, { 50,3889 }, { 51,3889 }, + { 52,3889 }, { 53,3889 }, { 54,3889 }, { 55,3889 }, { 56,-3473 }, + { 57,-3473 }, { 58,-3473 }, { 59,-3473 }, { 60,-3473 }, { 61,-3473 }, + { 62,-3473 }, { 63,-3473 }, { 64,-3473 }, { 65,-3473 }, { 66,-3473 }, + + { 67,-3473 }, { 68,-3473 }, { 69,-3473 }, { 70,-3473 }, { 71,-3473 }, + { 72,-3473 }, { 73,-3473 }, { 74,-3473 }, { 75,-3473 }, { 76,-3473 }, + { 77,-3473 }, { 78,-3473 }, { 79,-3473 }, { 80,-3473 }, { 81,-3473 }, + { 82,-3473 }, { 83,-3473 }, { 84,-3473 }, { 85,3902 }, { 86,-3473 }, + { 87,-3473 }, { 88,-3473 }, { 89,-3473 }, { 90,-3473 }, { 91,-3473 }, + { 92,-3473 }, { 93,-3473 }, { 94,-3473 }, { 95,-3473 }, { 96,-3473 }, + { 97,-3473 }, { 98,-3473 }, { 99,-3473 }, { 100,-3473 }, { 101,-3473 }, + { 102,-3473 }, { 103,-3473 }, { 104,-3473 }, { 105,-3473 }, { 106,-3473 }, + { 107,-3473 }, { 108,-3473 }, { 109,-3473 }, { 110,-3473 }, { 111,-3473 }, + { 112,-3473 }, { 113,-3473 }, { 114,-3473 }, { 115,-3473 }, { 116,-3473 }, + + { 117,3925 }, { 118,-3473 }, { 119,-3473 }, { 120,3963 }, { 121,-3473 }, + { 122,-3473 }, { 123,-3473 }, { 124,-3473 }, { 125,-3473 }, { 126,-3473 }, + { 127,-3473 }, { 128,-3473 }, { 129,-3473 }, { 130,-3473 }, { 131,-3473 }, + { 132,-3473 }, { 133,-3473 }, { 134,-3473 }, { 135,-3473 }, { 136,-3473 }, + { 137,-3473 }, { 138,-3473 }, { 139,-3473 }, { 140,-3473 }, { 141,-3473 }, + { 142,-3473 }, { 143,-3473 }, { 144,-3473 }, { 145,-3473 }, { 146,-3473 }, + { 147,-3473 }, { 148,-3473 }, { 149,-3473 }, { 150,-3473 }, { 151,-3473 }, + { 152,-3473 }, { 153,-3473 }, { 154,-3473 }, { 155,-3473 }, { 156,-3473 }, + { 157,-3473 }, { 158,-3473 }, { 159,-3473 }, { 160,-3473 }, { 161,-3473 }, + { 162,-3473 }, { 163,-3473 }, { 164,-3473 }, { 165,-3473 }, { 166,-3473 }, + + { 167,-3473 }, { 168,-3473 }, { 169,-3473 }, { 170,-3473 }, { 171,-3473 }, + { 172,-3473 }, { 173,-3473 }, { 174,-3473 }, { 175,-3473 }, { 176,-3473 }, + { 177,-3473 }, { 178,-3473 }, { 179,-3473 }, { 180,-3473 }, { 181,-3473 }, + { 182,-3473 }, { 183,-3473 }, { 184,-3473 }, { 185,-3473 }, { 186,-3473 }, + { 187,-3473 }, { 188,-3473 }, { 189,-3473 }, { 190,-3473 }, { 191,-3473 }, + { 192,-3473 }, { 193,-3473 }, { 194,-3473 }, { 195,-3473 }, { 196,-3473 }, + { 197,-3473 }, { 198,-3473 }, { 199,-3473 }, { 200,-3473 }, { 201,-3473 }, + { 202,-3473 }, { 203,-3473 }, { 204,-3473 }, { 205,-3473 }, { 206,-3473 }, + { 207,-3473 }, { 208,-3473 }, { 209,-3473 }, { 210,-3473 }, { 211,-3473 }, + { 212,-3473 }, { 213,-3473 }, { 214,-3473 }, { 215,-3473 }, { 216,-3473 }, + + { 217,-3473 }, { 218,-3473 }, { 219,-3473 }, { 220,-3473 }, { 221,-3473 }, + { 222,-3473 }, { 223,-3473 }, { 224,-3473 }, { 225,-3473 }, { 226,-3473 }, + { 227,-3473 }, { 228,-3473 }, { 229,-3473 }, { 230,-3473 }, { 231,-3473 }, + { 232,-3473 }, { 233,-3473 }, { 234,-3473 }, { 235,-3473 }, { 236,-3473 }, + { 237,-3473 }, { 238,-3473 }, { 239,-3473 }, { 240,-3473 }, { 241,-3473 }, + { 242,-3473 }, { 243,-3473 }, { 244,-3473 }, { 245,-3473 }, { 246,-3473 }, + { 247,-3473 }, { 248,-3473 }, { 249,-3473 }, { 250,-3473 }, { 251,-3473 }, + { 252,-3473 }, { 253,-3473 }, { 254,-3473 }, { 255,-3473 }, { 256,-3473 }, + { 0, 27 }, { 0,54389 }, { 1,3809 }, { 2,3809 }, { 3,3809 }, + { 4,3809 }, { 5,3809 }, { 6,3809 }, { 7,3809 }, { 8,3809 }, + + { 9,3809 }, { 10,3809 }, { 11,3809 }, { 12,3809 }, { 13,3809 }, + { 14,3809 }, { 15,3809 }, { 16,3809 }, { 17,3809 }, { 18,3809 }, + { 19,3809 }, { 20,3809 }, { 21,3809 }, { 22,3809 }, { 23,3809 }, + { 24,3809 }, { 25,3809 }, { 26,3809 }, { 27,3809 }, { 28,3809 }, + { 29,3809 }, { 30,3809 }, { 31,3809 }, { 32,3809 }, { 33,3809 }, + { 34,3809 }, { 35,3809 }, { 36,3809 }, { 37,3809 }, { 38,3809 }, + { 0, 0 }, { 40,3809 }, { 41,3809 }, { 42,3809 }, { 43,3809 }, + { 44,3809 }, { 45,3809 }, { 46,3809 }, { 47,3809 }, { 48,3809 }, + { 49,3809 }, { 50,3809 }, { 51,3809 }, { 52,3809 }, { 53,3809 }, + { 54,3809 }, { 55,3809 }, { 56,3809 }, { 57,3809 }, { 58,3809 }, + + { 59,3809 }, { 60,3809 }, { 61,3809 }, { 62,3809 }, { 63,3809 }, + { 64,3809 }, { 65,3809 }, { 66,3809 }, { 67,3809 }, { 68,3809 }, + { 69,3809 }, { 70,3809 }, { 71,3809 }, { 72,3809 }, { 73,3809 }, + { 74,3809 }, { 75,3809 }, { 76,3809 }, { 77,3809 }, { 78,3809 }, + { 79,3809 }, { 80,3809 }, { 81,3809 }, { 82,3809 }, { 83,3809 }, + { 84,3809 }, { 85,3809 }, { 86,3809 }, { 87,3809 }, { 88,3809 }, + { 89,3809 }, { 90,3809 }, { 91,3809 }, { 92,3809 }, { 93,3809 }, + { 94,3809 }, { 95,3809 }, { 96,3809 }, { 97,3809 }, { 98,3809 }, + { 99,3809 }, { 100,3809 }, { 101,3809 }, { 102,3809 }, { 103,3809 }, + { 104,3809 }, { 105,3809 }, { 106,3809 }, { 107,3809 }, { 108,3809 }, + + { 109,3809 }, { 110,3809 }, { 111,3809 }, { 112,3809 }, { 113,3809 }, + { 114,3809 }, { 115,3809 }, { 116,3809 }, { 117,3809 }, { 118,3809 }, + { 119,3809 }, { 120,3809 }, { 121,3809 }, { 122,3809 }, { 123,3809 }, + { 124,3809 }, { 125,3809 }, { 126,3809 }, { 127,3809 }, { 128,3809 }, + { 129,3809 }, { 130,3809 }, { 131,3809 }, { 132,3809 }, { 133,3809 }, + { 134,3809 }, { 135,3809 }, { 136,3809 }, { 137,3809 }, { 138,3809 }, + { 139,3809 }, { 140,3809 }, { 141,3809 }, { 142,3809 }, { 143,3809 }, + { 144,3809 }, { 145,3809 }, { 146,3809 }, { 147,3809 }, { 148,3809 }, + { 149,3809 }, { 150,3809 }, { 151,3809 }, { 152,3809 }, { 153,3809 }, + { 154,3809 }, { 155,3809 }, { 156,3809 }, { 157,3809 }, { 158,3809 }, + + { 159,3809 }, { 160,3809 }, { 161,3809 }, { 162,3809 }, { 163,3809 }, + { 164,3809 }, { 165,3809 }, { 166,3809 }, { 167,3809 }, { 168,3809 }, + { 169,3809 }, { 170,3809 }, { 171,3809 }, { 172,3809 }, { 173,3809 }, + { 174,3809 }, { 175,3809 }, { 176,3809 }, { 177,3809 }, { 178,3809 }, + { 179,3809 }, { 180,3809 }, { 181,3809 }, { 182,3809 }, { 183,3809 }, + { 184,3809 }, { 185,3809 }, { 186,3809 }, { 187,3809 }, { 188,3809 }, + { 189,3809 }, { 190,3809 }, { 191,3809 }, { 192,3809 }, { 193,3809 }, + { 194,3809 }, { 195,3809 }, { 196,3809 }, { 197,3809 }, { 198,3809 }, + { 199,3809 }, { 200,3809 }, { 201,3809 }, { 202,3809 }, { 203,3809 }, + { 204,3809 }, { 205,3809 }, { 206,3809 }, { 207,3809 }, { 208,3809 }, + + { 209,3809 }, { 210,3809 }, { 211,3809 }, { 212,3809 }, { 213,3809 }, + { 214,3809 }, { 215,3809 }, { 216,3809 }, { 217,3809 }, { 218,3809 }, + { 219,3809 }, { 220,3809 }, { 221,3809 }, { 222,3809 }, { 223,3809 }, + { 224,3809 }, { 225,3809 }, { 226,3809 }, { 227,3809 }, { 228,3809 }, + { 229,3809 }, { 230,3809 }, { 231,3809 }, { 232,3809 }, { 233,3809 }, + { 234,3809 }, { 235,3809 }, { 236,3809 }, { 237,3809 }, { 238,3809 }, + { 239,3809 }, { 240,3809 }, { 241,3809 }, { 242,3809 }, { 243,3809 }, + { 244,3809 }, { 245,3809 }, { 246,3809 }, { 247,3809 }, { 248,3809 }, + { 249,3809 }, { 250,3809 }, { 251,3809 }, { 252,3809 }, { 253,3809 }, + { 254,3809 }, { 255,3809 }, { 256,3809 }, { 0, 22 }, { 0,54131 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9,3366 }, { 10,3371 }, + { 0, 0 }, { 12,3366 }, { 13,3371 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 32,3366 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 39,-3998 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-3991 }, + { 0, 42 }, { 0,54084 }, { 1,3762 }, { 2,3762 }, { 3,3762 }, + + { 4,3762 }, { 5,3762 }, { 6,3762 }, { 7,3762 }, { 8,3762 }, + { 9,3762 }, { 10,3762 }, { 11,3762 }, { 12,3762 }, { 13,3762 }, + { 14,3762 }, { 15,3762 }, { 16,3762 }, { 17,3762 }, { 18,3762 }, + { 19,3762 }, { 20,3762 }, { 21,3762 }, { 22,3762 }, { 23,3762 }, + { 24,3762 }, { 25,3762 }, { 26,3762 }, { 27,3762 }, { 28,3762 }, + { 29,3762 }, { 30,3762 }, { 31,3762 }, { 32,3762 }, { 33,3762 }, + { 34,3762 }, { 35,3762 }, { 0, 0 }, { 37,3762 }, { 38,3762 }, + { 39,3762 }, { 40,3762 }, { 41,3762 }, { 42,3762 }, { 43,3762 }, + { 44,3762 }, { 45,3762 }, { 46,3762 }, { 47,3762 }, { 48,3762 }, + { 49,3762 }, { 50,3762 }, { 51,3762 }, { 52,3762 }, { 53,3762 }, + + { 54,3762 }, { 55,3762 }, { 56,3762 }, { 57,3762 }, { 58,3762 }, + { 59,3762 }, { 60,3762 }, { 61,3762 }, { 62,3762 }, { 63,3762 }, + { 64,3762 }, { 65,3762 }, { 66,3762 }, { 67,3762 }, { 68,3762 }, + { 69,3762 }, { 70,3762 }, { 71,3762 }, { 72,3762 }, { 73,3762 }, + { 74,3762 }, { 75,3762 }, { 76,3762 }, { 77,3762 }, { 78,3762 }, + { 79,3762 }, { 80,3762 }, { 81,3762 }, { 82,3762 }, { 83,3762 }, + { 84,3762 }, { 85,3762 }, { 86,3762 }, { 87,3762 }, { 88,3762 }, + { 89,3762 }, { 90,3762 }, { 91,3762 }, { 92,3762 }, { 93,3762 }, + { 94,3762 }, { 95,3762 }, { 96,3762 }, { 97,3762 }, { 98,3762 }, + { 99,3762 }, { 100,3762 }, { 101,3762 }, { 102,3762 }, { 103,3762 }, + + { 104,3762 }, { 105,3762 }, { 106,3762 }, { 107,3762 }, { 108,3762 }, + { 109,3762 }, { 110,3762 }, { 111,3762 }, { 112,3762 }, { 113,3762 }, + { 114,3762 }, { 115,3762 }, { 116,3762 }, { 117,3762 }, { 118,3762 }, + { 119,3762 }, { 120,3762 }, { 121,3762 }, { 122,3762 }, { 123,3762 }, + { 124,3762 }, { 125,3762 }, { 126,3762 }, { 127,3762 }, { 128,3762 }, + { 129,3762 }, { 130,3762 }, { 131,3762 }, { 132,3762 }, { 133,3762 }, + { 134,3762 }, { 135,3762 }, { 136,3762 }, { 137,3762 }, { 138,3762 }, + { 139,3762 }, { 140,3762 }, { 141,3762 }, { 142,3762 }, { 143,3762 }, + { 144,3762 }, { 145,3762 }, { 146,3762 }, { 147,3762 }, { 148,3762 }, + { 149,3762 }, { 150,3762 }, { 151,3762 }, { 152,3762 }, { 153,3762 }, + + { 154,3762 }, { 155,3762 }, { 156,3762 }, { 157,3762 }, { 158,3762 }, + { 159,3762 }, { 160,3762 }, { 161,3762 }, { 162,3762 }, { 163,3762 }, + { 164,3762 }, { 165,3762 }, { 166,3762 }, { 167,3762 }, { 168,3762 }, + { 169,3762 }, { 170,3762 }, { 171,3762 }, { 172,3762 }, { 173,3762 }, + { 174,3762 }, { 175,3762 }, { 176,3762 }, { 177,3762 }, { 178,3762 }, + { 179,3762 }, { 180,3762 }, { 181,3762 }, { 182,3762 }, { 183,3762 }, + { 184,3762 }, { 185,3762 }, { 186,3762 }, { 187,3762 }, { 188,3762 }, + { 189,3762 }, { 190,3762 }, { 191,3762 }, { 192,3762 }, { 193,3762 }, + { 194,3762 }, { 195,3762 }, { 196,3762 }, { 197,3762 }, { 198,3762 }, + { 199,3762 }, { 200,3762 }, { 201,3762 }, { 202,3762 }, { 203,3762 }, + + { 204,3762 }, { 205,3762 }, { 206,3762 }, { 207,3762 }, { 208,3762 }, + { 209,3762 }, { 210,3762 }, { 211,3762 }, { 212,3762 }, { 213,3762 }, + { 214,3762 }, { 215,3762 }, { 216,3762 }, { 217,3762 }, { 218,3762 }, + { 219,3762 }, { 220,3762 }, { 221,3762 }, { 222,3762 }, { 223,3762 }, + { 224,3762 }, { 225,3762 }, { 226,3762 }, { 227,3762 }, { 228,3762 }, + { 229,3762 }, { 230,3762 }, { 231,3762 }, { 232,3762 }, { 233,3762 }, + { 234,3762 }, { 235,3762 }, { 236,3762 }, { 237,3762 }, { 238,3762 }, + { 239,3762 }, { 240,3762 }, { 241,3762 }, { 242,3762 }, { 243,3762 }, + { 244,3762 }, { 245,3762 }, { 246,3762 }, { 247,3762 }, { 248,3762 }, + { 249,3762 }, { 250,3762 }, { 251,3762 }, { 252,3762 }, { 253,3762 }, + + { 254,3762 }, { 255,3762 }, { 256,3762 }, { 0, 42 }, { 0,53826 }, + { 1,3504 }, { 2,3504 }, { 3,3504 }, { 4,3504 }, { 5,3504 }, + { 6,3504 }, { 7,3504 }, { 8,3504 }, { 9,3504 }, { 10,3504 }, + { 11,3504 }, { 12,3504 }, { 13,3504 }, { 14,3504 }, { 15,3504 }, + { 16,3504 }, { 17,3504 }, { 18,3504 }, { 19,3504 }, { 20,3504 }, + { 21,3504 }, { 22,3504 }, { 23,3504 }, { 24,3504 }, { 25,3504 }, + { 26,3504 }, { 27,3504 }, { 28,3504 }, { 29,3504 }, { 30,3504 }, + { 31,3504 }, { 32,3504 }, { 33,3504 }, { 34,3504 }, { 35,3504 }, + { 0, 0 }, { 37,3504 }, { 38,3504 }, { 39,3504 }, { 40,3504 }, + { 41,3504 }, { 42,3504 }, { 43,3504 }, { 44,3504 }, { 45,3504 }, + + { 46,3504 }, { 47,3504 }, { 48,3504 }, { 49,3504 }, { 50,3504 }, + { 51,3504 }, { 52,3504 }, { 53,3504 }, { 54,3504 }, { 55,3504 }, + { 56,3504 }, { 57,3504 }, { 58,3504 }, { 59,3504 }, { 60,3504 }, + { 61,3504 }, { 62,3504 }, { 63,3504 }, { 64,3504 }, { 65,3504 }, + { 66,3504 }, { 67,3504 }, { 68,3504 }, { 69,3504 }, { 70,3504 }, + { 71,3504 }, { 72,3504 }, { 73,3504 }, { 74,3504 }, { 75,3504 }, + { 76,3504 }, { 77,3504 }, { 78,3504 }, { 79,3504 }, { 80,3504 }, + { 81,3504 }, { 82,3504 }, { 83,3504 }, { 84,3504 }, { 85,3504 }, + { 86,3504 }, { 87,3504 }, { 88,3504 }, { 89,3504 }, { 90,3504 }, + { 91,3504 }, { 92,3504 }, { 93,3504 }, { 94,3504 }, { 95,3504 }, + + { 96,3504 }, { 97,3504 }, { 98,3504 }, { 99,3504 }, { 100,3504 }, + { 101,3504 }, { 102,3504 }, { 103,3504 }, { 104,3504 }, { 105,3504 }, + { 106,3504 }, { 107,3504 }, { 108,3504 }, { 109,3504 }, { 110,3504 }, + { 111,3504 }, { 112,3504 }, { 113,3504 }, { 114,3504 }, { 115,3504 }, + { 116,3504 }, { 117,3504 }, { 118,3504 }, { 119,3504 }, { 120,3504 }, + { 121,3504 }, { 122,3504 }, { 123,3504 }, { 124,3504 }, { 125,3504 }, + { 126,3504 }, { 127,3504 }, { 128,3504 }, { 129,3504 }, { 130,3504 }, + { 131,3504 }, { 132,3504 }, { 133,3504 }, { 134,3504 }, { 135,3504 }, + { 136,3504 }, { 137,3504 }, { 138,3504 }, { 139,3504 }, { 140,3504 }, + { 141,3504 }, { 142,3504 }, { 143,3504 }, { 144,3504 }, { 145,3504 }, + + { 146,3504 }, { 147,3504 }, { 148,3504 }, { 149,3504 }, { 150,3504 }, + { 151,3504 }, { 152,3504 }, { 153,3504 }, { 154,3504 }, { 155,3504 }, + { 156,3504 }, { 157,3504 }, { 158,3504 }, { 159,3504 }, { 160,3504 }, + { 161,3504 }, { 162,3504 }, { 163,3504 }, { 164,3504 }, { 165,3504 }, + { 166,3504 }, { 167,3504 }, { 168,3504 }, { 169,3504 }, { 170,3504 }, + { 171,3504 }, { 172,3504 }, { 173,3504 }, { 174,3504 }, { 175,3504 }, + { 176,3504 }, { 177,3504 }, { 178,3504 }, { 179,3504 }, { 180,3504 }, + { 181,3504 }, { 182,3504 }, { 183,3504 }, { 184,3504 }, { 185,3504 }, + { 186,3504 }, { 187,3504 }, { 188,3504 }, { 189,3504 }, { 190,3504 }, + { 191,3504 }, { 192,3504 }, { 193,3504 }, { 194,3504 }, { 195,3504 }, + + { 196,3504 }, { 197,3504 }, { 198,3504 }, { 199,3504 }, { 200,3504 }, + { 201,3504 }, { 202,3504 }, { 203,3504 }, { 204,3504 }, { 205,3504 }, + { 206,3504 }, { 207,3504 }, { 208,3504 }, { 209,3504 }, { 210,3504 }, + { 211,3504 }, { 212,3504 }, { 213,3504 }, { 214,3504 }, { 215,3504 }, + { 216,3504 }, { 217,3504 }, { 218,3504 }, { 219,3504 }, { 220,3504 }, + { 221,3504 }, { 222,3504 }, { 223,3504 }, { 224,3504 }, { 225,3504 }, + { 226,3504 }, { 227,3504 }, { 228,3504 }, { 229,3504 }, { 230,3504 }, + { 231,3504 }, { 232,3504 }, { 233,3504 }, { 234,3504 }, { 235,3504 }, + { 236,3504 }, { 237,3504 }, { 238,3504 }, { 239,3504 }, { 240,3504 }, + { 241,3504 }, { 242,3504 }, { 243,3504 }, { 244,3504 }, { 245,3504 }, + + { 246,3504 }, { 247,3504 }, { 248,3504 }, { 249,3504 }, { 250,3504 }, + { 251,3504 }, { 252,3504 }, { 253,3504 }, { 254,3504 }, { 255,3504 }, + { 256,3504 }, { 0, 44 }, { 0,53568 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 48 }, { 0,53562 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 9,3755 }, { 10,3755 }, { 0, 0 }, + { 12,3755 }, { 13,3755 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 48 }, { 0,53541 }, + { 0, 24 }, { 0,53539 }, { 0, 29 }, { 0,53537 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-4550 }, { 0, 0 }, + + { 32,3755 }, { 0, 0 }, { 34,-4609 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-4528 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,3504 }, { 66,3504 }, { 67,3504 }, + { 68,3504 }, { 69,3504 }, { 70,3504 }, { 71,3504 }, { 72,3504 }, + { 73,3504 }, { 74,3504 }, { 75,3504 }, { 76,3504 }, { 77,3504 }, + { 78,3504 }, { 79,3504 }, { 80,3504 }, { 81,3504 }, { 82,3504 }, + { 83,3504 }, { 84,3504 }, { 85,3504 }, { 86,3504 }, { 87,3504 }, + + { 88,3504 }, { 89,3504 }, { 90,3504 }, { 85,-4295 }, { 65, 237 }, + { 0, 0 }, { 65, 252 }, { 95,3504 }, { 0, 0 }, { 97,3504 }, + { 98,3504 }, { 99,3504 }, { 100,3504 }, { 101,3504 }, { 102,3504 }, + { 103,3504 }, { 104,3504 }, { 105,3504 }, { 106,3504 }, { 107,3504 }, + { 108,3504 }, { 109,3504 }, { 110,3504 }, { 111,3504 }, { 112,3504 }, + { 113,3504 }, { 114,3504 }, { 115,3504 }, { 116,3504 }, { 117,3504 }, + { 118,3504 }, { 119,3504 }, { 120,3504 }, { 121,3504 }, { 122,3504 }, + { 117,-4295 }, { 97, 237 }, { 0, 0 }, { 97, 252 }, { 0, 0 }, + { 128,3504 }, { 129,3504 }, { 130,3504 }, { 131,3504 }, { 132,3504 }, + { 133,3504 }, { 134,3504 }, { 135,3504 }, { 136,3504 }, { 137,3504 }, + + { 138,3504 }, { 139,3504 }, { 140,3504 }, { 141,3504 }, { 142,3504 }, + { 143,3504 }, { 144,3504 }, { 145,3504 }, { 146,3504 }, { 147,3504 }, + { 148,3504 }, { 149,3504 }, { 150,3504 }, { 151,3504 }, { 152,3504 }, + { 153,3504 }, { 154,3504 }, { 155,3504 }, { 156,3504 }, { 157,3504 }, + { 158,3504 }, { 159,3504 }, { 160,3504 }, { 161,3504 }, { 162,3504 }, + { 163,3504 }, { 164,3504 }, { 165,3504 }, { 166,3504 }, { 167,3504 }, + { 168,3504 }, { 169,3504 }, { 170,3504 }, { 171,3504 }, { 172,3504 }, + { 173,3504 }, { 174,3504 }, { 175,3504 }, { 176,3504 }, { 177,3504 }, + { 178,3504 }, { 179,3504 }, { 180,3504 }, { 181,3504 }, { 182,3504 }, + { 183,3504 }, { 184,3504 }, { 185,3504 }, { 186,3504 }, { 187,3504 }, + + { 188,3504 }, { 189,3504 }, { 190,3504 }, { 191,3504 }, { 192,3504 }, + { 193,3504 }, { 194,3504 }, { 195,3504 }, { 196,3504 }, { 197,3504 }, + { 198,3504 }, { 199,3504 }, { 200,3504 }, { 201,3504 }, { 202,3504 }, + { 203,3504 }, { 204,3504 }, { 205,3504 }, { 206,3504 }, { 207,3504 }, + { 208,3504 }, { 209,3504 }, { 210,3504 }, { 211,3504 }, { 212,3504 }, + { 213,3504 }, { 214,3504 }, { 215,3504 }, { 216,3504 }, { 217,3504 }, + { 218,3504 }, { 219,3504 }, { 220,3504 }, { 221,3504 }, { 222,3504 }, + { 223,3504 }, { 224,3504 }, { 225,3504 }, { 226,3504 }, { 227,3504 }, + { 228,3504 }, { 229,3504 }, { 230,3504 }, { 231,3504 }, { 232,3504 }, + { 233,3504 }, { 234,3504 }, { 235,3504 }, { 236,3504 }, { 237,3504 }, + + { 238,3504 }, { 239,3504 }, { 240,3504 }, { 241,3504 }, { 242,3504 }, + { 243,3504 }, { 244,3504 }, { 245,3504 }, { 246,3504 }, { 247,3504 }, + { 248,3504 }, { 249,3504 }, { 250,3504 }, { 251,3504 }, { 252,3504 }, + { 253,3504 }, { 254,3504 }, { 255,3504 }, { 0, 24 }, { 0,53311 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 1 }, { 0,53306 }, + { 0, 48 }, { 0,53304 }, { 0, 0 }, { 9,3509 }, { 10,3525 }, + { 0, 0 }, { 12,3509 }, { 13,3525 }, { 9, 0 }, { 10, 0 }, + { 0, 0 }, { 12, 0 }, { 13, 0 }, { 0, 57 }, { 0,53291 }, + { 0, 58 }, { 0,53289 }, { 0, 24 }, { 0,53287 }, { 0, 30 }, + { 0,53285 }, { 0, 48 }, { 0,53283 }, { 0, 0 }, { 0, 24 }, + + { 0,53280 }, { 32,3509 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 32, 0 }, { 0, 0 }, { 39,-4818 }, { 0, 48 }, + { 0,53270 }, { 0, 24 }, { 0,53268 }, { 0, 0 }, { 45,-4521 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 48 }, { 0,53261 }, + { 0, 24 }, { 0,53259 }, { 33, 0 }, { 0, 0 }, { 35, 0 }, + { 0, 0 }, { 37, 0 }, { 38, 0 }, { 0, 49 }, { 0,53251 }, + { 0, 0 }, { 42, 0 }, { 43, 0 }, { 0, 0 }, { 45, 0 }, + { 0, 0 }, { 47, 0 }, { 0, 25 }, { 0,53242 }, { 48, 0 }, + { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, + { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 60, 0 }, + + { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 85,-4289 }, + { 45,23606 }, { 80, 21 }, { 45,24378 }, { 39, 10 }, { 0, 0 }, + { 39, 17 }, { 0, 48 }, { 0,53218 }, { 0, 24 }, { 0,53216 }, + { 0, 0 }, { 69,21181 }, { 0, 40 }, { 0,53212 }, { 69,21741 }, + { 0, 25 }, { 0,53209 }, { 0, 0 }, { 80, 7 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94, 0 }, { 0, 0 }, + { 96, 0 }, { 117,-4289 }, { 0, 0 }, { 112, 21 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 101,21181 }, { 0, 0 }, + + { 0, 0 }, { 101,21741 }, { 0, 0 }, { 0, 0 }, { 36,-5086 }, + { 112, 7 }, { 0, 0 }, { 45,34940 }, { 0, 0 }, { 45,38669 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124, 0 }, { 0, 0 }, + { 126, 0 }, { 48,3541 }, { 49,3541 }, { 50,3541 }, { 51,3541 }, + { 52,3541 }, { 53,3541 }, { 54,3541 }, { 55,3541 }, { 56,3541 }, + { 57,3541 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,3541 }, { 66,3541 }, + { 67,3541 }, { 68,3541 }, { 69,3541 }, { 70,3541 }, { 71,3541 }, + { 72,3541 }, { 73,3541 }, { 74,3541 }, { 75,3541 }, { 76,3541 }, + { 77,3541 }, { 78,3541 }, { 79,3541 }, { 80,3541 }, { 81,3541 }, + + { 82,3541 }, { 83,3541 }, { 84,3541 }, { 85,3541 }, { 86,3541 }, + { 87,3541 }, { 88,3541 }, { 89,3541 }, { 90,3541 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,3541 }, { 0, 0 }, + { 97,3541 }, { 98,3541 }, { 99,3541 }, { 100,3541 }, { 101,3541 }, + { 102,3541 }, { 103,3541 }, { 104,3541 }, { 105,3541 }, { 106,3541 }, + { 107,3541 }, { 108,3541 }, { 109,3541 }, { 110,3541 }, { 111,3541 }, + { 112,3541 }, { 113,3541 }, { 114,3541 }, { 115,3541 }, { 116,3541 }, + { 117,3541 }, { 118,3541 }, { 119,3541 }, { 120,3541 }, { 121,3541 }, + { 122,3541 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,3541 }, { 129,3541 }, { 130,3541 }, { 131,3541 }, + + { 132,3541 }, { 133,3541 }, { 134,3541 }, { 135,3541 }, { 136,3541 }, + { 137,3541 }, { 138,3541 }, { 139,3541 }, { 140,3541 }, { 141,3541 }, + { 142,3541 }, { 143,3541 }, { 144,3541 }, { 145,3541 }, { 146,3541 }, + { 147,3541 }, { 148,3541 }, { 149,3541 }, { 150,3541 }, { 151,3541 }, + { 152,3541 }, { 153,3541 }, { 154,3541 }, { 155,3541 }, { 156,3541 }, + { 157,3541 }, { 158,3541 }, { 159,3541 }, { 160,3541 }, { 161,3541 }, + { 162,3541 }, { 163,3541 }, { 164,3541 }, { 165,3541 }, { 166,3541 }, + { 167,3541 }, { 168,3541 }, { 169,3541 }, { 170,3541 }, { 171,3541 }, + { 172,3541 }, { 173,3541 }, { 174,3541 }, { 175,3541 }, { 176,3541 }, + { 177,3541 }, { 178,3541 }, { 179,3541 }, { 180,3541 }, { 181,3541 }, + + { 182,3541 }, { 183,3541 }, { 184,3541 }, { 185,3541 }, { 186,3541 }, + { 187,3541 }, { 188,3541 }, { 189,3541 }, { 190,3541 }, { 191,3541 }, + { 192,3541 }, { 193,3541 }, { 194,3541 }, { 195,3541 }, { 196,3541 }, + { 197,3541 }, { 198,3541 }, { 199,3541 }, { 200,3541 }, { 201,3541 }, + { 202,3541 }, { 203,3541 }, { 204,3541 }, { 205,3541 }, { 206,3541 }, + { 207,3541 }, { 208,3541 }, { 209,3541 }, { 210,3541 }, { 211,3541 }, + { 212,3541 }, { 213,3541 }, { 214,3541 }, { 215,3541 }, { 216,3541 }, + { 217,3541 }, { 218,3541 }, { 219,3541 }, { 220,3541 }, { 221,3541 }, + { 222,3541 }, { 223,3541 }, { 224,3541 }, { 225,3541 }, { 226,3541 }, + { 227,3541 }, { 228,3541 }, { 229,3541 }, { 230,3541 }, { 231,3541 }, + + { 232,3541 }, { 233,3541 }, { 234,3541 }, { 235,3541 }, { 236,3541 }, + { 237,3541 }, { 238,3541 }, { 239,3541 }, { 240,3541 }, { 241,3541 }, + { 242,3541 }, { 243,3541 }, { 244,3541 }, { 245,3541 }, { 246,3541 }, + { 247,3541 }, { 248,3541 }, { 249,3541 }, { 250,3541 }, { 251,3541 }, + { 252,3541 }, { 253,3541 }, { 254,3541 }, { 255,3541 }, { 0, 1 }, + { 0,52955 }, { 1,3541 }, { 2,3541 }, { 3,3541 }, { 4,3541 }, + { 5,3541 }, { 6,3541 }, { 7,3541 }, { 8,3541 }, { 9,3541 }, + { 0, 0 }, { 11,3541 }, { 12,3541 }, { 0, 0 }, { 14,3541 }, + { 15,3541 }, { 16,3541 }, { 17,3541 }, { 18,3541 }, { 19,3541 }, + { 20,3541 }, { 21,3541 }, { 22,3541 }, { 23,3541 }, { 24,3541 }, + + { 25,3541 }, { 26,3541 }, { 27,3541 }, { 28,3541 }, { 29,3541 }, + { 30,3541 }, { 31,3541 }, { 32,3541 }, { 33,3799 }, { 34,3541 }, + { 35,3799 }, { 36,3541 }, { 37,3799 }, { 38,3799 }, { 39,3541 }, + { 40,3541 }, { 41,3541 }, { 42,3799 }, { 43,3799 }, { 44,3541 }, + { 45,3799 }, { 46,3541 }, { 47,3799 }, { 48,3541 }, { 49,3541 }, + { 50,3541 }, { 51,3541 }, { 52,3541 }, { 53,3541 }, { 54,3541 }, + { 55,3541 }, { 56,3541 }, { 57,3541 }, { 58,3541 }, { 59,3541 }, + { 60,3799 }, { 61,3799 }, { 62,3799 }, { 63,3799 }, { 64,3799 }, + { 65,3541 }, { 66,3541 }, { 67,3541 }, { 68,3541 }, { 69,3541 }, + { 70,3541 }, { 71,3541 }, { 72,3541 }, { 73,3541 }, { 74,3541 }, + + { 75,3541 }, { 76,3541 }, { 77,3541 }, { 78,3541 }, { 79,3541 }, + { 80,3541 }, { 81,3541 }, { 82,3541 }, { 83,3541 }, { 84,3541 }, + { 85,3541 }, { 86,3541 }, { 87,3541 }, { 88,3541 }, { 89,3541 }, + { 90,3541 }, { 91,3541 }, { 92,3541 }, { 93,3541 }, { 94,3799 }, + { 95,3541 }, { 96,3799 }, { 97,3541 }, { 98,3541 }, { 99,3541 }, + { 100,3541 }, { 101,3541 }, { 102,3541 }, { 103,3541 }, { 104,3541 }, + { 105,3541 }, { 106,3541 }, { 107,3541 }, { 108,3541 }, { 109,3541 }, + { 110,3541 }, { 111,3541 }, { 112,3541 }, { 113,3541 }, { 114,3541 }, + { 115,3541 }, { 116,3541 }, { 117,3541 }, { 118,3541 }, { 119,3541 }, + { 120,3541 }, { 121,3541 }, { 122,3541 }, { 123,3541 }, { 124,3799 }, + + { 125,3541 }, { 126,3799 }, { 127,3541 }, { 128,3541 }, { 129,3541 }, + { 130,3541 }, { 131,3541 }, { 132,3541 }, { 133,3541 }, { 134,3541 }, + { 135,3541 }, { 136,3541 }, { 137,3541 }, { 138,3541 }, { 139,3541 }, + { 140,3541 }, { 141,3541 }, { 142,3541 }, { 143,3541 }, { 144,3541 }, + { 145,3541 }, { 146,3541 }, { 147,3541 }, { 148,3541 }, { 149,3541 }, + { 150,3541 }, { 151,3541 }, { 152,3541 }, { 153,3541 }, { 154,3541 }, + { 155,3541 }, { 156,3541 }, { 157,3541 }, { 158,3541 }, { 159,3541 }, + { 160,3541 }, { 161,3541 }, { 162,3541 }, { 163,3541 }, { 164,3541 }, + { 165,3541 }, { 166,3541 }, { 167,3541 }, { 168,3541 }, { 169,3541 }, + { 170,3541 }, { 171,3541 }, { 172,3541 }, { 173,3541 }, { 174,3541 }, + + { 175,3541 }, { 176,3541 }, { 177,3541 }, { 178,3541 }, { 179,3541 }, + { 180,3541 }, { 181,3541 }, { 182,3541 }, { 183,3541 }, { 184,3541 }, + { 185,3541 }, { 186,3541 }, { 187,3541 }, { 188,3541 }, { 189,3541 }, + { 190,3541 }, { 191,3541 }, { 192,3541 }, { 193,3541 }, { 194,3541 }, + { 195,3541 }, { 196,3541 }, { 197,3541 }, { 198,3541 }, { 199,3541 }, + { 200,3541 }, { 201,3541 }, { 202,3541 }, { 203,3541 }, { 204,3541 }, + { 205,3541 }, { 206,3541 }, { 207,3541 }, { 208,3541 }, { 209,3541 }, + { 210,3541 }, { 211,3541 }, { 212,3541 }, { 213,3541 }, { 214,3541 }, + { 215,3541 }, { 216,3541 }, { 217,3541 }, { 218,3541 }, { 219,3541 }, + { 220,3541 }, { 221,3541 }, { 222,3541 }, { 223,3541 }, { 224,3541 }, + + { 225,3541 }, { 226,3541 }, { 227,3541 }, { 228,3541 }, { 229,3541 }, + { 230,3541 }, { 231,3541 }, { 232,3541 }, { 233,3541 }, { 234,3541 }, + { 235,3541 }, { 236,3541 }, { 237,3541 }, { 238,3541 }, { 239,3541 }, + { 240,3541 }, { 241,3541 }, { 242,3541 }, { 243,3541 }, { 244,3541 }, + { 245,3541 }, { 246,3541 }, { 247,3541 }, { 248,3541 }, { 249,3541 }, + { 250,3541 }, { 251,3541 }, { 252,3541 }, { 253,3541 }, { 254,3541 }, + { 255,3541 }, { 256,3541 }, { 0, 60 }, { 0,52697 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 2 }, { 0,52672 }, { 0, 60 }, + { 0,52670 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 33,3774 }, { 0, 0 }, { 35,3774 }, { 0, 0 }, + { 37,3774 }, { 38,3774 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 42,3774 }, { 43,3774 }, { 69, 113 }, { 45,3774 }, { 0, 0 }, + { 47,3774 }, { 46,-4928 }, { 0, 0 }, { 48,3774 }, { 49,3774 }, + { 50,3774 }, { 51,3774 }, { 52,3774 }, { 53,3774 }, { 54,3774 }, + { 55,3774 }, { 56,3774 }, { 57,3774 }, { 60,3774 }, { 61,3774 }, + { 62,3774 }, { 63,3774 }, { 64,3774 }, { 0, 59 }, { 0,52606 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 69, 86 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 101, 113 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 63 }, { 0,52584 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 94,3774 }, { 0, 0 }, { 96,3774 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 101, 86 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 46, -64 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 124,3774 }, { 0, 0 }, { 126,3774 }, + { 0, 65 }, { 0,52544 }, { 0, 0 }, { 0, 0 }, { 43,3710 }, + { 0, 0 }, { 45,3710 }, { 0, 0 }, { 69, 22 }, { 48,3752 }, + { 49,3752 }, { 50,3752 }, { 51,3752 }, { 52,3752 }, { 53,3752 }, + + { 54,3752 }, { 55,3752 }, { 56,3752 }, { 57,3752 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 36, 0 }, { 0, 0 }, { 0, 0 }, + { 101, 22 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, + { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, + { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, + { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, + { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, + { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, + { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, + { 89, 0 }, { 90, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95, 0 }, { 0, 0 }, { 97, 0 }, { 98, 0 }, + { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, + { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, + { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, + + { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, + { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128, 0 }, + { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, + { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, + { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, + { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, + { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, + { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, + { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, + + { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, + { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, + { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, + { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, + { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, + { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, + { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, + { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, + { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, + { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, + + { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, + { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, + { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, + { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, + { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, + { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, + { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, + { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, + { 254, 0 }, { 255, 0 }, { 0, 12 }, { 0,52287 }, { 1, 0 }, + { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, + + { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, + { 12, 0 }, { 13, 0 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, + { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, + { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, + { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, + { 32, 0 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, { 36, 0 }, + { 37, 0 }, { 38, 0 }, { 0, 0 }, { 40, 0 }, { 41, 0 }, + { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 0 }, { 46, 0 }, + { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + + { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, + { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, + { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, + { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, + { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, + { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, + { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, + { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, + { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, + { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, + + { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, + { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, + { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, + { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, + { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, + { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, + { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, + { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, + { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, + { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, + + { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, + { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, + { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, + { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, + { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, + { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, + { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, + { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, + { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, + { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, + + { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, + { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, + { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, + { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, + { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, + { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, + { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, + { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, + { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, + { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, + + { 0, 9 }, { 0,52029 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 9 }, { 0,52024 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 9, 0 }, { 10, 5 }, { 0, 0 }, { 12, 0 }, { 13, 5 }, + { 9,3224 }, { 10,3224 }, { 0, 0 }, { 12,3224 }, { 13,3224 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32,3224 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 39,-5568 }, { 45,-6151 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 45,-5551 }, { 0, 5 }, { 0,51977 }, { 1, 0 }, + { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, + { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, + { 12, 0 }, { 13, 0 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, + { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, + { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, + { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, + { 32, 0 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, { 36, 0 }, + { 37, 0 }, { 38, 0 }, { 39, 0 }, { 40, 0 }, { 41, 0 }, + { 0, 0 }, { 43, 0 }, { 44, 0 }, { 45, 0 }, { 46, 0 }, + + { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, + { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, + { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, + { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, + { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, + { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, + { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, + { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, + + { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, + { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, + { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, + { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, + { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, + { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, + { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, + { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, + { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, + { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, + + { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, + { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, + { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, + { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, + { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, + { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, + { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, + { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, + { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, + { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, + + { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, + { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, + { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, + { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, + { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, + { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, + { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, + { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, + { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, + { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, + + { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, + { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, + { 0, 3 }, { 0,51719 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 33,3224 }, + { 0, 0 }, { 35,3224 }, { 0, 0 }, { 37,3224 }, { 38,3224 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42,3224 }, { 43,3224 }, + { 0, 0 }, { 45,3224 }, { 0, 0 }, { 47,3224 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 60,3224 }, { 61,3224 }, { 62,3224 }, { 63,3224 }, + { 64,3224 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 94,3224 }, { 0, 0 }, { 96,3224 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 124,3224 }, { 0, 0 }, { 126,3224 }, { 0, 51 }, { 0,51591 }, + { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, + { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, + + { 11, 0 }, { 12, 0 }, { 13, 0 }, { 14, 0 }, { 15, 0 }, + { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, + { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, + { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, + { 31, 0 }, { 32, 0 }, { 33, 0 }, { 0, 0 }, { 35, 0 }, + { 36, 0 }, { 37, 0 }, { 38, 0 }, { 39, 0 }, { 40, 0 }, + { 41, 0 }, { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 0 }, + { 46, 0 }, { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, + + { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, + { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, + { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, + { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, + { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, + { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, + { 91, 0 }, { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, + { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, + { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, + { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, + + { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, + { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, + { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, + { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, + { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, + { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, + { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, + { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, + { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, + { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, + + { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, + { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, + { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, + { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, + { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, + { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, + { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, + { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, + { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, + { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, + + { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, + { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, + { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, + { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, + { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, + { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, + { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, + { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, + { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, + { 256, 0 }, { 0, 11 }, { 0,51333 }, { 1, 0 }, { 2, 0 }, + + { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, + { 8, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, { 12, 0 }, + { 13, 0 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, { 17, 0 }, + { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, { 22, 0 }, + { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, { 27, 0 }, + { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, { 32, 0 }, + { 33, 0 }, { 34, 0 }, { 35, 0 }, { 36, 0 }, { 37, 0 }, + { 38, 0 }, { 0, 0 }, { 40, 0 }, { 41, 0 }, { 42, 0 }, + { 43, 0 }, { 44, 0 }, { 45, 0 }, { 46, 0 }, { 47, 0 }, + { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, + + { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, + { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, + { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, + { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, + { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, + { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, + { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, + { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, { 92, 0 }, + { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, { 97, 0 }, + { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, + + { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, + { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, + { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, + { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, + { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, { 127, 0 }, + { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, + { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, + { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, + { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, + { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, + + { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, + { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, + { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, + { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, + { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, + { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, + { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, + { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, + { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, + { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, + + { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, + { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, + { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, + { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, + { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, + { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, + { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, + { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, + { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, + { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, + + { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 16 }, + { 0,51075 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 16 }, + { 0,51070 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9, 0 }, + { 10, 5 }, { 0, 0 }, { 12, 0 }, { 13, 5 }, { 9,2582 }, + { 10,2582 }, { 0, 0 }, { 12,2582 }, { 13,2582 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 32, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 32,2582 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 39,-6493 }, + + { 45,-7087 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 45,-6293 }, { 0, 28 }, { 0,51023 }, { 1, 0 }, { 2, 0 }, + { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, + { 8, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, { 12, 0 }, + { 13, 0 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, { 17, 0 }, + { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, { 22, 0 }, + { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, { 27, 0 }, + { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, { 32, 0 }, + { 33, 0 }, { 34, 0 }, { 35, 0 }, { 36, 0 }, { 37, 0 }, + { 38, 0 }, { 0, 0 }, { 40, 0 }, { 41, 0 }, { 42, 0 }, + + { 43, 0 }, { 44, 0 }, { 45, 0 }, { 46, 0 }, { 47, 0 }, + { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, + { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, + { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, + { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, + { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, + { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, + { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, + { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, + { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, { 0, 0 }, + + { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, { 97, 0 }, + { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, + { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, + { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, + { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, + { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, + { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, { 127, 0 }, + { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, + { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, + { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, + + { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, + { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, + { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, + { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, + { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, + { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, + { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, + { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, + { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, + { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, + + { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, + { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, + { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, + { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, + { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, + { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, + { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, + { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, + { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, + { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, + + { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, + { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, + { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 22 }, + { 0,50765 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 22 }, + { 0,50760 }, { 0, 35 }, { 0,50758 }, { 0, 0 }, { 9, 0 }, + { 10, 5 }, { 0, 0 }, { 12, 0 }, { 13, 5 }, { 9,2651 }, + { 10,2651 }, { 0, 0 }, { 12,2651 }, { 13,2651 }, { 0, 33 }, + { 0,50745 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 32, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 32,2651 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 33 }, { 0,50722 }, { 39,-6601 }, + { 45,-7357 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 45,-6592 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,2954 }, { 49,2954 }, { 50,2954 }, { 51,2954 }, { 52,2954 }, + { 53,2954 }, { 54,2954 }, { 55,2954 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,2949 }, { 49,2949 }, + { 50,2949 }, { 51,2949 }, { 52,2949 }, { 53,2949 }, { 54,2949 }, + { 55,2949 }, { 56,2949 }, { 57,2949 }, { 0, 0 }, { 0, 0 }, + { 0, 34 }, { 0,50684 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 65,2949 }, { 66,2949 }, { 67,2949 }, { 68,2949 }, { 69,2949 }, + { 70,2949 }, { 48,2949 }, { 49,2949 }, { 50,2949 }, { 51,2949 }, + { 52,2949 }, { 53,2949 }, { 54,2949 }, { 55,2949 }, { 56,2949 }, + { 57,2949 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,2949 }, { 66,2949 }, + { 67,2949 }, { 68,2949 }, { 69,2949 }, { 70,2949 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 97,2949 }, { 98,2949 }, { 99,2949 }, + { 100,2949 }, { 101,2949 }, { 102,2949 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,2949 }, + { 49,2949 }, { 50,2949 }, { 51,2949 }, { 52,2949 }, { 53,2949 }, + + { 54,2949 }, { 55,2949 }, { 56,2949 }, { 57,2949 }, { 0, 0 }, + { 97,2949 }, { 98,2949 }, { 99,2949 }, { 100,2949 }, { 101,2949 }, + { 102,2949 }, { 65,2949 }, { 66,2949 }, { 67,2949 }, { 68,2949 }, + { 69,2949 }, { 70,2949 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,2949 }, { 98,2949 }, + { 99,2949 }, { 100,2949 }, { 101,2949 }, { 102,2949 }, { 0, 27 }, + + { 0,50580 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, + { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, + { 10, 0 }, { 11, 0 }, { 12, 0 }, { 13, 0 }, { 14, 0 }, + { 15, 0 }, { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, + { 20, 0 }, { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, + { 25, 0 }, { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, + { 30, 0 }, { 31, 0 }, { 32, 0 }, { 33, 0 }, { 34, 0 }, + { 35, 0 }, { 36, 0 }, { 37, 0 }, { 38, 0 }, { 0, 0 }, + { 40, 0 }, { 41, 0 }, { 42, 0 }, { 43, 0 }, { 44, 0 }, + { 45, 0 }, { 46, 0 }, { 47, 0 }, { 48, 0 }, { 49, 0 }, + + { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, + { 55, 0 }, { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, + { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, + { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, + { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, + { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, + { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, + { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, + { 90, 0 }, { 91, 0 }, { 92, 0 }, { 93, 0 }, { 94, 0 }, + { 95, 0 }, { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, + + { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, + { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, + { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, + { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, + { 120, 0 }, { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, + { 125, 0 }, { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, + { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, + { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, + { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, + { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, + + { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, + { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, + { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, + { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, + { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, + { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, + { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, + { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, + { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, + { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, + + { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, + { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, + { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, + { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, + { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, + { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, + { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, + { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, + { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, + { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, + + { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, + { 255, 0 }, { 256, 0 }, { 0, 42 }, { 0,50322 }, { 1, 0 }, + { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, + { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, + { 12, 0 }, { 13, 0 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, + { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, + { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, + { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, + { 32, 0 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, { 0, 0 }, + { 37, 0 }, { 38, 0 }, { 39, 0 }, { 40, 0 }, { 41, 0 }, + + { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 0 }, { 46, 0 }, + { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, + { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, + { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, + { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, + { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, + { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, + { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, + + { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, + { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, + { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, + { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, + { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, + { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, + { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, + { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, + { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, + { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, + + { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, + { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, + { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, + { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, + { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, + { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, + { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, + { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, + { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, + { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, + + { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, + { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, + { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, + { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, + { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, + { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, + { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, + { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, + { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, + { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, + + { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, + { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, + { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, + { 0, 43 }, { 0,50064 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 36,-8054 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,2401 }, + { 49,2401 }, { 50,2401 }, { 51,2401 }, { 52,2401 }, { 53,2401 }, + { 54,2401 }, { 55,2401 }, { 56,2401 }, { 57,2401 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,2401 }, { 66,2401 }, { 67,2401 }, { 68,2401 }, + { 69,2401 }, { 70,2401 }, { 71,2401 }, { 72,2401 }, { 73,2401 }, + { 74,2401 }, { 75,2401 }, { 76,2401 }, { 77,2401 }, { 78,2401 }, + { 79,2401 }, { 80,2401 }, { 81,2401 }, { 82,2401 }, { 83,2401 }, + + { 84,2401 }, { 85,2401 }, { 86,2401 }, { 87,2401 }, { 88,2401 }, + { 89,2401 }, { 90,2401 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,2401 }, { 0, 0 }, { 97,2401 }, { 98,2401 }, + { 99,2401 }, { 100,2401 }, { 101,2401 }, { 102,2401 }, { 103,2401 }, + { 104,2401 }, { 105,2401 }, { 106,2401 }, { 107,2401 }, { 108,2401 }, + { 109,2401 }, { 110,2401 }, { 111,2401 }, { 112,2401 }, { 113,2401 }, + { 114,2401 }, { 115,2401 }, { 116,2401 }, { 117,2401 }, { 118,2401 }, + { 119,2401 }, { 120,2401 }, { 121,2401 }, { 122,2401 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,2401 }, + { 129,2401 }, { 130,2401 }, { 131,2401 }, { 132,2401 }, { 133,2401 }, + + { 134,2401 }, { 135,2401 }, { 136,2401 }, { 137,2401 }, { 138,2401 }, + { 139,2401 }, { 140,2401 }, { 141,2401 }, { 142,2401 }, { 143,2401 }, + { 144,2401 }, { 145,2401 }, { 146,2401 }, { 147,2401 }, { 148,2401 }, + { 149,2401 }, { 150,2401 }, { 151,2401 }, { 152,2401 }, { 153,2401 }, + { 154,2401 }, { 155,2401 }, { 156,2401 }, { 157,2401 }, { 158,2401 }, + { 159,2401 }, { 160,2401 }, { 161,2401 }, { 162,2401 }, { 163,2401 }, + { 164,2401 }, { 165,2401 }, { 166,2401 }, { 167,2401 }, { 168,2401 }, + { 169,2401 }, { 170,2401 }, { 171,2401 }, { 172,2401 }, { 173,2401 }, + { 174,2401 }, { 175,2401 }, { 176,2401 }, { 177,2401 }, { 178,2401 }, + { 179,2401 }, { 180,2401 }, { 181,2401 }, { 182,2401 }, { 183,2401 }, + + { 184,2401 }, { 185,2401 }, { 186,2401 }, { 187,2401 }, { 188,2401 }, + { 189,2401 }, { 190,2401 }, { 191,2401 }, { 192,2401 }, { 193,2401 }, + { 194,2401 }, { 195,2401 }, { 196,2401 }, { 197,2401 }, { 198,2401 }, + { 199,2401 }, { 200,2401 }, { 201,2401 }, { 202,2401 }, { 203,2401 }, + { 204,2401 }, { 205,2401 }, { 206,2401 }, { 207,2401 }, { 208,2401 }, + { 209,2401 }, { 210,2401 }, { 211,2401 }, { 212,2401 }, { 213,2401 }, + { 214,2401 }, { 215,2401 }, { 216,2401 }, { 217,2401 }, { 218,2401 }, + { 219,2401 }, { 220,2401 }, { 221,2401 }, { 222,2401 }, { 223,2401 }, + { 224,2401 }, { 225,2401 }, { 226,2401 }, { 227,2401 }, { 228,2401 }, + { 229,2401 }, { 230,2401 }, { 231,2401 }, { 232,2401 }, { 233,2401 }, + + { 234,2401 }, { 235,2401 }, { 236,2401 }, { 237,2401 }, { 238,2401 }, + { 239,2401 }, { 240,2401 }, { 241,2401 }, { 242,2401 }, { 243,2401 }, + { 244,2401 }, { 245,2401 }, { 246,2401 }, { 247,2401 }, { 248,2401 }, + { 249,2401 }, { 250,2401 }, { 251,2401 }, { 252,2401 }, { 253,2401 }, + { 254,2401 }, { 255,2401 }, { 0, 48 }, { 0,49807 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 24 }, { 0,49802 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 9, 0 }, { 10, 0 }, { 0, 0 }, + { 12, 0 }, { 13, 0 }, { 9, 0 }, { 10, 16 }, { 0, 0 }, + { 12, 0 }, { 13, 16 }, { 0, 0 }, { 0, 24 }, { 0,49786 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 33 }, { 0,49781 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9,2638 }, { 10,2638 }, + { 32, 0 }, { 12,2638 }, { 13,2638 }, { 0, 0 }, { 0, 0 }, + { 32, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-8283 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-8030 }, { 0, 0 }, + { 0, 0 }, { 32,2638 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 39,-7575 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-7309 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,3010 }, { 49,3010 }, { 50,3010 }, + + { 51,3010 }, { 52,3010 }, { 53,3010 }, { 54,3010 }, { 55,3010 }, + { 56,3010 }, { 57,3010 }, { 0, 0 }, { 85,-8050 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 85,-7798 }, { 65,3010 }, + { 66,3010 }, { 67,3010 }, { 68,3010 }, { 69,3010 }, { 70,3010 }, + { 0, 33 }, { 0,49709 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 85,-7814 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 117,-8050 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 117,-7798 }, { 97,3010 }, { 98,3010 }, { 99,3010 }, { 100,3010 }, + + { 101,3010 }, { 102,3010 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 40 }, { 0,49671 }, + { 0, 0 }, { 117,-7814 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,2961 }, + { 49,2961 }, { 50,2961 }, { 51,2961 }, { 52,2961 }, { 53,2961 }, + { 54,2961 }, { 55,2961 }, { 56,2961 }, { 57,2961 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,2961 }, { 66,2961 }, { 67,2961 }, { 68,2961 }, + { 69,2961 }, { 70,2961 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 36,-8627 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 0, 0 }, { 97,2961 }, { 98,2961 }, + { 99,2961 }, { 100,2961 }, { 101,2961 }, { 102,2961 }, { 65, 0 }, + { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, + { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, + { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, + { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, + { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95, 0 }, + { 0, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, + { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, + { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, + { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, + { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, + { 121, 0 }, { 122, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, + { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, + { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, + + { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, + { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, + { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, + { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, + { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, + { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, + { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, + { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, + { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, + { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, + + { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, + { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, + { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, + { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, + { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, + { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, + { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, + { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, + { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, + { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, + + { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, + { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, + { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, + { 0, 1 }, { 0,49414 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, + { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, + { 9, 0 }, { 0, 0 }, { 11, 0 }, { 12, 0 }, { 0, 0 }, + { 14, 0 }, { 15, 0 }, { 16, 0 }, { 17, 0 }, { 18, 0 }, + { 19, 0 }, { 20, 0 }, { 21, 0 }, { 22, 0 }, { 23, 0 }, + { 24, 0 }, { 25, 0 }, { 26, 0 }, { 27, 0 }, { 28, 0 }, + { 29, 0 }, { 30, 0 }, { 31, 0 }, { 32, 0 }, { 33, 0 }, + + { 34, 0 }, { 35, 0 }, { 36, 0 }, { 37, 0 }, { 38, 0 }, + { 39, 0 }, { 40, 0 }, { 41, 0 }, { 42, 0 }, { 43, 0 }, + { 44, 0 }, { 45, 0 }, { 46, 0 }, { 47, 0 }, { 48, 0 }, + { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, + { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 58, 0 }, + { 59, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, + { 64, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, + { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, + { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, + { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, + + { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, + { 89, 0 }, { 90, 0 }, { 91, 0 }, { 92, 0 }, { 93, 0 }, + { 94, 0 }, { 95, 0 }, { 96, 0 }, { 97, 0 }, { 98, 0 }, + { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, + { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, + { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, + { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, + { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, { 123, 0 }, + { 124, 0 }, { 125, 0 }, { 126, 0 }, { 127, 0 }, { 128, 0 }, + { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, + + { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, + { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, + { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, + { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, + { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, + { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, + { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, + { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, + { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, + { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, + + { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, + { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, + { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, + { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, + { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, + { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, + { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, + { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, + { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, + { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, + + { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, + { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, + { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, + { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, + { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 1 }, { 0,49156 }, + { 1,-258 }, { 2,-258 }, { 3,-258 }, { 4,-258 }, { 5,-258 }, + { 6,-258 }, { 7,-258 }, { 8,-258 }, { 9,-258 }, { 0, 0 }, + { 11,-258 }, { 12,-258 }, { 0, 0 }, { 14,-258 }, { 15,-258 }, + { 16,-258 }, { 17,-258 }, { 18,-258 }, { 19,-258 }, { 20,-258 }, + { 21,-258 }, { 22,-258 }, { 23,-258 }, { 24,-258 }, { 25,-258 }, + + { 26,-258 }, { 27,-258 }, { 28,-258 }, { 29,-258 }, { 30,-258 }, + { 31,-258 }, { 32,-258 }, { 33, 0 }, { 34,-258 }, { 35, 0 }, + { 36,-258 }, { 37, 0 }, { 38, 0 }, { 39,-258 }, { 40,-258 }, + { 41,-258 }, { 42, 0 }, { 43, 0 }, { 44,-258 }, { 45, 0 }, + { 46,-258 }, { 47, 0 }, { 48,-258 }, { 49,-258 }, { 50,-258 }, + { 51,-258 }, { 52,-258 }, { 53,-258 }, { 54,-258 }, { 55,-258 }, + { 56,-258 }, { 57,-258 }, { 58,-258 }, { 59,-258 }, { 60, 0 }, + { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65,-258 }, + { 66,-258 }, { 67,-258 }, { 68,-258 }, { 69,-258 }, { 70,-258 }, + { 71,-258 }, { 72,-258 }, { 73,-258 }, { 74,-258 }, { 75,-258 }, + + { 76,-258 }, { 77,-258 }, { 78,-258 }, { 79,-258 }, { 80,-258 }, + { 81,-258 }, { 82,-258 }, { 83,-258 }, { 84,-258 }, { 85,-258 }, + { 86,-258 }, { 87,-258 }, { 88,-258 }, { 89,-258 }, { 90,-258 }, + { 91,-258 }, { 92,-258 }, { 93,-258 }, { 94, 0 }, { 95,-258 }, + { 96, 0 }, { 97,-258 }, { 98,-258 }, { 99,-258 }, { 100,-258 }, + { 101,-258 }, { 102,-258 }, { 103,-258 }, { 104,-258 }, { 105,-258 }, + { 106,-258 }, { 107,-258 }, { 108,-258 }, { 109,-258 }, { 110,-258 }, + { 111,-258 }, { 112,-258 }, { 113,-258 }, { 114,-258 }, { 115,-258 }, + { 116,-258 }, { 117,-258 }, { 118,-258 }, { 119,-258 }, { 120,-258 }, + { 121,-258 }, { 122,-258 }, { 123,-258 }, { 124, 0 }, { 125,-258 }, + + { 126, 0 }, { 127,-258 }, { 128,-258 }, { 129,-258 }, { 130,-258 }, + { 131,-258 }, { 132,-258 }, { 133,-258 }, { 134,-258 }, { 135,-258 }, + { 136,-258 }, { 137,-258 }, { 138,-258 }, { 139,-258 }, { 140,-258 }, + { 141,-258 }, { 142,-258 }, { 143,-258 }, { 144,-258 }, { 145,-258 }, + { 146,-258 }, { 147,-258 }, { 148,-258 }, { 149,-258 }, { 150,-258 }, + { 151,-258 }, { 152,-258 }, { 153,-258 }, { 154,-258 }, { 155,-258 }, + { 156,-258 }, { 157,-258 }, { 158,-258 }, { 159,-258 }, { 160,-258 }, + { 161,-258 }, { 162,-258 }, { 163,-258 }, { 164,-258 }, { 165,-258 }, + { 166,-258 }, { 167,-258 }, { 168,-258 }, { 169,-258 }, { 170,-258 }, + { 171,-258 }, { 172,-258 }, { 173,-258 }, { 174,-258 }, { 175,-258 }, + + { 176,-258 }, { 177,-258 }, { 178,-258 }, { 179,-258 }, { 180,-258 }, + { 181,-258 }, { 182,-258 }, { 183,-258 }, { 184,-258 }, { 185,-258 }, + { 186,-258 }, { 187,-258 }, { 188,-258 }, { 189,-258 }, { 190,-258 }, + { 191,-258 }, { 192,-258 }, { 193,-258 }, { 194,-258 }, { 195,-258 }, + { 196,-258 }, { 197,-258 }, { 198,-258 }, { 199,-258 }, { 200,-258 }, + { 201,-258 }, { 202,-258 }, { 203,-258 }, { 204,-258 }, { 205,-258 }, + { 206,-258 }, { 207,-258 }, { 208,-258 }, { 209,-258 }, { 210,-258 }, + { 211,-258 }, { 212,-258 }, { 213,-258 }, { 214,-258 }, { 215,-258 }, + { 216,-258 }, { 217,-258 }, { 218,-258 }, { 219,-258 }, { 220,-258 }, + { 221,-258 }, { 222,-258 }, { 223,-258 }, { 224,-258 }, { 225,-258 }, + + { 226,-258 }, { 227,-258 }, { 228,-258 }, { 229,-258 }, { 230,-258 }, + { 231,-258 }, { 232,-258 }, { 233,-258 }, { 234,-258 }, { 235,-258 }, + { 236,-258 }, { 237,-258 }, { 238,-258 }, { 239,-258 }, { 240,-258 }, + { 241,-258 }, { 242,-258 }, { 243,-258 }, { 244,-258 }, { 245,-258 }, + { 246,-258 }, { 247,-258 }, { 248,-258 }, { 249,-258 }, { 250,-258 }, + { 251,-258 }, { 252,-258 }, { 253,-258 }, { 254,-258 }, { 255,-258 }, + { 256,-258 }, { 0, 2 }, { 0,48898 }, { 0, 60 }, { 0,48896 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 64 }, { 0,48874 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 33, 0 }, { 0, 0 }, { 35, 0 }, { 0, 0 }, { 37, 0 }, + { 38, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42, 0 }, + { 43, 0 }, { 0, 0 }, { 45, 0 }, { 0, 0 }, { 47, 0 }, + { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, + { 63, 0 }, { 64, 0 }, { 0, 62 }, { 0,48832 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 69,-3688 }, { 48, 42 }, + { 49, 42 }, { 50, 42 }, { 51, 42 }, { 52, 42 }, { 53, 42 }, + { 54, 42 }, { 55, 42 }, { 56, 42 }, { 57, 42 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 94, 0 }, { 0, 0 }, { 96, 0 }, { 0, 9 }, + { 0,48800 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 101,-3688 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9, 0 }, + { 10, 0 }, { 0, 0 }, { 12, 0 }, { 13, 0 }, { 0, 0 }, + { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 124, 0 }, { 0, 0 }, { 126, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 32, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 39,-8792 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 45,-8775 }, { 0, 9 }, { 0,48753 }, { 1,2367 }, { 2,2367 }, + { 3,2367 }, { 4,2367 }, { 5,2367 }, { 6,2367 }, { 7,2367 }, + { 8,2367 }, { 9,2625 }, { 10,-3271 }, { 11,2367 }, { 12,2625 }, + { 13,-3271 }, { 14,2367 }, { 15,2367 }, { 16,2367 }, { 17,2367 }, + { 18,2367 }, { 19,2367 }, { 20,2367 }, { 21,2367 }, { 22,2367 }, + + { 23,2367 }, { 24,2367 }, { 25,2367 }, { 26,2367 }, { 27,2367 }, + { 28,2367 }, { 29,2367 }, { 30,2367 }, { 31,2367 }, { 32,2625 }, + { 33,2367 }, { 34,2367 }, { 35,2367 }, { 36,2367 }, { 37,2367 }, + { 38,2367 }, { 39,2367 }, { 40,2367 }, { 41,2367 }, { 42,2367 }, + { 43,2367 }, { 44,2367 }, { 45,2883 }, { 46,2367 }, { 47,2367 }, + { 48,2367 }, { 49,2367 }, { 50,2367 }, { 51,2367 }, { 52,2367 }, + { 53,2367 }, { 54,2367 }, { 55,2367 }, { 56,2367 }, { 57,2367 }, + { 58,2367 }, { 59,2367 }, { 60,2367 }, { 61,2367 }, { 62,2367 }, + { 63,2367 }, { 64,2367 }, { 65,2367 }, { 66,2367 }, { 67,2367 }, + { 68,2367 }, { 69,2367 }, { 70,2367 }, { 71,2367 }, { 72,2367 }, + + { 73,2367 }, { 74,2367 }, { 75,2367 }, { 76,2367 }, { 77,2367 }, + { 78,2367 }, { 79,2367 }, { 80,2367 }, { 81,2367 }, { 82,2367 }, + { 83,2367 }, { 84,2367 }, { 85,2367 }, { 86,2367 }, { 87,2367 }, + { 88,2367 }, { 89,2367 }, { 90,2367 }, { 91,2367 }, { 92,2367 }, + { 93,2367 }, { 94,2367 }, { 95,2367 }, { 96,2367 }, { 97,2367 }, + { 98,2367 }, { 99,2367 }, { 100,2367 }, { 101,2367 }, { 102,2367 }, + { 103,2367 }, { 104,2367 }, { 105,2367 }, { 106,2367 }, { 107,2367 }, + { 108,2367 }, { 109,2367 }, { 110,2367 }, { 111,2367 }, { 112,2367 }, + { 113,2367 }, { 114,2367 }, { 115,2367 }, { 116,2367 }, { 117,2367 }, + { 118,2367 }, { 119,2367 }, { 120,2367 }, { 121,2367 }, { 122,2367 }, + + { 123,2367 }, { 124,2367 }, { 125,2367 }, { 126,2367 }, { 127,2367 }, + { 128,2367 }, { 129,2367 }, { 130,2367 }, { 131,2367 }, { 132,2367 }, + { 133,2367 }, { 134,2367 }, { 135,2367 }, { 136,2367 }, { 137,2367 }, + { 138,2367 }, { 139,2367 }, { 140,2367 }, { 141,2367 }, { 142,2367 }, + { 143,2367 }, { 144,2367 }, { 145,2367 }, { 146,2367 }, { 147,2367 }, + { 148,2367 }, { 149,2367 }, { 150,2367 }, { 151,2367 }, { 152,2367 }, + { 153,2367 }, { 154,2367 }, { 155,2367 }, { 156,2367 }, { 157,2367 }, + { 158,2367 }, { 159,2367 }, { 160,2367 }, { 161,2367 }, { 162,2367 }, + { 163,2367 }, { 164,2367 }, { 165,2367 }, { 166,2367 }, { 167,2367 }, + { 168,2367 }, { 169,2367 }, { 170,2367 }, { 171,2367 }, { 172,2367 }, + + { 173,2367 }, { 174,2367 }, { 175,2367 }, { 176,2367 }, { 177,2367 }, + { 178,2367 }, { 179,2367 }, { 180,2367 }, { 181,2367 }, { 182,2367 }, + { 183,2367 }, { 184,2367 }, { 185,2367 }, { 186,2367 }, { 187,2367 }, + { 188,2367 }, { 189,2367 }, { 190,2367 }, { 191,2367 }, { 192,2367 }, + { 193,2367 }, { 194,2367 }, { 195,2367 }, { 196,2367 }, { 197,2367 }, + { 198,2367 }, { 199,2367 }, { 200,2367 }, { 201,2367 }, { 202,2367 }, + { 203,2367 }, { 204,2367 }, { 205,2367 }, { 206,2367 }, { 207,2367 }, + { 208,2367 }, { 209,2367 }, { 210,2367 }, { 211,2367 }, { 212,2367 }, + { 213,2367 }, { 214,2367 }, { 215,2367 }, { 216,2367 }, { 217,2367 }, + { 218,2367 }, { 219,2367 }, { 220,2367 }, { 221,2367 }, { 222,2367 }, + + { 223,2367 }, { 224,2367 }, { 225,2367 }, { 226,2367 }, { 227,2367 }, + { 228,2367 }, { 229,2367 }, { 230,2367 }, { 231,2367 }, { 232,2367 }, + { 233,2367 }, { 234,2367 }, { 235,2367 }, { 236,2367 }, { 237,2367 }, + { 238,2367 }, { 239,2367 }, { 240,2367 }, { 241,2367 }, { 242,2367 }, + { 243,2367 }, { 244,2367 }, { 245,2367 }, { 246,2367 }, { 247,2367 }, + { 248,2367 }, { 249,2367 }, { 250,2367 }, { 251,2367 }, { 252,2367 }, + { 253,2367 }, { 254,2367 }, { 255,2367 }, { 256,2367 }, { 0, 3 }, + { 0,48495 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 16 }, { 0,48488 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 9, 0 }, { 10, 0 }, { 0, 0 }, { 12, 0 }, + { 13, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 33, 0 }, { 0, 0 }, + { 35, 0 }, { 0, 0 }, { 37, 0 }, { 38, 0 }, { 32, 0 }, + { 0, 0 }, { 0, 0 }, { 42, 0 }, { 43, 0 }, { 0, 0 }, + { 45, 0 }, { 39,-9075 }, { 47, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 45,-8875 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94, 0 }, + { 0, 0 }, { 96, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124, 0 }, + { 0, 0 }, { 126, 0 }, { 0, 16 }, { 0,48367 }, { 1,3013 }, + { 2,3013 }, { 3,3013 }, { 4,3013 }, { 5,3013 }, { 6,3013 }, + { 7,3013 }, { 8,3013 }, { 9,3271 }, { 10,-2703 }, { 11,3013 }, + { 12,3271 }, { 13,-2703 }, { 14,3013 }, { 15,3013 }, { 16,3013 }, + { 17,3013 }, { 18,3013 }, { 19,3013 }, { 20,3013 }, { 21,3013 }, + { 22,3013 }, { 23,3013 }, { 24,3013 }, { 25,3013 }, { 26,3013 }, + { 27,3013 }, { 28,3013 }, { 29,3013 }, { 30,3013 }, { 31,3013 }, + { 32,3271 }, { 33,3013 }, { 34,3013 }, { 35,3013 }, { 36,3013 }, + + { 37,3013 }, { 38,3013 }, { 39,3013 }, { 40,3013 }, { 41,3013 }, + { 42,3013 }, { 43,3013 }, { 44,3013 }, { 45,3529 }, { 46,3013 }, + { 47,3013 }, { 48,3013 }, { 49,3013 }, { 50,3013 }, { 51,3013 }, + { 52,3013 }, { 53,3013 }, { 54,3013 }, { 55,3013 }, { 56,3013 }, + { 57,3013 }, { 58,3013 }, { 59,3013 }, { 60,3013 }, { 61,3013 }, + { 62,3013 }, { 63,3013 }, { 64,3013 }, { 65,3013 }, { 66,3013 }, + { 67,3013 }, { 68,3013 }, { 69,3013 }, { 70,3013 }, { 71,3013 }, + { 72,3013 }, { 73,3013 }, { 74,3013 }, { 75,3013 }, { 76,3013 }, + { 77,3013 }, { 78,3013 }, { 79,3013 }, { 80,3013 }, { 81,3013 }, + { 82,3013 }, { 83,3013 }, { 84,3013 }, { 85,3013 }, { 86,3013 }, + + { 87,3013 }, { 88,3013 }, { 89,3013 }, { 90,3013 }, { 91,3013 }, + { 92,3013 }, { 93,3013 }, { 94,3013 }, { 95,3013 }, { 96,3013 }, + { 97,3013 }, { 98,3013 }, { 99,3013 }, { 100,3013 }, { 101,3013 }, + { 102,3013 }, { 103,3013 }, { 104,3013 }, { 105,3013 }, { 106,3013 }, + { 107,3013 }, { 108,3013 }, { 109,3013 }, { 110,3013 }, { 111,3013 }, + { 112,3013 }, { 113,3013 }, { 114,3013 }, { 115,3013 }, { 116,3013 }, + { 117,3013 }, { 118,3013 }, { 119,3013 }, { 120,3013 }, { 121,3013 }, + { 122,3013 }, { 123,3013 }, { 124,3013 }, { 125,3013 }, { 126,3013 }, + { 127,3013 }, { 128,3013 }, { 129,3013 }, { 130,3013 }, { 131,3013 }, + { 132,3013 }, { 133,3013 }, { 134,3013 }, { 135,3013 }, { 136,3013 }, + + { 137,3013 }, { 138,3013 }, { 139,3013 }, { 140,3013 }, { 141,3013 }, + { 142,3013 }, { 143,3013 }, { 144,3013 }, { 145,3013 }, { 146,3013 }, + { 147,3013 }, { 148,3013 }, { 149,3013 }, { 150,3013 }, { 151,3013 }, + { 152,3013 }, { 153,3013 }, { 154,3013 }, { 155,3013 }, { 156,3013 }, + { 157,3013 }, { 158,3013 }, { 159,3013 }, { 160,3013 }, { 161,3013 }, + { 162,3013 }, { 163,3013 }, { 164,3013 }, { 165,3013 }, { 166,3013 }, + { 167,3013 }, { 168,3013 }, { 169,3013 }, { 170,3013 }, { 171,3013 }, + { 172,3013 }, { 173,3013 }, { 174,3013 }, { 175,3013 }, { 176,3013 }, + { 177,3013 }, { 178,3013 }, { 179,3013 }, { 180,3013 }, { 181,3013 }, + { 182,3013 }, { 183,3013 }, { 184,3013 }, { 185,3013 }, { 186,3013 }, + + { 187,3013 }, { 188,3013 }, { 189,3013 }, { 190,3013 }, { 191,3013 }, + { 192,3013 }, { 193,3013 }, { 194,3013 }, { 195,3013 }, { 196,3013 }, + { 197,3013 }, { 198,3013 }, { 199,3013 }, { 200,3013 }, { 201,3013 }, + { 202,3013 }, { 203,3013 }, { 204,3013 }, { 205,3013 }, { 206,3013 }, + { 207,3013 }, { 208,3013 }, { 209,3013 }, { 210,3013 }, { 211,3013 }, + { 212,3013 }, { 213,3013 }, { 214,3013 }, { 215,3013 }, { 216,3013 }, + { 217,3013 }, { 218,3013 }, { 219,3013 }, { 220,3013 }, { 221,3013 }, + { 222,3013 }, { 223,3013 }, { 224,3013 }, { 225,3013 }, { 226,3013 }, + { 227,3013 }, { 228,3013 }, { 229,3013 }, { 230,3013 }, { 231,3013 }, + { 232,3013 }, { 233,3013 }, { 234,3013 }, { 235,3013 }, { 236,3013 }, + + { 237,3013 }, { 238,3013 }, { 239,3013 }, { 240,3013 }, { 241,3013 }, + { 242,3013 }, { 243,3013 }, { 244,3013 }, { 245,3013 }, { 246,3013 }, + { 247,3013 }, { 248,3013 }, { 249,3013 }, { 250,3013 }, { 251,3013 }, + { 252,3013 }, { 253,3013 }, { 254,3013 }, { 255,3013 }, { 256,3013 }, + { 0, 22 }, { 0,48109 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 9, 0 }, { 10, 0 }, { 0, 0 }, { 12, 0 }, { 13, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 39,-9252 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 45,-9243 }, { 0, 22 }, { 0,48062 }, { 1,3740 }, + { 2,3740 }, { 3,3740 }, { 4,3740 }, { 5,3740 }, { 6,3740 }, + { 7,3740 }, { 8,3740 }, { 9,3998 }, { 10,-2698 }, { 11,3740 }, + { 12,3998 }, { 13,-2698 }, { 14,3740 }, { 15,3740 }, { 16,3740 }, + { 17,3740 }, { 18,3740 }, { 19,3740 }, { 20,3740 }, { 21,3740 }, + { 22,3740 }, { 23,3740 }, { 24,3740 }, { 25,3740 }, { 26,3740 }, + { 27,3740 }, { 28,3740 }, { 29,3740 }, { 30,3740 }, { 31,3740 }, + + { 32,3998 }, { 33,3740 }, { 34,3740 }, { 35,3740 }, { 36,3740 }, + { 37,3740 }, { 38,3740 }, { 39,3740 }, { 40,3740 }, { 41,3740 }, + { 42,3740 }, { 43,3740 }, { 44,3740 }, { 45,4256 }, { 46,3740 }, + { 47,3740 }, { 48,3740 }, { 49,3740 }, { 50,3740 }, { 51,3740 }, + { 52,3740 }, { 53,3740 }, { 54,3740 }, { 55,3740 }, { 56,3740 }, + { 57,3740 }, { 58,3740 }, { 59,3740 }, { 60,3740 }, { 61,3740 }, + { 62,3740 }, { 63,3740 }, { 64,3740 }, { 65,3740 }, { 66,3740 }, + { 67,3740 }, { 68,3740 }, { 69,3740 }, { 70,3740 }, { 71,3740 }, + { 72,3740 }, { 73,3740 }, { 74,3740 }, { 75,3740 }, { 76,3740 }, + { 77,3740 }, { 78,3740 }, { 79,3740 }, { 80,3740 }, { 81,3740 }, + + { 82,3740 }, { 83,3740 }, { 84,3740 }, { 85,3740 }, { 86,3740 }, + { 87,3740 }, { 88,3740 }, { 89,3740 }, { 90,3740 }, { 91,3740 }, + { 92,3740 }, { 93,3740 }, { 94,3740 }, { 95,3740 }, { 96,3740 }, + { 97,3740 }, { 98,3740 }, { 99,3740 }, { 100,3740 }, { 101,3740 }, + { 102,3740 }, { 103,3740 }, { 104,3740 }, { 105,3740 }, { 106,3740 }, + { 107,3740 }, { 108,3740 }, { 109,3740 }, { 110,3740 }, { 111,3740 }, + { 112,3740 }, { 113,3740 }, { 114,3740 }, { 115,3740 }, { 116,3740 }, + { 117,3740 }, { 118,3740 }, { 119,3740 }, { 120,3740 }, { 121,3740 }, + { 122,3740 }, { 123,3740 }, { 124,3740 }, { 125,3740 }, { 126,3740 }, + { 127,3740 }, { 128,3740 }, { 129,3740 }, { 130,3740 }, { 131,3740 }, + + { 132,3740 }, { 133,3740 }, { 134,3740 }, { 135,3740 }, { 136,3740 }, + { 137,3740 }, { 138,3740 }, { 139,3740 }, { 140,3740 }, { 141,3740 }, + { 142,3740 }, { 143,3740 }, { 144,3740 }, { 145,3740 }, { 146,3740 }, + { 147,3740 }, { 148,3740 }, { 149,3740 }, { 150,3740 }, { 151,3740 }, + { 152,3740 }, { 153,3740 }, { 154,3740 }, { 155,3740 }, { 156,3740 }, + { 157,3740 }, { 158,3740 }, { 159,3740 }, { 160,3740 }, { 161,3740 }, + { 162,3740 }, { 163,3740 }, { 164,3740 }, { 165,3740 }, { 166,3740 }, + { 167,3740 }, { 168,3740 }, { 169,3740 }, { 170,3740 }, { 171,3740 }, + { 172,3740 }, { 173,3740 }, { 174,3740 }, { 175,3740 }, { 176,3740 }, + { 177,3740 }, { 178,3740 }, { 179,3740 }, { 180,3740 }, { 181,3740 }, + + { 182,3740 }, { 183,3740 }, { 184,3740 }, { 185,3740 }, { 186,3740 }, + { 187,3740 }, { 188,3740 }, { 189,3740 }, { 190,3740 }, { 191,3740 }, + { 192,3740 }, { 193,3740 }, { 194,3740 }, { 195,3740 }, { 196,3740 }, + { 197,3740 }, { 198,3740 }, { 199,3740 }, { 200,3740 }, { 201,3740 }, + { 202,3740 }, { 203,3740 }, { 204,3740 }, { 205,3740 }, { 206,3740 }, + { 207,3740 }, { 208,3740 }, { 209,3740 }, { 210,3740 }, { 211,3740 }, + { 212,3740 }, { 213,3740 }, { 214,3740 }, { 215,3740 }, { 216,3740 }, + { 217,3740 }, { 218,3740 }, { 219,3740 }, { 220,3740 }, { 221,3740 }, + { 222,3740 }, { 223,3740 }, { 224,3740 }, { 225,3740 }, { 226,3740 }, + { 227,3740 }, { 228,3740 }, { 229,3740 }, { 230,3740 }, { 231,3740 }, + + { 232,3740 }, { 233,3740 }, { 234,3740 }, { 235,3740 }, { 236,3740 }, + { 237,3740 }, { 238,3740 }, { 239,3740 }, { 240,3740 }, { 241,3740 }, + { 242,3740 }, { 243,3740 }, { 244,3740 }, { 245,3740 }, { 246,3740 }, + { 247,3740 }, { 248,3740 }, { 249,3740 }, { 250,3740 }, { 251,3740 }, + { 252,3740 }, { 253,3740 }, { 254,3740 }, { 255,3740 }, { 256,3740 }, + { 0, 35 }, { 0,47804 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 33 }, { 0,47796 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 33 }, { 0,47773 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-9037 }, + { 49,-9037 }, { 50,-9037 }, { 51,-9037 }, { 52,-9037 }, { 53,-9037 }, + { 54,-9037 }, { 55,-9037 }, { 48,4248 }, { 49,4248 }, { 50,4248 }, + { 51,4248 }, { 52,4248 }, { 53,4248 }, { 54,4248 }, { 55,4248 }, + { 56,4248 }, { 57,4248 }, { 0, 0 }, { 0, 0 }, { 0, 36 }, + { 0,47735 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,4248 }, + + { 66,4248 }, { 67,4248 }, { 68,4248 }, { 69,4248 }, { 70,4248 }, + { 48,4248 }, { 49,4248 }, { 50,4248 }, { 51,4248 }, { 52,4248 }, + { 53,4248 }, { 54,4248 }, { 55,4248 }, { 56,4248 }, { 57,4248 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,4248 }, { 66,4248 }, { 67,4248 }, + { 68,4248 }, { 69,4248 }, { 70,4248 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 97,4248 }, { 98,4248 }, { 99,4248 }, { 100,4248 }, + { 101,4248 }, { 102,4248 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-9104 }, { 49,-9104 }, + { 50,-9104 }, { 51,-9104 }, { 52,-9104 }, { 53,-9104 }, { 54,-9104 }, + + { 55,-9104 }, { 56,-9104 }, { 57,-9104 }, { 0, 0 }, { 97,4248 }, + { 98,4248 }, { 99,4248 }, { 100,4248 }, { 101,4248 }, { 102,4248 }, + { 65,-9104 }, { 66,-9104 }, { 67,-9104 }, { 68,-9104 }, { 69,-9104 }, + { 70,-9104 }, { 0, 43 }, { 0,47663 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 97,-9104 }, { 98,-9104 }, { 99,-9104 }, + { 100,-9104 }, { 101,-9104 }, { 102,-9104 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-10455 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, + { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, + { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, + { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, + { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, + + { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, + { 88, 0 }, { 89, 0 }, { 90, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95, 0 }, { 0, 0 }, { 97, 0 }, + { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, + { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, + { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, + { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, + { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, + + { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, + { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, + { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, + { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, + { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, + { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, + { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, + { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, + { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, + { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, + + { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, + { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, + { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, + { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, + { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, + { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, + { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, + { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, + { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, + { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, + + { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, + { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, + { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, + { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, + { 253, 0 }, { 254, 0 }, { 255, 0 }, { 0, 48 }, { 0,47406 }, + { 1,3985 }, { 2,3985 }, { 3,3985 }, { 4,3985 }, { 5,3985 }, + { 6,3985 }, { 7,3985 }, { 8,3985 }, { 9,4243 }, { 10,-2401 }, + { 11,3985 }, { 12,4243 }, { 13,-2401 }, { 14,3985 }, { 15,3985 }, + { 16,3985 }, { 17,3985 }, { 18,3985 }, { 19,3985 }, { 20,3985 }, + { 21,3985 }, { 22,3985 }, { 23,3985 }, { 24,3985 }, { 25,3985 }, + + { 26,3985 }, { 27,3985 }, { 28,3985 }, { 29,3985 }, { 30,3985 }, + { 31,3985 }, { 32,4243 }, { 33,3985 }, { 34,3985 }, { 35,3985 }, + { 36,3985 }, { 37,3985 }, { 38,3985 }, { 39,3985 }, { 40,3985 }, + { 41,3985 }, { 42,3985 }, { 43,3985 }, { 44,3985 }, { 45,4501 }, + { 46,3985 }, { 47,3985 }, { 48,3985 }, { 49,3985 }, { 50,3985 }, + { 51,3985 }, { 52,3985 }, { 53,3985 }, { 54,3985 }, { 55,3985 }, + { 56,3985 }, { 57,3985 }, { 58,3985 }, { 59,3985 }, { 60,3985 }, + { 61,3985 }, { 62,3985 }, { 63,3985 }, { 64,3985 }, { 65,3985 }, + { 66,3985 }, { 67,3985 }, { 68,3985 }, { 69,3985 }, { 70,3985 }, + { 71,3985 }, { 72,3985 }, { 73,3985 }, { 74,3985 }, { 75,3985 }, + + { 76,3985 }, { 77,3985 }, { 78,3985 }, { 79,3985 }, { 80,3985 }, + { 81,3985 }, { 82,3985 }, { 83,3985 }, { 84,3985 }, { 85,4759 }, + { 86,3985 }, { 87,3985 }, { 88,3985 }, { 89,3985 }, { 90,3985 }, + { 91,3985 }, { 92,3985 }, { 93,3985 }, { 94,3985 }, { 95,3985 }, + { 96,3985 }, { 97,3985 }, { 98,3985 }, { 99,3985 }, { 100,3985 }, + { 101,3985 }, { 102,3985 }, { 103,3985 }, { 104,3985 }, { 105,3985 }, + { 106,3985 }, { 107,3985 }, { 108,3985 }, { 109,3985 }, { 110,3985 }, + { 111,3985 }, { 112,3985 }, { 113,3985 }, { 114,3985 }, { 115,3985 }, + { 116,3985 }, { 117,4759 }, { 118,3985 }, { 119,3985 }, { 120,3985 }, + { 121,3985 }, { 122,3985 }, { 123,3985 }, { 124,3985 }, { 125,3985 }, + + { 126,3985 }, { 127,3985 }, { 128,3985 }, { 129,3985 }, { 130,3985 }, + { 131,3985 }, { 132,3985 }, { 133,3985 }, { 134,3985 }, { 135,3985 }, + { 136,3985 }, { 137,3985 }, { 138,3985 }, { 139,3985 }, { 140,3985 }, + { 141,3985 }, { 142,3985 }, { 143,3985 }, { 144,3985 }, { 145,3985 }, + { 146,3985 }, { 147,3985 }, { 148,3985 }, { 149,3985 }, { 150,3985 }, + { 151,3985 }, { 152,3985 }, { 153,3985 }, { 154,3985 }, { 155,3985 }, + { 156,3985 }, { 157,3985 }, { 158,3985 }, { 159,3985 }, { 160,3985 }, + { 161,3985 }, { 162,3985 }, { 163,3985 }, { 164,3985 }, { 165,3985 }, + { 166,3985 }, { 167,3985 }, { 168,3985 }, { 169,3985 }, { 170,3985 }, + { 171,3985 }, { 172,3985 }, { 173,3985 }, { 174,3985 }, { 175,3985 }, + + { 176,3985 }, { 177,3985 }, { 178,3985 }, { 179,3985 }, { 180,3985 }, + { 181,3985 }, { 182,3985 }, { 183,3985 }, { 184,3985 }, { 185,3985 }, + { 186,3985 }, { 187,3985 }, { 188,3985 }, { 189,3985 }, { 190,3985 }, + { 191,3985 }, { 192,3985 }, { 193,3985 }, { 194,3985 }, { 195,3985 }, + { 196,3985 }, { 197,3985 }, { 198,3985 }, { 199,3985 }, { 200,3985 }, + { 201,3985 }, { 202,3985 }, { 203,3985 }, { 204,3985 }, { 205,3985 }, + { 206,3985 }, { 207,3985 }, { 208,3985 }, { 209,3985 }, { 210,3985 }, + { 211,3985 }, { 212,3985 }, { 213,3985 }, { 214,3985 }, { 215,3985 }, + { 216,3985 }, { 217,3985 }, { 218,3985 }, { 219,3985 }, { 220,3985 }, + { 221,3985 }, { 222,3985 }, { 223,3985 }, { 224,3985 }, { 225,3985 }, + + { 226,3985 }, { 227,3985 }, { 228,3985 }, { 229,3985 }, { 230,3985 }, + { 231,3985 }, { 232,3985 }, { 233,3985 }, { 234,3985 }, { 235,3985 }, + { 236,3985 }, { 237,3985 }, { 238,3985 }, { 239,3985 }, { 240,3985 }, + { 241,3985 }, { 242,3985 }, { 243,3985 }, { 244,3985 }, { 245,3985 }, + { 246,3985 }, { 247,3985 }, { 248,3985 }, { 249,3985 }, { 250,3985 }, + { 251,3985 }, { 252,3985 }, { 253,3985 }, { 254,3985 }, { 255,3985 }, + { 256,3985 }, { 0, 24 }, { 0,47148 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 9, 0 }, { 10, 0 }, { 0, 0 }, { 12, 0 }, + { 13, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 39,-10213 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 45,-9947 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 85,-10452 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 117,-10452 }, + + { 0, 24 }, { 0,47029 }, { 1,4898 }, { 2,4898 }, { 3,4898 }, + { 4,4898 }, { 5,4898 }, { 6,4898 }, { 7,4898 }, { 8,4898 }, + { 9,5156 }, { 10,-2757 }, { 11,4898 }, { 12,5156 }, { 13,-2757 }, + { 14,4898 }, { 15,4898 }, { 16,4898 }, { 17,4898 }, { 18,4898 }, + { 19,4898 }, { 20,4898 }, { 21,4898 }, { 22,4898 }, { 23,4898 }, + { 24,4898 }, { 25,4898 }, { 26,4898 }, { 27,4898 }, { 28,4898 }, + { 29,4898 }, { 30,4898 }, { 31,4898 }, { 32,5156 }, { 33,4898 }, + { 34,4898 }, { 35,4898 }, { 36,4898 }, { 37,4898 }, { 38,4898 }, + { 39,4898 }, { 40,4898 }, { 41,4898 }, { 42,4898 }, { 43,4898 }, + { 44,4898 }, { 45,5414 }, { 46,4898 }, { 47,4898 }, { 48,4898 }, + + { 49,4898 }, { 50,4898 }, { 51,4898 }, { 52,4898 }, { 53,4898 }, + { 54,4898 }, { 55,4898 }, { 56,4898 }, { 57,4898 }, { 58,4898 }, + { 59,4898 }, { 60,4898 }, { 61,4898 }, { 62,4898 }, { 63,4898 }, + { 64,4898 }, { 65,4898 }, { 66,4898 }, { 67,4898 }, { 68,4898 }, + { 69,4898 }, { 70,4898 }, { 71,4898 }, { 72,4898 }, { 73,4898 }, + { 74,4898 }, { 75,4898 }, { 76,4898 }, { 77,4898 }, { 78,4898 }, + { 79,4898 }, { 80,4898 }, { 81,4898 }, { 82,4898 }, { 83,4898 }, + { 84,4898 }, { 85,5672 }, { 86,4898 }, { 87,4898 }, { 88,4898 }, + { 89,4898 }, { 90,4898 }, { 91,4898 }, { 92,4898 }, { 93,4898 }, + { 94,4898 }, { 95,4898 }, { 96,4898 }, { 97,4898 }, { 98,4898 }, + + { 99,4898 }, { 100,4898 }, { 101,4898 }, { 102,4898 }, { 103,4898 }, + { 104,4898 }, { 105,4898 }, { 106,4898 }, { 107,4898 }, { 108,4898 }, + { 109,4898 }, { 110,4898 }, { 111,4898 }, { 112,4898 }, { 113,4898 }, + { 114,4898 }, { 115,4898 }, { 116,4898 }, { 117,5672 }, { 118,4898 }, + { 119,4898 }, { 120,4898 }, { 121,4898 }, { 122,4898 }, { 123,4898 }, + { 124,4898 }, { 125,4898 }, { 126,4898 }, { 127,4898 }, { 128,4898 }, + { 129,4898 }, { 130,4898 }, { 131,4898 }, { 132,4898 }, { 133,4898 }, + { 134,4898 }, { 135,4898 }, { 136,4898 }, { 137,4898 }, { 138,4898 }, + { 139,4898 }, { 140,4898 }, { 141,4898 }, { 142,4898 }, { 143,4898 }, + { 144,4898 }, { 145,4898 }, { 146,4898 }, { 147,4898 }, { 148,4898 }, + + { 149,4898 }, { 150,4898 }, { 151,4898 }, { 152,4898 }, { 153,4898 }, + { 154,4898 }, { 155,4898 }, { 156,4898 }, { 157,4898 }, { 158,4898 }, + { 159,4898 }, { 160,4898 }, { 161,4898 }, { 162,4898 }, { 163,4898 }, + { 164,4898 }, { 165,4898 }, { 166,4898 }, { 167,4898 }, { 168,4898 }, + { 169,4898 }, { 170,4898 }, { 171,4898 }, { 172,4898 }, { 173,4898 }, + { 174,4898 }, { 175,4898 }, { 176,4898 }, { 177,4898 }, { 178,4898 }, + { 179,4898 }, { 180,4898 }, { 181,4898 }, { 182,4898 }, { 183,4898 }, + { 184,4898 }, { 185,4898 }, { 186,4898 }, { 187,4898 }, { 188,4898 }, + { 189,4898 }, { 190,4898 }, { 191,4898 }, { 192,4898 }, { 193,4898 }, + { 194,4898 }, { 195,4898 }, { 196,4898 }, { 197,4898 }, { 198,4898 }, + + { 199,4898 }, { 200,4898 }, { 201,4898 }, { 202,4898 }, { 203,4898 }, + { 204,4898 }, { 205,4898 }, { 206,4898 }, { 207,4898 }, { 208,4898 }, + { 209,4898 }, { 210,4898 }, { 211,4898 }, { 212,4898 }, { 213,4898 }, + { 214,4898 }, { 215,4898 }, { 216,4898 }, { 217,4898 }, { 218,4898 }, + { 219,4898 }, { 220,4898 }, { 221,4898 }, { 222,4898 }, { 223,4898 }, + { 224,4898 }, { 225,4898 }, { 226,4898 }, { 227,4898 }, { 228,4898 }, + { 229,4898 }, { 230,4898 }, { 231,4898 }, { 232,4898 }, { 233,4898 }, + { 234,4898 }, { 235,4898 }, { 236,4898 }, { 237,4898 }, { 238,4898 }, + { 239,4898 }, { 240,4898 }, { 241,4898 }, { 242,4898 }, { 243,4898 }, + { 244,4898 }, { 245,4898 }, { 246,4898 }, { 247,4898 }, { 248,4898 }, + + { 249,4898 }, { 250,4898 }, { 251,4898 }, { 252,4898 }, { 253,4898 }, + { 254,4898 }, { 255,4898 }, { 256,4898 }, { 0, 33 }, { 0,46771 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 33 }, { 0,46748 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,5672 }, { 49,5672 }, { 50,5672 }, + { 51,5672 }, { 52,5672 }, { 53,5672 }, { 54,5672 }, { 55,5672 }, + { 56,5672 }, { 57,5672 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,5672 }, + { 66,5672 }, { 67,5672 }, { 68,5672 }, { 69,5672 }, { 70,5672 }, + { 48,5672 }, { 49,5672 }, { 50,5672 }, { 51,5672 }, { 52,5672 }, + { 53,5672 }, { 54,5672 }, { 55,5672 }, { 56,5672 }, { 57,5672 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,5672 }, { 66,5672 }, { 67,5672 }, + + { 68,5672 }, { 69,5672 }, { 70,5672 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 97,5672 }, { 98,5672 }, { 99,5672 }, { 100,5672 }, + { 101,5672 }, { 102,5672 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,5672 }, + { 98,5672 }, { 99,5672 }, { 100,5672 }, { 101,5672 }, { 102,5672 }, + { 0, 9 }, { 0,46644 }, { 1,5672 }, { 2,5672 }, { 3,5672 }, + { 4,5672 }, { 5,5672 }, { 6,5672 }, { 7,5672 }, { 8,5672 }, + { 9,5930 }, { 10,6188 }, { 11,5672 }, { 12,5930 }, { 13,6188 }, + + { 14,5672 }, { 15,5672 }, { 16,5672 }, { 17,5672 }, { 18,5672 }, + { 19,5672 }, { 20,5672 }, { 21,5672 }, { 22,5672 }, { 23,5672 }, + { 24,5672 }, { 25,5672 }, { 26,5672 }, { 27,5672 }, { 28,5672 }, + { 29,5672 }, { 30,5672 }, { 31,5672 }, { 32,5930 }, { 33,5672 }, + { 34,5672 }, { 35,5672 }, { 36,5672 }, { 37,5672 }, { 38,5672 }, + { 39,5672 }, { 40,5672 }, { 41,5672 }, { 42,5672 }, { 43,5672 }, + { 44,5672 }, { 45,6235 }, { 46,5672 }, { 47,5672 }, { 48,5672 }, + { 49,5672 }, { 50,5672 }, { 51,5672 }, { 52,5672 }, { 53,5672 }, + { 54,5672 }, { 55,5672 }, { 56,5672 }, { 57,5672 }, { 58,5672 }, + { 59,5672 }, { 60,5672 }, { 61,5672 }, { 62,5672 }, { 63,5672 }, + + { 64,5672 }, { 65,5672 }, { 66,5672 }, { 67,5672 }, { 68,5672 }, + { 69,5672 }, { 70,5672 }, { 71,5672 }, { 72,5672 }, { 73,5672 }, + { 74,5672 }, { 75,5672 }, { 76,5672 }, { 77,5672 }, { 78,5672 }, + { 79,5672 }, { 80,5672 }, { 81,5672 }, { 82,5672 }, { 83,5672 }, + { 84,5672 }, { 85,5672 }, { 86,5672 }, { 87,5672 }, { 88,5672 }, + { 89,5672 }, { 90,5672 }, { 91,5672 }, { 92,5672 }, { 93,5672 }, + { 94,5672 }, { 95,5672 }, { 96,5672 }, { 97,5672 }, { 98,5672 }, + { 99,5672 }, { 100,5672 }, { 101,5672 }, { 102,5672 }, { 103,5672 }, + { 104,5672 }, { 105,5672 }, { 106,5672 }, { 107,5672 }, { 108,5672 }, + { 109,5672 }, { 110,5672 }, { 111,5672 }, { 112,5672 }, { 113,5672 }, + + { 114,5672 }, { 115,5672 }, { 116,5672 }, { 117,5672 }, { 118,5672 }, + { 119,5672 }, { 120,5672 }, { 121,5672 }, { 122,5672 }, { 123,5672 }, + { 124,5672 }, { 125,5672 }, { 126,5672 }, { 127,5672 }, { 128,5672 }, + { 129,5672 }, { 130,5672 }, { 131,5672 }, { 132,5672 }, { 133,5672 }, + { 134,5672 }, { 135,5672 }, { 136,5672 }, { 137,5672 }, { 138,5672 }, + { 139,5672 }, { 140,5672 }, { 141,5672 }, { 142,5672 }, { 143,5672 }, + { 144,5672 }, { 145,5672 }, { 146,5672 }, { 147,5672 }, { 148,5672 }, + { 149,5672 }, { 150,5672 }, { 151,5672 }, { 152,5672 }, { 153,5672 }, + { 154,5672 }, { 155,5672 }, { 156,5672 }, { 157,5672 }, { 158,5672 }, + { 159,5672 }, { 160,5672 }, { 161,5672 }, { 162,5672 }, { 163,5672 }, + + { 164,5672 }, { 165,5672 }, { 166,5672 }, { 167,5672 }, { 168,5672 }, + { 169,5672 }, { 170,5672 }, { 171,5672 }, { 172,5672 }, { 173,5672 }, + { 174,5672 }, { 175,5672 }, { 176,5672 }, { 177,5672 }, { 178,5672 }, + { 179,5672 }, { 180,5672 }, { 181,5672 }, { 182,5672 }, { 183,5672 }, + { 184,5672 }, { 185,5672 }, { 186,5672 }, { 187,5672 }, { 188,5672 }, + { 189,5672 }, { 190,5672 }, { 191,5672 }, { 192,5672 }, { 193,5672 }, + { 194,5672 }, { 195,5672 }, { 196,5672 }, { 197,5672 }, { 198,5672 }, + { 199,5672 }, { 200,5672 }, { 201,5672 }, { 202,5672 }, { 203,5672 }, + { 204,5672 }, { 205,5672 }, { 206,5672 }, { 207,5672 }, { 208,5672 }, + { 209,5672 }, { 210,5672 }, { 211,5672 }, { 212,5672 }, { 213,5672 }, + + { 214,5672 }, { 215,5672 }, { 216,5672 }, { 217,5672 }, { 218,5672 }, + { 219,5672 }, { 220,5672 }, { 221,5672 }, { 222,5672 }, { 223,5672 }, + { 224,5672 }, { 225,5672 }, { 226,5672 }, { 227,5672 }, { 228,5672 }, + { 229,5672 }, { 230,5672 }, { 231,5672 }, { 232,5672 }, { 233,5672 }, + { 234,5672 }, { 235,5672 }, { 236,5672 }, { 237,5672 }, { 238,5672 }, + { 239,5672 }, { 240,5672 }, { 241,5672 }, { 242,5672 }, { 243,5672 }, + { 244,5672 }, { 245,5672 }, { 246,5672 }, { 247,5672 }, { 248,5672 }, + { 249,5672 }, { 250,5672 }, { 251,5672 }, { 252,5672 }, { 253,5672 }, + { 254,5672 }, { 255,5672 }, { 256,5672 }, { 0, 9 }, { 0,46386 }, + { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, + + { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 258 }, { 10,-5638 }, + { 11, 0 }, { 12, 258 }, { 13,-5638 }, { 14, 0 }, { 15, 0 }, + { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, + { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, + { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, + { 31, 0 }, { 32, 258 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, + { 36, 0 }, { 37, 0 }, { 38, 0 }, { 39, 0 }, { 40, 0 }, + { 41, 0 }, { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 516 }, + { 46, 0 }, { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + + { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, + { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, + { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, + { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, + { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, + { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, + { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, + { 91, 0 }, { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, + { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, + { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, + + { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, + { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, + { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, + { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, + { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, + { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, + { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, + { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, + { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, + { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, + + { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, + { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, + { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, + { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, + { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, + { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, + { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, + { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, + { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, + { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, + + { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, + { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, + { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, + { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, + { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, + { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, + { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, + { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, + { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, + { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, + + { 256, 0 }, { 0, 9 }, { 0,46128 }, { 1,-258 }, { 2,-258 }, + { 3,-258 }, { 4,-258 }, { 5,-258 }, { 6,-258 }, { 7,-258 }, + { 8,-258 }, { 9, 0 }, { 10,-5896 }, { 11,-258 }, { 12, 0 }, + { 13,-5896 }, { 14,-258 }, { 15,-258 }, { 16,-258 }, { 17,-258 }, + { 18,-258 }, { 19,-258 }, { 20,-258 }, { 21,-258 }, { 22,-258 }, + { 23,-258 }, { 24,-258 }, { 25,-258 }, { 26,-258 }, { 27,-258 }, + { 28,-258 }, { 29,-258 }, { 30,-258 }, { 31,-258 }, { 32, 0 }, + { 33,-258 }, { 34,-258 }, { 35,-258 }, { 36,-258 }, { 37,-258 }, + { 38,-258 }, { 39,-258 }, { 40,-258 }, { 41,-258 }, { 42,-258 }, + { 43,-258 }, { 44,-258 }, { 45, 258 }, { 46,-258 }, { 47,-258 }, + + { 48,-258 }, { 49,-258 }, { 50,-258 }, { 51,-258 }, { 52,-258 }, + { 53,-258 }, { 54,-258 }, { 55,-258 }, { 56,-258 }, { 57,-258 }, + { 58,-258 }, { 59,-258 }, { 60,-258 }, { 61,-258 }, { 62,-258 }, + { 63,-258 }, { 64,-258 }, { 65,-258 }, { 66,-258 }, { 67,-258 }, + { 68,-258 }, { 69,-258 }, { 70,-258 }, { 71,-258 }, { 72,-258 }, + { 73,-258 }, { 74,-258 }, { 75,-258 }, { 76,-258 }, { 77,-258 }, + { 78,-258 }, { 79,-258 }, { 80,-258 }, { 81,-258 }, { 82,-258 }, + { 83,-258 }, { 84,-258 }, { 85,-258 }, { 86,-258 }, { 87,-258 }, + { 88,-258 }, { 89,-258 }, { 90,-258 }, { 91,-258 }, { 92,-258 }, + { 93,-258 }, { 94,-258 }, { 95,-258 }, { 96,-258 }, { 97,-258 }, + + { 98,-258 }, { 99,-258 }, { 100,-258 }, { 101,-258 }, { 102,-258 }, + { 103,-258 }, { 104,-258 }, { 105,-258 }, { 106,-258 }, { 107,-258 }, + { 108,-258 }, { 109,-258 }, { 110,-258 }, { 111,-258 }, { 112,-258 }, + { 113,-258 }, { 114,-258 }, { 115,-258 }, { 116,-258 }, { 117,-258 }, + { 118,-258 }, { 119,-258 }, { 120,-258 }, { 121,-258 }, { 122,-258 }, + { 123,-258 }, { 124,-258 }, { 125,-258 }, { 126,-258 }, { 127,-258 }, + { 128,-258 }, { 129,-258 }, { 130,-258 }, { 131,-258 }, { 132,-258 }, + { 133,-258 }, { 134,-258 }, { 135,-258 }, { 136,-258 }, { 137,-258 }, + { 138,-258 }, { 139,-258 }, { 140,-258 }, { 141,-258 }, { 142,-258 }, + { 143,-258 }, { 144,-258 }, { 145,-258 }, { 146,-258 }, { 147,-258 }, + + { 148,-258 }, { 149,-258 }, { 150,-258 }, { 151,-258 }, { 152,-258 }, + { 153,-258 }, { 154,-258 }, { 155,-258 }, { 156,-258 }, { 157,-258 }, + { 158,-258 }, { 159,-258 }, { 160,-258 }, { 161,-258 }, { 162,-258 }, + { 163,-258 }, { 164,-258 }, { 165,-258 }, { 166,-258 }, { 167,-258 }, + { 168,-258 }, { 169,-258 }, { 170,-258 }, { 171,-258 }, { 172,-258 }, + { 173,-258 }, { 174,-258 }, { 175,-258 }, { 176,-258 }, { 177,-258 }, + { 178,-258 }, { 179,-258 }, { 180,-258 }, { 181,-258 }, { 182,-258 }, + { 183,-258 }, { 184,-258 }, { 185,-258 }, { 186,-258 }, { 187,-258 }, + { 188,-258 }, { 189,-258 }, { 190,-258 }, { 191,-258 }, { 192,-258 }, + { 193,-258 }, { 194,-258 }, { 195,-258 }, { 196,-258 }, { 197,-258 }, + + { 198,-258 }, { 199,-258 }, { 200,-258 }, { 201,-258 }, { 202,-258 }, + { 203,-258 }, { 204,-258 }, { 205,-258 }, { 206,-258 }, { 207,-258 }, + { 208,-258 }, { 209,-258 }, { 210,-258 }, { 211,-258 }, { 212,-258 }, + { 213,-258 }, { 214,-258 }, { 215,-258 }, { 216,-258 }, { 217,-258 }, + { 218,-258 }, { 219,-258 }, { 220,-258 }, { 221,-258 }, { 222,-258 }, + { 223,-258 }, { 224,-258 }, { 225,-258 }, { 226,-258 }, { 227,-258 }, + { 228,-258 }, { 229,-258 }, { 230,-258 }, { 231,-258 }, { 232,-258 }, + { 233,-258 }, { 234,-258 }, { 235,-258 }, { 236,-258 }, { 237,-258 }, + { 238,-258 }, { 239,-258 }, { 240,-258 }, { 241,-258 }, { 242,-258 }, + { 243,-258 }, { 244,-258 }, { 245,-258 }, { 246,-258 }, { 247,-258 }, + + { 248,-258 }, { 249,-258 }, { 250,-258 }, { 251,-258 }, { 252,-258 }, + { 253,-258 }, { 254,-258 }, { 255,-258 }, { 256,-258 }, { 0, 9 }, + { 0,45870 }, { 1,-516 }, { 2,-516 }, { 3,-516 }, { 4,-516 }, + { 5,-516 }, { 6,-516 }, { 7,-516 }, { 8,-516 }, { 9,-258 }, + { 10,-6154 }, { 11,-516 }, { 12,-258 }, { 13,-6154 }, { 14,-516 }, + { 15,-516 }, { 16,-516 }, { 17,-516 }, { 18,-516 }, { 19,-516 }, + { 20,-516 }, { 21,-516 }, { 22,-516 }, { 23,-516 }, { 24,-516 }, + { 25,-516 }, { 26,-516 }, { 27,-516 }, { 28,-516 }, { 29,-516 }, + { 30,-516 }, { 31,-516 }, { 32,-258 }, { 33,-516 }, { 34,-516 }, + { 35,-516 }, { 36,-516 }, { 37,-516 }, { 38,-516 }, { 39,-516 }, + + { 40,-516 }, { 41,-516 }, { 42,-516 }, { 43,-516 }, { 44,-516 }, + { 45,5719 }, { 46,-516 }, { 47,-516 }, { 48,-516 }, { 49,-516 }, + { 50,-516 }, { 51,-516 }, { 52,-516 }, { 53,-516 }, { 54,-516 }, + { 55,-516 }, { 56,-516 }, { 57,-516 }, { 58,-516 }, { 59,-516 }, + { 60,-516 }, { 61,-516 }, { 62,-516 }, { 63,-516 }, { 64,-516 }, + { 65,-516 }, { 66,-516 }, { 67,-516 }, { 68,-516 }, { 69,-516 }, + { 70,-516 }, { 71,-516 }, { 72,-516 }, { 73,-516 }, { 74,-516 }, + { 75,-516 }, { 76,-516 }, { 77,-516 }, { 78,-516 }, { 79,-516 }, + { 80,-516 }, { 81,-516 }, { 82,-516 }, { 83,-516 }, { 84,-516 }, + { 85,-516 }, { 86,-516 }, { 87,-516 }, { 88,-516 }, { 89,-516 }, + + { 90,-516 }, { 91,-516 }, { 92,-516 }, { 93,-516 }, { 94,-516 }, + { 95,-516 }, { 96,-516 }, { 97,-516 }, { 98,-516 }, { 99,-516 }, + { 100,-516 }, { 101,-516 }, { 102,-516 }, { 103,-516 }, { 104,-516 }, + { 105,-516 }, { 106,-516 }, { 107,-516 }, { 108,-516 }, { 109,-516 }, + { 110,-516 }, { 111,-516 }, { 112,-516 }, { 113,-516 }, { 114,-516 }, + { 115,-516 }, { 116,-516 }, { 117,-516 }, { 118,-516 }, { 119,-516 }, + { 120,-516 }, { 121,-516 }, { 122,-516 }, { 123,-516 }, { 124,-516 }, + { 125,-516 }, { 126,-516 }, { 127,-516 }, { 128,-516 }, { 129,-516 }, + { 130,-516 }, { 131,-516 }, { 132,-516 }, { 133,-516 }, { 134,-516 }, + { 135,-516 }, { 136,-516 }, { 137,-516 }, { 138,-516 }, { 139,-516 }, + + { 140,-516 }, { 141,-516 }, { 142,-516 }, { 143,-516 }, { 144,-516 }, + { 145,-516 }, { 146,-516 }, { 147,-516 }, { 148,-516 }, { 149,-516 }, + { 150,-516 }, { 151,-516 }, { 152,-516 }, { 153,-516 }, { 154,-516 }, + { 155,-516 }, { 156,-516 }, { 157,-516 }, { 158,-516 }, { 159,-516 }, + { 160,-516 }, { 161,-516 }, { 162,-516 }, { 163,-516 }, { 164,-516 }, + { 165,-516 }, { 166,-516 }, { 167,-516 }, { 168,-516 }, { 169,-516 }, + { 170,-516 }, { 171,-516 }, { 172,-516 }, { 173,-516 }, { 174,-516 }, + { 175,-516 }, { 176,-516 }, { 177,-516 }, { 178,-516 }, { 179,-516 }, + { 180,-516 }, { 181,-516 }, { 182,-516 }, { 183,-516 }, { 184,-516 }, + { 185,-516 }, { 186,-516 }, { 187,-516 }, { 188,-516 }, { 189,-516 }, + + { 190,-516 }, { 191,-516 }, { 192,-516 }, { 193,-516 }, { 194,-516 }, + { 195,-516 }, { 196,-516 }, { 197,-516 }, { 198,-516 }, { 199,-516 }, + { 200,-516 }, { 201,-516 }, { 202,-516 }, { 203,-516 }, { 204,-516 }, + { 205,-516 }, { 206,-516 }, { 207,-516 }, { 208,-516 }, { 209,-516 }, + { 210,-516 }, { 211,-516 }, { 212,-516 }, { 213,-516 }, { 214,-516 }, + { 215,-516 }, { 216,-516 }, { 217,-516 }, { 218,-516 }, { 219,-516 }, + { 220,-516 }, { 221,-516 }, { 222,-516 }, { 223,-516 }, { 224,-516 }, + { 225,-516 }, { 226,-516 }, { 227,-516 }, { 228,-516 }, { 229,-516 }, + { 230,-516 }, { 231,-516 }, { 232,-516 }, { 233,-516 }, { 234,-516 }, + { 235,-516 }, { 236,-516 }, { 237,-516 }, { 238,-516 }, { 239,-516 }, + + { 240,-516 }, { 241,-516 }, { 242,-516 }, { 243,-516 }, { 244,-516 }, + { 245,-516 }, { 246,-516 }, { 247,-516 }, { 248,-516 }, { 249,-516 }, + { 250,-516 }, { 251,-516 }, { 252,-516 }, { 253,-516 }, { 254,-516 }, + { 255,-516 }, { 256,-516 }, { 0, 16 }, { 0,45612 }, { 1,5719 }, + { 2,5719 }, { 3,5719 }, { 4,5719 }, { 5,5719 }, { 6,5719 }, + { 7,5719 }, { 8,5719 }, { 9,5977 }, { 10,6235 }, { 11,5719 }, + { 12,5977 }, { 13,6235 }, { 14,5719 }, { 15,5719 }, { 16,5719 }, + { 17,5719 }, { 18,5719 }, { 19,5719 }, { 20,5719 }, { 21,5719 }, + { 22,5719 }, { 23,5719 }, { 24,5719 }, { 25,5719 }, { 26,5719 }, + { 27,5719 }, { 28,5719 }, { 29,5719 }, { 30,5719 }, { 31,5719 }, + + { 32,5977 }, { 33,5719 }, { 34,5719 }, { 35,5719 }, { 36,5719 }, + { 37,5719 }, { 38,5719 }, { 39,5719 }, { 40,5719 }, { 41,5719 }, + { 42,5719 }, { 43,5719 }, { 44,5719 }, { 45,6282 }, { 46,5719 }, + { 47,5719 }, { 48,5719 }, { 49,5719 }, { 50,5719 }, { 51,5719 }, + { 52,5719 }, { 53,5719 }, { 54,5719 }, { 55,5719 }, { 56,5719 }, + { 57,5719 }, { 58,5719 }, { 59,5719 }, { 60,5719 }, { 61,5719 }, + { 62,5719 }, { 63,5719 }, { 64,5719 }, { 65,5719 }, { 66,5719 }, + { 67,5719 }, { 68,5719 }, { 69,5719 }, { 70,5719 }, { 71,5719 }, + { 72,5719 }, { 73,5719 }, { 74,5719 }, { 75,5719 }, { 76,5719 }, + { 77,5719 }, { 78,5719 }, { 79,5719 }, { 80,5719 }, { 81,5719 }, + + { 82,5719 }, { 83,5719 }, { 84,5719 }, { 85,5719 }, { 86,5719 }, + { 87,5719 }, { 88,5719 }, { 89,5719 }, { 90,5719 }, { 91,5719 }, + { 92,5719 }, { 93,5719 }, { 94,5719 }, { 95,5719 }, { 96,5719 }, + { 97,5719 }, { 98,5719 }, { 99,5719 }, { 100,5719 }, { 101,5719 }, + { 102,5719 }, { 103,5719 }, { 104,5719 }, { 105,5719 }, { 106,5719 }, + { 107,5719 }, { 108,5719 }, { 109,5719 }, { 110,5719 }, { 111,5719 }, + { 112,5719 }, { 113,5719 }, { 114,5719 }, { 115,5719 }, { 116,5719 }, + { 117,5719 }, { 118,5719 }, { 119,5719 }, { 120,5719 }, { 121,5719 }, + { 122,5719 }, { 123,5719 }, { 124,5719 }, { 125,5719 }, { 126,5719 }, + { 127,5719 }, { 128,5719 }, { 129,5719 }, { 130,5719 }, { 131,5719 }, + + { 132,5719 }, { 133,5719 }, { 134,5719 }, { 135,5719 }, { 136,5719 }, + { 137,5719 }, { 138,5719 }, { 139,5719 }, { 140,5719 }, { 141,5719 }, + { 142,5719 }, { 143,5719 }, { 144,5719 }, { 145,5719 }, { 146,5719 }, + { 147,5719 }, { 148,5719 }, { 149,5719 }, { 150,5719 }, { 151,5719 }, + { 152,5719 }, { 153,5719 }, { 154,5719 }, { 155,5719 }, { 156,5719 }, + { 157,5719 }, { 158,5719 }, { 159,5719 }, { 160,5719 }, { 161,5719 }, + { 162,5719 }, { 163,5719 }, { 164,5719 }, { 165,5719 }, { 166,5719 }, + { 167,5719 }, { 168,5719 }, { 169,5719 }, { 170,5719 }, { 171,5719 }, + { 172,5719 }, { 173,5719 }, { 174,5719 }, { 175,5719 }, { 176,5719 }, + { 177,5719 }, { 178,5719 }, { 179,5719 }, { 180,5719 }, { 181,5719 }, + + { 182,5719 }, { 183,5719 }, { 184,5719 }, { 185,5719 }, { 186,5719 }, + { 187,5719 }, { 188,5719 }, { 189,5719 }, { 190,5719 }, { 191,5719 }, + { 192,5719 }, { 193,5719 }, { 194,5719 }, { 195,5719 }, { 196,5719 }, + { 197,5719 }, { 198,5719 }, { 199,5719 }, { 200,5719 }, { 201,5719 }, + { 202,5719 }, { 203,5719 }, { 204,5719 }, { 205,5719 }, { 206,5719 }, + { 207,5719 }, { 208,5719 }, { 209,5719 }, { 210,5719 }, { 211,5719 }, + { 212,5719 }, { 213,5719 }, { 214,5719 }, { 215,5719 }, { 216,5719 }, + { 217,5719 }, { 218,5719 }, { 219,5719 }, { 220,5719 }, { 221,5719 }, + { 222,5719 }, { 223,5719 }, { 224,5719 }, { 225,5719 }, { 226,5719 }, + { 227,5719 }, { 228,5719 }, { 229,5719 }, { 230,5719 }, { 231,5719 }, + + { 232,5719 }, { 233,5719 }, { 234,5719 }, { 235,5719 }, { 236,5719 }, + { 237,5719 }, { 238,5719 }, { 239,5719 }, { 240,5719 }, { 241,5719 }, + { 242,5719 }, { 243,5719 }, { 244,5719 }, { 245,5719 }, { 246,5719 }, + { 247,5719 }, { 248,5719 }, { 249,5719 }, { 250,5719 }, { 251,5719 }, + { 252,5719 }, { 253,5719 }, { 254,5719 }, { 255,5719 }, { 256,5719 }, + { 0, 16 }, { 0,45354 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, + { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, + { 9, 258 }, { 10,-5716 }, { 11, 0 }, { 12, 258 }, { 13,-5716 }, + { 14, 0 }, { 15, 0 }, { 16, 0 }, { 17, 0 }, { 18, 0 }, + { 19, 0 }, { 20, 0 }, { 21, 0 }, { 22, 0 }, { 23, 0 }, + + { 24, 0 }, { 25, 0 }, { 26, 0 }, { 27, 0 }, { 28, 0 }, + { 29, 0 }, { 30, 0 }, { 31, 0 }, { 32, 258 }, { 33, 0 }, + { 34, 0 }, { 35, 0 }, { 36, 0 }, { 37, 0 }, { 38, 0 }, + { 39, 0 }, { 40, 0 }, { 41, 0 }, { 42, 0 }, { 43, 0 }, + { 44, 0 }, { 45, 516 }, { 46, 0 }, { 47, 0 }, { 48, 0 }, + { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, + { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 58, 0 }, + { 59, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, + { 64, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, + { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, + + { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, + { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, + { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, + { 89, 0 }, { 90, 0 }, { 91, 0 }, { 92, 0 }, { 93, 0 }, + { 94, 0 }, { 95, 0 }, { 96, 0 }, { 97, 0 }, { 98, 0 }, + { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, + { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, + { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, + { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, + { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, { 123, 0 }, + + { 124, 0 }, { 125, 0 }, { 126, 0 }, { 127, 0 }, { 128, 0 }, + { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, + { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, + { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, + { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, + { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, + { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, + { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, + { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, + { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, + + { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, + { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, + { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, + { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, + { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, + { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, + { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, + { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, + { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, + { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, + + { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, + { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, + { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, + { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, + { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, + { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, + { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 16 }, { 0,45096 }, + { 1,-258 }, { 2,-258 }, { 3,-258 }, { 4,-258 }, { 5,-258 }, + { 6,-258 }, { 7,-258 }, { 8,-258 }, { 9, 0 }, { 10,-5974 }, + { 11,-258 }, { 12, 0 }, { 13,-5974 }, { 14,-258 }, { 15,-258 }, + + { 16,-258 }, { 17,-258 }, { 18,-258 }, { 19,-258 }, { 20,-258 }, + { 21,-258 }, { 22,-258 }, { 23,-258 }, { 24,-258 }, { 25,-258 }, + { 26,-258 }, { 27,-258 }, { 28,-258 }, { 29,-258 }, { 30,-258 }, + { 31,-258 }, { 32, 0 }, { 33,-258 }, { 34,-258 }, { 35,-258 }, + { 36,-258 }, { 37,-258 }, { 38,-258 }, { 39,-258 }, { 40,-258 }, + { 41,-258 }, { 42,-258 }, { 43,-258 }, { 44,-258 }, { 45, 258 }, + { 46,-258 }, { 47,-258 }, { 48,-258 }, { 49,-258 }, { 50,-258 }, + { 51,-258 }, { 52,-258 }, { 53,-258 }, { 54,-258 }, { 55,-258 }, + { 56,-258 }, { 57,-258 }, { 58,-258 }, { 59,-258 }, { 60,-258 }, + { 61,-258 }, { 62,-258 }, { 63,-258 }, { 64,-258 }, { 65,-258 }, + + { 66,-258 }, { 67,-258 }, { 68,-258 }, { 69,-258 }, { 70,-258 }, + { 71,-258 }, { 72,-258 }, { 73,-258 }, { 74,-258 }, { 75,-258 }, + { 76,-258 }, { 77,-258 }, { 78,-258 }, { 79,-258 }, { 80,-258 }, + { 81,-258 }, { 82,-258 }, { 83,-258 }, { 84,-258 }, { 85,-258 }, + { 86,-258 }, { 87,-258 }, { 88,-258 }, { 89,-258 }, { 90,-258 }, + { 91,-258 }, { 92,-258 }, { 93,-258 }, { 94,-258 }, { 95,-258 }, + { 96,-258 }, { 97,-258 }, { 98,-258 }, { 99,-258 }, { 100,-258 }, + { 101,-258 }, { 102,-258 }, { 103,-258 }, { 104,-258 }, { 105,-258 }, + { 106,-258 }, { 107,-258 }, { 108,-258 }, { 109,-258 }, { 110,-258 }, + { 111,-258 }, { 112,-258 }, { 113,-258 }, { 114,-258 }, { 115,-258 }, + + { 116,-258 }, { 117,-258 }, { 118,-258 }, { 119,-258 }, { 120,-258 }, + { 121,-258 }, { 122,-258 }, { 123,-258 }, { 124,-258 }, { 125,-258 }, + { 126,-258 }, { 127,-258 }, { 128,-258 }, { 129,-258 }, { 130,-258 }, + { 131,-258 }, { 132,-258 }, { 133,-258 }, { 134,-258 }, { 135,-258 }, + { 136,-258 }, { 137,-258 }, { 138,-258 }, { 139,-258 }, { 140,-258 }, + { 141,-258 }, { 142,-258 }, { 143,-258 }, { 144,-258 }, { 145,-258 }, + { 146,-258 }, { 147,-258 }, { 148,-258 }, { 149,-258 }, { 150,-258 }, + { 151,-258 }, { 152,-258 }, { 153,-258 }, { 154,-258 }, { 155,-258 }, + { 156,-258 }, { 157,-258 }, { 158,-258 }, { 159,-258 }, { 160,-258 }, + { 161,-258 }, { 162,-258 }, { 163,-258 }, { 164,-258 }, { 165,-258 }, + + { 166,-258 }, { 167,-258 }, { 168,-258 }, { 169,-258 }, { 170,-258 }, + { 171,-258 }, { 172,-258 }, { 173,-258 }, { 174,-258 }, { 175,-258 }, + { 176,-258 }, { 177,-258 }, { 178,-258 }, { 179,-258 }, { 180,-258 }, + { 181,-258 }, { 182,-258 }, { 183,-258 }, { 184,-258 }, { 185,-258 }, + { 186,-258 }, { 187,-258 }, { 188,-258 }, { 189,-258 }, { 190,-258 }, + { 191,-258 }, { 192,-258 }, { 193,-258 }, { 194,-258 }, { 195,-258 }, + { 196,-258 }, { 197,-258 }, { 198,-258 }, { 199,-258 }, { 200,-258 }, + { 201,-258 }, { 202,-258 }, { 203,-258 }, { 204,-258 }, { 205,-258 }, + { 206,-258 }, { 207,-258 }, { 208,-258 }, { 209,-258 }, { 210,-258 }, + { 211,-258 }, { 212,-258 }, { 213,-258 }, { 214,-258 }, { 215,-258 }, + + { 216,-258 }, { 217,-258 }, { 218,-258 }, { 219,-258 }, { 220,-258 }, + { 221,-258 }, { 222,-258 }, { 223,-258 }, { 224,-258 }, { 225,-258 }, + { 226,-258 }, { 227,-258 }, { 228,-258 }, { 229,-258 }, { 230,-258 }, + { 231,-258 }, { 232,-258 }, { 233,-258 }, { 234,-258 }, { 235,-258 }, + { 236,-258 }, { 237,-258 }, { 238,-258 }, { 239,-258 }, { 240,-258 }, + { 241,-258 }, { 242,-258 }, { 243,-258 }, { 244,-258 }, { 245,-258 }, + { 246,-258 }, { 247,-258 }, { 248,-258 }, { 249,-258 }, { 250,-258 }, + { 251,-258 }, { 252,-258 }, { 253,-258 }, { 254,-258 }, { 255,-258 }, + { 256,-258 }, { 0, 16 }, { 0,44838 }, { 1,-516 }, { 2,-516 }, + { 3,-516 }, { 4,-516 }, { 5,-516 }, { 6,-516 }, { 7,-516 }, + + { 8,-516 }, { 9,-258 }, { 10,-6232 }, { 11,-516 }, { 12,-258 }, + { 13,-6232 }, { 14,-516 }, { 15,-516 }, { 16,-516 }, { 17,-516 }, + { 18,-516 }, { 19,-516 }, { 20,-516 }, { 21,-516 }, { 22,-516 }, + { 23,-516 }, { 24,-516 }, { 25,-516 }, { 26,-516 }, { 27,-516 }, + { 28,-516 }, { 29,-516 }, { 30,-516 }, { 31,-516 }, { 32,-258 }, + { 33,-516 }, { 34,-516 }, { 35,-516 }, { 36,-516 }, { 37,-516 }, + { 38,-516 }, { 39,-516 }, { 40,-516 }, { 41,-516 }, { 42,-516 }, + { 43,-516 }, { 44,-516 }, { 45,5766 }, { 46,-516 }, { 47,-516 }, + { 48,-516 }, { 49,-516 }, { 50,-516 }, { 51,-516 }, { 52,-516 }, + { 53,-516 }, { 54,-516 }, { 55,-516 }, { 56,-516 }, { 57,-516 }, + + { 58,-516 }, { 59,-516 }, { 60,-516 }, { 61,-516 }, { 62,-516 }, + { 63,-516 }, { 64,-516 }, { 65,-516 }, { 66,-516 }, { 67,-516 }, + { 68,-516 }, { 69,-516 }, { 70,-516 }, { 71,-516 }, { 72,-516 }, + { 73,-516 }, { 74,-516 }, { 75,-516 }, { 76,-516 }, { 77,-516 }, + { 78,-516 }, { 79,-516 }, { 80,-516 }, { 81,-516 }, { 82,-516 }, + { 83,-516 }, { 84,-516 }, { 85,-516 }, { 86,-516 }, { 87,-516 }, + { 88,-516 }, { 89,-516 }, { 90,-516 }, { 91,-516 }, { 92,-516 }, + { 93,-516 }, { 94,-516 }, { 95,-516 }, { 96,-516 }, { 97,-516 }, + { 98,-516 }, { 99,-516 }, { 100,-516 }, { 101,-516 }, { 102,-516 }, + { 103,-516 }, { 104,-516 }, { 105,-516 }, { 106,-516 }, { 107,-516 }, + + { 108,-516 }, { 109,-516 }, { 110,-516 }, { 111,-516 }, { 112,-516 }, + { 113,-516 }, { 114,-516 }, { 115,-516 }, { 116,-516 }, { 117,-516 }, + { 118,-516 }, { 119,-516 }, { 120,-516 }, { 121,-516 }, { 122,-516 }, + { 123,-516 }, { 124,-516 }, { 125,-516 }, { 126,-516 }, { 127,-516 }, + { 128,-516 }, { 129,-516 }, { 130,-516 }, { 131,-516 }, { 132,-516 }, + { 133,-516 }, { 134,-516 }, { 135,-516 }, { 136,-516 }, { 137,-516 }, + { 138,-516 }, { 139,-516 }, { 140,-516 }, { 141,-516 }, { 142,-516 }, + { 143,-516 }, { 144,-516 }, { 145,-516 }, { 146,-516 }, { 147,-516 }, + { 148,-516 }, { 149,-516 }, { 150,-516 }, { 151,-516 }, { 152,-516 }, + { 153,-516 }, { 154,-516 }, { 155,-516 }, { 156,-516 }, { 157,-516 }, + + { 158,-516 }, { 159,-516 }, { 160,-516 }, { 161,-516 }, { 162,-516 }, + { 163,-516 }, { 164,-516 }, { 165,-516 }, { 166,-516 }, { 167,-516 }, + { 168,-516 }, { 169,-516 }, { 170,-516 }, { 171,-516 }, { 172,-516 }, + { 173,-516 }, { 174,-516 }, { 175,-516 }, { 176,-516 }, { 177,-516 }, + { 178,-516 }, { 179,-516 }, { 180,-516 }, { 181,-516 }, { 182,-516 }, + { 183,-516 }, { 184,-516 }, { 185,-516 }, { 186,-516 }, { 187,-516 }, + { 188,-516 }, { 189,-516 }, { 190,-516 }, { 191,-516 }, { 192,-516 }, + { 193,-516 }, { 194,-516 }, { 195,-516 }, { 196,-516 }, { 197,-516 }, + { 198,-516 }, { 199,-516 }, { 200,-516 }, { 201,-516 }, { 202,-516 }, + { 203,-516 }, { 204,-516 }, { 205,-516 }, { 206,-516 }, { 207,-516 }, + + { 208,-516 }, { 209,-516 }, { 210,-516 }, { 211,-516 }, { 212,-516 }, + { 213,-516 }, { 214,-516 }, { 215,-516 }, { 216,-516 }, { 217,-516 }, + { 218,-516 }, { 219,-516 }, { 220,-516 }, { 221,-516 }, { 222,-516 }, + { 223,-516 }, { 224,-516 }, { 225,-516 }, { 226,-516 }, { 227,-516 }, + { 228,-516 }, { 229,-516 }, { 230,-516 }, { 231,-516 }, { 232,-516 }, + { 233,-516 }, { 234,-516 }, { 235,-516 }, { 236,-516 }, { 237,-516 }, + { 238,-516 }, { 239,-516 }, { 240,-516 }, { 241,-516 }, { 242,-516 }, + { 243,-516 }, { 244,-516 }, { 245,-516 }, { 246,-516 }, { 247,-516 }, + { 248,-516 }, { 249,-516 }, { 250,-516 }, { 251,-516 }, { 252,-516 }, + { 253,-516 }, { 254,-516 }, { 255,-516 }, { 256,-516 }, { 0, 22 }, + + { 0,44580 }, { 1,5766 }, { 2,5766 }, { 3,5766 }, { 4,5766 }, + { 5,5766 }, { 6,5766 }, { 7,5766 }, { 8,5766 }, { 9,6024 }, + { 10,6282 }, { 11,5766 }, { 12,6024 }, { 13,6282 }, { 14,5766 }, + { 15,5766 }, { 16,5766 }, { 17,5766 }, { 18,5766 }, { 19,5766 }, + { 20,5766 }, { 21,5766 }, { 22,5766 }, { 23,5766 }, { 24,5766 }, + { 25,5766 }, { 26,5766 }, { 27,5766 }, { 28,5766 }, { 29,5766 }, + { 30,5766 }, { 31,5766 }, { 32,6024 }, { 33,5766 }, { 34,5766 }, + { 35,5766 }, { 36,5766 }, { 37,5766 }, { 38,5766 }, { 39,5766 }, + { 40,5766 }, { 41,5766 }, { 42,5766 }, { 43,5766 }, { 44,5766 }, + { 45,6329 }, { 46,5766 }, { 47,5766 }, { 48,5766 }, { 49,5766 }, + + { 50,5766 }, { 51,5766 }, { 52,5766 }, { 53,5766 }, { 54,5766 }, + { 55,5766 }, { 56,5766 }, { 57,5766 }, { 58,5766 }, { 59,5766 }, + { 60,5766 }, { 61,5766 }, { 62,5766 }, { 63,5766 }, { 64,5766 }, + { 65,5766 }, { 66,5766 }, { 67,5766 }, { 68,5766 }, { 69,5766 }, + { 70,5766 }, { 71,5766 }, { 72,5766 }, { 73,5766 }, { 74,5766 }, + { 75,5766 }, { 76,5766 }, { 77,5766 }, { 78,5766 }, { 79,5766 }, + { 80,5766 }, { 81,5766 }, { 82,5766 }, { 83,5766 }, { 84,5766 }, + { 85,5766 }, { 86,5766 }, { 87,5766 }, { 88,5766 }, { 89,5766 }, + { 90,5766 }, { 91,5766 }, { 92,5766 }, { 93,5766 }, { 94,5766 }, + { 95,5766 }, { 96,5766 }, { 97,5766 }, { 98,5766 }, { 99,5766 }, + + { 100,5766 }, { 101,5766 }, { 102,5766 }, { 103,5766 }, { 104,5766 }, + { 105,5766 }, { 106,5766 }, { 107,5766 }, { 108,5766 }, { 109,5766 }, + { 110,5766 }, { 111,5766 }, { 112,5766 }, { 113,5766 }, { 114,5766 }, + { 115,5766 }, { 116,5766 }, { 117,5766 }, { 118,5766 }, { 119,5766 }, + { 120,5766 }, { 121,5766 }, { 122,5766 }, { 123,5766 }, { 124,5766 }, + { 125,5766 }, { 126,5766 }, { 127,5766 }, { 128,5766 }, { 129,5766 }, + { 130,5766 }, { 131,5766 }, { 132,5766 }, { 133,5766 }, { 134,5766 }, + { 135,5766 }, { 136,5766 }, { 137,5766 }, { 138,5766 }, { 139,5766 }, + { 140,5766 }, { 141,5766 }, { 142,5766 }, { 143,5766 }, { 144,5766 }, + { 145,5766 }, { 146,5766 }, { 147,5766 }, { 148,5766 }, { 149,5766 }, + + { 150,5766 }, { 151,5766 }, { 152,5766 }, { 153,5766 }, { 154,5766 }, + { 155,5766 }, { 156,5766 }, { 157,5766 }, { 158,5766 }, { 159,5766 }, + { 160,5766 }, { 161,5766 }, { 162,5766 }, { 163,5766 }, { 164,5766 }, + { 165,5766 }, { 166,5766 }, { 167,5766 }, { 168,5766 }, { 169,5766 }, + { 170,5766 }, { 171,5766 }, { 172,5766 }, { 173,5766 }, { 174,5766 }, + { 175,5766 }, { 176,5766 }, { 177,5766 }, { 178,5766 }, { 179,5766 }, + { 180,5766 }, { 181,5766 }, { 182,5766 }, { 183,5766 }, { 184,5766 }, + { 185,5766 }, { 186,5766 }, { 187,5766 }, { 188,5766 }, { 189,5766 }, + { 190,5766 }, { 191,5766 }, { 192,5766 }, { 193,5766 }, { 194,5766 }, + { 195,5766 }, { 196,5766 }, { 197,5766 }, { 198,5766 }, { 199,5766 }, + + { 200,5766 }, { 201,5766 }, { 202,5766 }, { 203,5766 }, { 204,5766 }, + { 205,5766 }, { 206,5766 }, { 207,5766 }, { 208,5766 }, { 209,5766 }, + { 210,5766 }, { 211,5766 }, { 212,5766 }, { 213,5766 }, { 214,5766 }, + { 215,5766 }, { 216,5766 }, { 217,5766 }, { 218,5766 }, { 219,5766 }, + { 220,5766 }, { 221,5766 }, { 222,5766 }, { 223,5766 }, { 224,5766 }, + { 225,5766 }, { 226,5766 }, { 227,5766 }, { 228,5766 }, { 229,5766 }, + { 230,5766 }, { 231,5766 }, { 232,5766 }, { 233,5766 }, { 234,5766 }, + { 235,5766 }, { 236,5766 }, { 237,5766 }, { 238,5766 }, { 239,5766 }, + { 240,5766 }, { 241,5766 }, { 242,5766 }, { 243,5766 }, { 244,5766 }, + { 245,5766 }, { 246,5766 }, { 247,5766 }, { 248,5766 }, { 249,5766 }, + + { 250,5766 }, { 251,5766 }, { 252,5766 }, { 253,5766 }, { 254,5766 }, + { 255,5766 }, { 256,5766 }, { 0, 22 }, { 0,44322 }, { 1, 0 }, + { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, + { 7, 0 }, { 8, 0 }, { 9, 258 }, { 10,-6438 }, { 11, 0 }, + { 12, 258 }, { 13,-6438 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, + { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, + { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, + { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, + { 32, 258 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, { 36, 0 }, + { 37, 0 }, { 38, 0 }, { 39, 0 }, { 40, 0 }, { 41, 0 }, + + { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 516 }, { 46, 0 }, + { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, + { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, + { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, + { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, + { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, + { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, + { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, + + { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, + { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, + { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, + { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, + { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, + { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, + { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, + { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, + { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, + { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, + + { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, + { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, + { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, + { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, + { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, + { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, + { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, + { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, + { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, + { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, + + { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, + { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, + { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, + { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, + { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, + { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, + { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, + { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, + { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, + { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, + + { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, + { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, + { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, + { 0, 22 }, { 0,44064 }, { 1,-258 }, { 2,-258 }, { 3,-258 }, + { 4,-258 }, { 5,-258 }, { 6,-258 }, { 7,-258 }, { 8,-258 }, + { 9, 0 }, { 10,-6696 }, { 11,-258 }, { 12, 0 }, { 13,-6696 }, + { 14,-258 }, { 15,-258 }, { 16,-258 }, { 17,-258 }, { 18,-258 }, + { 19,-258 }, { 20,-258 }, { 21,-258 }, { 22,-258 }, { 23,-258 }, + { 24,-258 }, { 25,-258 }, { 26,-258 }, { 27,-258 }, { 28,-258 }, + { 29,-258 }, { 30,-258 }, { 31,-258 }, { 32, 0 }, { 33,-258 }, + + { 34,-258 }, { 35,-258 }, { 36,-258 }, { 37,-258 }, { 38,-258 }, + { 39,-258 }, { 40,-258 }, { 41,-258 }, { 42,-258 }, { 43,-258 }, + { 44,-258 }, { 45, 258 }, { 46,-258 }, { 47,-258 }, { 48,-258 }, + { 49,-258 }, { 50,-258 }, { 51,-258 }, { 52,-258 }, { 53,-258 }, + { 54,-258 }, { 55,-258 }, { 56,-258 }, { 57,-258 }, { 58,-258 }, + { 59,-258 }, { 60,-258 }, { 61,-258 }, { 62,-258 }, { 63,-258 }, + { 64,-258 }, { 65,-258 }, { 66,-258 }, { 67,-258 }, { 68,-258 }, + { 69,-258 }, { 70,-258 }, { 71,-258 }, { 72,-258 }, { 73,-258 }, + { 74,-258 }, { 75,-258 }, { 76,-258 }, { 77,-258 }, { 78,-258 }, + { 79,-258 }, { 80,-258 }, { 81,-258 }, { 82,-258 }, { 83,-258 }, + + { 84,-258 }, { 85,-258 }, { 86,-258 }, { 87,-258 }, { 88,-258 }, + { 89,-258 }, { 90,-258 }, { 91,-258 }, { 92,-258 }, { 93,-258 }, + { 94,-258 }, { 95,-258 }, { 96,-258 }, { 97,-258 }, { 98,-258 }, + { 99,-258 }, { 100,-258 }, { 101,-258 }, { 102,-258 }, { 103,-258 }, + { 104,-258 }, { 105,-258 }, { 106,-258 }, { 107,-258 }, { 108,-258 }, + { 109,-258 }, { 110,-258 }, { 111,-258 }, { 112,-258 }, { 113,-258 }, + { 114,-258 }, { 115,-258 }, { 116,-258 }, { 117,-258 }, { 118,-258 }, + { 119,-258 }, { 120,-258 }, { 121,-258 }, { 122,-258 }, { 123,-258 }, + { 124,-258 }, { 125,-258 }, { 126,-258 }, { 127,-258 }, { 128,-258 }, + { 129,-258 }, { 130,-258 }, { 131,-258 }, { 132,-258 }, { 133,-258 }, + + { 134,-258 }, { 135,-258 }, { 136,-258 }, { 137,-258 }, { 138,-258 }, + { 139,-258 }, { 140,-258 }, { 141,-258 }, { 142,-258 }, { 143,-258 }, + { 144,-258 }, { 145,-258 }, { 146,-258 }, { 147,-258 }, { 148,-258 }, + { 149,-258 }, { 150,-258 }, { 151,-258 }, { 152,-258 }, { 153,-258 }, + { 154,-258 }, { 155,-258 }, { 156,-258 }, { 157,-258 }, { 158,-258 }, + { 159,-258 }, { 160,-258 }, { 161,-258 }, { 162,-258 }, { 163,-258 }, + { 164,-258 }, { 165,-258 }, { 166,-258 }, { 167,-258 }, { 168,-258 }, + { 169,-258 }, { 170,-258 }, { 171,-258 }, { 172,-258 }, { 173,-258 }, + { 174,-258 }, { 175,-258 }, { 176,-258 }, { 177,-258 }, { 178,-258 }, + { 179,-258 }, { 180,-258 }, { 181,-258 }, { 182,-258 }, { 183,-258 }, + + { 184,-258 }, { 185,-258 }, { 186,-258 }, { 187,-258 }, { 188,-258 }, + { 189,-258 }, { 190,-258 }, { 191,-258 }, { 192,-258 }, { 193,-258 }, + { 194,-258 }, { 195,-258 }, { 196,-258 }, { 197,-258 }, { 198,-258 }, + { 199,-258 }, { 200,-258 }, { 201,-258 }, { 202,-258 }, { 203,-258 }, + { 204,-258 }, { 205,-258 }, { 206,-258 }, { 207,-258 }, { 208,-258 }, + { 209,-258 }, { 210,-258 }, { 211,-258 }, { 212,-258 }, { 213,-258 }, + { 214,-258 }, { 215,-258 }, { 216,-258 }, { 217,-258 }, { 218,-258 }, + { 219,-258 }, { 220,-258 }, { 221,-258 }, { 222,-258 }, { 223,-258 }, + { 224,-258 }, { 225,-258 }, { 226,-258 }, { 227,-258 }, { 228,-258 }, + { 229,-258 }, { 230,-258 }, { 231,-258 }, { 232,-258 }, { 233,-258 }, + + { 234,-258 }, { 235,-258 }, { 236,-258 }, { 237,-258 }, { 238,-258 }, + { 239,-258 }, { 240,-258 }, { 241,-258 }, { 242,-258 }, { 243,-258 }, + { 244,-258 }, { 245,-258 }, { 246,-258 }, { 247,-258 }, { 248,-258 }, + { 249,-258 }, { 250,-258 }, { 251,-258 }, { 252,-258 }, { 253,-258 }, + { 254,-258 }, { 255,-258 }, { 256,-258 }, { 0, 22 }, { 0,43806 }, + { 1,-516 }, { 2,-516 }, { 3,-516 }, { 4,-516 }, { 5,-516 }, + { 6,-516 }, { 7,-516 }, { 8,-516 }, { 9,-258 }, { 10,-6954 }, + { 11,-516 }, { 12,-258 }, { 13,-6954 }, { 14,-516 }, { 15,-516 }, + { 16,-516 }, { 17,-516 }, { 18,-516 }, { 19,-516 }, { 20,-516 }, + { 21,-516 }, { 22,-516 }, { 23,-516 }, { 24,-516 }, { 25,-516 }, + + { 26,-516 }, { 27,-516 }, { 28,-516 }, { 29,-516 }, { 30,-516 }, + { 31,-516 }, { 32,-258 }, { 33,-516 }, { 34,-516 }, { 35,-516 }, + { 36,-516 }, { 37,-516 }, { 38,-516 }, { 39,-516 }, { 40,-516 }, + { 41,-516 }, { 42,-516 }, { 43,-516 }, { 44,-516 }, { 45,5813 }, + { 46,-516 }, { 47,-516 }, { 48,-516 }, { 49,-516 }, { 50,-516 }, + { 51,-516 }, { 52,-516 }, { 53,-516 }, { 54,-516 }, { 55,-516 }, + { 56,-516 }, { 57,-516 }, { 58,-516 }, { 59,-516 }, { 60,-516 }, + { 61,-516 }, { 62,-516 }, { 63,-516 }, { 64,-516 }, { 65,-516 }, + { 66,-516 }, { 67,-516 }, { 68,-516 }, { 69,-516 }, { 70,-516 }, + { 71,-516 }, { 72,-516 }, { 73,-516 }, { 74,-516 }, { 75,-516 }, + + { 76,-516 }, { 77,-516 }, { 78,-516 }, { 79,-516 }, { 80,-516 }, + { 81,-516 }, { 82,-516 }, { 83,-516 }, { 84,-516 }, { 85,-516 }, + { 86,-516 }, { 87,-516 }, { 88,-516 }, { 89,-516 }, { 90,-516 }, + { 91,-516 }, { 92,-516 }, { 93,-516 }, { 94,-516 }, { 95,-516 }, + { 96,-516 }, { 97,-516 }, { 98,-516 }, { 99,-516 }, { 100,-516 }, + { 101,-516 }, { 102,-516 }, { 103,-516 }, { 104,-516 }, { 105,-516 }, + { 106,-516 }, { 107,-516 }, { 108,-516 }, { 109,-516 }, { 110,-516 }, + { 111,-516 }, { 112,-516 }, { 113,-516 }, { 114,-516 }, { 115,-516 }, + { 116,-516 }, { 117,-516 }, { 118,-516 }, { 119,-516 }, { 120,-516 }, + { 121,-516 }, { 122,-516 }, { 123,-516 }, { 124,-516 }, { 125,-516 }, + + { 126,-516 }, { 127,-516 }, { 128,-516 }, { 129,-516 }, { 130,-516 }, + { 131,-516 }, { 132,-516 }, { 133,-516 }, { 134,-516 }, { 135,-516 }, + { 136,-516 }, { 137,-516 }, { 138,-516 }, { 139,-516 }, { 140,-516 }, + { 141,-516 }, { 142,-516 }, { 143,-516 }, { 144,-516 }, { 145,-516 }, + { 146,-516 }, { 147,-516 }, { 148,-516 }, { 149,-516 }, { 150,-516 }, + { 151,-516 }, { 152,-516 }, { 153,-516 }, { 154,-516 }, { 155,-516 }, + { 156,-516 }, { 157,-516 }, { 158,-516 }, { 159,-516 }, { 160,-516 }, + { 161,-516 }, { 162,-516 }, { 163,-516 }, { 164,-516 }, { 165,-516 }, + { 166,-516 }, { 167,-516 }, { 168,-516 }, { 169,-516 }, { 170,-516 }, + { 171,-516 }, { 172,-516 }, { 173,-516 }, { 174,-516 }, { 175,-516 }, + + { 176,-516 }, { 177,-516 }, { 178,-516 }, { 179,-516 }, { 180,-516 }, + { 181,-516 }, { 182,-516 }, { 183,-516 }, { 184,-516 }, { 185,-516 }, + { 186,-516 }, { 187,-516 }, { 188,-516 }, { 189,-516 }, { 190,-516 }, + { 191,-516 }, { 192,-516 }, { 193,-516 }, { 194,-516 }, { 195,-516 }, + { 196,-516 }, { 197,-516 }, { 198,-516 }, { 199,-516 }, { 200,-516 }, + { 201,-516 }, { 202,-516 }, { 203,-516 }, { 204,-516 }, { 205,-516 }, + { 206,-516 }, { 207,-516 }, { 208,-516 }, { 209,-516 }, { 210,-516 }, + { 211,-516 }, { 212,-516 }, { 213,-516 }, { 214,-516 }, { 215,-516 }, + { 216,-516 }, { 217,-516 }, { 218,-516 }, { 219,-516 }, { 220,-516 }, + { 221,-516 }, { 222,-516 }, { 223,-516 }, { 224,-516 }, { 225,-516 }, + + { 226,-516 }, { 227,-516 }, { 228,-516 }, { 229,-516 }, { 230,-516 }, + { 231,-516 }, { 232,-516 }, { 233,-516 }, { 234,-516 }, { 235,-516 }, + { 236,-516 }, { 237,-516 }, { 238,-516 }, { 239,-516 }, { 240,-516 }, + { 241,-516 }, { 242,-516 }, { 243,-516 }, { 244,-516 }, { 245,-516 }, + { 246,-516 }, { 247,-516 }, { 248,-516 }, { 249,-516 }, { 250,-516 }, + { 251,-516 }, { 252,-516 }, { 253,-516 }, { 254,-516 }, { 255,-516 }, + { 256,-516 }, { 0, 33 }, { 0,43548 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 33 }, + { 0,43525 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,5813 }, { 49,5813 }, { 50,5813 }, { 51,5813 }, { 52,5813 }, + { 53,5813 }, { 54,5813 }, { 55,5813 }, { 56,5813 }, { 57,5813 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,5813 }, { 66,5813 }, { 67,5813 }, + + { 68,5813 }, { 69,5813 }, { 70,5813 }, { 48,5813 }, { 49,5813 }, + { 50,5813 }, { 51,5813 }, { 52,5813 }, { 53,5813 }, { 54,5813 }, + { 55,5813 }, { 56,5813 }, { 57,5813 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,5813 }, { 66,5813 }, { 67,5813 }, { 68,5813 }, { 69,5813 }, + { 70,5813 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,5813 }, + { 98,5813 }, { 99,5813 }, { 100,5813 }, { 101,5813 }, { 102,5813 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 97,5813 }, { 98,5813 }, { 99,5813 }, + { 100,5813 }, { 101,5813 }, { 102,5813 }, { 0, 48 }, { 0,43421 }, + { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, + { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 258 }, { 10,-6386 }, + { 11, 0 }, { 12, 258 }, { 13,-6386 }, { 14, 0 }, { 15, 0 }, + { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, + { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, + { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, + { 31, 0 }, { 32, 258 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, + { 36, 0 }, { 37, 0 }, { 38, 0 }, { 39, 0 }, { 40, 0 }, + + { 41, 0 }, { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 516 }, + { 46, 0 }, { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, + { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, + { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, + { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, + { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, + { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 774 }, + { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, + + { 91, 0 }, { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, + { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, + { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, + { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, + { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, + { 116, 0 }, { 117, 774 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, + { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, + { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, + { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, + { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, + + { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, + { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, + { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, + { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, + { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, + { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, + { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, + { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, + { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, + { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, + + { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, + { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, + { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, + { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, + { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, + { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, + { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, + { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, + { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, + { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, + + { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, + { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, + { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, + { 256, 0 }, { 0, 48 }, { 0,43163 }, { 1,-258 }, { 2,-258 }, + { 3,-258 }, { 4,-258 }, { 5,-258 }, { 6,-258 }, { 7,-258 }, + { 8,-258 }, { 9, 0 }, { 10,-6644 }, { 11,-258 }, { 12, 0 }, + { 13,-6644 }, { 14,-258 }, { 15,-258 }, { 16,-258 }, { 17,-258 }, + { 18,-258 }, { 19,-258 }, { 20,-258 }, { 21,-258 }, { 22,-258 }, + { 23,-258 }, { 24,-258 }, { 25,-258 }, { 26,-258 }, { 27,-258 }, + { 28,-258 }, { 29,-258 }, { 30,-258 }, { 31,-258 }, { 32, 0 }, + + { 33,-258 }, { 34,-258 }, { 35,-258 }, { 36,-258 }, { 37,-258 }, + { 38,-258 }, { 39,-258 }, { 40,-258 }, { 41,-258 }, { 42,-258 }, + { 43,-258 }, { 44,-258 }, { 45, 258 }, { 46,-258 }, { 47,-258 }, + { 48,-258 }, { 49,-258 }, { 50,-258 }, { 51,-258 }, { 52,-258 }, + { 53,-258 }, { 54,-258 }, { 55,-258 }, { 56,-258 }, { 57,-258 }, + { 58,-258 }, { 59,-258 }, { 60,-258 }, { 61,-258 }, { 62,-258 }, + { 63,-258 }, { 64,-258 }, { 65,-258 }, { 66,-258 }, { 67,-258 }, + { 68,-258 }, { 69,-258 }, { 70,-258 }, { 71,-258 }, { 72,-258 }, + { 73,-258 }, { 74,-258 }, { 75,-258 }, { 76,-258 }, { 77,-258 }, + { 78,-258 }, { 79,-258 }, { 80,-258 }, { 81,-258 }, { 82,-258 }, + + { 83,-258 }, { 84,-258 }, { 85, 516 }, { 86,-258 }, { 87,-258 }, + { 88,-258 }, { 89,-258 }, { 90,-258 }, { 91,-258 }, { 92,-258 }, + { 93,-258 }, { 94,-258 }, { 95,-258 }, { 96,-258 }, { 97,-258 }, + { 98,-258 }, { 99,-258 }, { 100,-258 }, { 101,-258 }, { 102,-258 }, + { 103,-258 }, { 104,-258 }, { 105,-258 }, { 106,-258 }, { 107,-258 }, + { 108,-258 }, { 109,-258 }, { 110,-258 }, { 111,-258 }, { 112,-258 }, + { 113,-258 }, { 114,-258 }, { 115,-258 }, { 116,-258 }, { 117, 516 }, + { 118,-258 }, { 119,-258 }, { 120,-258 }, { 121,-258 }, { 122,-258 }, + { 123,-258 }, { 124,-258 }, { 125,-258 }, { 126,-258 }, { 127,-258 }, + { 128,-258 }, { 129,-258 }, { 130,-258 }, { 131,-258 }, { 132,-258 }, + + { 133,-258 }, { 134,-258 }, { 135,-258 }, { 136,-258 }, { 137,-258 }, + { 138,-258 }, { 139,-258 }, { 140,-258 }, { 141,-258 }, { 142,-258 }, + { 143,-258 }, { 144,-258 }, { 145,-258 }, { 146,-258 }, { 147,-258 }, + { 148,-258 }, { 149,-258 }, { 150,-258 }, { 151,-258 }, { 152,-258 }, + { 153,-258 }, { 154,-258 }, { 155,-258 }, { 156,-258 }, { 157,-258 }, + { 158,-258 }, { 159,-258 }, { 160,-258 }, { 161,-258 }, { 162,-258 }, + { 163,-258 }, { 164,-258 }, { 165,-258 }, { 166,-258 }, { 167,-258 }, + { 168,-258 }, { 169,-258 }, { 170,-258 }, { 171,-258 }, { 172,-258 }, + { 173,-258 }, { 174,-258 }, { 175,-258 }, { 176,-258 }, { 177,-258 }, + { 178,-258 }, { 179,-258 }, { 180,-258 }, { 181,-258 }, { 182,-258 }, + + { 183,-258 }, { 184,-258 }, { 185,-258 }, { 186,-258 }, { 187,-258 }, + { 188,-258 }, { 189,-258 }, { 190,-258 }, { 191,-258 }, { 192,-258 }, + { 193,-258 }, { 194,-258 }, { 195,-258 }, { 196,-258 }, { 197,-258 }, + { 198,-258 }, { 199,-258 }, { 200,-258 }, { 201,-258 }, { 202,-258 }, + { 203,-258 }, { 204,-258 }, { 205,-258 }, { 206,-258 }, { 207,-258 }, + { 208,-258 }, { 209,-258 }, { 210,-258 }, { 211,-258 }, { 212,-258 }, + { 213,-258 }, { 214,-258 }, { 215,-258 }, { 216,-258 }, { 217,-258 }, + { 218,-258 }, { 219,-258 }, { 220,-258 }, { 221,-258 }, { 222,-258 }, + { 223,-258 }, { 224,-258 }, { 225,-258 }, { 226,-258 }, { 227,-258 }, + { 228,-258 }, { 229,-258 }, { 230,-258 }, { 231,-258 }, { 232,-258 }, + + { 233,-258 }, { 234,-258 }, { 235,-258 }, { 236,-258 }, { 237,-258 }, + { 238,-258 }, { 239,-258 }, { 240,-258 }, { 241,-258 }, { 242,-258 }, + { 243,-258 }, { 244,-258 }, { 245,-258 }, { 246,-258 }, { 247,-258 }, + { 248,-258 }, { 249,-258 }, { 250,-258 }, { 251,-258 }, { 252,-258 }, + { 253,-258 }, { 254,-258 }, { 255,-258 }, { 256,-258 }, { 0, 48 }, + { 0,42905 }, { 1,-516 }, { 2,-516 }, { 3,-516 }, { 4,-516 }, + { 5,-516 }, { 6,-516 }, { 7,-516 }, { 8,-516 }, { 9,-258 }, + { 10,-6902 }, { 11,-516 }, { 12,-258 }, { 13,-6902 }, { 14,-516 }, + { 15,-516 }, { 16,-516 }, { 17,-516 }, { 18,-516 }, { 19,-516 }, + { 20,-516 }, { 21,-516 }, { 22,-516 }, { 23,-516 }, { 24,-516 }, + + { 25,-516 }, { 26,-516 }, { 27,-516 }, { 28,-516 }, { 29,-516 }, + { 30,-516 }, { 31,-516 }, { 32,-258 }, { 33,-516 }, { 34,-516 }, + { 35,-516 }, { 36,-516 }, { 37,-516 }, { 38,-516 }, { 39,-516 }, + { 40,-516 }, { 41,-516 }, { 42,-516 }, { 43,-516 }, { 44,-516 }, + { 45,5297 }, { 46,-516 }, { 47,-516 }, { 48,-516 }, { 49,-516 }, + { 50,-516 }, { 51,-516 }, { 52,-516 }, { 53,-516 }, { 54,-516 }, + { 55,-516 }, { 56,-516 }, { 57,-516 }, { 58,-516 }, { 59,-516 }, + { 60,-516 }, { 61,-516 }, { 62,-516 }, { 63,-516 }, { 64,-516 }, + { 65,-516 }, { 66,-516 }, { 67,-516 }, { 68,-516 }, { 69,-516 }, + { 70,-516 }, { 71,-516 }, { 72,-516 }, { 73,-516 }, { 74,-516 }, + + { 75,-516 }, { 76,-516 }, { 77,-516 }, { 78,-516 }, { 79,-516 }, + { 80,-516 }, { 81,-516 }, { 82,-516 }, { 83,-516 }, { 84,-516 }, + { 85, 258 }, { 86,-516 }, { 87,-516 }, { 88,-516 }, { 89,-516 }, + { 90,-516 }, { 91,-516 }, { 92,-516 }, { 93,-516 }, { 94,-516 }, + { 95,-516 }, { 96,-516 }, { 97,-516 }, { 98,-516 }, { 99,-516 }, + { 100,-516 }, { 101,-516 }, { 102,-516 }, { 103,-516 }, { 104,-516 }, + { 105,-516 }, { 106,-516 }, { 107,-516 }, { 108,-516 }, { 109,-516 }, + { 110,-516 }, { 111,-516 }, { 112,-516 }, { 113,-516 }, { 114,-516 }, + { 115,-516 }, { 116,-516 }, { 117, 258 }, { 118,-516 }, { 119,-516 }, + { 120,-516 }, { 121,-516 }, { 122,-516 }, { 123,-516 }, { 124,-516 }, + + { 125,-516 }, { 126,-516 }, { 127,-516 }, { 128,-516 }, { 129,-516 }, + { 130,-516 }, { 131,-516 }, { 132,-516 }, { 133,-516 }, { 134,-516 }, + { 135,-516 }, { 136,-516 }, { 137,-516 }, { 138,-516 }, { 139,-516 }, + { 140,-516 }, { 141,-516 }, { 142,-516 }, { 143,-516 }, { 144,-516 }, + { 145,-516 }, { 146,-516 }, { 147,-516 }, { 148,-516 }, { 149,-516 }, + { 150,-516 }, { 151,-516 }, { 152,-516 }, { 153,-516 }, { 154,-516 }, + { 155,-516 }, { 156,-516 }, { 157,-516 }, { 158,-516 }, { 159,-516 }, + { 160,-516 }, { 161,-516 }, { 162,-516 }, { 163,-516 }, { 164,-516 }, + { 165,-516 }, { 166,-516 }, { 167,-516 }, { 168,-516 }, { 169,-516 }, + { 170,-516 }, { 171,-516 }, { 172,-516 }, { 173,-516 }, { 174,-516 }, + + { 175,-516 }, { 176,-516 }, { 177,-516 }, { 178,-516 }, { 179,-516 }, + { 180,-516 }, { 181,-516 }, { 182,-516 }, { 183,-516 }, { 184,-516 }, + { 185,-516 }, { 186,-516 }, { 187,-516 }, { 188,-516 }, { 189,-516 }, + { 190,-516 }, { 191,-516 }, { 192,-516 }, { 193,-516 }, { 194,-516 }, + { 195,-516 }, { 196,-516 }, { 197,-516 }, { 198,-516 }, { 199,-516 }, + { 200,-516 }, { 201,-516 }, { 202,-516 }, { 203,-516 }, { 204,-516 }, + { 205,-516 }, { 206,-516 }, { 207,-516 }, { 208,-516 }, { 209,-516 }, + { 210,-516 }, { 211,-516 }, { 212,-516 }, { 213,-516 }, { 214,-516 }, + { 215,-516 }, { 216,-516 }, { 217,-516 }, { 218,-516 }, { 219,-516 }, + { 220,-516 }, { 221,-516 }, { 222,-516 }, { 223,-516 }, { 224,-516 }, + + { 225,-516 }, { 226,-516 }, { 227,-516 }, { 228,-516 }, { 229,-516 }, + { 230,-516 }, { 231,-516 }, { 232,-516 }, { 233,-516 }, { 234,-516 }, + { 235,-516 }, { 236,-516 }, { 237,-516 }, { 238,-516 }, { 239,-516 }, + { 240,-516 }, { 241,-516 }, { 242,-516 }, { 243,-516 }, { 244,-516 }, + { 245,-516 }, { 246,-516 }, { 247,-516 }, { 248,-516 }, { 249,-516 }, + { 250,-516 }, { 251,-516 }, { 252,-516 }, { 253,-516 }, { 254,-516 }, + { 255,-516 }, { 256,-516 }, { 0, 48 }, { 0,42647 }, { 1,-774 }, + { 2,-774 }, { 3,-774 }, { 4,-774 }, { 5,-774 }, { 6,-774 }, + { 7,-774 }, { 8,-774 }, { 9,-516 }, { 10,-7160 }, { 11,-774 }, + { 12,-516 }, { 13,-7160 }, { 14,-774 }, { 15,-774 }, { 16,-774 }, + + { 17,-774 }, { 18,-774 }, { 19,-774 }, { 20,-774 }, { 21,-774 }, + { 22,-774 }, { 23,-774 }, { 24,-774 }, { 25,-774 }, { 26,-774 }, + { 27,-774 }, { 28,-774 }, { 29,-774 }, { 30,-774 }, { 31,-774 }, + { 32,-516 }, { 33,-774 }, { 34,-774 }, { 35,-774 }, { 36,-774 }, + { 37,-774 }, { 38,-774 }, { 39,-774 }, { 40,-774 }, { 41,-774 }, + { 42,-774 }, { 43,-774 }, { 44,-774 }, { 45,-258 }, { 46,-774 }, + { 47,-774 }, { 48,-774 }, { 49,-774 }, { 50,-774 }, { 51,-774 }, + { 52,-774 }, { 53,-774 }, { 54,-774 }, { 55,-774 }, { 56,-774 }, + { 57,-774 }, { 58,-774 }, { 59,-774 }, { 60,-774 }, { 61,-774 }, + { 62,-774 }, { 63,-774 }, { 64,-774 }, { 65,-774 }, { 66,-774 }, + + { 67,-774 }, { 68,-774 }, { 69,5297 }, { 70,-774 }, { 71,-774 }, + { 72,-774 }, { 73,-774 }, { 74,-774 }, { 75,-774 }, { 76,-774 }, + { 77,-774 }, { 78,-774 }, { 79,-774 }, { 80,-774 }, { 81,-774 }, + { 82,-774 }, { 83,-774 }, { 84,-774 }, { 85, 0 }, { 86,-774 }, + { 87,-774 }, { 88,-774 }, { 89,-774 }, { 90,-774 }, { 91,-774 }, + { 92,-774 }, { 93,-774 }, { 94,-774 }, { 95,-774 }, { 96,-774 }, + { 97,-774 }, { 98,-774 }, { 99,-774 }, { 100,-774 }, { 101,5297 }, + { 102,-774 }, { 103,-774 }, { 104,-774 }, { 105,-774 }, { 106,-774 }, + { 107,-774 }, { 108,-774 }, { 109,-774 }, { 110,-774 }, { 111,-774 }, + { 112,-774 }, { 113,-774 }, { 114,-774 }, { 115,-774 }, { 116,-774 }, + + { 117, 0 }, { 118,-774 }, { 119,-774 }, { 120,-774 }, { 121,-774 }, + { 122,-774 }, { 123,-774 }, { 124,-774 }, { 125,-774 }, { 126,-774 }, + { 127,-774 }, { 128,-774 }, { 129,-774 }, { 130,-774 }, { 131,-774 }, + { 132,-774 }, { 133,-774 }, { 134,-774 }, { 135,-774 }, { 136,-774 }, + { 137,-774 }, { 138,-774 }, { 139,-774 }, { 140,-774 }, { 141,-774 }, + { 142,-774 }, { 143,-774 }, { 144,-774 }, { 145,-774 }, { 146,-774 }, + { 147,-774 }, { 148,-774 }, { 149,-774 }, { 150,-774 }, { 151,-774 }, + { 152,-774 }, { 153,-774 }, { 154,-774 }, { 155,-774 }, { 156,-774 }, + { 157,-774 }, { 158,-774 }, { 159,-774 }, { 160,-774 }, { 161,-774 }, + { 162,-774 }, { 163,-774 }, { 164,-774 }, { 165,-774 }, { 166,-774 }, + + { 167,-774 }, { 168,-774 }, { 169,-774 }, { 170,-774 }, { 171,-774 }, + { 172,-774 }, { 173,-774 }, { 174,-774 }, { 175,-774 }, { 176,-774 }, + { 177,-774 }, { 178,-774 }, { 179,-774 }, { 180,-774 }, { 181,-774 }, + { 182,-774 }, { 183,-774 }, { 184,-774 }, { 185,-774 }, { 186,-774 }, + { 187,-774 }, { 188,-774 }, { 189,-774 }, { 190,-774 }, { 191,-774 }, + { 192,-774 }, { 193,-774 }, { 194,-774 }, { 195,-774 }, { 196,-774 }, + { 197,-774 }, { 198,-774 }, { 199,-774 }, { 200,-774 }, { 201,-774 }, + { 202,-774 }, { 203,-774 }, { 204,-774 }, { 205,-774 }, { 206,-774 }, + { 207,-774 }, { 208,-774 }, { 209,-774 }, { 210,-774 }, { 211,-774 }, + { 212,-774 }, { 213,-774 }, { 214,-774 }, { 215,-774 }, { 216,-774 }, + + { 217,-774 }, { 218,-774 }, { 219,-774 }, { 220,-774 }, { 221,-774 }, + { 222,-774 }, { 223,-774 }, { 224,-774 }, { 225,-774 }, { 226,-774 }, + { 227,-774 }, { 228,-774 }, { 229,-774 }, { 230,-774 }, { 231,-774 }, + { 232,-774 }, { 233,-774 }, { 234,-774 }, { 235,-774 }, { 236,-774 }, + { 237,-774 }, { 238,-774 }, { 239,-774 }, { 240,-774 }, { 241,-774 }, + { 242,-774 }, { 243,-774 }, { 244,-774 }, { 245,-774 }, { 246,-774 }, + { 247,-774 }, { 248,-774 }, { 249,-774 }, { 250,-774 }, { 251,-774 }, + { 252,-774 }, { 253,-774 }, { 254,-774 }, { 255,-774 }, { 256,-774 }, + { 0, 24 }, { 0,42389 }, { 1,5297 }, { 2,5297 }, { 3,5297 }, + { 4,5297 }, { 5,5297 }, { 6,5297 }, { 7,5297 }, { 8,5297 }, + + { 9,5555 }, { 10,5813 }, { 11,5297 }, { 12,5555 }, { 13,5813 }, + { 14,5297 }, { 15,5297 }, { 16,5297 }, { 17,5297 }, { 18,5297 }, + { 19,5297 }, { 20,5297 }, { 21,5297 }, { 22,5297 }, { 23,5297 }, + { 24,5297 }, { 25,5297 }, { 26,5297 }, { 27,5297 }, { 28,5297 }, + { 29,5297 }, { 30,5297 }, { 31,5297 }, { 32,5555 }, { 33,5297 }, + { 34,5297 }, { 35,5297 }, { 36,5297 }, { 37,5297 }, { 38,5297 }, + { 39,5297 }, { 40,5297 }, { 41,5297 }, { 42,5297 }, { 43,5297 }, + { 44,5297 }, { 45,5932 }, { 46,5297 }, { 47,5297 }, { 48,5297 }, + { 49,5297 }, { 50,5297 }, { 51,5297 }, { 52,5297 }, { 53,5297 }, + { 54,5297 }, { 55,5297 }, { 56,5297 }, { 57,5297 }, { 58,5297 }, + + { 59,5297 }, { 60,5297 }, { 61,5297 }, { 62,5297 }, { 63,5297 }, + { 64,5297 }, { 65,5297 }, { 66,5297 }, { 67,5297 }, { 68,5297 }, + { 69,5297 }, { 70,5297 }, { 71,5297 }, { 72,5297 }, { 73,5297 }, + { 74,5297 }, { 75,5297 }, { 76,5297 }, { 77,5297 }, { 78,5297 }, + { 79,5297 }, { 80,5297 }, { 81,5297 }, { 82,5297 }, { 83,5297 }, + { 84,5297 }, { 85,6190 }, { 86,5297 }, { 87,5297 }, { 88,5297 }, + { 89,5297 }, { 90,5297 }, { 91,5297 }, { 92,5297 }, { 93,5297 }, + { 94,5297 }, { 95,5297 }, { 96,5297 }, { 97,5297 }, { 98,5297 }, + { 99,5297 }, { 100,5297 }, { 101,5297 }, { 102,5297 }, { 103,5297 }, + { 104,5297 }, { 105,5297 }, { 106,5297 }, { 107,5297 }, { 108,5297 }, + + { 109,5297 }, { 110,5297 }, { 111,5297 }, { 112,5297 }, { 113,5297 }, + { 114,5297 }, { 115,5297 }, { 116,5297 }, { 117,6190 }, { 118,5297 }, + { 119,5297 }, { 120,5297 }, { 121,5297 }, { 122,5297 }, { 123,5297 }, + { 124,5297 }, { 125,5297 }, { 126,5297 }, { 127,5297 }, { 128,5297 }, + { 129,5297 }, { 130,5297 }, { 131,5297 }, { 132,5297 }, { 133,5297 }, + { 134,5297 }, { 135,5297 }, { 136,5297 }, { 137,5297 }, { 138,5297 }, + { 139,5297 }, { 140,5297 }, { 141,5297 }, { 142,5297 }, { 143,5297 }, + { 144,5297 }, { 145,5297 }, { 146,5297 }, { 147,5297 }, { 148,5297 }, + { 149,5297 }, { 150,5297 }, { 151,5297 }, { 152,5297 }, { 153,5297 }, + { 154,5297 }, { 155,5297 }, { 156,5297 }, { 157,5297 }, { 158,5297 }, + + { 159,5297 }, { 160,5297 }, { 161,5297 }, { 162,5297 }, { 163,5297 }, + { 164,5297 }, { 165,5297 }, { 166,5297 }, { 167,5297 }, { 168,5297 }, + { 169,5297 }, { 170,5297 }, { 171,5297 }, { 172,5297 }, { 173,5297 }, + { 174,5297 }, { 175,5297 }, { 176,5297 }, { 177,5297 }, { 178,5297 }, + { 179,5297 }, { 180,5297 }, { 181,5297 }, { 182,5297 }, { 183,5297 }, + { 184,5297 }, { 185,5297 }, { 186,5297 }, { 187,5297 }, { 188,5297 }, + { 189,5297 }, { 190,5297 }, { 191,5297 }, { 192,5297 }, { 193,5297 }, + { 194,5297 }, { 195,5297 }, { 196,5297 }, { 197,5297 }, { 198,5297 }, + { 199,5297 }, { 200,5297 }, { 201,5297 }, { 202,5297 }, { 203,5297 }, + { 204,5297 }, { 205,5297 }, { 206,5297 }, { 207,5297 }, { 208,5297 }, + + { 209,5297 }, { 210,5297 }, { 211,5297 }, { 212,5297 }, { 213,5297 }, + { 214,5297 }, { 215,5297 }, { 216,5297 }, { 217,5297 }, { 218,5297 }, + { 219,5297 }, { 220,5297 }, { 221,5297 }, { 222,5297 }, { 223,5297 }, + { 224,5297 }, { 225,5297 }, { 226,5297 }, { 227,5297 }, { 228,5297 }, + { 229,5297 }, { 230,5297 }, { 231,5297 }, { 232,5297 }, { 233,5297 }, + { 234,5297 }, { 235,5297 }, { 236,5297 }, { 237,5297 }, { 238,5297 }, + { 239,5297 }, { 240,5297 }, { 241,5297 }, { 242,5297 }, { 243,5297 }, + { 244,5297 }, { 245,5297 }, { 246,5297 }, { 247,5297 }, { 248,5297 }, + { 249,5297 }, { 250,5297 }, { 251,5297 }, { 252,5297 }, { 253,5297 }, + { 254,5297 }, { 255,5297 }, { 256,5297 }, { 0, 24 }, { 0,42131 }, + + { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, + { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 258 }, { 10,-7655 }, + { 11, 0 }, { 12, 258 }, { 13,-7655 }, { 14, 0 }, { 15, 0 }, + { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, + { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, + { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, + { 31, 0 }, { 32, 258 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, + { 36, 0 }, { 37, 0 }, { 38, 0 }, { 39, 0 }, { 40, 0 }, + { 41, 0 }, { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 516 }, + { 46, 0 }, { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, + { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, + { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, + { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, + { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, + { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 774 }, + { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, + { 91, 0 }, { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, + { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, + + { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, + { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, + { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, + { 116, 0 }, { 117, 774 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, + { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, + { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, + { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, + { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, + { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, + { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, + + { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, + { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, + { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, + { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, + { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, + { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, + { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, + { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, + { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, + { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, + + { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, + { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, + { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, + { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, + { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, + { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, + { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, + { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, + { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, + { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, + + { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, + { 256, 0 }, { 0, 24 }, { 0,41873 }, { 1,-258 }, { 2,-258 }, + { 3,-258 }, { 4,-258 }, { 5,-258 }, { 6,-258 }, { 7,-258 }, + { 8,-258 }, { 9, 0 }, { 10,-7913 }, { 11,-258 }, { 12, 0 }, + { 13,-7913 }, { 14,-258 }, { 15,-258 }, { 16,-258 }, { 17,-258 }, + { 18,-258 }, { 19,-258 }, { 20,-258 }, { 21,-258 }, { 22,-258 }, + { 23,-258 }, { 24,-258 }, { 25,-258 }, { 26,-258 }, { 27,-258 }, + { 28,-258 }, { 29,-258 }, { 30,-258 }, { 31,-258 }, { 32, 0 }, + { 33,-258 }, { 34,-258 }, { 35,-258 }, { 36,-258 }, { 37,-258 }, + { 38,-258 }, { 39,-258 }, { 40,-258 }, { 41,-258 }, { 42,-258 }, + + { 43,-258 }, { 44,-258 }, { 45, 258 }, { 46,-258 }, { 47,-258 }, + { 48,-258 }, { 49,-258 }, { 50,-258 }, { 51,-258 }, { 52,-258 }, + { 53,-258 }, { 54,-258 }, { 55,-258 }, { 56,-258 }, { 57,-258 }, + { 58,-258 }, { 59,-258 }, { 60,-258 }, { 61,-258 }, { 62,-258 }, + { 63,-258 }, { 64,-258 }, { 65,-258 }, { 66,-258 }, { 67,-258 }, + { 68,-258 }, { 69,-258 }, { 70,-258 }, { 71,-258 }, { 72,-258 }, + { 73,-258 }, { 74,-258 }, { 75,-258 }, { 76,-258 }, { 77,-258 }, + { 78,-258 }, { 79,-258 }, { 80,-258 }, { 81,-258 }, { 82,-258 }, + { 83,-258 }, { 84,-258 }, { 85, 516 }, { 86,-258 }, { 87,-258 }, + { 88,-258 }, { 89,-258 }, { 90,-258 }, { 91,-258 }, { 92,-258 }, + + { 93,-258 }, { 94,-258 }, { 95,-258 }, { 96,-258 }, { 97,-258 }, + { 98,-258 }, { 99,-258 }, { 100,-258 }, { 101,-258 }, { 102,-258 }, + { 103,-258 }, { 104,-258 }, { 105,-258 }, { 106,-258 }, { 107,-258 }, + { 108,-258 }, { 109,-258 }, { 110,-258 }, { 111,-258 }, { 112,-258 }, + { 113,-258 }, { 114,-258 }, { 115,-258 }, { 116,-258 }, { 117, 516 }, + { 118,-258 }, { 119,-258 }, { 120,-258 }, { 121,-258 }, { 122,-258 }, + { 123,-258 }, { 124,-258 }, { 125,-258 }, { 126,-258 }, { 127,-258 }, + { 128,-258 }, { 129,-258 }, { 130,-258 }, { 131,-258 }, { 132,-258 }, + { 133,-258 }, { 134,-258 }, { 135,-258 }, { 136,-258 }, { 137,-258 }, + { 138,-258 }, { 139,-258 }, { 140,-258 }, { 141,-258 }, { 142,-258 }, + + { 143,-258 }, { 144,-258 }, { 145,-258 }, { 146,-258 }, { 147,-258 }, + { 148,-258 }, { 149,-258 }, { 150,-258 }, { 151,-258 }, { 152,-258 }, + { 153,-258 }, { 154,-258 }, { 155,-258 }, { 156,-258 }, { 157,-258 }, + { 158,-258 }, { 159,-258 }, { 160,-258 }, { 161,-258 }, { 162,-258 }, + { 163,-258 }, { 164,-258 }, { 165,-258 }, { 166,-258 }, { 167,-258 }, + { 168,-258 }, { 169,-258 }, { 170,-258 }, { 171,-258 }, { 172,-258 }, + { 173,-258 }, { 174,-258 }, { 175,-258 }, { 176,-258 }, { 177,-258 }, + { 178,-258 }, { 179,-258 }, { 180,-258 }, { 181,-258 }, { 182,-258 }, + { 183,-258 }, { 184,-258 }, { 185,-258 }, { 186,-258 }, { 187,-258 }, + { 188,-258 }, { 189,-258 }, { 190,-258 }, { 191,-258 }, { 192,-258 }, + + { 193,-258 }, { 194,-258 }, { 195,-258 }, { 196,-258 }, { 197,-258 }, + { 198,-258 }, { 199,-258 }, { 200,-258 }, { 201,-258 }, { 202,-258 }, + { 203,-258 }, { 204,-258 }, { 205,-258 }, { 206,-258 }, { 207,-258 }, + { 208,-258 }, { 209,-258 }, { 210,-258 }, { 211,-258 }, { 212,-258 }, + { 213,-258 }, { 214,-258 }, { 215,-258 }, { 216,-258 }, { 217,-258 }, + { 218,-258 }, { 219,-258 }, { 220,-258 }, { 221,-258 }, { 222,-258 }, + { 223,-258 }, { 224,-258 }, { 225,-258 }, { 226,-258 }, { 227,-258 }, + { 228,-258 }, { 229,-258 }, { 230,-258 }, { 231,-258 }, { 232,-258 }, + { 233,-258 }, { 234,-258 }, { 235,-258 }, { 236,-258 }, { 237,-258 }, + { 238,-258 }, { 239,-258 }, { 240,-258 }, { 241,-258 }, { 242,-258 }, + + { 243,-258 }, { 244,-258 }, { 245,-258 }, { 246,-258 }, { 247,-258 }, + { 248,-258 }, { 249,-258 }, { 250,-258 }, { 251,-258 }, { 252,-258 }, + { 253,-258 }, { 254,-258 }, { 255,-258 }, { 256,-258 }, { 0, 24 }, + { 0,41615 }, { 1,-516 }, { 2,-516 }, { 3,-516 }, { 4,-516 }, + { 5,-516 }, { 6,-516 }, { 7,-516 }, { 8,-516 }, { 9,-258 }, + { 10,-8171 }, { 11,-516 }, { 12,-258 }, { 13,-8171 }, { 14,-516 }, + { 15,-516 }, { 16,-516 }, { 17,-516 }, { 18,-516 }, { 19,-516 }, + { 20,-516 }, { 21,-516 }, { 22,-516 }, { 23,-516 }, { 24,-516 }, + { 25,-516 }, { 26,-516 }, { 27,-516 }, { 28,-516 }, { 29,-516 }, + { 30,-516 }, { 31,-516 }, { 32,-258 }, { 33,-516 }, { 34,-516 }, + + { 35,-516 }, { 36,-516 }, { 37,-516 }, { 38,-516 }, { 39,-516 }, + { 40,-516 }, { 41,-516 }, { 42,-516 }, { 43,-516 }, { 44,-516 }, + { 45,5674 }, { 46,-516 }, { 47,-516 }, { 48,-516 }, { 49,-516 }, + { 50,-516 }, { 51,-516 }, { 52,-516 }, { 53,-516 }, { 54,-516 }, + { 55,-516 }, { 56,-516 }, { 57,-516 }, { 58,-516 }, { 59,-516 }, + { 60,-516 }, { 61,-516 }, { 62,-516 }, { 63,-516 }, { 64,-516 }, + { 65,-516 }, { 66,-516 }, { 67,-516 }, { 68,-516 }, { 69,-516 }, + { 70,-516 }, { 71,-516 }, { 72,-516 }, { 73,-516 }, { 74,-516 }, + { 75,-516 }, { 76,-516 }, { 77,-516 }, { 78,-516 }, { 79,-516 }, + { 80,-516 }, { 81,-516 }, { 82,-516 }, { 83,-516 }, { 84,-516 }, + + { 85, 258 }, { 86,-516 }, { 87,-516 }, { 88,-516 }, { 89,-516 }, + { 90,-516 }, { 91,-516 }, { 92,-516 }, { 93,-516 }, { 94,-516 }, + { 95,-516 }, { 96,-516 }, { 97,-516 }, { 98,-516 }, { 99,-516 }, + { 100,-516 }, { 101,-516 }, { 102,-516 }, { 103,-516 }, { 104,-516 }, + { 105,-516 }, { 106,-516 }, { 107,-516 }, { 108,-516 }, { 109,-516 }, + { 110,-516 }, { 111,-516 }, { 112,-516 }, { 113,-516 }, { 114,-516 }, + { 115,-516 }, { 116,-516 }, { 117, 258 }, { 118,-516 }, { 119,-516 }, + { 120,-516 }, { 121,-516 }, { 122,-516 }, { 123,-516 }, { 124,-516 }, + { 125,-516 }, { 126,-516 }, { 127,-516 }, { 128,-516 }, { 129,-516 }, + { 130,-516 }, { 131,-516 }, { 132,-516 }, { 133,-516 }, { 134,-516 }, + + { 135,-516 }, { 136,-516 }, { 137,-516 }, { 138,-516 }, { 139,-516 }, + { 140,-516 }, { 141,-516 }, { 142,-516 }, { 143,-516 }, { 144,-516 }, + { 145,-516 }, { 146,-516 }, { 147,-516 }, { 148,-516 }, { 149,-516 }, + { 150,-516 }, { 151,-516 }, { 152,-516 }, { 153,-516 }, { 154,-516 }, + { 155,-516 }, { 156,-516 }, { 157,-516 }, { 158,-516 }, { 159,-516 }, + { 160,-516 }, { 161,-516 }, { 162,-516 }, { 163,-516 }, { 164,-516 }, + { 165,-516 }, { 166,-516 }, { 167,-516 }, { 168,-516 }, { 169,-516 }, + { 170,-516 }, { 171,-516 }, { 172,-516 }, { 173,-516 }, { 174,-516 }, + { 175,-516 }, { 176,-516 }, { 177,-516 }, { 178,-516 }, { 179,-516 }, + { 180,-516 }, { 181,-516 }, { 182,-516 }, { 183,-516 }, { 184,-516 }, + + { 185,-516 }, { 186,-516 }, { 187,-516 }, { 188,-516 }, { 189,-516 }, + { 190,-516 }, { 191,-516 }, { 192,-516 }, { 193,-516 }, { 194,-516 }, + { 195,-516 }, { 196,-516 }, { 197,-516 }, { 198,-516 }, { 199,-516 }, + { 200,-516 }, { 201,-516 }, { 202,-516 }, { 203,-516 }, { 204,-516 }, + { 205,-516 }, { 206,-516 }, { 207,-516 }, { 208,-516 }, { 209,-516 }, + { 210,-516 }, { 211,-516 }, { 212,-516 }, { 213,-516 }, { 214,-516 }, + { 215,-516 }, { 216,-516 }, { 217,-516 }, { 218,-516 }, { 219,-516 }, + { 220,-516 }, { 221,-516 }, { 222,-516 }, { 223,-516 }, { 224,-516 }, + { 225,-516 }, { 226,-516 }, { 227,-516 }, { 228,-516 }, { 229,-516 }, + { 230,-516 }, { 231,-516 }, { 232,-516 }, { 233,-516 }, { 234,-516 }, + + { 235,-516 }, { 236,-516 }, { 237,-516 }, { 238,-516 }, { 239,-516 }, + { 240,-516 }, { 241,-516 }, { 242,-516 }, { 243,-516 }, { 244,-516 }, + { 245,-516 }, { 246,-516 }, { 247,-516 }, { 248,-516 }, { 249,-516 }, + { 250,-516 }, { 251,-516 }, { 252,-516 }, { 253,-516 }, { 254,-516 }, + { 255,-516 }, { 256,-516 }, { 0, 24 }, { 0,41357 }, { 1,-774 }, + { 2,-774 }, { 3,-774 }, { 4,-774 }, { 5,-774 }, { 6,-774 }, + { 7,-774 }, { 8,-774 }, { 9,-516 }, { 10,-8429 }, { 11,-774 }, + { 12,-516 }, { 13,-8429 }, { 14,-774 }, { 15,-774 }, { 16,-774 }, + { 17,-774 }, { 18,-774 }, { 19,-774 }, { 20,-774 }, { 21,-774 }, + { 22,-774 }, { 23,-774 }, { 24,-774 }, { 25,-774 }, { 26,-774 }, + + { 27,-774 }, { 28,-774 }, { 29,-774 }, { 30,-774 }, { 31,-774 }, + { 32,-516 }, { 33,-774 }, { 34,-774 }, { 35,-774 }, { 36,-774 }, + { 37,-774 }, { 38,-774 }, { 39,-774 }, { 40,-774 }, { 41,-774 }, + { 42,-774 }, { 43,-774 }, { 44,-774 }, { 45,-258 }, { 46,-774 }, + { 47,-774 }, { 48,-774 }, { 49,-774 }, { 50,-774 }, { 51,-774 }, + { 52,-774 }, { 53,-774 }, { 54,-774 }, { 55,-774 }, { 56,-774 }, + { 57,-774 }, { 58,-774 }, { 59,-774 }, { 60,-774 }, { 61,-774 }, + { 62,-774 }, { 63,-774 }, { 64,-774 }, { 65,-774 }, { 66,-774 }, + { 67,-774 }, { 68,-774 }, { 69,5674 }, { 70,-774 }, { 71,-774 }, + { 72,-774 }, { 73,-774 }, { 74,-774 }, { 75,-774 }, { 76,-774 }, + + { 77,-774 }, { 78,-774 }, { 79,-774 }, { 80,-774 }, { 81,-774 }, + { 82,-774 }, { 83,-774 }, { 84,-774 }, { 85, 0 }, { 86,-774 }, + { 87,-774 }, { 88,-774 }, { 89,-774 }, { 90,-774 }, { 91,-774 }, + { 92,-774 }, { 93,-774 }, { 94,-774 }, { 95,-774 }, { 96,-774 }, + { 97,-774 }, { 98,-774 }, { 99,-774 }, { 100,-774 }, { 101,5674 }, + { 102,-774 }, { 103,-774 }, { 104,-774 }, { 105,-774 }, { 106,-774 }, + { 107,-774 }, { 108,-774 }, { 109,-774 }, { 110,-774 }, { 111,-774 }, + { 112,-774 }, { 113,-774 }, { 114,-774 }, { 115,-774 }, { 116,-774 }, + { 117, 0 }, { 118,-774 }, { 119,-774 }, { 120,-774 }, { 121,-774 }, + { 122,-774 }, { 123,-774 }, { 124,-774 }, { 125,-774 }, { 126,-774 }, + + { 127,-774 }, { 128,-774 }, { 129,-774 }, { 130,-774 }, { 131,-774 }, + { 132,-774 }, { 133,-774 }, { 134,-774 }, { 135,-774 }, { 136,-774 }, + { 137,-774 }, { 138,-774 }, { 139,-774 }, { 140,-774 }, { 141,-774 }, + { 142,-774 }, { 143,-774 }, { 144,-774 }, { 145,-774 }, { 146,-774 }, + { 147,-774 }, { 148,-774 }, { 149,-774 }, { 150,-774 }, { 151,-774 }, + { 152,-774 }, { 153,-774 }, { 154,-774 }, { 155,-774 }, { 156,-774 }, + { 157,-774 }, { 158,-774 }, { 159,-774 }, { 160,-774 }, { 161,-774 }, + { 162,-774 }, { 163,-774 }, { 164,-774 }, { 165,-774 }, { 166,-774 }, + { 167,-774 }, { 168,-774 }, { 169,-774 }, { 170,-774 }, { 171,-774 }, + { 172,-774 }, { 173,-774 }, { 174,-774 }, { 175,-774 }, { 176,-774 }, + + { 177,-774 }, { 178,-774 }, { 179,-774 }, { 180,-774 }, { 181,-774 }, + { 182,-774 }, { 183,-774 }, { 184,-774 }, { 185,-774 }, { 186,-774 }, + { 187,-774 }, { 188,-774 }, { 189,-774 }, { 190,-774 }, { 191,-774 }, + { 192,-774 }, { 193,-774 }, { 194,-774 }, { 195,-774 }, { 196,-774 }, + { 197,-774 }, { 198,-774 }, { 199,-774 }, { 200,-774 }, { 201,-774 }, + { 202,-774 }, { 203,-774 }, { 204,-774 }, { 205,-774 }, { 206,-774 }, + { 207,-774 }, { 208,-774 }, { 209,-774 }, { 210,-774 }, { 211,-774 }, + { 212,-774 }, { 213,-774 }, { 214,-774 }, { 215,-774 }, { 216,-774 }, + { 217,-774 }, { 218,-774 }, { 219,-774 }, { 220,-774 }, { 221,-774 }, + { 222,-774 }, { 223,-774 }, { 224,-774 }, { 225,-774 }, { 226,-774 }, + + { 227,-774 }, { 228,-774 }, { 229,-774 }, { 230,-774 }, { 231,-774 }, + { 232,-774 }, { 233,-774 }, { 234,-774 }, { 235,-774 }, { 236,-774 }, + { 237,-774 }, { 238,-774 }, { 239,-774 }, { 240,-774 }, { 241,-774 }, + { 242,-774 }, { 243,-774 }, { 244,-774 }, { 245,-774 }, { 246,-774 }, + { 247,-774 }, { 248,-774 }, { 249,-774 }, { 250,-774 }, { 251,-774 }, + { 252,-774 }, { 253,-774 }, { 254,-774 }, { 255,-774 }, { 256,-774 }, + { 0, 33 }, { 0,41099 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 33 }, { 0,41076 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,5674 }, + { 49,5674 }, { 50,5674 }, { 51,5674 }, { 52,5674 }, { 53,5674 }, + { 54,5674 }, { 55,5674 }, { 56,5674 }, { 57,5674 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,5674 }, { 66,5674 }, { 67,5674 }, { 68,5674 }, + + { 69,5674 }, { 70,5674 }, { 48,5674 }, { 49,5674 }, { 50,5674 }, + { 51,5674 }, { 52,5674 }, { 53,5674 }, { 54,5674 }, { 55,5674 }, + { 56,5674 }, { 57,5674 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,5674 }, + { 66,5674 }, { 67,5674 }, { 68,5674 }, { 69,5674 }, { 70,5674 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,5674 }, { 98,5674 }, + { 99,5674 }, { 100,5674 }, { 101,5674 }, { 102,5674 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 97,5674 }, { 98,5674 }, { 99,5674 }, { 100,5674 }, + { 101,5674 }, { 102,5674 }, { 0, 9 }, { 0,40972 }, { 1, 0 }, + { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, + { 7, 0 }, { 8, 0 }, { 9, 258 }, { 10, 516 }, { 11, 0 }, + { 12, 258 }, { 13, 516 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, + { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, + { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, + { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, + { 32, 258 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, { 36, 0 }, + { 37, 0 }, { 38, 0 }, { 39, 0 }, { 40, 0 }, { 41, 0 }, + + { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 563 }, { 46, 0 }, + { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, + { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, + { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, + { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, + { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, + { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, + { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, + + { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, + { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, + { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, + { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, + { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, + { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, + { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, + { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, + { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, + { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, + + { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, + { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, + { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, + { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, + { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, + { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, + { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, + { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, + { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, + { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, + + { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, + { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, + { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, + { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, + { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, + { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, + { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, + { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, + { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, + { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, + + { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, + { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, + { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, + { 0, 9 }, { 0,40714 }, { 1,-258 }, { 2,-258 }, { 3,-258 }, + { 4,-258 }, { 5,-258 }, { 6,-258 }, { 7,-258 }, { 8,-258 }, + { 9, 0 }, { 10, 258 }, { 11,-258 }, { 12, 0 }, { 13, 258 }, + { 14,-258 }, { 15,-258 }, { 16,-258 }, { 17,-258 }, { 18,-258 }, + { 19,-258 }, { 20,-258 }, { 21,-258 }, { 22,-258 }, { 23,-258 }, + { 24,-258 }, { 25,-258 }, { 26,-258 }, { 27,-258 }, { 28,-258 }, + { 29,-258 }, { 30,-258 }, { 31,-258 }, { 32, 0 }, { 33,-258 }, + + { 34,-258 }, { 35,-258 }, { 36,-258 }, { 37,-258 }, { 38,-258 }, + { 39,-258 }, { 40,-258 }, { 41,-258 }, { 42,-258 }, { 43,-258 }, + { 44,-258 }, { 45, 305 }, { 46,-258 }, { 47,-258 }, { 48,-258 }, + { 49,-258 }, { 50,-258 }, { 51,-258 }, { 52,-258 }, { 53,-258 }, + { 54,-258 }, { 55,-258 }, { 56,-258 }, { 57,-258 }, { 58,-258 }, + { 59,-258 }, { 60,-258 }, { 61,-258 }, { 62,-258 }, { 63,-258 }, + { 64,-258 }, { 65,-258 }, { 66,-258 }, { 67,-258 }, { 68,-258 }, + { 69,-258 }, { 70,-258 }, { 71,-258 }, { 72,-258 }, { 73,-258 }, + { 74,-258 }, { 75,-258 }, { 76,-258 }, { 77,-258 }, { 78,-258 }, + { 79,-258 }, { 80,-258 }, { 81,-258 }, { 82,-258 }, { 83,-258 }, + + { 84,-258 }, { 85,-258 }, { 86,-258 }, { 87,-258 }, { 88,-258 }, + { 89,-258 }, { 90,-258 }, { 91,-258 }, { 92,-258 }, { 93,-258 }, + { 94,-258 }, { 95,-258 }, { 96,-258 }, { 97,-258 }, { 98,-258 }, + { 99,-258 }, { 100,-258 }, { 101,-258 }, { 102,-258 }, { 103,-258 }, + { 104,-258 }, { 105,-258 }, { 106,-258 }, { 107,-258 }, { 108,-258 }, + { 109,-258 }, { 110,-258 }, { 111,-258 }, { 112,-258 }, { 113,-258 }, + { 114,-258 }, { 115,-258 }, { 116,-258 }, { 117,-258 }, { 118,-258 }, + { 119,-258 }, { 120,-258 }, { 121,-258 }, { 122,-258 }, { 123,-258 }, + { 124,-258 }, { 125,-258 }, { 126,-258 }, { 127,-258 }, { 128,-258 }, + { 129,-258 }, { 130,-258 }, { 131,-258 }, { 132,-258 }, { 133,-258 }, + + { 134,-258 }, { 135,-258 }, { 136,-258 }, { 137,-258 }, { 138,-258 }, + { 139,-258 }, { 140,-258 }, { 141,-258 }, { 142,-258 }, { 143,-258 }, + { 144,-258 }, { 145,-258 }, { 146,-258 }, { 147,-258 }, { 148,-258 }, + { 149,-258 }, { 150,-258 }, { 151,-258 }, { 152,-258 }, { 153,-258 }, + { 154,-258 }, { 155,-258 }, { 156,-258 }, { 157,-258 }, { 158,-258 }, + { 159,-258 }, { 160,-258 }, { 161,-258 }, { 162,-258 }, { 163,-258 }, + { 164,-258 }, { 165,-258 }, { 166,-258 }, { 167,-258 }, { 168,-258 }, + { 169,-258 }, { 170,-258 }, { 171,-258 }, { 172,-258 }, { 173,-258 }, + { 174,-258 }, { 175,-258 }, { 176,-258 }, { 177,-258 }, { 178,-258 }, + { 179,-258 }, { 180,-258 }, { 181,-258 }, { 182,-258 }, { 183,-258 }, + + { 184,-258 }, { 185,-258 }, { 186,-258 }, { 187,-258 }, { 188,-258 }, + { 189,-258 }, { 190,-258 }, { 191,-258 }, { 192,-258 }, { 193,-258 }, + { 194,-258 }, { 195,-258 }, { 196,-258 }, { 197,-258 }, { 198,-258 }, + { 199,-258 }, { 200,-258 }, { 201,-258 }, { 202,-258 }, { 203,-258 }, + { 204,-258 }, { 205,-258 }, { 206,-258 }, { 207,-258 }, { 208,-258 }, + { 209,-258 }, { 210,-258 }, { 211,-258 }, { 212,-258 }, { 213,-258 }, + { 214,-258 }, { 215,-258 }, { 216,-258 }, { 217,-258 }, { 218,-258 }, + { 219,-258 }, { 220,-258 }, { 221,-258 }, { 222,-258 }, { 223,-258 }, + { 224,-258 }, { 225,-258 }, { 226,-258 }, { 227,-258 }, { 228,-258 }, + { 229,-258 }, { 230,-258 }, { 231,-258 }, { 232,-258 }, { 233,-258 }, + + { 234,-258 }, { 235,-258 }, { 236,-258 }, { 237,-258 }, { 238,-258 }, + { 239,-258 }, { 240,-258 }, { 241,-258 }, { 242,-258 }, { 243,-258 }, + { 244,-258 }, { 245,-258 }, { 246,-258 }, { 247,-258 }, { 248,-258 }, + { 249,-258 }, { 250,-258 }, { 251,-258 }, { 252,-258 }, { 253,-258 }, + { 254,-258 }, { 255,-258 }, { 256,-258 }, { 0, 9 }, { 0,40456 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9,-8344 }, { 10,-8344 }, + { 0, 0 }, { 12,-8344 }, { 13,-8344 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 32,-8344 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 39,-17136 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-17119 }, + { 0, 9 }, { 0,40409 }, { 1,-563 }, { 2,-563 }, { 3,-563 }, + { 4,-563 }, { 5,-563 }, { 6,-563 }, { 7,-563 }, { 8,-563 }, + { 9,-305 }, { 10, -47 }, { 11,-563 }, { 12,-305 }, { 13, -47 }, + { 14,-563 }, { 15,-563 }, { 16,-563 }, { 17,-563 }, { 18,-563 }, + { 19,-563 }, { 20,-563 }, { 21,-563 }, { 22,-563 }, { 23,-563 }, + { 24,-563 }, { 25,-563 }, { 26,-563 }, { 27,-563 }, { 28,-563 }, + + { 29,-563 }, { 30,-563 }, { 31,-563 }, { 32,-305 }, { 33,-563 }, + { 34,-563 }, { 35,-563 }, { 36,-563 }, { 37,-563 }, { 38,-563 }, + { 39,-563 }, { 40,-563 }, { 41,-563 }, { 42,-563 }, { 43,-563 }, + { 44,-563 }, { 45,5111 }, { 46,-563 }, { 47,-563 }, { 48,-563 }, + { 49,-563 }, { 50,-563 }, { 51,-563 }, { 52,-563 }, { 53,-563 }, + { 54,-563 }, { 55,-563 }, { 56,-563 }, { 57,-563 }, { 58,-563 }, + { 59,-563 }, { 60,-563 }, { 61,-563 }, { 62,-563 }, { 63,-563 }, + { 64,-563 }, { 65,-563 }, { 66,-563 }, { 67,-563 }, { 68,-563 }, + { 69,-563 }, { 70,-563 }, { 71,-563 }, { 72,-563 }, { 73,-563 }, + { 74,-563 }, { 75,-563 }, { 76,-563 }, { 77,-563 }, { 78,-563 }, + + { 79,-563 }, { 80,-563 }, { 81,-563 }, { 82,-563 }, { 83,-563 }, + { 84,-563 }, { 85,-563 }, { 86,-563 }, { 87,-563 }, { 88,-563 }, + { 89,-563 }, { 90,-563 }, { 91,-563 }, { 92,-563 }, { 93,-563 }, + { 94,-563 }, { 95,-563 }, { 96,-563 }, { 97,-563 }, { 98,-563 }, + { 99,-563 }, { 100,-563 }, { 101,-563 }, { 102,-563 }, { 103,-563 }, + { 104,-563 }, { 105,-563 }, { 106,-563 }, { 107,-563 }, { 108,-563 }, + { 109,-563 }, { 110,-563 }, { 111,-563 }, { 112,-563 }, { 113,-563 }, + { 114,-563 }, { 115,-563 }, { 116,-563 }, { 117,-563 }, { 118,-563 }, + { 119,-563 }, { 120,-563 }, { 121,-563 }, { 122,-563 }, { 123,-563 }, + { 124,-563 }, { 125,-563 }, { 126,-563 }, { 127,-563 }, { 128,-563 }, + + { 129,-563 }, { 130,-563 }, { 131,-563 }, { 132,-563 }, { 133,-563 }, + { 134,-563 }, { 135,-563 }, { 136,-563 }, { 137,-563 }, { 138,-563 }, + { 139,-563 }, { 140,-563 }, { 141,-563 }, { 142,-563 }, { 143,-563 }, + { 144,-563 }, { 145,-563 }, { 146,-563 }, { 147,-563 }, { 148,-563 }, + { 149,-563 }, { 150,-563 }, { 151,-563 }, { 152,-563 }, { 153,-563 }, + { 154,-563 }, { 155,-563 }, { 156,-563 }, { 157,-563 }, { 158,-563 }, + { 159,-563 }, { 160,-563 }, { 161,-563 }, { 162,-563 }, { 163,-563 }, + { 164,-563 }, { 165,-563 }, { 166,-563 }, { 167,-563 }, { 168,-563 }, + { 169,-563 }, { 170,-563 }, { 171,-563 }, { 172,-563 }, { 173,-563 }, + { 174,-563 }, { 175,-563 }, { 176,-563 }, { 177,-563 }, { 178,-563 }, + + { 179,-563 }, { 180,-563 }, { 181,-563 }, { 182,-563 }, { 183,-563 }, + { 184,-563 }, { 185,-563 }, { 186,-563 }, { 187,-563 }, { 188,-563 }, + { 189,-563 }, { 190,-563 }, { 191,-563 }, { 192,-563 }, { 193,-563 }, + { 194,-563 }, { 195,-563 }, { 196,-563 }, { 197,-563 }, { 198,-563 }, + { 199,-563 }, { 200,-563 }, { 201,-563 }, { 202,-563 }, { 203,-563 }, + { 204,-563 }, { 205,-563 }, { 206,-563 }, { 207,-563 }, { 208,-563 }, + { 209,-563 }, { 210,-563 }, { 211,-563 }, { 212,-563 }, { 213,-563 }, + { 214,-563 }, { 215,-563 }, { 216,-563 }, { 217,-563 }, { 218,-563 }, + { 219,-563 }, { 220,-563 }, { 221,-563 }, { 222,-563 }, { 223,-563 }, + { 224,-563 }, { 225,-563 }, { 226,-563 }, { 227,-563 }, { 228,-563 }, + + { 229,-563 }, { 230,-563 }, { 231,-563 }, { 232,-563 }, { 233,-563 }, + { 234,-563 }, { 235,-563 }, { 236,-563 }, { 237,-563 }, { 238,-563 }, + { 239,-563 }, { 240,-563 }, { 241,-563 }, { 242,-563 }, { 243,-563 }, + { 244,-563 }, { 245,-563 }, { 246,-563 }, { 247,-563 }, { 248,-563 }, + { 249,-563 }, { 250,-563 }, { 251,-563 }, { 252,-563 }, { 253,-563 }, + { 254,-563 }, { 255,-563 }, { 256,-563 }, { 0, 9 }, { 0,40151 }, + { 1,-6235 }, { 2,-6235 }, { 3,-6235 }, { 4,-6235 }, { 5,-6235 }, + { 6,-6235 }, { 7,-6235 }, { 8,-6235 }, { 9,-5977 }, { 10,-11873 }, + { 11,-6235 }, { 12,-5977 }, { 13,-11873 }, { 14,-6235 }, { 15,-6235 }, + { 16,-6235 }, { 17,-6235 }, { 18,-6235 }, { 19,-6235 }, { 20,-6235 }, + + { 21,-6235 }, { 22,-6235 }, { 23,-6235 }, { 24,-6235 }, { 25,-6235 }, + { 26,-6235 }, { 27,-6235 }, { 28,-6235 }, { 29,-6235 }, { 30,-6235 }, + { 31,-6235 }, { 32,-5977 }, { 33,-6235 }, { 34,-6235 }, { 35,-6235 }, + { 36,-6235 }, { 37,-6235 }, { 38,-6235 }, { 39,-6235 }, { 40,-6235 }, + { 41,-6235 }, { 42,-6235 }, { 43,-6235 }, { 44,-6235 }, { 45, 0 }, + { 46,-6235 }, { 47,-6235 }, { 48,-6235 }, { 49,-6235 }, { 50,-6235 }, + { 51,-6235 }, { 52,-6235 }, { 53,-6235 }, { 54,-6235 }, { 55,-6235 }, + { 56,-6235 }, { 57,-6235 }, { 58,-6235 }, { 59,-6235 }, { 60,-6235 }, + { 61,-6235 }, { 62,-6235 }, { 63,-6235 }, { 64,-6235 }, { 65,-6235 }, + { 66,-6235 }, { 67,-6235 }, { 68,-6235 }, { 69,-6235 }, { 70,-6235 }, + + { 71,-6235 }, { 72,-6235 }, { 73,-6235 }, { 74,-6235 }, { 75,-6235 }, + { 76,-6235 }, { 77,-6235 }, { 78,-6235 }, { 79,-6235 }, { 80,-6235 }, + { 81,-6235 }, { 82,-6235 }, { 83,-6235 }, { 84,-6235 }, { 85,-6235 }, + { 86,-6235 }, { 87,-6235 }, { 88,-6235 }, { 89,-6235 }, { 90,-6235 }, + { 91,-6235 }, { 92,-6235 }, { 93,-6235 }, { 94,-6235 }, { 95,-6235 }, + { 96,-6235 }, { 97,-6235 }, { 98,-6235 }, { 99,-6235 }, { 100,-6235 }, + { 101,-6235 }, { 102,-6235 }, { 103,-6235 }, { 104,-6235 }, { 105,-6235 }, + { 106,-6235 }, { 107,-6235 }, { 108,-6235 }, { 109,-6235 }, { 110,-6235 }, + { 111,-6235 }, { 112,-6235 }, { 113,-6235 }, { 114,-6235 }, { 115,-6235 }, + { 116,-6235 }, { 117,-6235 }, { 118,-6235 }, { 119,-6235 }, { 120,-6235 }, + + { 121,-6235 }, { 122,-6235 }, { 123,-6235 }, { 124,-6235 }, { 125,-6235 }, + { 126,-6235 }, { 127,-6235 }, { 128,-6235 }, { 129,-6235 }, { 130,-6235 }, + { 131,-6235 }, { 132,-6235 }, { 133,-6235 }, { 134,-6235 }, { 135,-6235 }, + { 136,-6235 }, { 137,-6235 }, { 138,-6235 }, { 139,-6235 }, { 140,-6235 }, + { 141,-6235 }, { 142,-6235 }, { 143,-6235 }, { 144,-6235 }, { 145,-6235 }, + { 146,-6235 }, { 147,-6235 }, { 148,-6235 }, { 149,-6235 }, { 150,-6235 }, + { 151,-6235 }, { 152,-6235 }, { 153,-6235 }, { 154,-6235 }, { 155,-6235 }, + { 156,-6235 }, { 157,-6235 }, { 158,-6235 }, { 159,-6235 }, { 160,-6235 }, + { 161,-6235 }, { 162,-6235 }, { 163,-6235 }, { 164,-6235 }, { 165,-6235 }, + { 166,-6235 }, { 167,-6235 }, { 168,-6235 }, { 169,-6235 }, { 170,-6235 }, + + { 171,-6235 }, { 172,-6235 }, { 173,-6235 }, { 174,-6235 }, { 175,-6235 }, + { 176,-6235 }, { 177,-6235 }, { 178,-6235 }, { 179,-6235 }, { 180,-6235 }, + { 181,-6235 }, { 182,-6235 }, { 183,-6235 }, { 184,-6235 }, { 185,-6235 }, + { 186,-6235 }, { 187,-6235 }, { 188,-6235 }, { 189,-6235 }, { 190,-6235 }, + { 191,-6235 }, { 192,-6235 }, { 193,-6235 }, { 194,-6235 }, { 195,-6235 }, + { 196,-6235 }, { 197,-6235 }, { 198,-6235 }, { 199,-6235 }, { 200,-6235 }, + { 201,-6235 }, { 202,-6235 }, { 203,-6235 }, { 204,-6235 }, { 205,-6235 }, + { 206,-6235 }, { 207,-6235 }, { 208,-6235 }, { 209,-6235 }, { 210,-6235 }, + { 211,-6235 }, { 212,-6235 }, { 213,-6235 }, { 214,-6235 }, { 215,-6235 }, + { 216,-6235 }, { 217,-6235 }, { 218,-6235 }, { 219,-6235 }, { 220,-6235 }, + + { 221,-6235 }, { 222,-6235 }, { 223,-6235 }, { 224,-6235 }, { 225,-6235 }, + { 226,-6235 }, { 227,-6235 }, { 228,-6235 }, { 229,-6235 }, { 230,-6235 }, + { 231,-6235 }, { 232,-6235 }, { 233,-6235 }, { 234,-6235 }, { 235,-6235 }, + { 236,-6235 }, { 237,-6235 }, { 238,-6235 }, { 239,-6235 }, { 240,-6235 }, + { 241,-6235 }, { 242,-6235 }, { 243,-6235 }, { 244,-6235 }, { 245,-6235 }, + { 246,-6235 }, { 247,-6235 }, { 248,-6235 }, { 249,-6235 }, { 250,-6235 }, + { 251,-6235 }, { 252,-6235 }, { 253,-6235 }, { 254,-6235 }, { 255,-6235 }, + { 256,-6235 }, { 0, 16 }, { 0,39893 }, { 1, 0 }, { 2, 0 }, + { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, + { 8, 0 }, { 9, 258 }, { 10, 516 }, { 11, 0 }, { 12, 258 }, + + { 13, 516 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, { 17, 0 }, + { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, { 22, 0 }, + { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, { 27, 0 }, + { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, { 32, 258 }, + { 33, 0 }, { 34, 0 }, { 35, 0 }, { 36, 0 }, { 37, 0 }, + { 38, 0 }, { 39, 0 }, { 40, 0 }, { 41, 0 }, { 42, 0 }, + { 43, 0 }, { 44, 0 }, { 45, 563 }, { 46, 0 }, { 47, 0 }, + { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, + { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, + { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, + + { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, + { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, + { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, + { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, + { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, + { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, { 92, 0 }, + { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, { 97, 0 }, + { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, + { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, + { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, + + { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, + { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, + { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, { 127, 0 }, + { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, + { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, + { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, + { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, + { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, + { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, + { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, + + { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, + { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, + { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, + { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, + { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, + { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, + { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, + { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, + { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, + { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, + + { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, + { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, + { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, + { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, + { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, + { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, + { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, + { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, + { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 16 }, + { 0,39635 }, { 1,-258 }, { 2,-258 }, { 3,-258 }, { 4,-258 }, + + { 5,-258 }, { 6,-258 }, { 7,-258 }, { 8,-258 }, { 9, 0 }, + { 10, 258 }, { 11,-258 }, { 12, 0 }, { 13, 258 }, { 14,-258 }, + { 15,-258 }, { 16,-258 }, { 17,-258 }, { 18,-258 }, { 19,-258 }, + { 20,-258 }, { 21,-258 }, { 22,-258 }, { 23,-258 }, { 24,-258 }, + { 25,-258 }, { 26,-258 }, { 27,-258 }, { 28,-258 }, { 29,-258 }, + { 30,-258 }, { 31,-258 }, { 32, 0 }, { 33,-258 }, { 34,-258 }, + { 35,-258 }, { 36,-258 }, { 37,-258 }, { 38,-258 }, { 39,-258 }, + { 40,-258 }, { 41,-258 }, { 42,-258 }, { 43,-258 }, { 44,-258 }, + { 45, 305 }, { 46,-258 }, { 47,-258 }, { 48,-258 }, { 49,-258 }, + { 50,-258 }, { 51,-258 }, { 52,-258 }, { 53,-258 }, { 54,-258 }, + + { 55,-258 }, { 56,-258 }, { 57,-258 }, { 58,-258 }, { 59,-258 }, + { 60,-258 }, { 61,-258 }, { 62,-258 }, { 63,-258 }, { 64,-258 }, + { 65,-258 }, { 66,-258 }, { 67,-258 }, { 68,-258 }, { 69,-258 }, + { 70,-258 }, { 71,-258 }, { 72,-258 }, { 73,-258 }, { 74,-258 }, + { 75,-258 }, { 76,-258 }, { 77,-258 }, { 78,-258 }, { 79,-258 }, + { 80,-258 }, { 81,-258 }, { 82,-258 }, { 83,-258 }, { 84,-258 }, + { 85,-258 }, { 86,-258 }, { 87,-258 }, { 88,-258 }, { 89,-258 }, + { 90,-258 }, { 91,-258 }, { 92,-258 }, { 93,-258 }, { 94,-258 }, + { 95,-258 }, { 96,-258 }, { 97,-258 }, { 98,-258 }, { 99,-258 }, + { 100,-258 }, { 101,-258 }, { 102,-258 }, { 103,-258 }, { 104,-258 }, + + { 105,-258 }, { 106,-258 }, { 107,-258 }, { 108,-258 }, { 109,-258 }, + { 110,-258 }, { 111,-258 }, { 112,-258 }, { 113,-258 }, { 114,-258 }, + { 115,-258 }, { 116,-258 }, { 117,-258 }, { 118,-258 }, { 119,-258 }, + { 120,-258 }, { 121,-258 }, { 122,-258 }, { 123,-258 }, { 124,-258 }, + { 125,-258 }, { 126,-258 }, { 127,-258 }, { 128,-258 }, { 129,-258 }, + { 130,-258 }, { 131,-258 }, { 132,-258 }, { 133,-258 }, { 134,-258 }, + { 135,-258 }, { 136,-258 }, { 137,-258 }, { 138,-258 }, { 139,-258 }, + { 140,-258 }, { 141,-258 }, { 142,-258 }, { 143,-258 }, { 144,-258 }, + { 145,-258 }, { 146,-258 }, { 147,-258 }, { 148,-258 }, { 149,-258 }, + { 150,-258 }, { 151,-258 }, { 152,-258 }, { 153,-258 }, { 154,-258 }, + + { 155,-258 }, { 156,-258 }, { 157,-258 }, { 158,-258 }, { 159,-258 }, + { 160,-258 }, { 161,-258 }, { 162,-258 }, { 163,-258 }, { 164,-258 }, + { 165,-258 }, { 166,-258 }, { 167,-258 }, { 168,-258 }, { 169,-258 }, + { 170,-258 }, { 171,-258 }, { 172,-258 }, { 173,-258 }, { 174,-258 }, + { 175,-258 }, { 176,-258 }, { 177,-258 }, { 178,-258 }, { 179,-258 }, + { 180,-258 }, { 181,-258 }, { 182,-258 }, { 183,-258 }, { 184,-258 }, + { 185,-258 }, { 186,-258 }, { 187,-258 }, { 188,-258 }, { 189,-258 }, + { 190,-258 }, { 191,-258 }, { 192,-258 }, { 193,-258 }, { 194,-258 }, + { 195,-258 }, { 196,-258 }, { 197,-258 }, { 198,-258 }, { 199,-258 }, + { 200,-258 }, { 201,-258 }, { 202,-258 }, { 203,-258 }, { 204,-258 }, + + { 205,-258 }, { 206,-258 }, { 207,-258 }, { 208,-258 }, { 209,-258 }, + { 210,-258 }, { 211,-258 }, { 212,-258 }, { 213,-258 }, { 214,-258 }, + { 215,-258 }, { 216,-258 }, { 217,-258 }, { 218,-258 }, { 219,-258 }, + { 220,-258 }, { 221,-258 }, { 222,-258 }, { 223,-258 }, { 224,-258 }, + { 225,-258 }, { 226,-258 }, { 227,-258 }, { 228,-258 }, { 229,-258 }, + { 230,-258 }, { 231,-258 }, { 232,-258 }, { 233,-258 }, { 234,-258 }, + { 235,-258 }, { 236,-258 }, { 237,-258 }, { 238,-258 }, { 239,-258 }, + { 240,-258 }, { 241,-258 }, { 242,-258 }, { 243,-258 }, { 244,-258 }, + { 245,-258 }, { 246,-258 }, { 247,-258 }, { 248,-258 }, { 249,-258 }, + { 250,-258 }, { 251,-258 }, { 252,-258 }, { 253,-258 }, { 254,-258 }, + + { 255,-258 }, { 256,-258 }, { 0, 16 }, { 0,39377 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 9,-9111 }, { 10,-9111 }, { 0, 0 }, + { 12,-9111 }, { 13,-9111 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 32,-9111 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 39,-18186 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-17986 }, { 0, 16 }, + + { 0,39330 }, { 1,-563 }, { 2,-563 }, { 3,-563 }, { 4,-563 }, + { 5,-563 }, { 6,-563 }, { 7,-563 }, { 8,-563 }, { 9,-305 }, + { 10, -47 }, { 11,-563 }, { 12,-305 }, { 13, -47 }, { 14,-563 }, + { 15,-563 }, { 16,-563 }, { 17,-563 }, { 18,-563 }, { 19,-563 }, + { 20,-563 }, { 21,-563 }, { 22,-563 }, { 23,-563 }, { 24,-563 }, + { 25,-563 }, { 26,-563 }, { 27,-563 }, { 28,-563 }, { 29,-563 }, + { 30,-563 }, { 31,-563 }, { 32,-305 }, { 33,-563 }, { 34,-563 }, + { 35,-563 }, { 36,-563 }, { 37,-563 }, { 38,-563 }, { 39,-563 }, + { 40,-563 }, { 41,-563 }, { 42,-563 }, { 43,-563 }, { 44,-563 }, + { 45,4290 }, { 46,-563 }, { 47,-563 }, { 48,-563 }, { 49,-563 }, + + { 50,-563 }, { 51,-563 }, { 52,-563 }, { 53,-563 }, { 54,-563 }, + { 55,-563 }, { 56,-563 }, { 57,-563 }, { 58,-563 }, { 59,-563 }, + { 60,-563 }, { 61,-563 }, { 62,-563 }, { 63,-563 }, { 64,-563 }, + { 65,-563 }, { 66,-563 }, { 67,-563 }, { 68,-563 }, { 69,-563 }, + { 70,-563 }, { 71,-563 }, { 72,-563 }, { 73,-563 }, { 74,-563 }, + { 75,-563 }, { 76,-563 }, { 77,-563 }, { 78,-563 }, { 79,-563 }, + { 80,-563 }, { 81,-563 }, { 82,-563 }, { 83,-563 }, { 84,-563 }, + { 85,-563 }, { 86,-563 }, { 87,-563 }, { 88,-563 }, { 89,-563 }, + { 90,-563 }, { 91,-563 }, { 92,-563 }, { 93,-563 }, { 94,-563 }, + { 95,-563 }, { 96,-563 }, { 97,-563 }, { 98,-563 }, { 99,-563 }, + + { 100,-563 }, { 101,-563 }, { 102,-563 }, { 103,-563 }, { 104,-563 }, + { 105,-563 }, { 106,-563 }, { 107,-563 }, { 108,-563 }, { 109,-563 }, + { 110,-563 }, { 111,-563 }, { 112,-563 }, { 113,-563 }, { 114,-563 }, + { 115,-563 }, { 116,-563 }, { 117,-563 }, { 118,-563 }, { 119,-563 }, + { 120,-563 }, { 121,-563 }, { 122,-563 }, { 123,-563 }, { 124,-563 }, + { 125,-563 }, { 126,-563 }, { 127,-563 }, { 128,-563 }, { 129,-563 }, + { 130,-563 }, { 131,-563 }, { 132,-563 }, { 133,-563 }, { 134,-563 }, + { 135,-563 }, { 136,-563 }, { 137,-563 }, { 138,-563 }, { 139,-563 }, + { 140,-563 }, { 141,-563 }, { 142,-563 }, { 143,-563 }, { 144,-563 }, + { 145,-563 }, { 146,-563 }, { 147,-563 }, { 148,-563 }, { 149,-563 }, + + { 150,-563 }, { 151,-563 }, { 152,-563 }, { 153,-563 }, { 154,-563 }, + { 155,-563 }, { 156,-563 }, { 157,-563 }, { 158,-563 }, { 159,-563 }, + { 160,-563 }, { 161,-563 }, { 162,-563 }, { 163,-563 }, { 164,-563 }, + { 165,-563 }, { 166,-563 }, { 167,-563 }, { 168,-563 }, { 169,-563 }, + { 170,-563 }, { 171,-563 }, { 172,-563 }, { 173,-563 }, { 174,-563 }, + { 175,-563 }, { 176,-563 }, { 177,-563 }, { 178,-563 }, { 179,-563 }, + { 180,-563 }, { 181,-563 }, { 182,-563 }, { 183,-563 }, { 184,-563 }, + { 185,-563 }, { 186,-563 }, { 187,-563 }, { 188,-563 }, { 189,-563 }, + { 190,-563 }, { 191,-563 }, { 192,-563 }, { 193,-563 }, { 194,-563 }, + { 195,-563 }, { 196,-563 }, { 197,-563 }, { 198,-563 }, { 199,-563 }, + + { 200,-563 }, { 201,-563 }, { 202,-563 }, { 203,-563 }, { 204,-563 }, + { 205,-563 }, { 206,-563 }, { 207,-563 }, { 208,-563 }, { 209,-563 }, + { 210,-563 }, { 211,-563 }, { 212,-563 }, { 213,-563 }, { 214,-563 }, + { 215,-563 }, { 216,-563 }, { 217,-563 }, { 218,-563 }, { 219,-563 }, + { 220,-563 }, { 221,-563 }, { 222,-563 }, { 223,-563 }, { 224,-563 }, + { 225,-563 }, { 226,-563 }, { 227,-563 }, { 228,-563 }, { 229,-563 }, + { 230,-563 }, { 231,-563 }, { 232,-563 }, { 233,-563 }, { 234,-563 }, + { 235,-563 }, { 236,-563 }, { 237,-563 }, { 238,-563 }, { 239,-563 }, + { 240,-563 }, { 241,-563 }, { 242,-563 }, { 243,-563 }, { 244,-563 }, + { 245,-563 }, { 246,-563 }, { 247,-563 }, { 248,-563 }, { 249,-563 }, + + { 250,-563 }, { 251,-563 }, { 252,-563 }, { 253,-563 }, { 254,-563 }, + { 255,-563 }, { 256,-563 }, { 0, 16 }, { 0,39072 }, { 1,-6282 }, + { 2,-6282 }, { 3,-6282 }, { 4,-6282 }, { 5,-6282 }, { 6,-6282 }, + { 7,-6282 }, { 8,-6282 }, { 9,-6024 }, { 10,-11998 }, { 11,-6282 }, + { 12,-6024 }, { 13,-11998 }, { 14,-6282 }, { 15,-6282 }, { 16,-6282 }, + { 17,-6282 }, { 18,-6282 }, { 19,-6282 }, { 20,-6282 }, { 21,-6282 }, + { 22,-6282 }, { 23,-6282 }, { 24,-6282 }, { 25,-6282 }, { 26,-6282 }, + { 27,-6282 }, { 28,-6282 }, { 29,-6282 }, { 30,-6282 }, { 31,-6282 }, + { 32,-6024 }, { 33,-6282 }, { 34,-6282 }, { 35,-6282 }, { 36,-6282 }, + { 37,-6282 }, { 38,-6282 }, { 39,-6282 }, { 40,-6282 }, { 41,-6282 }, + + { 42,-6282 }, { 43,-6282 }, { 44,-6282 }, { 45, 0 }, { 46,-6282 }, + { 47,-6282 }, { 48,-6282 }, { 49,-6282 }, { 50,-6282 }, { 51,-6282 }, + { 52,-6282 }, { 53,-6282 }, { 54,-6282 }, { 55,-6282 }, { 56,-6282 }, + { 57,-6282 }, { 58,-6282 }, { 59,-6282 }, { 60,-6282 }, { 61,-6282 }, + { 62,-6282 }, { 63,-6282 }, { 64,-6282 }, { 65,-6282 }, { 66,-6282 }, + { 67,-6282 }, { 68,-6282 }, { 69,-6282 }, { 70,-6282 }, { 71,-6282 }, + { 72,-6282 }, { 73,-6282 }, { 74,-6282 }, { 75,-6282 }, { 76,-6282 }, + { 77,-6282 }, { 78,-6282 }, { 79,-6282 }, { 80,-6282 }, { 81,-6282 }, + { 82,-6282 }, { 83,-6282 }, { 84,-6282 }, { 85,-6282 }, { 86,-6282 }, + { 87,-6282 }, { 88,-6282 }, { 89,-6282 }, { 90,-6282 }, { 91,-6282 }, + + { 92,-6282 }, { 93,-6282 }, { 94,-6282 }, { 95,-6282 }, { 96,-6282 }, + { 97,-6282 }, { 98,-6282 }, { 99,-6282 }, { 100,-6282 }, { 101,-6282 }, + { 102,-6282 }, { 103,-6282 }, { 104,-6282 }, { 105,-6282 }, { 106,-6282 }, + { 107,-6282 }, { 108,-6282 }, { 109,-6282 }, { 110,-6282 }, { 111,-6282 }, + { 112,-6282 }, { 113,-6282 }, { 114,-6282 }, { 115,-6282 }, { 116,-6282 }, + { 117,-6282 }, { 118,-6282 }, { 119,-6282 }, { 120,-6282 }, { 121,-6282 }, + { 122,-6282 }, { 123,-6282 }, { 124,-6282 }, { 125,-6282 }, { 126,-6282 }, + { 127,-6282 }, { 128,-6282 }, { 129,-6282 }, { 130,-6282 }, { 131,-6282 }, + { 132,-6282 }, { 133,-6282 }, { 134,-6282 }, { 135,-6282 }, { 136,-6282 }, + { 137,-6282 }, { 138,-6282 }, { 139,-6282 }, { 140,-6282 }, { 141,-6282 }, + + { 142,-6282 }, { 143,-6282 }, { 144,-6282 }, { 145,-6282 }, { 146,-6282 }, + { 147,-6282 }, { 148,-6282 }, { 149,-6282 }, { 150,-6282 }, { 151,-6282 }, + { 152,-6282 }, { 153,-6282 }, { 154,-6282 }, { 155,-6282 }, { 156,-6282 }, + { 157,-6282 }, { 158,-6282 }, { 159,-6282 }, { 160,-6282 }, { 161,-6282 }, + { 162,-6282 }, { 163,-6282 }, { 164,-6282 }, { 165,-6282 }, { 166,-6282 }, + { 167,-6282 }, { 168,-6282 }, { 169,-6282 }, { 170,-6282 }, { 171,-6282 }, + { 172,-6282 }, { 173,-6282 }, { 174,-6282 }, { 175,-6282 }, { 176,-6282 }, + { 177,-6282 }, { 178,-6282 }, { 179,-6282 }, { 180,-6282 }, { 181,-6282 }, + { 182,-6282 }, { 183,-6282 }, { 184,-6282 }, { 185,-6282 }, { 186,-6282 }, + { 187,-6282 }, { 188,-6282 }, { 189,-6282 }, { 190,-6282 }, { 191,-6282 }, + + { 192,-6282 }, { 193,-6282 }, { 194,-6282 }, { 195,-6282 }, { 196,-6282 }, + { 197,-6282 }, { 198,-6282 }, { 199,-6282 }, { 200,-6282 }, { 201,-6282 }, + { 202,-6282 }, { 203,-6282 }, { 204,-6282 }, { 205,-6282 }, { 206,-6282 }, + { 207,-6282 }, { 208,-6282 }, { 209,-6282 }, { 210,-6282 }, { 211,-6282 }, + { 212,-6282 }, { 213,-6282 }, { 214,-6282 }, { 215,-6282 }, { 216,-6282 }, + { 217,-6282 }, { 218,-6282 }, { 219,-6282 }, { 220,-6282 }, { 221,-6282 }, + { 222,-6282 }, { 223,-6282 }, { 224,-6282 }, { 225,-6282 }, { 226,-6282 }, + { 227,-6282 }, { 228,-6282 }, { 229,-6282 }, { 230,-6282 }, { 231,-6282 }, + { 232,-6282 }, { 233,-6282 }, { 234,-6282 }, { 235,-6282 }, { 236,-6282 }, + { 237,-6282 }, { 238,-6282 }, { 239,-6282 }, { 240,-6282 }, { 241,-6282 }, + + { 242,-6282 }, { 243,-6282 }, { 244,-6282 }, { 245,-6282 }, { 246,-6282 }, + { 247,-6282 }, { 248,-6282 }, { 249,-6282 }, { 250,-6282 }, { 251,-6282 }, + { 252,-6282 }, { 253,-6282 }, { 254,-6282 }, { 255,-6282 }, { 256,-6282 }, + { 0, 22 }, { 0,38814 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, + { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, + { 9, 258 }, { 10, 516 }, { 11, 0 }, { 12, 258 }, { 13, 516 }, + { 14, 0 }, { 15, 0 }, { 16, 0 }, { 17, 0 }, { 18, 0 }, + { 19, 0 }, { 20, 0 }, { 21, 0 }, { 22, 0 }, { 23, 0 }, + { 24, 0 }, { 25, 0 }, { 26, 0 }, { 27, 0 }, { 28, 0 }, + { 29, 0 }, { 30, 0 }, { 31, 0 }, { 32, 258 }, { 33, 0 }, + + { 34, 0 }, { 35, 0 }, { 36, 0 }, { 37, 0 }, { 38, 0 }, + { 39, 0 }, { 40, 0 }, { 41, 0 }, { 42, 0 }, { 43, 0 }, + { 44, 0 }, { 45, 563 }, { 46, 0 }, { 47, 0 }, { 48, 0 }, + { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, + { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 58, 0 }, + { 59, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, + { 64, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, + { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, + { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, + { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, + + { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, + { 89, 0 }, { 90, 0 }, { 91, 0 }, { 92, 0 }, { 93, 0 }, + { 94, 0 }, { 95, 0 }, { 96, 0 }, { 97, 0 }, { 98, 0 }, + { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, + { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, + { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, + { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, + { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, { 123, 0 }, + { 124, 0 }, { 125, 0 }, { 126, 0 }, { 127, 0 }, { 128, 0 }, + { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, + + { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, + { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, + { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, + { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, + { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, + { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, + { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, + { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, + { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, + { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, + + { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, + { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, + { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, + { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, + { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, + { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, + { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, + { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, + { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, + { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, + + { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, + { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, + { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, + { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, + { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 22 }, { 0,38556 }, + { 1,-258 }, { 2,-258 }, { 3,-258 }, { 4,-258 }, { 5,-258 }, + { 6,-258 }, { 7,-258 }, { 8,-258 }, { 9, 0 }, { 10, 258 }, + { 11,-258 }, { 12, 0 }, { 13, 258 }, { 14,-258 }, { 15,-258 }, + { 16,-258 }, { 17,-258 }, { 18,-258 }, { 19,-258 }, { 20,-258 }, + { 21,-258 }, { 22,-258 }, { 23,-258 }, { 24,-258 }, { 25,-258 }, + + { 26,-258 }, { 27,-258 }, { 28,-258 }, { 29,-258 }, { 30,-258 }, + { 31,-258 }, { 32, 0 }, { 33,-258 }, { 34,-258 }, { 35,-258 }, + { 36,-258 }, { 37,-258 }, { 38,-258 }, { 39,-258 }, { 40,-258 }, + { 41,-258 }, { 42,-258 }, { 43,-258 }, { 44,-258 }, { 45, 305 }, + { 46,-258 }, { 47,-258 }, { 48,-258 }, { 49,-258 }, { 50,-258 }, + { 51,-258 }, { 52,-258 }, { 53,-258 }, { 54,-258 }, { 55,-258 }, + { 56,-258 }, { 57,-258 }, { 58,-258 }, { 59,-258 }, { 60,-258 }, + { 61,-258 }, { 62,-258 }, { 63,-258 }, { 64,-258 }, { 65,-258 }, + { 66,-258 }, { 67,-258 }, { 68,-258 }, { 69,-258 }, { 70,-258 }, + { 71,-258 }, { 72,-258 }, { 73,-258 }, { 74,-258 }, { 75,-258 }, + + { 76,-258 }, { 77,-258 }, { 78,-258 }, { 79,-258 }, { 80,-258 }, + { 81,-258 }, { 82,-258 }, { 83,-258 }, { 84,-258 }, { 85,-258 }, + { 86,-258 }, { 87,-258 }, { 88,-258 }, { 89,-258 }, { 90,-258 }, + { 91,-258 }, { 92,-258 }, { 93,-258 }, { 94,-258 }, { 95,-258 }, + { 96,-258 }, { 97,-258 }, { 98,-258 }, { 99,-258 }, { 100,-258 }, + { 101,-258 }, { 102,-258 }, { 103,-258 }, { 104,-258 }, { 105,-258 }, + { 106,-258 }, { 107,-258 }, { 108,-258 }, { 109,-258 }, { 110,-258 }, + { 111,-258 }, { 112,-258 }, { 113,-258 }, { 114,-258 }, { 115,-258 }, + { 116,-258 }, { 117,-258 }, { 118,-258 }, { 119,-258 }, { 120,-258 }, + { 121,-258 }, { 122,-258 }, { 123,-258 }, { 124,-258 }, { 125,-258 }, + + { 126,-258 }, { 127,-258 }, { 128,-258 }, { 129,-258 }, { 130,-258 }, + { 131,-258 }, { 132,-258 }, { 133,-258 }, { 134,-258 }, { 135,-258 }, + { 136,-258 }, { 137,-258 }, { 138,-258 }, { 139,-258 }, { 140,-258 }, + { 141,-258 }, { 142,-258 }, { 143,-258 }, { 144,-258 }, { 145,-258 }, + { 146,-258 }, { 147,-258 }, { 148,-258 }, { 149,-258 }, { 150,-258 }, + { 151,-258 }, { 152,-258 }, { 153,-258 }, { 154,-258 }, { 155,-258 }, + { 156,-258 }, { 157,-258 }, { 158,-258 }, { 159,-258 }, { 160,-258 }, + { 161,-258 }, { 162,-258 }, { 163,-258 }, { 164,-258 }, { 165,-258 }, + { 166,-258 }, { 167,-258 }, { 168,-258 }, { 169,-258 }, { 170,-258 }, + { 171,-258 }, { 172,-258 }, { 173,-258 }, { 174,-258 }, { 175,-258 }, + + { 176,-258 }, { 177,-258 }, { 178,-258 }, { 179,-258 }, { 180,-258 }, + { 181,-258 }, { 182,-258 }, { 183,-258 }, { 184,-258 }, { 185,-258 }, + { 186,-258 }, { 187,-258 }, { 188,-258 }, { 189,-258 }, { 190,-258 }, + { 191,-258 }, { 192,-258 }, { 193,-258 }, { 194,-258 }, { 195,-258 }, + { 196,-258 }, { 197,-258 }, { 198,-258 }, { 199,-258 }, { 200,-258 }, + { 201,-258 }, { 202,-258 }, { 203,-258 }, { 204,-258 }, { 205,-258 }, + { 206,-258 }, { 207,-258 }, { 208,-258 }, { 209,-258 }, { 210,-258 }, + { 211,-258 }, { 212,-258 }, { 213,-258 }, { 214,-258 }, { 215,-258 }, + { 216,-258 }, { 217,-258 }, { 218,-258 }, { 219,-258 }, { 220,-258 }, + { 221,-258 }, { 222,-258 }, { 223,-258 }, { 224,-258 }, { 225,-258 }, + + { 226,-258 }, { 227,-258 }, { 228,-258 }, { 229,-258 }, { 230,-258 }, + { 231,-258 }, { 232,-258 }, { 233,-258 }, { 234,-258 }, { 235,-258 }, + { 236,-258 }, { 237,-258 }, { 238,-258 }, { 239,-258 }, { 240,-258 }, + { 241,-258 }, { 242,-258 }, { 243,-258 }, { 244,-258 }, { 245,-258 }, + { 246,-258 }, { 247,-258 }, { 248,-258 }, { 249,-258 }, { 250,-258 }, + { 251,-258 }, { 252,-258 }, { 253,-258 }, { 254,-258 }, { 255,-258 }, + { 256,-258 }, { 0, 22 }, { 0,38298 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 9,-9811 }, { 10,-9811 }, { 0, 0 }, { 12,-9811 }, + { 13,-9811 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32,-9811 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 39,-19063 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 45,-19054 }, { 0, 22 }, { 0,38251 }, + { 1,-563 }, { 2,-563 }, { 3,-563 }, { 4,-563 }, { 5,-563 }, + { 6,-563 }, { 7,-563 }, { 8,-563 }, { 9,-305 }, { 10, -47 }, + { 11,-563 }, { 12,-305 }, { 13, -47 }, { 14,-563 }, { 15,-563 }, + { 16,-563 }, { 17,-563 }, { 18,-563 }, { 19,-563 }, { 20,-563 }, + + { 21,-563 }, { 22,-563 }, { 23,-563 }, { 24,-563 }, { 25,-563 }, + { 26,-563 }, { 27,-563 }, { 28,-563 }, { 29,-563 }, { 30,-563 }, + { 31,-563 }, { 32,-305 }, { 33,-563 }, { 34,-563 }, { 35,-563 }, + { 36,-563 }, { 37,-563 }, { 38,-563 }, { 39,-563 }, { 40,-563 }, + { 41,-563 }, { 42,-563 }, { 43,-563 }, { 44,-563 }, { 45,3469 }, + { 46,-563 }, { 47,-563 }, { 48,-563 }, { 49,-563 }, { 50,-563 }, + { 51,-563 }, { 52,-563 }, { 53,-563 }, { 54,-563 }, { 55,-563 }, + { 56,-563 }, { 57,-563 }, { 58,-563 }, { 59,-563 }, { 60,-563 }, + { 61,-563 }, { 62,-563 }, { 63,-563 }, { 64,-563 }, { 65,-563 }, + { 66,-563 }, { 67,-563 }, { 68,-563 }, { 69,-563 }, { 70,-563 }, + + { 71,-563 }, { 72,-563 }, { 73,-563 }, { 74,-563 }, { 75,-563 }, + { 76,-563 }, { 77,-563 }, { 78,-563 }, { 79,-563 }, { 80,-563 }, + { 81,-563 }, { 82,-563 }, { 83,-563 }, { 84,-563 }, { 85,-563 }, + { 86,-563 }, { 87,-563 }, { 88,-563 }, { 89,-563 }, { 90,-563 }, + { 91,-563 }, { 92,-563 }, { 93,-563 }, { 94,-563 }, { 95,-563 }, + { 96,-563 }, { 97,-563 }, { 98,-563 }, { 99,-563 }, { 100,-563 }, + { 101,-563 }, { 102,-563 }, { 103,-563 }, { 104,-563 }, { 105,-563 }, + { 106,-563 }, { 107,-563 }, { 108,-563 }, { 109,-563 }, { 110,-563 }, + { 111,-563 }, { 112,-563 }, { 113,-563 }, { 114,-563 }, { 115,-563 }, + { 116,-563 }, { 117,-563 }, { 118,-563 }, { 119,-563 }, { 120,-563 }, + + { 121,-563 }, { 122,-563 }, { 123,-563 }, { 124,-563 }, { 125,-563 }, + { 126,-563 }, { 127,-563 }, { 128,-563 }, { 129,-563 }, { 130,-563 }, + { 131,-563 }, { 132,-563 }, { 133,-563 }, { 134,-563 }, { 135,-563 }, + { 136,-563 }, { 137,-563 }, { 138,-563 }, { 139,-563 }, { 140,-563 }, + { 141,-563 }, { 142,-563 }, { 143,-563 }, { 144,-563 }, { 145,-563 }, + { 146,-563 }, { 147,-563 }, { 148,-563 }, { 149,-563 }, { 150,-563 }, + { 151,-563 }, { 152,-563 }, { 153,-563 }, { 154,-563 }, { 155,-563 }, + { 156,-563 }, { 157,-563 }, { 158,-563 }, { 159,-563 }, { 160,-563 }, + { 161,-563 }, { 162,-563 }, { 163,-563 }, { 164,-563 }, { 165,-563 }, + { 166,-563 }, { 167,-563 }, { 168,-563 }, { 169,-563 }, { 170,-563 }, + + { 171,-563 }, { 172,-563 }, { 173,-563 }, { 174,-563 }, { 175,-563 }, + { 176,-563 }, { 177,-563 }, { 178,-563 }, { 179,-563 }, { 180,-563 }, + { 181,-563 }, { 182,-563 }, { 183,-563 }, { 184,-563 }, { 185,-563 }, + { 186,-563 }, { 187,-563 }, { 188,-563 }, { 189,-563 }, { 190,-563 }, + { 191,-563 }, { 192,-563 }, { 193,-563 }, { 194,-563 }, { 195,-563 }, + { 196,-563 }, { 197,-563 }, { 198,-563 }, { 199,-563 }, { 200,-563 }, + { 201,-563 }, { 202,-563 }, { 203,-563 }, { 204,-563 }, { 205,-563 }, + { 206,-563 }, { 207,-563 }, { 208,-563 }, { 209,-563 }, { 210,-563 }, + { 211,-563 }, { 212,-563 }, { 213,-563 }, { 214,-563 }, { 215,-563 }, + { 216,-563 }, { 217,-563 }, { 218,-563 }, { 219,-563 }, { 220,-563 }, + + { 221,-563 }, { 222,-563 }, { 223,-563 }, { 224,-563 }, { 225,-563 }, + { 226,-563 }, { 227,-563 }, { 228,-563 }, { 229,-563 }, { 230,-563 }, + { 231,-563 }, { 232,-563 }, { 233,-563 }, { 234,-563 }, { 235,-563 }, + { 236,-563 }, { 237,-563 }, { 238,-563 }, { 239,-563 }, { 240,-563 }, + { 241,-563 }, { 242,-563 }, { 243,-563 }, { 244,-563 }, { 245,-563 }, + { 246,-563 }, { 247,-563 }, { 248,-563 }, { 249,-563 }, { 250,-563 }, + { 251,-563 }, { 252,-563 }, { 253,-563 }, { 254,-563 }, { 255,-563 }, + { 256,-563 }, { 0, 22 }, { 0,37993 }, { 1,-6329 }, { 2,-6329 }, + { 3,-6329 }, { 4,-6329 }, { 5,-6329 }, { 6,-6329 }, { 7,-6329 }, + { 8,-6329 }, { 9,-6071 }, { 10,-12767 }, { 11,-6329 }, { 12,-6071 }, + + { 13,-12767 }, { 14,-6329 }, { 15,-6329 }, { 16,-6329 }, { 17,-6329 }, + { 18,-6329 }, { 19,-6329 }, { 20,-6329 }, { 21,-6329 }, { 22,-6329 }, + { 23,-6329 }, { 24,-6329 }, { 25,-6329 }, { 26,-6329 }, { 27,-6329 }, + { 28,-6329 }, { 29,-6329 }, { 30,-6329 }, { 31,-6329 }, { 32,-6071 }, + { 33,-6329 }, { 34,-6329 }, { 35,-6329 }, { 36,-6329 }, { 37,-6329 }, + { 38,-6329 }, { 39,-6329 }, { 40,-6329 }, { 41,-6329 }, { 42,-6329 }, + { 43,-6329 }, { 44,-6329 }, { 45, 0 }, { 46,-6329 }, { 47,-6329 }, + { 48,-6329 }, { 49,-6329 }, { 50,-6329 }, { 51,-6329 }, { 52,-6329 }, + { 53,-6329 }, { 54,-6329 }, { 55,-6329 }, { 56,-6329 }, { 57,-6329 }, + { 58,-6329 }, { 59,-6329 }, { 60,-6329 }, { 61,-6329 }, { 62,-6329 }, + + { 63,-6329 }, { 64,-6329 }, { 65,-6329 }, { 66,-6329 }, { 67,-6329 }, + { 68,-6329 }, { 69,-6329 }, { 70,-6329 }, { 71,-6329 }, { 72,-6329 }, + { 73,-6329 }, { 74,-6329 }, { 75,-6329 }, { 76,-6329 }, { 77,-6329 }, + { 78,-6329 }, { 79,-6329 }, { 80,-6329 }, { 81,-6329 }, { 82,-6329 }, + { 83,-6329 }, { 84,-6329 }, { 85,-6329 }, { 86,-6329 }, { 87,-6329 }, + { 88,-6329 }, { 89,-6329 }, { 90,-6329 }, { 91,-6329 }, { 92,-6329 }, + { 93,-6329 }, { 94,-6329 }, { 95,-6329 }, { 96,-6329 }, { 97,-6329 }, + { 98,-6329 }, { 99,-6329 }, { 100,-6329 }, { 101,-6329 }, { 102,-6329 }, + { 103,-6329 }, { 104,-6329 }, { 105,-6329 }, { 106,-6329 }, { 107,-6329 }, + { 108,-6329 }, { 109,-6329 }, { 110,-6329 }, { 111,-6329 }, { 112,-6329 }, + + { 113,-6329 }, { 114,-6329 }, { 115,-6329 }, { 116,-6329 }, { 117,-6329 }, + { 118,-6329 }, { 119,-6329 }, { 120,-6329 }, { 121,-6329 }, { 122,-6329 }, + { 123,-6329 }, { 124,-6329 }, { 125,-6329 }, { 126,-6329 }, { 127,-6329 }, + { 128,-6329 }, { 129,-6329 }, { 130,-6329 }, { 131,-6329 }, { 132,-6329 }, + { 133,-6329 }, { 134,-6329 }, { 135,-6329 }, { 136,-6329 }, { 137,-6329 }, + { 138,-6329 }, { 139,-6329 }, { 140,-6329 }, { 141,-6329 }, { 142,-6329 }, + { 143,-6329 }, { 144,-6329 }, { 145,-6329 }, { 146,-6329 }, { 147,-6329 }, + { 148,-6329 }, { 149,-6329 }, { 150,-6329 }, { 151,-6329 }, { 152,-6329 }, + { 153,-6329 }, { 154,-6329 }, { 155,-6329 }, { 156,-6329 }, { 157,-6329 }, + { 158,-6329 }, { 159,-6329 }, { 160,-6329 }, { 161,-6329 }, { 162,-6329 }, + + { 163,-6329 }, { 164,-6329 }, { 165,-6329 }, { 166,-6329 }, { 167,-6329 }, + { 168,-6329 }, { 169,-6329 }, { 170,-6329 }, { 171,-6329 }, { 172,-6329 }, + { 173,-6329 }, { 174,-6329 }, { 175,-6329 }, { 176,-6329 }, { 177,-6329 }, + { 178,-6329 }, { 179,-6329 }, { 180,-6329 }, { 181,-6329 }, { 182,-6329 }, + { 183,-6329 }, { 184,-6329 }, { 185,-6329 }, { 186,-6329 }, { 187,-6329 }, + { 188,-6329 }, { 189,-6329 }, { 190,-6329 }, { 191,-6329 }, { 192,-6329 }, + { 193,-6329 }, { 194,-6329 }, { 195,-6329 }, { 196,-6329 }, { 197,-6329 }, + { 198,-6329 }, { 199,-6329 }, { 200,-6329 }, { 201,-6329 }, { 202,-6329 }, + { 203,-6329 }, { 204,-6329 }, { 205,-6329 }, { 206,-6329 }, { 207,-6329 }, + { 208,-6329 }, { 209,-6329 }, { 210,-6329 }, { 211,-6329 }, { 212,-6329 }, + + { 213,-6329 }, { 214,-6329 }, { 215,-6329 }, { 216,-6329 }, { 217,-6329 }, + { 218,-6329 }, { 219,-6329 }, { 220,-6329 }, { 221,-6329 }, { 222,-6329 }, + { 223,-6329 }, { 224,-6329 }, { 225,-6329 }, { 226,-6329 }, { 227,-6329 }, + { 228,-6329 }, { 229,-6329 }, { 230,-6329 }, { 231,-6329 }, { 232,-6329 }, + { 233,-6329 }, { 234,-6329 }, { 235,-6329 }, { 236,-6329 }, { 237,-6329 }, + { 238,-6329 }, { 239,-6329 }, { 240,-6329 }, { 241,-6329 }, { 242,-6329 }, + { 243,-6329 }, { 244,-6329 }, { 245,-6329 }, { 246,-6329 }, { 247,-6329 }, + { 248,-6329 }, { 249,-6329 }, { 250,-6329 }, { 251,-6329 }, { 252,-6329 }, + { 253,-6329 }, { 254,-6329 }, { 255,-6329 }, { 256,-6329 }, { 0, 33 }, + { 0,37735 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 33 }, { 0,37712 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,3211 }, { 49,3211 }, + { 50,3211 }, { 51,3211 }, { 52,3211 }, { 53,3211 }, { 54,3211 }, + + { 55,3211 }, { 56,3211 }, { 57,3211 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,3211 }, { 66,3211 }, { 67,3211 }, { 68,3211 }, { 69,3211 }, + { 70,3211 }, { 48,-15825 }, { 49,-15825 }, { 50,-15825 }, { 51,-15825 }, + { 52,-15825 }, { 53,-15825 }, { 54,-15825 }, { 55,-15825 }, { 56,-15825 }, + { 57,-15825 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-15825 }, { 66,-15825 }, + { 67,-15825 }, { 68,-15825 }, { 69,-15825 }, { 70,-15825 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 97,3211 }, { 98,3211 }, { 99,3211 }, + { 100,3211 }, { 101,3211 }, { 102,3211 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 97,-15825 }, { 98,-15825 }, { 99,-15825 }, { 100,-15825 }, { 101,-15825 }, + { 102,-15825 }, { 0, 48 }, { 0,37608 }, { 1,-5813 }, { 2,-5813 }, + { 3,-5813 }, { 4,-5813 }, { 5,-5813 }, { 6,-5813 }, { 7,-5813 }, + { 8,-5813 }, { 9,-5555 }, { 10,-12199 }, { 11,-5813 }, { 12,-5555 }, + { 13,-12199 }, { 14,-5813 }, { 15,-5813 }, { 16,-5813 }, { 17,-5813 }, + { 18,-5813 }, { 19,-5813 }, { 20,-5813 }, { 21,-5813 }, { 22,-5813 }, + { 23,-5813 }, { 24,-5813 }, { 25,-5813 }, { 26,-5813 }, { 27,-5813 }, + + { 28,-5813 }, { 29,-5813 }, { 30,-5813 }, { 31,-5813 }, { 32,-5555 }, + { 33,-5813 }, { 34,-5813 }, { 35,-5813 }, { 36,-5813 }, { 37,-5813 }, + { 38,-5813 }, { 39,-5813 }, { 40,-5813 }, { 41,-5813 }, { 42,-5813 }, + { 43,-5813 }, { 44,-5813 }, { 45, 0 }, { 46,-5813 }, { 47,-5813 }, + { 48,-5813 }, { 49,-5813 }, { 50,-5813 }, { 51,-5813 }, { 52,-5813 }, + { 53,-5813 }, { 54,-5813 }, { 55,-5813 }, { 56,-5813 }, { 57,-5813 }, + { 58,-5813 }, { 59,-5813 }, { 60,-5813 }, { 61,-5813 }, { 62,-5813 }, + { 63,-5813 }, { 64,-5813 }, { 65,-5813 }, { 66,-5813 }, { 67,-5813 }, + { 68,-5813 }, { 69,-5813 }, { 70,-5813 }, { 71,-5813 }, { 72,-5813 }, + { 73,-5813 }, { 74,-5813 }, { 75,-5813 }, { 76,-5813 }, { 77,-5813 }, + + { 78,-5813 }, { 79,-5813 }, { 80,-5813 }, { 81,-5813 }, { 82,-5813 }, + { 83,-5813 }, { 84,-5813 }, { 85,-5039 }, { 86,-5813 }, { 87,-5813 }, + { 88,-5813 }, { 89,-5813 }, { 90,-5813 }, { 91,-5813 }, { 92,-5813 }, + { 93,-5813 }, { 94,-5813 }, { 95,-5813 }, { 96,-5813 }, { 97,-5813 }, + { 98,-5813 }, { 99,-5813 }, { 100,-5813 }, { 101,-5813 }, { 102,-5813 }, + { 103,-5813 }, { 104,-5813 }, { 105,-5813 }, { 106,-5813 }, { 107,-5813 }, + { 108,-5813 }, { 109,-5813 }, { 110,-5813 }, { 111,-5813 }, { 112,-5813 }, + { 113,-5813 }, { 114,-5813 }, { 115,-5813 }, { 116,-5813 }, { 117,-5039 }, + { 118,-5813 }, { 119,-5813 }, { 120,-5813 }, { 121,-5813 }, { 122,-5813 }, + { 123,-5813 }, { 124,-5813 }, { 125,-5813 }, { 126,-5813 }, { 127,-5813 }, + + { 128,-5813 }, { 129,-5813 }, { 130,-5813 }, { 131,-5813 }, { 132,-5813 }, + { 133,-5813 }, { 134,-5813 }, { 135,-5813 }, { 136,-5813 }, { 137,-5813 }, + { 138,-5813 }, { 139,-5813 }, { 140,-5813 }, { 141,-5813 }, { 142,-5813 }, + { 143,-5813 }, { 144,-5813 }, { 145,-5813 }, { 146,-5813 }, { 147,-5813 }, + { 148,-5813 }, { 149,-5813 }, { 150,-5813 }, { 151,-5813 }, { 152,-5813 }, + { 153,-5813 }, { 154,-5813 }, { 155,-5813 }, { 156,-5813 }, { 157,-5813 }, + { 158,-5813 }, { 159,-5813 }, { 160,-5813 }, { 161,-5813 }, { 162,-5813 }, + { 163,-5813 }, { 164,-5813 }, { 165,-5813 }, { 166,-5813 }, { 167,-5813 }, + { 168,-5813 }, { 169,-5813 }, { 170,-5813 }, { 171,-5813 }, { 172,-5813 }, + { 173,-5813 }, { 174,-5813 }, { 175,-5813 }, { 176,-5813 }, { 177,-5813 }, + + { 178,-5813 }, { 179,-5813 }, { 180,-5813 }, { 181,-5813 }, { 182,-5813 }, + { 183,-5813 }, { 184,-5813 }, { 185,-5813 }, { 186,-5813 }, { 187,-5813 }, + { 188,-5813 }, { 189,-5813 }, { 190,-5813 }, { 191,-5813 }, { 192,-5813 }, + { 193,-5813 }, { 194,-5813 }, { 195,-5813 }, { 196,-5813 }, { 197,-5813 }, + { 198,-5813 }, { 199,-5813 }, { 200,-5813 }, { 201,-5813 }, { 202,-5813 }, + { 203,-5813 }, { 204,-5813 }, { 205,-5813 }, { 206,-5813 }, { 207,-5813 }, + { 208,-5813 }, { 209,-5813 }, { 210,-5813 }, { 211,-5813 }, { 212,-5813 }, + { 213,-5813 }, { 214,-5813 }, { 215,-5813 }, { 216,-5813 }, { 217,-5813 }, + { 218,-5813 }, { 219,-5813 }, { 220,-5813 }, { 221,-5813 }, { 222,-5813 }, + { 223,-5813 }, { 224,-5813 }, { 225,-5813 }, { 226,-5813 }, { 227,-5813 }, + + { 228,-5813 }, { 229,-5813 }, { 230,-5813 }, { 231,-5813 }, { 232,-5813 }, + { 233,-5813 }, { 234,-5813 }, { 235,-5813 }, { 236,-5813 }, { 237,-5813 }, + { 238,-5813 }, { 239,-5813 }, { 240,-5813 }, { 241,-5813 }, { 242,-5813 }, + { 243,-5813 }, { 244,-5813 }, { 245,-5813 }, { 246,-5813 }, { 247,-5813 }, + { 248,-5813 }, { 249,-5813 }, { 250,-5813 }, { 251,-5813 }, { 252,-5813 }, + { 253,-5813 }, { 254,-5813 }, { 255,-5813 }, { 256,-5813 }, { 0, 48 }, + { 0,37350 }, { 1,-6071 }, { 2,-6071 }, { 3,-6071 }, { 4,-6071 }, + { 5,-6071 }, { 6,-6071 }, { 7,-6071 }, { 8,-6071 }, { 9,-5813 }, + { 10,-12457 }, { 11,-6071 }, { 12,-5813 }, { 13,-12457 }, { 14,-6071 }, + { 15,-6071 }, { 16,-6071 }, { 17,-6071 }, { 18,-6071 }, { 19,-6071 }, + + { 20,-6071 }, { 21,-6071 }, { 22,-6071 }, { 23,-6071 }, { 24,-6071 }, + { 25,-6071 }, { 26,-6071 }, { 27,-6071 }, { 28,-6071 }, { 29,-6071 }, + { 30,-6071 }, { 31,-6071 }, { 32,-5813 }, { 33,-6071 }, { 34,-6071 }, + { 35,-6071 }, { 36,-6071 }, { 37,-6071 }, { 38,-6071 }, { 39,-6071 }, + { 40,-6071 }, { 41,-6071 }, { 42,-6071 }, { 43,-6071 }, { 44,-6071 }, + { 45,-5555 }, { 46,-6071 }, { 47,-6071 }, { 48,-6071 }, { 49,-6071 }, + { 50,-6071 }, { 51,-6071 }, { 52,-6071 }, { 53,-6071 }, { 54,-6071 }, + { 55,-6071 }, { 56,-6071 }, { 57,-6071 }, { 58,-6071 }, { 59,-6071 }, + { 60,-6071 }, { 61,-6071 }, { 62,-6071 }, { 63,-6071 }, { 64,-6071 }, + { 65,-6071 }, { 66,-6071 }, { 67,-6071 }, { 68,-6071 }, { 69,-6071 }, + + { 70,-6071 }, { 71,-6071 }, { 72,-6071 }, { 73,-6071 }, { 74,-6071 }, + { 75,-6071 }, { 76,-6071 }, { 77,-6071 }, { 78,-6071 }, { 79,-6071 }, + { 80,-6071 }, { 81,-6071 }, { 82,-6071 }, { 83,2930 }, { 84,-6071 }, + { 85,-5297 }, { 86,-6071 }, { 87,-6071 }, { 88,-6071 }, { 89,-6071 }, + { 90,-6071 }, { 91,-6071 }, { 92,-6071 }, { 93,-6071 }, { 94,-6071 }, + { 95,-6071 }, { 96,-6071 }, { 97,-6071 }, { 98,-6071 }, { 99,-6071 }, + { 100,-6071 }, { 101,-6071 }, { 102,-6071 }, { 103,-6071 }, { 104,-6071 }, + { 105,-6071 }, { 106,-6071 }, { 107,-6071 }, { 108,-6071 }, { 109,-6071 }, + { 110,-6071 }, { 111,-6071 }, { 112,-6071 }, { 113,-6071 }, { 114,-6071 }, + { 115,2930 }, { 116,-6071 }, { 117,-5297 }, { 118,-6071 }, { 119,-6071 }, + + { 120,-6071 }, { 121,-6071 }, { 122,-6071 }, { 123,-6071 }, { 124,-6071 }, + { 125,-6071 }, { 126,-6071 }, { 127,-6071 }, { 128,-6071 }, { 129,-6071 }, + { 130,-6071 }, { 131,-6071 }, { 132,-6071 }, { 133,-6071 }, { 134,-6071 }, + { 135,-6071 }, { 136,-6071 }, { 137,-6071 }, { 138,-6071 }, { 139,-6071 }, + { 140,-6071 }, { 141,-6071 }, { 142,-6071 }, { 143,-6071 }, { 144,-6071 }, + { 145,-6071 }, { 146,-6071 }, { 147,-6071 }, { 148,-6071 }, { 149,-6071 }, + { 150,-6071 }, { 151,-6071 }, { 152,-6071 }, { 153,-6071 }, { 154,-6071 }, + { 155,-6071 }, { 156,-6071 }, { 157,-6071 }, { 158,-6071 }, { 159,-6071 }, + { 160,-6071 }, { 161,-6071 }, { 162,-6071 }, { 163,-6071 }, { 164,-6071 }, + { 165,-6071 }, { 166,-6071 }, { 167,-6071 }, { 168,-6071 }, { 169,-6071 }, + + { 170,-6071 }, { 171,-6071 }, { 172,-6071 }, { 173,-6071 }, { 174,-6071 }, + { 175,-6071 }, { 176,-6071 }, { 177,-6071 }, { 178,-6071 }, { 179,-6071 }, + { 180,-6071 }, { 181,-6071 }, { 182,-6071 }, { 183,-6071 }, { 184,-6071 }, + { 185,-6071 }, { 186,-6071 }, { 187,-6071 }, { 188,-6071 }, { 189,-6071 }, + { 190,-6071 }, { 191,-6071 }, { 192,-6071 }, { 193,-6071 }, { 194,-6071 }, + { 195,-6071 }, { 196,-6071 }, { 197,-6071 }, { 198,-6071 }, { 199,-6071 }, + { 200,-6071 }, { 201,-6071 }, { 202,-6071 }, { 203,-6071 }, { 204,-6071 }, + { 205,-6071 }, { 206,-6071 }, { 207,-6071 }, { 208,-6071 }, { 209,-6071 }, + { 210,-6071 }, { 211,-6071 }, { 212,-6071 }, { 213,-6071 }, { 214,-6071 }, + { 215,-6071 }, { 216,-6071 }, { 217,-6071 }, { 218,-6071 }, { 219,-6071 }, + + { 220,-6071 }, { 221,-6071 }, { 222,-6071 }, { 223,-6071 }, { 224,-6071 }, + { 225,-6071 }, { 226,-6071 }, { 227,-6071 }, { 228,-6071 }, { 229,-6071 }, + { 230,-6071 }, { 231,-6071 }, { 232,-6071 }, { 233,-6071 }, { 234,-6071 }, + { 235,-6071 }, { 236,-6071 }, { 237,-6071 }, { 238,-6071 }, { 239,-6071 }, + { 240,-6071 }, { 241,-6071 }, { 242,-6071 }, { 243,-6071 }, { 244,-6071 }, + { 245,-6071 }, { 246,-6071 }, { 247,-6071 }, { 248,-6071 }, { 249,-6071 }, + { 250,-6071 }, { 251,-6071 }, { 252,-6071 }, { 253,-6071 }, { 254,-6071 }, + { 255,-6071 }, { 256,-6071 }, { 0, 24 }, { 0,37092 }, { 1, 0 }, + { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, + { 7, 0 }, { 8, 0 }, { 9, 258 }, { 10, 516 }, { 11, 0 }, + + { 12, 258 }, { 13, 516 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, + { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, + { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, + { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, + { 32, 258 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, { 36, 0 }, + { 37, 0 }, { 38, 0 }, { 39, 0 }, { 40, 0 }, { 41, 0 }, + { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 635 }, { 46, 0 }, + { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, + + { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, + { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, + { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, + { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, + { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 893 }, { 86, 0 }, + { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, + { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, + { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, + { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, + { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, + + { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, + { 117, 893 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, + { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, + { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, + { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, + { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, + { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, + { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, + { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, + { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, + + { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, + { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, + { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, + { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, + { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, + { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, + { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, + { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, + { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, + { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, + + { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, + { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, + { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, + { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, + { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, + { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, + { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, + { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, + { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, + { 0, 24 }, { 0,36834 }, { 1,-258 }, { 2,-258 }, { 3,-258 }, + + { 4,-258 }, { 5,-258 }, { 6,-258 }, { 7,-258 }, { 8,-258 }, + { 9, 0 }, { 10, 258 }, { 11,-258 }, { 12, 0 }, { 13, 258 }, + { 14,-258 }, { 15,-258 }, { 16,-258 }, { 17,-258 }, { 18,-258 }, + { 19,-258 }, { 20,-258 }, { 21,-258 }, { 22,-258 }, { 23,-258 }, + { 24,-258 }, { 25,-258 }, { 26,-258 }, { 27,-258 }, { 28,-258 }, + { 29,-258 }, { 30,-258 }, { 31,-258 }, { 32, 0 }, { 33,-258 }, + { 34,-258 }, { 35,-258 }, { 36,-258 }, { 37,-258 }, { 38,-258 }, + { 39,-258 }, { 40,-258 }, { 41,-258 }, { 42,-258 }, { 43,-258 }, + { 44,-258 }, { 45, 377 }, { 46,-258 }, { 47,-258 }, { 48,-258 }, + { 49,-258 }, { 50,-258 }, { 51,-258 }, { 52,-258 }, { 53,-258 }, + + { 54,-258 }, { 55,-258 }, { 56,-258 }, { 57,-258 }, { 58,-258 }, + { 59,-258 }, { 60,-258 }, { 61,-258 }, { 62,-258 }, { 63,-258 }, + { 64,-258 }, { 65,-258 }, { 66,-258 }, { 67,-258 }, { 68,-258 }, + { 69,-258 }, { 70,-258 }, { 71,-258 }, { 72,-258 }, { 73,-258 }, + { 74,-258 }, { 75,-258 }, { 76,-258 }, { 77,-258 }, { 78,-258 }, + { 79,-258 }, { 80,-258 }, { 81,-258 }, { 82,-258 }, { 83,-258 }, + { 84,-258 }, { 85, 635 }, { 86,-258 }, { 87,-258 }, { 88,-258 }, + { 89,-258 }, { 90,-258 }, { 91,-258 }, { 92,-258 }, { 93,-258 }, + { 94,-258 }, { 95,-258 }, { 96,-258 }, { 97,-258 }, { 98,-258 }, + { 99,-258 }, { 100,-258 }, { 101,-258 }, { 102,-258 }, { 103,-258 }, + + { 104,-258 }, { 105,-258 }, { 106,-258 }, { 107,-258 }, { 108,-258 }, + { 109,-258 }, { 110,-258 }, { 111,-258 }, { 112,-258 }, { 113,-258 }, + { 114,-258 }, { 115,-258 }, { 116,-258 }, { 117, 635 }, { 118,-258 }, + { 119,-258 }, { 120,-258 }, { 121,-258 }, { 122,-258 }, { 123,-258 }, + { 124,-258 }, { 125,-258 }, { 126,-258 }, { 127,-258 }, { 128,-258 }, + { 129,-258 }, { 130,-258 }, { 131,-258 }, { 132,-258 }, { 133,-258 }, + { 134,-258 }, { 135,-258 }, { 136,-258 }, { 137,-258 }, { 138,-258 }, + { 139,-258 }, { 140,-258 }, { 141,-258 }, { 142,-258 }, { 143,-258 }, + { 144,-258 }, { 145,-258 }, { 146,-258 }, { 147,-258 }, { 148,-258 }, + { 149,-258 }, { 150,-258 }, { 151,-258 }, { 152,-258 }, { 153,-258 }, + + { 154,-258 }, { 155,-258 }, { 156,-258 }, { 157,-258 }, { 158,-258 }, + { 159,-258 }, { 160,-258 }, { 161,-258 }, { 162,-258 }, { 163,-258 }, + { 164,-258 }, { 165,-258 }, { 166,-258 }, { 167,-258 }, { 168,-258 }, + { 169,-258 }, { 170,-258 }, { 171,-258 }, { 172,-258 }, { 173,-258 }, + { 174,-258 }, { 175,-258 }, { 176,-258 }, { 177,-258 }, { 178,-258 }, + { 179,-258 }, { 180,-258 }, { 181,-258 }, { 182,-258 }, { 183,-258 }, + { 184,-258 }, { 185,-258 }, { 186,-258 }, { 187,-258 }, { 188,-258 }, + { 189,-258 }, { 190,-258 }, { 191,-258 }, { 192,-258 }, { 193,-258 }, + { 194,-258 }, { 195,-258 }, { 196,-258 }, { 197,-258 }, { 198,-258 }, + { 199,-258 }, { 200,-258 }, { 201,-258 }, { 202,-258 }, { 203,-258 }, + + { 204,-258 }, { 205,-258 }, { 206,-258 }, { 207,-258 }, { 208,-258 }, + { 209,-258 }, { 210,-258 }, { 211,-258 }, { 212,-258 }, { 213,-258 }, + { 214,-258 }, { 215,-258 }, { 216,-258 }, { 217,-258 }, { 218,-258 }, + { 219,-258 }, { 220,-258 }, { 221,-258 }, { 222,-258 }, { 223,-258 }, + { 224,-258 }, { 225,-258 }, { 226,-258 }, { 227,-258 }, { 228,-258 }, + { 229,-258 }, { 230,-258 }, { 231,-258 }, { 232,-258 }, { 233,-258 }, + { 234,-258 }, { 235,-258 }, { 236,-258 }, { 237,-258 }, { 238,-258 }, + { 239,-258 }, { 240,-258 }, { 241,-258 }, { 242,-258 }, { 243,-258 }, + { 244,-258 }, { 245,-258 }, { 246,-258 }, { 247,-258 }, { 248,-258 }, + { 249,-258 }, { 250,-258 }, { 251,-258 }, { 252,-258 }, { 253,-258 }, + + { 254,-258 }, { 255,-258 }, { 256,-258 }, { 0, 24 }, { 0,36576 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9,-10572 }, { 10,-10572 }, + { 0, 0 }, { 12,-10572 }, { 13,-10572 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 32,-10572 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 39,-20785 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-20519 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 85,-21024 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 117,-21024 }, { 0, 24 }, { 0,36457 }, { 1,-635 }, + { 2,-635 }, { 3,-635 }, { 4,-635 }, { 5,-635 }, { 6,-635 }, + { 7,-635 }, { 8,-635 }, { 9,-377 }, { 10,-119 }, { 11,-635 }, + { 12,-377 }, { 13,-119 }, { 14,-635 }, { 15,-635 }, { 16,-635 }, + { 17,-635 }, { 18,-635 }, { 19,-635 }, { 20,-635 }, { 21,-635 }, + { 22,-635 }, { 23,-635 }, { 24,-635 }, { 25,-635 }, { 26,-635 }, + + { 27,-635 }, { 28,-635 }, { 29,-635 }, { 30,-635 }, { 31,-635 }, + { 32,-377 }, { 33,-635 }, { 34,-635 }, { 35,-635 }, { 36,-635 }, + { 37,-635 }, { 38,-635 }, { 39,-635 }, { 40,-635 }, { 41,-635 }, + { 42,-635 }, { 43,-635 }, { 44,-635 }, { 45,2295 }, { 46,-635 }, + { 47,-635 }, { 48,-635 }, { 49,-635 }, { 50,-635 }, { 51,-635 }, + { 52,-635 }, { 53,-635 }, { 54,-635 }, { 55,-635 }, { 56,-635 }, + { 57,-635 }, { 58,-635 }, { 59,-635 }, { 60,-635 }, { 61,-635 }, + { 62,-635 }, { 63,-635 }, { 64,-635 }, { 65,-635 }, { 66,-635 }, + { 67,-635 }, { 68,-635 }, { 69,-635 }, { 70,-635 }, { 71,-635 }, + { 72,-635 }, { 73,-635 }, { 74,-635 }, { 75,-635 }, { 76,-635 }, + + { 77,-635 }, { 78,-635 }, { 79,-635 }, { 80,-635 }, { 81,-635 }, + { 82,-635 }, { 83,-635 }, { 84,-635 }, { 85, 258 }, { 86,-635 }, + { 87,-635 }, { 88,-635 }, { 89,-635 }, { 90,-635 }, { 91,-635 }, + { 92,-635 }, { 93,-635 }, { 94,-635 }, { 95,-635 }, { 96,-635 }, + { 97,-635 }, { 98,-635 }, { 99,-635 }, { 100,-635 }, { 101,-635 }, + { 102,-635 }, { 103,-635 }, { 104,-635 }, { 105,-635 }, { 106,-635 }, + { 107,-635 }, { 108,-635 }, { 109,-635 }, { 110,-635 }, { 111,-635 }, + { 112,-635 }, { 113,-635 }, { 114,-635 }, { 115,-635 }, { 116,-635 }, + { 117, 258 }, { 118,-635 }, { 119,-635 }, { 120,-635 }, { 121,-635 }, + { 122,-635 }, { 123,-635 }, { 124,-635 }, { 125,-635 }, { 126,-635 }, + + { 127,-635 }, { 128,-635 }, { 129,-635 }, { 130,-635 }, { 131,-635 }, + { 132,-635 }, { 133,-635 }, { 134,-635 }, { 135,-635 }, { 136,-635 }, + { 137,-635 }, { 138,-635 }, { 139,-635 }, { 140,-635 }, { 141,-635 }, + { 142,-635 }, { 143,-635 }, { 144,-635 }, { 145,-635 }, { 146,-635 }, + { 147,-635 }, { 148,-635 }, { 149,-635 }, { 150,-635 }, { 151,-635 }, + { 152,-635 }, { 153,-635 }, { 154,-635 }, { 155,-635 }, { 156,-635 }, + { 157,-635 }, { 158,-635 }, { 159,-635 }, { 160,-635 }, { 161,-635 }, + { 162,-635 }, { 163,-635 }, { 164,-635 }, { 165,-635 }, { 166,-635 }, + { 167,-635 }, { 168,-635 }, { 169,-635 }, { 170,-635 }, { 171,-635 }, + { 172,-635 }, { 173,-635 }, { 174,-635 }, { 175,-635 }, { 176,-635 }, + + { 177,-635 }, { 178,-635 }, { 179,-635 }, { 180,-635 }, { 181,-635 }, + { 182,-635 }, { 183,-635 }, { 184,-635 }, { 185,-635 }, { 186,-635 }, + { 187,-635 }, { 188,-635 }, { 189,-635 }, { 190,-635 }, { 191,-635 }, + { 192,-635 }, { 193,-635 }, { 194,-635 }, { 195,-635 }, { 196,-635 }, + { 197,-635 }, { 198,-635 }, { 199,-635 }, { 200,-635 }, { 201,-635 }, + { 202,-635 }, { 203,-635 }, { 204,-635 }, { 205,-635 }, { 206,-635 }, + { 207,-635 }, { 208,-635 }, { 209,-635 }, { 210,-635 }, { 211,-635 }, + { 212,-635 }, { 213,-635 }, { 214,-635 }, { 215,-635 }, { 216,-635 }, + { 217,-635 }, { 218,-635 }, { 219,-635 }, { 220,-635 }, { 221,-635 }, + { 222,-635 }, { 223,-635 }, { 224,-635 }, { 225,-635 }, { 226,-635 }, + + { 227,-635 }, { 228,-635 }, { 229,-635 }, { 230,-635 }, { 231,-635 }, + { 232,-635 }, { 233,-635 }, { 234,-635 }, { 235,-635 }, { 236,-635 }, + { 237,-635 }, { 238,-635 }, { 239,-635 }, { 240,-635 }, { 241,-635 }, + { 242,-635 }, { 243,-635 }, { 244,-635 }, { 245,-635 }, { 246,-635 }, + { 247,-635 }, { 248,-635 }, { 249,-635 }, { 250,-635 }, { 251,-635 }, + { 252,-635 }, { 253,-635 }, { 254,-635 }, { 255,-635 }, { 256,-635 }, + { 0, 24 }, { 0,36199 }, { 1,-893 }, { 2,-893 }, { 3,-893 }, + { 4,-893 }, { 5,-893 }, { 6,-893 }, { 7,-893 }, { 8,-893 }, + { 9,-635 }, { 10,-377 }, { 11,-893 }, { 12,-635 }, { 13,-377 }, + { 14,-893 }, { 15,-893 }, { 16,-893 }, { 17,-893 }, { 18,-893 }, + + { 19,-893 }, { 20,-893 }, { 21,-893 }, { 22,-893 }, { 23,-893 }, + { 24,-893 }, { 25,-893 }, { 26,-893 }, { 27,-893 }, { 28,-893 }, + { 29,-893 }, { 30,-893 }, { 31,-893 }, { 32,-635 }, { 33,-893 }, + { 34,-893 }, { 35,-893 }, { 36,-893 }, { 37,-893 }, { 38,-893 }, + { 39,-893 }, { 40,-893 }, { 41,-893 }, { 42,-893 }, { 43,-893 }, + { 44,-893 }, { 45,-258 }, { 46,-893 }, { 47,-893 }, { 48,-893 }, + { 49,-893 }, { 50,-893 }, { 51,-893 }, { 52,-893 }, { 53,-893 }, + { 54,-893 }, { 55,-893 }, { 56,-893 }, { 57,-893 }, { 58,-893 }, + { 59,-893 }, { 60,-893 }, { 61,-893 }, { 62,-893 }, { 63,-893 }, + { 64,-893 }, { 65,-893 }, { 66,-893 }, { 67,-893 }, { 68,-893 }, + + { 69,2295 }, { 70,-893 }, { 71,-893 }, { 72,-893 }, { 73,-893 }, + { 74,-893 }, { 75,-893 }, { 76,-893 }, { 77,-893 }, { 78,-893 }, + { 79,-893 }, { 80,-893 }, { 81,-893 }, { 82,-893 }, { 83,-893 }, + { 84,-893 }, { 85, 0 }, { 86,-893 }, { 87,-893 }, { 88,-893 }, + { 89,-893 }, { 90,-893 }, { 91,-893 }, { 92,-893 }, { 93,-893 }, + { 94,-893 }, { 95,-893 }, { 96,-893 }, { 97,-893 }, { 98,-893 }, + { 99,-893 }, { 100,-893 }, { 101,2295 }, { 102,-893 }, { 103,-893 }, + { 104,-893 }, { 105,-893 }, { 106,-893 }, { 107,-893 }, { 108,-893 }, + { 109,-893 }, { 110,-893 }, { 111,-893 }, { 112,-893 }, { 113,-893 }, + { 114,-893 }, { 115,-893 }, { 116,-893 }, { 117, 0 }, { 118,-893 }, + + { 119,-893 }, { 120,-893 }, { 121,-893 }, { 122,-893 }, { 123,-893 }, + { 124,-893 }, { 125,-893 }, { 126,-893 }, { 127,-893 }, { 128,-893 }, + { 129,-893 }, { 130,-893 }, { 131,-893 }, { 132,-893 }, { 133,-893 }, + { 134,-893 }, { 135,-893 }, { 136,-893 }, { 137,-893 }, { 138,-893 }, + { 139,-893 }, { 140,-893 }, { 141,-893 }, { 142,-893 }, { 143,-893 }, + { 144,-893 }, { 145,-893 }, { 146,-893 }, { 147,-893 }, { 148,-893 }, + { 149,-893 }, { 150,-893 }, { 151,-893 }, { 152,-893 }, { 153,-893 }, + { 154,-893 }, { 155,-893 }, { 156,-893 }, { 157,-893 }, { 158,-893 }, + { 159,-893 }, { 160,-893 }, { 161,-893 }, { 162,-893 }, { 163,-893 }, + { 164,-893 }, { 165,-893 }, { 166,-893 }, { 167,-893 }, { 168,-893 }, + + { 169,-893 }, { 170,-893 }, { 171,-893 }, { 172,-893 }, { 173,-893 }, + { 174,-893 }, { 175,-893 }, { 176,-893 }, { 177,-893 }, { 178,-893 }, + { 179,-893 }, { 180,-893 }, { 181,-893 }, { 182,-893 }, { 183,-893 }, + { 184,-893 }, { 185,-893 }, { 186,-893 }, { 187,-893 }, { 188,-893 }, + { 189,-893 }, { 190,-893 }, { 191,-893 }, { 192,-893 }, { 193,-893 }, + { 194,-893 }, { 195,-893 }, { 196,-893 }, { 197,-893 }, { 198,-893 }, + { 199,-893 }, { 200,-893 }, { 201,-893 }, { 202,-893 }, { 203,-893 }, + { 204,-893 }, { 205,-893 }, { 206,-893 }, { 207,-893 }, { 208,-893 }, + { 209,-893 }, { 210,-893 }, { 211,-893 }, { 212,-893 }, { 213,-893 }, + { 214,-893 }, { 215,-893 }, { 216,-893 }, { 217,-893 }, { 218,-893 }, + + { 219,-893 }, { 220,-893 }, { 221,-893 }, { 222,-893 }, { 223,-893 }, + { 224,-893 }, { 225,-893 }, { 226,-893 }, { 227,-893 }, { 228,-893 }, + { 229,-893 }, { 230,-893 }, { 231,-893 }, { 232,-893 }, { 233,-893 }, + { 234,-893 }, { 235,-893 }, { 236,-893 }, { 237,-893 }, { 238,-893 }, + { 239,-893 }, { 240,-893 }, { 241,-893 }, { 242,-893 }, { 243,-893 }, + { 244,-893 }, { 245,-893 }, { 246,-893 }, { 247,-893 }, { 248,-893 }, + { 249,-893 }, { 250,-893 }, { 251,-893 }, { 252,-893 }, { 253,-893 }, + { 254,-893 }, { 255,-893 }, { 256,-893 }, { 0, 24 }, { 0,35941 }, + { 1,-6190 }, { 2,-6190 }, { 3,-6190 }, { 4,-6190 }, { 5,-6190 }, + { 6,-6190 }, { 7,-6190 }, { 8,-6190 }, { 9,-5932 }, { 10,-13845 }, + + { 11,-6190 }, { 12,-5932 }, { 13,-13845 }, { 14,-6190 }, { 15,-6190 }, + { 16,-6190 }, { 17,-6190 }, { 18,-6190 }, { 19,-6190 }, { 20,-6190 }, + { 21,-6190 }, { 22,-6190 }, { 23,-6190 }, { 24,-6190 }, { 25,-6190 }, + { 26,-6190 }, { 27,-6190 }, { 28,-6190 }, { 29,-6190 }, { 30,-6190 }, + { 31,-6190 }, { 32,-5932 }, { 33,-6190 }, { 34,-6190 }, { 35,-6190 }, + { 36,-6190 }, { 37,-6190 }, { 38,-6190 }, { 39,-6190 }, { 40,-6190 }, + { 41,-6190 }, { 42,-6190 }, { 43,-6190 }, { 44,-6190 }, { 45, 0 }, + { 46,-6190 }, { 47,-6190 }, { 48,-6190 }, { 49,-6190 }, { 50,-6190 }, + { 51,-6190 }, { 52,-6190 }, { 53,-6190 }, { 54,-6190 }, { 55,-6190 }, + { 56,-6190 }, { 57,-6190 }, { 58,-6190 }, { 59,-6190 }, { 60,-6190 }, + + { 61,-6190 }, { 62,-6190 }, { 63,-6190 }, { 64,-6190 }, { 65,-6190 }, + { 66,-6190 }, { 67,-6190 }, { 68,-6190 }, { 69,-6190 }, { 70,-6190 }, + { 71,-6190 }, { 72,-6190 }, { 73,-6190 }, { 74,-6190 }, { 75,-6190 }, + { 76,-6190 }, { 77,-6190 }, { 78,-6190 }, { 79,-6190 }, { 80,-6190 }, + { 81,-6190 }, { 82,-6190 }, { 83,-6190 }, { 84,-6190 }, { 85,-5416 }, + { 86,-6190 }, { 87,-6190 }, { 88,-6190 }, { 89,-6190 }, { 90,-6190 }, + { 91,-6190 }, { 92,-6190 }, { 93,-6190 }, { 94,-6190 }, { 95,-6190 }, + { 96,-6190 }, { 97,-6190 }, { 98,-6190 }, { 99,-6190 }, { 100,-6190 }, + { 101,-6190 }, { 102,-6190 }, { 103,-6190 }, { 104,-6190 }, { 105,-6190 }, + { 106,-6190 }, { 107,-6190 }, { 108,-6190 }, { 109,-6190 }, { 110,-6190 }, + + { 111,-6190 }, { 112,-6190 }, { 113,-6190 }, { 114,-6190 }, { 115,-6190 }, + { 116,-6190 }, { 117,-5416 }, { 118,-6190 }, { 119,-6190 }, { 120,-6190 }, + { 121,-6190 }, { 122,-6190 }, { 123,-6190 }, { 124,-6190 }, { 125,-6190 }, + { 126,-6190 }, { 127,-6190 }, { 128,-6190 }, { 129,-6190 }, { 130,-6190 }, + { 131,-6190 }, { 132,-6190 }, { 133,-6190 }, { 134,-6190 }, { 135,-6190 }, + { 136,-6190 }, { 137,-6190 }, { 138,-6190 }, { 139,-6190 }, { 140,-6190 }, + { 141,-6190 }, { 142,-6190 }, { 143,-6190 }, { 144,-6190 }, { 145,-6190 }, + { 146,-6190 }, { 147,-6190 }, { 148,-6190 }, { 149,-6190 }, { 150,-6190 }, + { 151,-6190 }, { 152,-6190 }, { 153,-6190 }, { 154,-6190 }, { 155,-6190 }, + { 156,-6190 }, { 157,-6190 }, { 158,-6190 }, { 159,-6190 }, { 160,-6190 }, + + { 161,-6190 }, { 162,-6190 }, { 163,-6190 }, { 164,-6190 }, { 165,-6190 }, + { 166,-6190 }, { 167,-6190 }, { 168,-6190 }, { 169,-6190 }, { 170,-6190 }, + { 171,-6190 }, { 172,-6190 }, { 173,-6190 }, { 174,-6190 }, { 175,-6190 }, + { 176,-6190 }, { 177,-6190 }, { 178,-6190 }, { 179,-6190 }, { 180,-6190 }, + { 181,-6190 }, { 182,-6190 }, { 183,-6190 }, { 184,-6190 }, { 185,-6190 }, + { 186,-6190 }, { 187,-6190 }, { 188,-6190 }, { 189,-6190 }, { 190,-6190 }, + { 191,-6190 }, { 192,-6190 }, { 193,-6190 }, { 194,-6190 }, { 195,-6190 }, + { 196,-6190 }, { 197,-6190 }, { 198,-6190 }, { 199,-6190 }, { 200,-6190 }, + { 201,-6190 }, { 202,-6190 }, { 203,-6190 }, { 204,-6190 }, { 205,-6190 }, + { 206,-6190 }, { 207,-6190 }, { 208,-6190 }, { 209,-6190 }, { 210,-6190 }, + + { 211,-6190 }, { 212,-6190 }, { 213,-6190 }, { 214,-6190 }, { 215,-6190 }, + { 216,-6190 }, { 217,-6190 }, { 218,-6190 }, { 219,-6190 }, { 220,-6190 }, + { 221,-6190 }, { 222,-6190 }, { 223,-6190 }, { 224,-6190 }, { 225,-6190 }, + { 226,-6190 }, { 227,-6190 }, { 228,-6190 }, { 229,-6190 }, { 230,-6190 }, + { 231,-6190 }, { 232,-6190 }, { 233,-6190 }, { 234,-6190 }, { 235,-6190 }, + { 236,-6190 }, { 237,-6190 }, { 238,-6190 }, { 239,-6190 }, { 240,-6190 }, + { 241,-6190 }, { 242,-6190 }, { 243,-6190 }, { 244,-6190 }, { 245,-6190 }, + { 246,-6190 }, { 247,-6190 }, { 248,-6190 }, { 249,-6190 }, { 250,-6190 }, + { 251,-6190 }, { 252,-6190 }, { 253,-6190 }, { 254,-6190 }, { 255,-6190 }, + { 256,-6190 }, { 0, 24 }, { 0,35683 }, { 1,-6448 }, { 2,-6448 }, + + { 3,-6448 }, { 4,-6448 }, { 5,-6448 }, { 6,-6448 }, { 7,-6448 }, + { 8,-6448 }, { 9,-6190 }, { 10,-14103 }, { 11,-6448 }, { 12,-6190 }, + { 13,-14103 }, { 14,-6448 }, { 15,-6448 }, { 16,-6448 }, { 17,-6448 }, + { 18,-6448 }, { 19,-6448 }, { 20,-6448 }, { 21,-6448 }, { 22,-6448 }, + { 23,-6448 }, { 24,-6448 }, { 25,-6448 }, { 26,-6448 }, { 27,-6448 }, + { 28,-6448 }, { 29,-6448 }, { 30,-6448 }, { 31,-6448 }, { 32,-6190 }, + { 33,-6448 }, { 34,-6448 }, { 35,-6448 }, { 36,-6448 }, { 37,-6448 }, + { 38,-6448 }, { 39,-6448 }, { 40,-6448 }, { 41,-6448 }, { 42,-6448 }, + { 43,-6448 }, { 44,-6448 }, { 45,-5932 }, { 46,-6448 }, { 47,-6448 }, + { 48,-6448 }, { 49,-6448 }, { 50,-6448 }, { 51,-6448 }, { 52,-6448 }, + + { 53,-6448 }, { 54,-6448 }, { 55,-6448 }, { 56,-6448 }, { 57,-6448 }, + { 58,-6448 }, { 59,-6448 }, { 60,-6448 }, { 61,-6448 }, { 62,-6448 }, + { 63,-6448 }, { 64,-6448 }, { 65,-6448 }, { 66,-6448 }, { 67,-6448 }, + { 68,-6448 }, { 69,-6448 }, { 70,-6448 }, { 71,-6448 }, { 72,-6448 }, + { 73,-6448 }, { 74,-6448 }, { 75,-6448 }, { 76,-6448 }, { 77,-6448 }, + { 78,-6448 }, { 79,-6448 }, { 80,-6448 }, { 81,-6448 }, { 82,-6448 }, + { 83,2037 }, { 84,-6448 }, { 85,-5674 }, { 86,-6448 }, { 87,-6448 }, + { 88,-6448 }, { 89,-6448 }, { 90,-6448 }, { 91,-6448 }, { 92,-6448 }, + { 93,-6448 }, { 94,-6448 }, { 95,-6448 }, { 96,-6448 }, { 97,-6448 }, + { 98,-6448 }, { 99,-6448 }, { 100,-6448 }, { 101,-6448 }, { 102,-6448 }, + + { 103,-6448 }, { 104,-6448 }, { 105,-6448 }, { 106,-6448 }, { 107,-6448 }, + { 108,-6448 }, { 109,-6448 }, { 110,-6448 }, { 111,-6448 }, { 112,-6448 }, + { 113,-6448 }, { 114,-6448 }, { 115,2037 }, { 116,-6448 }, { 117,-5674 }, + { 118,-6448 }, { 119,-6448 }, { 120,-6448 }, { 121,-6448 }, { 122,-6448 }, + { 123,-6448 }, { 124,-6448 }, { 125,-6448 }, { 126,-6448 }, { 127,-6448 }, + { 128,-6448 }, { 129,-6448 }, { 130,-6448 }, { 131,-6448 }, { 132,-6448 }, + { 133,-6448 }, { 134,-6448 }, { 135,-6448 }, { 136,-6448 }, { 137,-6448 }, + { 138,-6448 }, { 139,-6448 }, { 140,-6448 }, { 141,-6448 }, { 142,-6448 }, + { 143,-6448 }, { 144,-6448 }, { 145,-6448 }, { 146,-6448 }, { 147,-6448 }, + { 148,-6448 }, { 149,-6448 }, { 150,-6448 }, { 151,-6448 }, { 152,-6448 }, + + { 153,-6448 }, { 154,-6448 }, { 155,-6448 }, { 156,-6448 }, { 157,-6448 }, + { 158,-6448 }, { 159,-6448 }, { 160,-6448 }, { 161,-6448 }, { 162,-6448 }, + { 163,-6448 }, { 164,-6448 }, { 165,-6448 }, { 166,-6448 }, { 167,-6448 }, + { 168,-6448 }, { 169,-6448 }, { 170,-6448 }, { 171,-6448 }, { 172,-6448 }, + { 173,-6448 }, { 174,-6448 }, { 175,-6448 }, { 176,-6448 }, { 177,-6448 }, + { 178,-6448 }, { 179,-6448 }, { 180,-6448 }, { 181,-6448 }, { 182,-6448 }, + { 183,-6448 }, { 184,-6448 }, { 185,-6448 }, { 186,-6448 }, { 187,-6448 }, + { 188,-6448 }, { 189,-6448 }, { 190,-6448 }, { 191,-6448 }, { 192,-6448 }, + { 193,-6448 }, { 194,-6448 }, { 195,-6448 }, { 196,-6448 }, { 197,-6448 }, + { 198,-6448 }, { 199,-6448 }, { 200,-6448 }, { 201,-6448 }, { 202,-6448 }, + + { 203,-6448 }, { 204,-6448 }, { 205,-6448 }, { 206,-6448 }, { 207,-6448 }, + { 208,-6448 }, { 209,-6448 }, { 210,-6448 }, { 211,-6448 }, { 212,-6448 }, + { 213,-6448 }, { 214,-6448 }, { 215,-6448 }, { 216,-6448 }, { 217,-6448 }, + { 218,-6448 }, { 219,-6448 }, { 220,-6448 }, { 221,-6448 }, { 222,-6448 }, + { 223,-6448 }, { 224,-6448 }, { 225,-6448 }, { 226,-6448 }, { 227,-6448 }, + { 228,-6448 }, { 229,-6448 }, { 230,-6448 }, { 231,-6448 }, { 232,-6448 }, + { 233,-6448 }, { 234,-6448 }, { 235,-6448 }, { 236,-6448 }, { 237,-6448 }, + { 238,-6448 }, { 239,-6448 }, { 240,-6448 }, { 241,-6448 }, { 242,-6448 }, + { 243,-6448 }, { 244,-6448 }, { 245,-6448 }, { 246,-6448 }, { 247,-6448 }, + { 248,-6448 }, { 249,-6448 }, { 250,-6448 }, { 251,-6448 }, { 252,-6448 }, + + { 253,-6448 }, { 254,-6448 }, { 255,-6448 }, { 256,-6448 }, { 0, 33 }, + { 0,35425 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 33 }, { 0,35402 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,2037 }, { 49,2037 }, + { 50,2037 }, { 51,2037 }, { 52,2037 }, { 53,2037 }, { 54,2037 }, + { 55,2037 }, { 56,2037 }, { 57,2037 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,2037 }, { 66,2037 }, { 67,2037 }, { 68,2037 }, { 69,2037 }, + { 70,2037 }, { 48,-17883 }, { 49,-17883 }, { 50,-17883 }, { 51,-17883 }, + { 52,-17883 }, { 53,-17883 }, { 54,-17883 }, { 55,-17883 }, { 56,-17883 }, + { 57,-17883 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-17883 }, { 66,-17883 }, + { 67,-17883 }, { 68,-17883 }, { 69,-17883 }, { 70,-17883 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 97,2037 }, { 98,2037 }, { 99,2037 }, + { 100,2037 }, { 101,2037 }, { 102,2037 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 97,-17883 }, { 98,-17883 }, { 99,-17883 }, { 100,-17883 }, { 101,-17883 }, + { 102,-17883 }, { 0, 9 }, { 0,35298 }, { 1,-5674 }, { 2,-5674 }, + { 3,-5674 }, { 4,-5674 }, { 5,-5674 }, { 6,-5674 }, { 7,-5674 }, + { 8,-5674 }, { 9,-5416 }, { 10,-5158 }, { 11,-5674 }, { 12,-5416 }, + { 13,-5158 }, { 14,-5674 }, { 15,-5674 }, { 16,-5674 }, { 17,-5674 }, + + { 18,-5674 }, { 19,-5674 }, { 20,-5674 }, { 21,-5674 }, { 22,-5674 }, + { 23,-5674 }, { 24,-5674 }, { 25,-5674 }, { 26,-5674 }, { 27,-5674 }, + { 28,-5674 }, { 29,-5674 }, { 30,-5674 }, { 31,-5674 }, { 32,-5416 }, + { 33,-5674 }, { 34,-5674 }, { 35,-5674 }, { 36,-5674 }, { 37,-5674 }, + { 38,-5674 }, { 39,-5674 }, { 40,-5674 }, { 41,-5674 }, { 42,-5674 }, + { 43,-5674 }, { 44,-5674 }, { 45, 0 }, { 46,-5674 }, { 47,-5674 }, + { 48,-5674 }, { 49,-5674 }, { 50,-5674 }, { 51,-5674 }, { 52,-5674 }, + { 53,-5674 }, { 54,-5674 }, { 55,-5674 }, { 56,-5674 }, { 57,-5674 }, + { 58,-5674 }, { 59,-5674 }, { 60,-5674 }, { 61,-5674 }, { 62,-5674 }, + { 63,-5674 }, { 64,-5674 }, { 65,-5674 }, { 66,-5674 }, { 67,-5674 }, + + { 68,-5674 }, { 69,-5674 }, { 70,-5674 }, { 71,-5674 }, { 72,-5674 }, + { 73,-5674 }, { 74,-5674 }, { 75,-5674 }, { 76,-5674 }, { 77,-5674 }, + { 78,-5674 }, { 79,-5674 }, { 80,-5674 }, { 81,-5674 }, { 82,-5674 }, + { 83,-5674 }, { 84,-5674 }, { 85,-5674 }, { 86,-5674 }, { 87,-5674 }, + { 88,-5674 }, { 89,-5674 }, { 90,-5674 }, { 91,-5674 }, { 92,-5674 }, + { 93,-5674 }, { 94,-5674 }, { 95,-5674 }, { 96,-5674 }, { 97,-5674 }, + { 98,-5674 }, { 99,-5674 }, { 100,-5674 }, { 101,-5674 }, { 102,-5674 }, + { 103,-5674 }, { 104,-5674 }, { 105,-5674 }, { 106,-5674 }, { 107,-5674 }, + { 108,-5674 }, { 109,-5674 }, { 110,-5674 }, { 111,-5674 }, { 112,-5674 }, + { 113,-5674 }, { 114,-5674 }, { 115,-5674 }, { 116,-5674 }, { 117,-5674 }, + + { 118,-5674 }, { 119,-5674 }, { 120,-5674 }, { 121,-5674 }, { 122,-5674 }, + { 123,-5674 }, { 124,-5674 }, { 125,-5674 }, { 126,-5674 }, { 127,-5674 }, + { 128,-5674 }, { 129,-5674 }, { 130,-5674 }, { 131,-5674 }, { 132,-5674 }, + { 133,-5674 }, { 134,-5674 }, { 135,-5674 }, { 136,-5674 }, { 137,-5674 }, + { 138,-5674 }, { 139,-5674 }, { 140,-5674 }, { 141,-5674 }, { 142,-5674 }, + { 143,-5674 }, { 144,-5674 }, { 145,-5674 }, { 146,-5674 }, { 147,-5674 }, + { 148,-5674 }, { 149,-5674 }, { 150,-5674 }, { 151,-5674 }, { 152,-5674 }, + { 153,-5674 }, { 154,-5674 }, { 155,-5674 }, { 156,-5674 }, { 157,-5674 }, + { 158,-5674 }, { 159,-5674 }, { 160,-5674 }, { 161,-5674 }, { 162,-5674 }, + { 163,-5674 }, { 164,-5674 }, { 165,-5674 }, { 166,-5674 }, { 167,-5674 }, + + { 168,-5674 }, { 169,-5674 }, { 170,-5674 }, { 171,-5674 }, { 172,-5674 }, + { 173,-5674 }, { 174,-5674 }, { 175,-5674 }, { 176,-5674 }, { 177,-5674 }, + { 178,-5674 }, { 179,-5674 }, { 180,-5674 }, { 181,-5674 }, { 182,-5674 }, + { 183,-5674 }, { 184,-5674 }, { 185,-5674 }, { 186,-5674 }, { 187,-5674 }, + { 188,-5674 }, { 189,-5674 }, { 190,-5674 }, { 191,-5674 }, { 192,-5674 }, + { 193,-5674 }, { 194,-5674 }, { 195,-5674 }, { 196,-5674 }, { 197,-5674 }, + { 198,-5674 }, { 199,-5674 }, { 200,-5674 }, { 201,-5674 }, { 202,-5674 }, + { 203,-5674 }, { 204,-5674 }, { 205,-5674 }, { 206,-5674 }, { 207,-5674 }, + { 208,-5674 }, { 209,-5674 }, { 210,-5674 }, { 211,-5674 }, { 212,-5674 }, + { 213,-5674 }, { 214,-5674 }, { 215,-5674 }, { 216,-5674 }, { 217,-5674 }, + + { 218,-5674 }, { 219,-5674 }, { 220,-5674 }, { 221,-5674 }, { 222,-5674 }, + { 223,-5674 }, { 224,-5674 }, { 225,-5674 }, { 226,-5674 }, { 227,-5674 }, + { 228,-5674 }, { 229,-5674 }, { 230,-5674 }, { 231,-5674 }, { 232,-5674 }, + { 233,-5674 }, { 234,-5674 }, { 235,-5674 }, { 236,-5674 }, { 237,-5674 }, + { 238,-5674 }, { 239,-5674 }, { 240,-5674 }, { 241,-5674 }, { 242,-5674 }, + { 243,-5674 }, { 244,-5674 }, { 245,-5674 }, { 246,-5674 }, { 247,-5674 }, + { 248,-5674 }, { 249,-5674 }, { 250,-5674 }, { 251,-5674 }, { 252,-5674 }, + { 253,-5674 }, { 254,-5674 }, { 255,-5674 }, { 256,-5674 }, { 0, 16 }, + { 0,35040 }, { 1,-4853 }, { 2,-4853 }, { 3,-4853 }, { 4,-4853 }, + { 5,-4853 }, { 6,-4853 }, { 7,-4853 }, { 8,-4853 }, { 9,-4595 }, + + { 10,-4337 }, { 11,-4853 }, { 12,-4595 }, { 13,-4337 }, { 14,-4853 }, + { 15,-4853 }, { 16,-4853 }, { 17,-4853 }, { 18,-4853 }, { 19,-4853 }, + { 20,-4853 }, { 21,-4853 }, { 22,-4853 }, { 23,-4853 }, { 24,-4853 }, + { 25,-4853 }, { 26,-4853 }, { 27,-4853 }, { 28,-4853 }, { 29,-4853 }, + { 30,-4853 }, { 31,-4853 }, { 32,-4595 }, { 33,-4853 }, { 34,-4853 }, + { 35,-4853 }, { 36,-4853 }, { 37,-4853 }, { 38,-4853 }, { 39,-4853 }, + { 40,-4853 }, { 41,-4853 }, { 42,-4853 }, { 43,-4853 }, { 44,-4853 }, + { 45, 0 }, { 46,-4853 }, { 47,-4853 }, { 48,-4853 }, { 49,-4853 }, + { 50,-4853 }, { 51,-4853 }, { 52,-4853 }, { 53,-4853 }, { 54,-4853 }, + { 55,-4853 }, { 56,-4853 }, { 57,-4853 }, { 58,-4853 }, { 59,-4853 }, + + { 60,-4853 }, { 61,-4853 }, { 62,-4853 }, { 63,-4853 }, { 64,-4853 }, + { 65,-4853 }, { 66,-4853 }, { 67,-4853 }, { 68,-4853 }, { 69,-4853 }, + { 70,-4853 }, { 71,-4853 }, { 72,-4853 }, { 73,-4853 }, { 74,-4853 }, + { 75,-4853 }, { 76,-4853 }, { 77,-4853 }, { 78,-4853 }, { 79,-4853 }, + { 80,-4853 }, { 81,-4853 }, { 82,-4853 }, { 83,-4853 }, { 84,-4853 }, + { 85,-4853 }, { 86,-4853 }, { 87,-4853 }, { 88,-4853 }, { 89,-4853 }, + { 90,-4853 }, { 91,-4853 }, { 92,-4853 }, { 93,-4853 }, { 94,-4853 }, + { 95,-4853 }, { 96,-4853 }, { 97,-4853 }, { 98,-4853 }, { 99,-4853 }, + { 100,-4853 }, { 101,-4853 }, { 102,-4853 }, { 103,-4853 }, { 104,-4853 }, + { 105,-4853 }, { 106,-4853 }, { 107,-4853 }, { 108,-4853 }, { 109,-4853 }, + + { 110,-4853 }, { 111,-4853 }, { 112,-4853 }, { 113,-4853 }, { 114,-4853 }, + { 115,-4853 }, { 116,-4853 }, { 117,-4853 }, { 118,-4853 }, { 119,-4853 }, + { 120,-4853 }, { 121,-4853 }, { 122,-4853 }, { 123,-4853 }, { 124,-4853 }, + { 125,-4853 }, { 126,-4853 }, { 127,-4853 }, { 128,-4853 }, { 129,-4853 }, + { 130,-4853 }, { 131,-4853 }, { 132,-4853 }, { 133,-4853 }, { 134,-4853 }, + { 135,-4853 }, { 136,-4853 }, { 137,-4853 }, { 138,-4853 }, { 139,-4853 }, + { 140,-4853 }, { 141,-4853 }, { 142,-4853 }, { 143,-4853 }, { 144,-4853 }, + { 145,-4853 }, { 146,-4853 }, { 147,-4853 }, { 148,-4853 }, { 149,-4853 }, + { 150,-4853 }, { 151,-4853 }, { 152,-4853 }, { 153,-4853 }, { 154,-4853 }, + { 155,-4853 }, { 156,-4853 }, { 157,-4853 }, { 158,-4853 }, { 159,-4853 }, + + { 160,-4853 }, { 161,-4853 }, { 162,-4853 }, { 163,-4853 }, { 164,-4853 }, + { 165,-4853 }, { 166,-4853 }, { 167,-4853 }, { 168,-4853 }, { 169,-4853 }, + { 170,-4853 }, { 171,-4853 }, { 172,-4853 }, { 173,-4853 }, { 174,-4853 }, + { 175,-4853 }, { 176,-4853 }, { 177,-4853 }, { 178,-4853 }, { 179,-4853 }, + { 180,-4853 }, { 181,-4853 }, { 182,-4853 }, { 183,-4853 }, { 184,-4853 }, + { 185,-4853 }, { 186,-4853 }, { 187,-4853 }, { 188,-4853 }, { 189,-4853 }, + { 190,-4853 }, { 191,-4853 }, { 192,-4853 }, { 193,-4853 }, { 194,-4853 }, + { 195,-4853 }, { 196,-4853 }, { 197,-4853 }, { 198,-4853 }, { 199,-4853 }, + { 200,-4853 }, { 201,-4853 }, { 202,-4853 }, { 203,-4853 }, { 204,-4853 }, + { 205,-4853 }, { 206,-4853 }, { 207,-4853 }, { 208,-4853 }, { 209,-4853 }, + + { 210,-4853 }, { 211,-4853 }, { 212,-4853 }, { 213,-4853 }, { 214,-4853 }, + { 215,-4853 }, { 216,-4853 }, { 217,-4853 }, { 218,-4853 }, { 219,-4853 }, + { 220,-4853 }, { 221,-4853 }, { 222,-4853 }, { 223,-4853 }, { 224,-4853 }, + { 225,-4853 }, { 226,-4853 }, { 227,-4853 }, { 228,-4853 }, { 229,-4853 }, + { 230,-4853 }, { 231,-4853 }, { 232,-4853 }, { 233,-4853 }, { 234,-4853 }, + { 235,-4853 }, { 236,-4853 }, { 237,-4853 }, { 238,-4853 }, { 239,-4853 }, + { 240,-4853 }, { 241,-4853 }, { 242,-4853 }, { 243,-4853 }, { 244,-4853 }, + { 245,-4853 }, { 246,-4853 }, { 247,-4853 }, { 248,-4853 }, { 249,-4853 }, + { 250,-4853 }, { 251,-4853 }, { 252,-4853 }, { 253,-4853 }, { 254,-4853 }, + { 255,-4853 }, { 256,-4853 }, { 0, 22 }, { 0,34782 }, { 1,-4032 }, + + { 2,-4032 }, { 3,-4032 }, { 4,-4032 }, { 5,-4032 }, { 6,-4032 }, + { 7,-4032 }, { 8,-4032 }, { 9,-3774 }, { 10,-3516 }, { 11,-4032 }, + { 12,-3774 }, { 13,-3516 }, { 14,-4032 }, { 15,-4032 }, { 16,-4032 }, + { 17,-4032 }, { 18,-4032 }, { 19,-4032 }, { 20,-4032 }, { 21,-4032 }, + { 22,-4032 }, { 23,-4032 }, { 24,-4032 }, { 25,-4032 }, { 26,-4032 }, + { 27,-4032 }, { 28,-4032 }, { 29,-4032 }, { 30,-4032 }, { 31,-4032 }, + { 32,-3774 }, { 33,-4032 }, { 34,-4032 }, { 35,-4032 }, { 36,-4032 }, + { 37,-4032 }, { 38,-4032 }, { 39,-4032 }, { 40,-4032 }, { 41,-4032 }, + { 42,-4032 }, { 43,-4032 }, { 44,-4032 }, { 45, 0 }, { 46,-4032 }, + { 47,-4032 }, { 48,-4032 }, { 49,-4032 }, { 50,-4032 }, { 51,-4032 }, + + { 52,-4032 }, { 53,-4032 }, { 54,-4032 }, { 55,-4032 }, { 56,-4032 }, + { 57,-4032 }, { 58,-4032 }, { 59,-4032 }, { 60,-4032 }, { 61,-4032 }, + { 62,-4032 }, { 63,-4032 }, { 64,-4032 }, { 65,-4032 }, { 66,-4032 }, + { 67,-4032 }, { 68,-4032 }, { 69,-4032 }, { 70,-4032 }, { 71,-4032 }, + { 72,-4032 }, { 73,-4032 }, { 74,-4032 }, { 75,-4032 }, { 76,-4032 }, + { 77,-4032 }, { 78,-4032 }, { 79,-4032 }, { 80,-4032 }, { 81,-4032 }, + { 82,-4032 }, { 83,-4032 }, { 84,-4032 }, { 85,-4032 }, { 86,-4032 }, + { 87,-4032 }, { 88,-4032 }, { 89,-4032 }, { 90,-4032 }, { 91,-4032 }, + { 92,-4032 }, { 93,-4032 }, { 94,-4032 }, { 95,-4032 }, { 96,-4032 }, + { 97,-4032 }, { 98,-4032 }, { 99,-4032 }, { 100,-4032 }, { 101,-4032 }, + + { 102,-4032 }, { 103,-4032 }, { 104,-4032 }, { 105,-4032 }, { 106,-4032 }, + { 107,-4032 }, { 108,-4032 }, { 109,-4032 }, { 110,-4032 }, { 111,-4032 }, + { 112,-4032 }, { 113,-4032 }, { 114,-4032 }, { 115,-4032 }, { 116,-4032 }, + { 117,-4032 }, { 118,-4032 }, { 119,-4032 }, { 120,-4032 }, { 121,-4032 }, + { 122,-4032 }, { 123,-4032 }, { 124,-4032 }, { 125,-4032 }, { 126,-4032 }, + { 127,-4032 }, { 128,-4032 }, { 129,-4032 }, { 130,-4032 }, { 131,-4032 }, + { 132,-4032 }, { 133,-4032 }, { 134,-4032 }, { 135,-4032 }, { 136,-4032 }, + { 137,-4032 }, { 138,-4032 }, { 139,-4032 }, { 140,-4032 }, { 141,-4032 }, + { 142,-4032 }, { 143,-4032 }, { 144,-4032 }, { 145,-4032 }, { 146,-4032 }, + { 147,-4032 }, { 148,-4032 }, { 149,-4032 }, { 150,-4032 }, { 151,-4032 }, + + { 152,-4032 }, { 153,-4032 }, { 154,-4032 }, { 155,-4032 }, { 156,-4032 }, + { 157,-4032 }, { 158,-4032 }, { 159,-4032 }, { 160,-4032 }, { 161,-4032 }, + { 162,-4032 }, { 163,-4032 }, { 164,-4032 }, { 165,-4032 }, { 166,-4032 }, + { 167,-4032 }, { 168,-4032 }, { 169,-4032 }, { 170,-4032 }, { 171,-4032 }, + { 172,-4032 }, { 173,-4032 }, { 174,-4032 }, { 175,-4032 }, { 176,-4032 }, + { 177,-4032 }, { 178,-4032 }, { 179,-4032 }, { 180,-4032 }, { 181,-4032 }, + { 182,-4032 }, { 183,-4032 }, { 184,-4032 }, { 185,-4032 }, { 186,-4032 }, + { 187,-4032 }, { 188,-4032 }, { 189,-4032 }, { 190,-4032 }, { 191,-4032 }, + { 192,-4032 }, { 193,-4032 }, { 194,-4032 }, { 195,-4032 }, { 196,-4032 }, + { 197,-4032 }, { 198,-4032 }, { 199,-4032 }, { 200,-4032 }, { 201,-4032 }, + + { 202,-4032 }, { 203,-4032 }, { 204,-4032 }, { 205,-4032 }, { 206,-4032 }, + { 207,-4032 }, { 208,-4032 }, { 209,-4032 }, { 210,-4032 }, { 211,-4032 }, + { 212,-4032 }, { 213,-4032 }, { 214,-4032 }, { 215,-4032 }, { 216,-4032 }, + { 217,-4032 }, { 218,-4032 }, { 219,-4032 }, { 220,-4032 }, { 221,-4032 }, + { 222,-4032 }, { 223,-4032 }, { 224,-4032 }, { 225,-4032 }, { 226,-4032 }, + { 227,-4032 }, { 228,-4032 }, { 229,-4032 }, { 230,-4032 }, { 231,-4032 }, + { 232,-4032 }, { 233,-4032 }, { 234,-4032 }, { 235,-4032 }, { 236,-4032 }, + { 237,-4032 }, { 238,-4032 }, { 239,-4032 }, { 240,-4032 }, { 241,-4032 }, + { 242,-4032 }, { 243,-4032 }, { 244,-4032 }, { 245,-4032 }, { 246,-4032 }, + { 247,-4032 }, { 248,-4032 }, { 249,-4032 }, { 250,-4032 }, { 251,-4032 }, + + { 252,-4032 }, { 253,-4032 }, { 254,-4032 }, { 255,-4032 }, { 256,-4032 }, + { 0, 33 }, { 0,34524 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,1159 }, + { 49,1159 }, { 50,1159 }, { 51,1159 }, { 52,1159 }, { 53,1159 }, + { 54,1159 }, { 55,1159 }, { 56,1159 }, { 57,1159 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,1159 }, { 66,1159 }, { 67,1159 }, { 68,1159 }, + { 69,1159 }, { 70,1159 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,1159 }, { 98,1159 }, + { 99,1159 }, { 100,1159 }, { 101,1159 }, { 102,1159 }, { 0, 48 }, + { 0,34420 }, { 1,-9001 }, { 2,-9001 }, { 3,-9001 }, { 4,-9001 }, + { 5,-9001 }, { 6,-9001 }, { 7,-9001 }, { 8,-9001 }, { 9,-8743 }, + { 10,-15387 }, { 11,-9001 }, { 12,-8743 }, { 13,-15387 }, { 14,-9001 }, + { 15,-9001 }, { 16,-9001 }, { 17,-9001 }, { 18,-9001 }, { 19,-9001 }, + { 20,-9001 }, { 21,-9001 }, { 22,-9001 }, { 23,-9001 }, { 24,-9001 }, + { 25,-9001 }, { 26,-9001 }, { 27,-9001 }, { 28,-9001 }, { 29,-9001 }, + { 30,-9001 }, { 31,-9001 }, { 32,-8743 }, { 33,-9001 }, { 34,-9001 }, + { 35,-9001 }, { 36,-9001 }, { 37,-9001 }, { 38,-9001 }, { 39,-9001 }, + + { 40,-9001 }, { 41,-9001 }, { 42,-9001 }, { 43,-9001 }, { 44,-9001 }, + { 45,-8485 }, { 46,-9001 }, { 47,-9001 }, { 48,-9001 }, { 49,-9001 }, + { 50,-9001 }, { 51,-9001 }, { 52,-9001 }, { 53,-9001 }, { 54,-9001 }, + { 55,-9001 }, { 56,-9001 }, { 57,-9001 }, { 58,-9001 }, { 59,-9001 }, + { 60,-9001 }, { 61,-9001 }, { 62,-9001 }, { 63,-9001 }, { 64,-9001 }, + { 65,-9001 }, { 66,-9001 }, { 67,1159 }, { 68,-9001 }, { 69,-9001 }, + { 70,-9001 }, { 71,-9001 }, { 72,-9001 }, { 73,-9001 }, { 74,-9001 }, + { 75,-9001 }, { 76,-9001 }, { 77,-9001 }, { 78,-9001 }, { 79,-9001 }, + { 80,-9001 }, { 81,-9001 }, { 82,-9001 }, { 83,-9001 }, { 84,-9001 }, + { 85,-8227 }, { 86,-9001 }, { 87,-9001 }, { 88,-9001 }, { 89,-9001 }, + + { 90,-9001 }, { 91,-9001 }, { 92,-9001 }, { 93,-9001 }, { 94,-9001 }, + { 95,-9001 }, { 96,-9001 }, { 97,-9001 }, { 98,-9001 }, { 99,1159 }, + { 100,-9001 }, { 101,-9001 }, { 102,-9001 }, { 103,-9001 }, { 104,-9001 }, + { 105,-9001 }, { 106,-9001 }, { 107,-9001 }, { 108,-9001 }, { 109,-9001 }, + { 110,-9001 }, { 111,-9001 }, { 112,-9001 }, { 113,-9001 }, { 114,-9001 }, + { 115,-9001 }, { 116,-9001 }, { 117,-8227 }, { 118,-9001 }, { 119,-9001 }, + { 120,-9001 }, { 121,-9001 }, { 122,-9001 }, { 123,-9001 }, { 124,-9001 }, + { 125,-9001 }, { 126,-9001 }, { 127,-9001 }, { 128,-9001 }, { 129,-9001 }, + { 130,-9001 }, { 131,-9001 }, { 132,-9001 }, { 133,-9001 }, { 134,-9001 }, + { 135,-9001 }, { 136,-9001 }, { 137,-9001 }, { 138,-9001 }, { 139,-9001 }, + + { 140,-9001 }, { 141,-9001 }, { 142,-9001 }, { 143,-9001 }, { 144,-9001 }, + { 145,-9001 }, { 146,-9001 }, { 147,-9001 }, { 148,-9001 }, { 149,-9001 }, + { 150,-9001 }, { 151,-9001 }, { 152,-9001 }, { 153,-9001 }, { 154,-9001 }, + { 155,-9001 }, { 156,-9001 }, { 157,-9001 }, { 158,-9001 }, { 159,-9001 }, + { 160,-9001 }, { 161,-9001 }, { 162,-9001 }, { 163,-9001 }, { 164,-9001 }, + { 165,-9001 }, { 166,-9001 }, { 167,-9001 }, { 168,-9001 }, { 169,-9001 }, + { 170,-9001 }, { 171,-9001 }, { 172,-9001 }, { 173,-9001 }, { 174,-9001 }, + { 175,-9001 }, { 176,-9001 }, { 177,-9001 }, { 178,-9001 }, { 179,-9001 }, + { 180,-9001 }, { 181,-9001 }, { 182,-9001 }, { 183,-9001 }, { 184,-9001 }, + { 185,-9001 }, { 186,-9001 }, { 187,-9001 }, { 188,-9001 }, { 189,-9001 }, + + { 190,-9001 }, { 191,-9001 }, { 192,-9001 }, { 193,-9001 }, { 194,-9001 }, + { 195,-9001 }, { 196,-9001 }, { 197,-9001 }, { 198,-9001 }, { 199,-9001 }, + { 200,-9001 }, { 201,-9001 }, { 202,-9001 }, { 203,-9001 }, { 204,-9001 }, + { 205,-9001 }, { 206,-9001 }, { 207,-9001 }, { 208,-9001 }, { 209,-9001 }, + { 210,-9001 }, { 211,-9001 }, { 212,-9001 }, { 213,-9001 }, { 214,-9001 }, + { 215,-9001 }, { 216,-9001 }, { 217,-9001 }, { 218,-9001 }, { 219,-9001 }, + { 220,-9001 }, { 221,-9001 }, { 222,-9001 }, { 223,-9001 }, { 224,-9001 }, + { 225,-9001 }, { 226,-9001 }, { 227,-9001 }, { 228,-9001 }, { 229,-9001 }, + { 230,-9001 }, { 231,-9001 }, { 232,-9001 }, { 233,-9001 }, { 234,-9001 }, + { 235,-9001 }, { 236,-9001 }, { 237,-9001 }, { 238,-9001 }, { 239,-9001 }, + + { 240,-9001 }, { 241,-9001 }, { 242,-9001 }, { 243,-9001 }, { 244,-9001 }, + { 245,-9001 }, { 246,-9001 }, { 247,-9001 }, { 248,-9001 }, { 249,-9001 }, + { 250,-9001 }, { 251,-9001 }, { 252,-9001 }, { 253,-9001 }, { 254,-9001 }, + { 255,-9001 }, { 256,-9001 }, { 0, 24 }, { 0,34162 }, { 1,-2930 }, + { 2,-2930 }, { 3,-2930 }, { 4,-2930 }, { 5,-2930 }, { 6,-2930 }, + { 7,-2930 }, { 8,-2930 }, { 9,-2672 }, { 10,-2414 }, { 11,-2930 }, + { 12,-2672 }, { 13,-2414 }, { 14,-2930 }, { 15,-2930 }, { 16,-2930 }, + { 17,-2930 }, { 18,-2930 }, { 19,-2930 }, { 20,-2930 }, { 21,-2930 }, + { 22,-2930 }, { 23,-2930 }, { 24,-2930 }, { 25,-2930 }, { 26,-2930 }, + { 27,-2930 }, { 28,-2930 }, { 29,-2930 }, { 30,-2930 }, { 31,-2930 }, + + { 32,-2672 }, { 33,-2930 }, { 34,-2930 }, { 35,-2930 }, { 36,-2930 }, + { 37,-2930 }, { 38,-2930 }, { 39,-2930 }, { 40,-2930 }, { 41,-2930 }, + { 42,-2930 }, { 43,-2930 }, { 44,-2930 }, { 45, 0 }, { 46,-2930 }, + { 47,-2930 }, { 48,-2930 }, { 49,-2930 }, { 50,-2930 }, { 51,-2930 }, + { 52,-2930 }, { 53,-2930 }, { 54,-2930 }, { 55,-2930 }, { 56,-2930 }, + { 57,-2930 }, { 58,-2930 }, { 59,-2930 }, { 60,-2930 }, { 61,-2930 }, + { 62,-2930 }, { 63,-2930 }, { 64,-2930 }, { 65,-2930 }, { 66,-2930 }, + { 67,-2930 }, { 68,-2930 }, { 69,-2930 }, { 70,-2930 }, { 71,-2930 }, + { 72,-2930 }, { 73,-2930 }, { 74,-2930 }, { 75,-2930 }, { 76,-2930 }, + { 77,-2930 }, { 78,-2930 }, { 79,-2930 }, { 80,-2930 }, { 81,-2930 }, + + { 82,-2930 }, { 83,-2930 }, { 84,-2930 }, { 85,-2037 }, { 86,-2930 }, + { 87,-2930 }, { 88,-2930 }, { 89,-2930 }, { 90,-2930 }, { 91,-2930 }, + { 92,-2930 }, { 93,-2930 }, { 94,-2930 }, { 95,-2930 }, { 96,-2930 }, + { 97,-2930 }, { 98,-2930 }, { 99,-2930 }, { 100,-2930 }, { 101,-2930 }, + { 102,-2930 }, { 103,-2930 }, { 104,-2930 }, { 105,-2930 }, { 106,-2930 }, + { 107,-2930 }, { 108,-2930 }, { 109,-2930 }, { 110,-2930 }, { 111,-2930 }, + { 112,-2930 }, { 113,-2930 }, { 114,-2930 }, { 115,-2930 }, { 116,-2930 }, + { 117,-2037 }, { 118,-2930 }, { 119,-2930 }, { 120,-2930 }, { 121,-2930 }, + { 122,-2930 }, { 123,-2930 }, { 124,-2930 }, { 125,-2930 }, { 126,-2930 }, + { 127,-2930 }, { 128,-2930 }, { 129,-2930 }, { 130,-2930 }, { 131,-2930 }, + + { 132,-2930 }, { 133,-2930 }, { 134,-2930 }, { 135,-2930 }, { 136,-2930 }, + { 137,-2930 }, { 138,-2930 }, { 139,-2930 }, { 140,-2930 }, { 141,-2930 }, + { 142,-2930 }, { 143,-2930 }, { 144,-2930 }, { 145,-2930 }, { 146,-2930 }, + { 147,-2930 }, { 148,-2930 }, { 149,-2930 }, { 150,-2930 }, { 151,-2930 }, + { 152,-2930 }, { 153,-2930 }, { 154,-2930 }, { 155,-2930 }, { 156,-2930 }, + { 157,-2930 }, { 158,-2930 }, { 159,-2930 }, { 160,-2930 }, { 161,-2930 }, + { 162,-2930 }, { 163,-2930 }, { 164,-2930 }, { 165,-2930 }, { 166,-2930 }, + { 167,-2930 }, { 168,-2930 }, { 169,-2930 }, { 170,-2930 }, { 171,-2930 }, + { 172,-2930 }, { 173,-2930 }, { 174,-2930 }, { 175,-2930 }, { 176,-2930 }, + { 177,-2930 }, { 178,-2930 }, { 179,-2930 }, { 180,-2930 }, { 181,-2930 }, + + { 182,-2930 }, { 183,-2930 }, { 184,-2930 }, { 185,-2930 }, { 186,-2930 }, + { 187,-2930 }, { 188,-2930 }, { 189,-2930 }, { 190,-2930 }, { 191,-2930 }, + { 192,-2930 }, { 193,-2930 }, { 194,-2930 }, { 195,-2930 }, { 196,-2930 }, + { 197,-2930 }, { 198,-2930 }, { 199,-2930 }, { 200,-2930 }, { 201,-2930 }, + { 202,-2930 }, { 203,-2930 }, { 204,-2930 }, { 205,-2930 }, { 206,-2930 }, + { 207,-2930 }, { 208,-2930 }, { 209,-2930 }, { 210,-2930 }, { 211,-2930 }, + { 212,-2930 }, { 213,-2930 }, { 214,-2930 }, { 215,-2930 }, { 216,-2930 }, + { 217,-2930 }, { 218,-2930 }, { 219,-2930 }, { 220,-2930 }, { 221,-2930 }, + { 222,-2930 }, { 223,-2930 }, { 224,-2930 }, { 225,-2930 }, { 226,-2930 }, + { 227,-2930 }, { 228,-2930 }, { 229,-2930 }, { 230,-2930 }, { 231,-2930 }, + + { 232,-2930 }, { 233,-2930 }, { 234,-2930 }, { 235,-2930 }, { 236,-2930 }, + { 237,-2930 }, { 238,-2930 }, { 239,-2930 }, { 240,-2930 }, { 241,-2930 }, + { 242,-2930 }, { 243,-2930 }, { 244,-2930 }, { 245,-2930 }, { 246,-2930 }, + { 247,-2930 }, { 248,-2930 }, { 249,-2930 }, { 250,-2930 }, { 251,-2930 }, + { 252,-2930 }, { 253,-2930 }, { 254,-2930 }, { 255,-2930 }, { 256,-2930 }, + { 0, 24 }, { 0,33904 }, { 1,-3188 }, { 2,-3188 }, { 3,-3188 }, + { 4,-3188 }, { 5,-3188 }, { 6,-3188 }, { 7,-3188 }, { 8,-3188 }, + { 9,-2930 }, { 10,-2672 }, { 11,-3188 }, { 12,-2930 }, { 13,-2672 }, + { 14,-3188 }, { 15,-3188 }, { 16,-3188 }, { 17,-3188 }, { 18,-3188 }, + { 19,-3188 }, { 20,-3188 }, { 21,-3188 }, { 22,-3188 }, { 23,-3188 }, + + { 24,-3188 }, { 25,-3188 }, { 26,-3188 }, { 27,-3188 }, { 28,-3188 }, + { 29,-3188 }, { 30,-3188 }, { 31,-3188 }, { 32,-2930 }, { 33,-3188 }, + { 34,-3188 }, { 35,-3188 }, { 36,-3188 }, { 37,-3188 }, { 38,-3188 }, + { 39,-3188 }, { 40,-3188 }, { 41,-3188 }, { 42,-3188 }, { 43,-3188 }, + { 44,-3188 }, { 45,-2553 }, { 46,-3188 }, { 47,-3188 }, { 48,-3188 }, + { 49,-3188 }, { 50,-3188 }, { 51,-3188 }, { 52,-3188 }, { 53,-3188 }, + { 54,-3188 }, { 55,-3188 }, { 56,-3188 }, { 57,-3188 }, { 58,-3188 }, + { 59,-3188 }, { 60,-3188 }, { 61,-3188 }, { 62,-3188 }, { 63,-3188 }, + { 64,-3188 }, { 65,-3188 }, { 66,-3188 }, { 67,-3188 }, { 68,-3188 }, + { 69,-3188 }, { 70,-3188 }, { 71,-3188 }, { 72,-3188 }, { 73,-3188 }, + + { 74,-3188 }, { 75,-3188 }, { 76,-3188 }, { 77,-3188 }, { 78,-3188 }, + { 79,-3188 }, { 80,-3188 }, { 81,-3188 }, { 82,-3188 }, { 83, 901 }, + { 84,-3188 }, { 85,-2295 }, { 86,-3188 }, { 87,-3188 }, { 88,-3188 }, + { 89,-3188 }, { 90,-3188 }, { 91,-3188 }, { 92,-3188 }, { 93,-3188 }, + { 94,-3188 }, { 95,-3188 }, { 96,-3188 }, { 97,-3188 }, { 98,-3188 }, + { 99,-3188 }, { 100,-3188 }, { 101,-3188 }, { 102,-3188 }, { 103,-3188 }, + { 104,-3188 }, { 105,-3188 }, { 106,-3188 }, { 107,-3188 }, { 108,-3188 }, + { 109,-3188 }, { 110,-3188 }, { 111,-3188 }, { 112,-3188 }, { 113,-3188 }, + { 114,-3188 }, { 115, 901 }, { 116,-3188 }, { 117,-2295 }, { 118,-3188 }, + { 119,-3188 }, { 120,-3188 }, { 121,-3188 }, { 122,-3188 }, { 123,-3188 }, + + { 124,-3188 }, { 125,-3188 }, { 126,-3188 }, { 127,-3188 }, { 128,-3188 }, + { 129,-3188 }, { 130,-3188 }, { 131,-3188 }, { 132,-3188 }, { 133,-3188 }, + { 134,-3188 }, { 135,-3188 }, { 136,-3188 }, { 137,-3188 }, { 138,-3188 }, + { 139,-3188 }, { 140,-3188 }, { 141,-3188 }, { 142,-3188 }, { 143,-3188 }, + { 144,-3188 }, { 145,-3188 }, { 146,-3188 }, { 147,-3188 }, { 148,-3188 }, + { 149,-3188 }, { 150,-3188 }, { 151,-3188 }, { 152,-3188 }, { 153,-3188 }, + { 154,-3188 }, { 155,-3188 }, { 156,-3188 }, { 157,-3188 }, { 158,-3188 }, + { 159,-3188 }, { 160,-3188 }, { 161,-3188 }, { 162,-3188 }, { 163,-3188 }, + { 164,-3188 }, { 165,-3188 }, { 166,-3188 }, { 167,-3188 }, { 168,-3188 }, + { 169,-3188 }, { 170,-3188 }, { 171,-3188 }, { 172,-3188 }, { 173,-3188 }, + + { 174,-3188 }, { 175,-3188 }, { 176,-3188 }, { 177,-3188 }, { 178,-3188 }, + { 179,-3188 }, { 180,-3188 }, { 181,-3188 }, { 182,-3188 }, { 183,-3188 }, + { 184,-3188 }, { 185,-3188 }, { 186,-3188 }, { 187,-3188 }, { 188,-3188 }, + { 189,-3188 }, { 190,-3188 }, { 191,-3188 }, { 192,-3188 }, { 193,-3188 }, + { 194,-3188 }, { 195,-3188 }, { 196,-3188 }, { 197,-3188 }, { 198,-3188 }, + { 199,-3188 }, { 200,-3188 }, { 201,-3188 }, { 202,-3188 }, { 203,-3188 }, + { 204,-3188 }, { 205,-3188 }, { 206,-3188 }, { 207,-3188 }, { 208,-3188 }, + { 209,-3188 }, { 210,-3188 }, { 211,-3188 }, { 212,-3188 }, { 213,-3188 }, + { 214,-3188 }, { 215,-3188 }, { 216,-3188 }, { 217,-3188 }, { 218,-3188 }, + { 219,-3188 }, { 220,-3188 }, { 221,-3188 }, { 222,-3188 }, { 223,-3188 }, + + { 224,-3188 }, { 225,-3188 }, { 226,-3188 }, { 227,-3188 }, { 228,-3188 }, + { 229,-3188 }, { 230,-3188 }, { 231,-3188 }, { 232,-3188 }, { 233,-3188 }, + { 234,-3188 }, { 235,-3188 }, { 236,-3188 }, { 237,-3188 }, { 238,-3188 }, + { 239,-3188 }, { 240,-3188 }, { 241,-3188 }, { 242,-3188 }, { 243,-3188 }, + { 244,-3188 }, { 245,-3188 }, { 246,-3188 }, { 247,-3188 }, { 248,-3188 }, + { 249,-3188 }, { 250,-3188 }, { 251,-3188 }, { 252,-3188 }, { 253,-3188 }, + { 254,-3188 }, { 255,-3188 }, { 256,-3188 }, { 0, 24 }, { 0,33646 }, + { 1,-8485 }, { 2,-8485 }, { 3,-8485 }, { 4,-8485 }, { 5,-8485 }, + { 6,-8485 }, { 7,-8485 }, { 8,-8485 }, { 9,-8227 }, { 10,-16140 }, + { 11,-8485 }, { 12,-8227 }, { 13,-16140 }, { 14,-8485 }, { 15,-8485 }, + + { 16,-8485 }, { 17,-8485 }, { 18,-8485 }, { 19,-8485 }, { 20,-8485 }, + { 21,-8485 }, { 22,-8485 }, { 23,-8485 }, { 24,-8485 }, { 25,-8485 }, + { 26,-8485 }, { 27,-8485 }, { 28,-8485 }, { 29,-8485 }, { 30,-8485 }, + { 31,-8485 }, { 32,-8227 }, { 33,-8485 }, { 34,-8485 }, { 35,-8485 }, + { 36,-8485 }, { 37,-8485 }, { 38,-8485 }, { 39,-8485 }, { 40,-8485 }, + { 41,-8485 }, { 42,-8485 }, { 43,-8485 }, { 44,-8485 }, { 45,-7969 }, + { 46,-8485 }, { 47,-8485 }, { 48,-8485 }, { 49,-8485 }, { 50,-8485 }, + { 51,-8485 }, { 52,-8485 }, { 53,-8485 }, { 54,-8485 }, { 55,-8485 }, + { 56,-8485 }, { 57,-8485 }, { 58,-8485 }, { 59,-8485 }, { 60,-8485 }, + { 61,-8485 }, { 62,-8485 }, { 63,-8485 }, { 64,-8485 }, { 65,-8485 }, + + { 66,-8485 }, { 67, 901 }, { 68,-8485 }, { 69,-8485 }, { 70,-8485 }, + { 71,-8485 }, { 72,-8485 }, { 73,-8485 }, { 74,-8485 }, { 75,-8485 }, + { 76,-8485 }, { 77,-8485 }, { 78,-8485 }, { 79,-8485 }, { 80,-8485 }, + { 81,-8485 }, { 82,-8485 }, { 83,-8485 }, { 84,-8485 }, { 85,-7711 }, + { 86,-8485 }, { 87,-8485 }, { 88,-8485 }, { 89,-8485 }, { 90,-8485 }, + { 91,-8485 }, { 92,-8485 }, { 93,-8485 }, { 94,-8485 }, { 95,-8485 }, + { 96,-8485 }, { 97,-8485 }, { 98,-8485 }, { 99, 901 }, { 100,-8485 }, + { 101,-8485 }, { 102,-8485 }, { 103,-8485 }, { 104,-8485 }, { 105,-8485 }, + { 106,-8485 }, { 107,-8485 }, { 108,-8485 }, { 109,-8485 }, { 110,-8485 }, + { 111,-8485 }, { 112,-8485 }, { 113,-8485 }, { 114,-8485 }, { 115,-8485 }, + + { 116,-8485 }, { 117,-7711 }, { 118,-8485 }, { 119,-8485 }, { 120,-8485 }, + { 121,-8485 }, { 122,-8485 }, { 123,-8485 }, { 124,-8485 }, { 125,-8485 }, + { 126,-8485 }, { 127,-8485 }, { 128,-8485 }, { 129,-8485 }, { 130,-8485 }, + { 131,-8485 }, { 132,-8485 }, { 133,-8485 }, { 134,-8485 }, { 135,-8485 }, + { 136,-8485 }, { 137,-8485 }, { 138,-8485 }, { 139,-8485 }, { 140,-8485 }, + { 141,-8485 }, { 142,-8485 }, { 143,-8485 }, { 144,-8485 }, { 145,-8485 }, + { 146,-8485 }, { 147,-8485 }, { 148,-8485 }, { 149,-8485 }, { 150,-8485 }, + { 151,-8485 }, { 152,-8485 }, { 153,-8485 }, { 154,-8485 }, { 155,-8485 }, + { 156,-8485 }, { 157,-8485 }, { 158,-8485 }, { 159,-8485 }, { 160,-8485 }, + { 161,-8485 }, { 162,-8485 }, { 163,-8485 }, { 164,-8485 }, { 165,-8485 }, + + { 166,-8485 }, { 167,-8485 }, { 168,-8485 }, { 169,-8485 }, { 170,-8485 }, + { 171,-8485 }, { 172,-8485 }, { 173,-8485 }, { 174,-8485 }, { 175,-8485 }, + { 176,-8485 }, { 177,-8485 }, { 178,-8485 }, { 179,-8485 }, { 180,-8485 }, + { 181,-8485 }, { 182,-8485 }, { 183,-8485 }, { 184,-8485 }, { 185,-8485 }, + { 186,-8485 }, { 187,-8485 }, { 188,-8485 }, { 189,-8485 }, { 190,-8485 }, + { 191,-8485 }, { 192,-8485 }, { 193,-8485 }, { 194,-8485 }, { 195,-8485 }, + { 196,-8485 }, { 197,-8485 }, { 198,-8485 }, { 199,-8485 }, { 200,-8485 }, + { 201,-8485 }, { 202,-8485 }, { 203,-8485 }, { 204,-8485 }, { 205,-8485 }, + { 206,-8485 }, { 207,-8485 }, { 208,-8485 }, { 209,-8485 }, { 210,-8485 }, + { 211,-8485 }, { 212,-8485 }, { 213,-8485 }, { 214,-8485 }, { 215,-8485 }, + + { 216,-8485 }, { 217,-8485 }, { 218,-8485 }, { 219,-8485 }, { 220,-8485 }, + { 221,-8485 }, { 222,-8485 }, { 223,-8485 }, { 224,-8485 }, { 225,-8485 }, + { 226,-8485 }, { 227,-8485 }, { 228,-8485 }, { 229,-8485 }, { 230,-8485 }, + { 231,-8485 }, { 232,-8485 }, { 233,-8485 }, { 234,-8485 }, { 235,-8485 }, + { 236,-8485 }, { 237,-8485 }, { 238,-8485 }, { 239,-8485 }, { 240,-8485 }, + { 241,-8485 }, { 242,-8485 }, { 243,-8485 }, { 244,-8485 }, { 245,-8485 }, + { 246,-8485 }, { 247,-8485 }, { 248,-8485 }, { 249,-8485 }, { 250,-8485 }, + { 251,-8485 }, { 252,-8485 }, { 253,-8485 }, { 254,-8485 }, { 255,-8485 }, + { 256,-8485 }, { 0, 33 }, { 0,33388 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 33 }, + { 0,33365 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48, 901 }, { 49, 901 }, { 50, 901 }, { 51, 901 }, { 52, 901 }, + { 53, 901 }, { 54, 901 }, { 55, 901 }, { 56, 901 }, { 57, 901 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65, 901 }, { 66, 901 }, { 67, 901 }, + { 68, 901 }, { 69, 901 }, { 70, 901 }, { 48, 901 }, { 49, 901 }, + { 50, 901 }, { 51, 901 }, { 52, 901 }, { 53, 901 }, { 54, 901 }, + { 55, 901 }, { 56, 901 }, { 57, 901 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65, 901 }, { 66, 901 }, { 67, 901 }, { 68, 901 }, { 69, 901 }, + { 70, 901 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97, 901 }, + { 98, 901 }, { 99, 901 }, { 100, 901 }, { 101, 901 }, { 102, 901 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 97, 901 }, { 98, 901 }, { 99, 901 }, + { 100, 901 }, { 101, 901 }, { 102, 901 }, { 0, 48 }, { 0,33261 }, + { 1,-10160 }, { 2,-10160 }, { 3,-10160 }, { 4,-10160 }, { 5,-10160 }, + { 6,-10160 }, { 7,-10160 }, { 8,-10160 }, { 9,-9902 }, { 10,-16546 }, + { 11,-10160 }, { 12,-9902 }, { 13,-16546 }, { 14,-10160 }, { 15,-10160 }, + { 16,-10160 }, { 17,-10160 }, { 18,-10160 }, { 19,-10160 }, { 20,-10160 }, + { 21,-10160 }, { 22,-10160 }, { 23,-10160 }, { 24,-10160 }, { 25,-10160 }, + { 26,-10160 }, { 27,-10160 }, { 28,-10160 }, { 29,-10160 }, { 30,-10160 }, + + { 31,-10160 }, { 32,-9902 }, { 33,-10160 }, { 34,-10160 }, { 35,-10160 }, + { 36,-10160 }, { 37,-10160 }, { 38,-10160 }, { 39,-10160 }, { 40,-10160 }, + { 41,-10160 }, { 42,-10160 }, { 43,-10160 }, { 44,-10160 }, { 45,-9644 }, + { 46,-10160 }, { 47,-10160 }, { 48,-10160 }, { 49,-10160 }, { 50,-10160 }, + { 51,-10160 }, { 52,-10160 }, { 53,-10160 }, { 54,-10160 }, { 55,-10160 }, + { 56,-10160 }, { 57,-10160 }, { 58,-10160 }, { 59,-10160 }, { 60,-10160 }, + { 61,-10160 }, { 62,-10160 }, { 63,-10160 }, { 64,-10160 }, { 65, 901 }, + { 66,-10160 }, { 67,-10160 }, { 68,-10160 }, { 69,-10160 }, { 70,-10160 }, + { 71,-10160 }, { 72,-10160 }, { 73,-10160 }, { 74,-10160 }, { 75,-10160 }, + { 76,-10160 }, { 77,-10160 }, { 78,-10160 }, { 79,-10160 }, { 80,-10160 }, + + { 81,-10160 }, { 82,-10160 }, { 83,-10160 }, { 84,-10160 }, { 85,-9386 }, + { 86,-10160 }, { 87,-10160 }, { 88,-10160 }, { 89,-10160 }, { 90,-10160 }, + { 91,-10160 }, { 92,-10160 }, { 93,-10160 }, { 94,-10160 }, { 95,-10160 }, + { 96,-10160 }, { 97, 901 }, { 98,-10160 }, { 99,-10160 }, { 100,-10160 }, + { 101,-10160 }, { 102,-10160 }, { 103,-10160 }, { 104,-10160 }, { 105,-10160 }, + { 106,-10160 }, { 107,-10160 }, { 108,-10160 }, { 109,-10160 }, { 110,-10160 }, + { 111,-10160 }, { 112,-10160 }, { 113,-10160 }, { 114,-10160 }, { 115,-10160 }, + { 116,-10160 }, { 117,-9386 }, { 118,-10160 }, { 119,-10160 }, { 120,-10160 }, + { 121,-10160 }, { 122,-10160 }, { 123,-10160 }, { 124,-10160 }, { 125,-10160 }, + { 126,-10160 }, { 127,-10160 }, { 128,-10160 }, { 129,-10160 }, { 130,-10160 }, + + { 131,-10160 }, { 132,-10160 }, { 133,-10160 }, { 134,-10160 }, { 135,-10160 }, + { 136,-10160 }, { 137,-10160 }, { 138,-10160 }, { 139,-10160 }, { 140,-10160 }, + { 141,-10160 }, { 142,-10160 }, { 143,-10160 }, { 144,-10160 }, { 145,-10160 }, + { 146,-10160 }, { 147,-10160 }, { 148,-10160 }, { 149,-10160 }, { 150,-10160 }, + { 151,-10160 }, { 152,-10160 }, { 153,-10160 }, { 154,-10160 }, { 155,-10160 }, + { 156,-10160 }, { 157,-10160 }, { 158,-10160 }, { 159,-10160 }, { 160,-10160 }, + { 161,-10160 }, { 162,-10160 }, { 163,-10160 }, { 164,-10160 }, { 165,-10160 }, + { 166,-10160 }, { 167,-10160 }, { 168,-10160 }, { 169,-10160 }, { 170,-10160 }, + { 171,-10160 }, { 172,-10160 }, { 173,-10160 }, { 174,-10160 }, { 175,-10160 }, + { 176,-10160 }, { 177,-10160 }, { 178,-10160 }, { 179,-10160 }, { 180,-10160 }, + + { 181,-10160 }, { 182,-10160 }, { 183,-10160 }, { 184,-10160 }, { 185,-10160 }, + { 186,-10160 }, { 187,-10160 }, { 188,-10160 }, { 189,-10160 }, { 190,-10160 }, + { 191,-10160 }, { 192,-10160 }, { 193,-10160 }, { 194,-10160 }, { 195,-10160 }, + { 196,-10160 }, { 197,-10160 }, { 198,-10160 }, { 199,-10160 }, { 200,-10160 }, + { 201,-10160 }, { 202,-10160 }, { 203,-10160 }, { 204,-10160 }, { 205,-10160 }, + { 206,-10160 }, { 207,-10160 }, { 208,-10160 }, { 209,-10160 }, { 210,-10160 }, + { 211,-10160 }, { 212,-10160 }, { 213,-10160 }, { 214,-10160 }, { 215,-10160 }, + { 216,-10160 }, { 217,-10160 }, { 218,-10160 }, { 219,-10160 }, { 220,-10160 }, + { 221,-10160 }, { 222,-10160 }, { 223,-10160 }, { 224,-10160 }, { 225,-10160 }, + { 226,-10160 }, { 227,-10160 }, { 228,-10160 }, { 229,-10160 }, { 230,-10160 }, + + { 231,-10160 }, { 232,-10160 }, { 233,-10160 }, { 234,-10160 }, { 235,-10160 }, + { 236,-10160 }, { 237,-10160 }, { 238,-10160 }, { 239,-10160 }, { 240,-10160 }, + { 241,-10160 }, { 242,-10160 }, { 243,-10160 }, { 244,-10160 }, { 245,-10160 }, + { 246,-10160 }, { 247,-10160 }, { 248,-10160 }, { 249,-10160 }, { 250,-10160 }, + { 251,-10160 }, { 252,-10160 }, { 253,-10160 }, { 254,-10160 }, { 255,-10160 }, + { 256,-10160 }, { 0, 24 }, { 0,33003 }, { 1,-4089 }, { 2,-4089 }, + { 3,-4089 }, { 4,-4089 }, { 5,-4089 }, { 6,-4089 }, { 7,-4089 }, + { 8,-4089 }, { 9,-3831 }, { 10,-3573 }, { 11,-4089 }, { 12,-3831 }, + { 13,-3573 }, { 14,-4089 }, { 15,-4089 }, { 16,-4089 }, { 17,-4089 }, + { 18,-4089 }, { 19,-4089 }, { 20,-4089 }, { 21,-4089 }, { 22,-4089 }, + + { 23,-4089 }, { 24,-4089 }, { 25,-4089 }, { 26,-4089 }, { 27,-4089 }, + { 28,-4089 }, { 29,-4089 }, { 30,-4089 }, { 31,-4089 }, { 32,-3831 }, + { 33,-4089 }, { 34,-4089 }, { 35,-4089 }, { 36,-4089 }, { 37,-4089 }, + { 38,-4089 }, { 39,-4089 }, { 40,-4089 }, { 41,-4089 }, { 42,-4089 }, + { 43,-4089 }, { 44,-4089 }, { 45,-3454 }, { 46,-4089 }, { 47,-4089 }, + { 48,-4089 }, { 49,-4089 }, { 50,-4089 }, { 51,-4089 }, { 52,-4089 }, + { 53,-4089 }, { 54,-4089 }, { 55,-4089 }, { 56,-4089 }, { 57,-4089 }, + { 58,-4089 }, { 59,-4089 }, { 60,-4089 }, { 61,-4089 }, { 62,-4089 }, + { 63,-4089 }, { 64,-4089 }, { 65,-4089 }, { 66,-4089 }, { 67, 948 }, + { 68,-4089 }, { 69,-4089 }, { 70,-4089 }, { 71,-4089 }, { 72,-4089 }, + + { 73,-4089 }, { 74,-4089 }, { 75,-4089 }, { 76,-4089 }, { 77,-4089 }, + { 78,-4089 }, { 79,-4089 }, { 80,-4089 }, { 81,-4089 }, { 82,-4089 }, + { 83,-4089 }, { 84,-4089 }, { 85,-3196 }, { 86,-4089 }, { 87,-4089 }, + { 88,-4089 }, { 89,-4089 }, { 90,-4089 }, { 91,-4089 }, { 92,-4089 }, + { 93,-4089 }, { 94,-4089 }, { 95,-4089 }, { 96,-4089 }, { 97,-4089 }, + { 98,-4089 }, { 99, 948 }, { 100,-4089 }, { 101,-4089 }, { 102,-4089 }, + { 103,-4089 }, { 104,-4089 }, { 105,-4089 }, { 106,-4089 }, { 107,-4089 }, + { 108,-4089 }, { 109,-4089 }, { 110,-4089 }, { 111,-4089 }, { 112,-4089 }, + { 113,-4089 }, { 114,-4089 }, { 115,-4089 }, { 116,-4089 }, { 117,-3196 }, + { 118,-4089 }, { 119,-4089 }, { 120,-4089 }, { 121,-4089 }, { 122,-4089 }, + + { 123,-4089 }, { 124,-4089 }, { 125,-4089 }, { 126,-4089 }, { 127,-4089 }, + { 128,-4089 }, { 129,-4089 }, { 130,-4089 }, { 131,-4089 }, { 132,-4089 }, + { 133,-4089 }, { 134,-4089 }, { 135,-4089 }, { 136,-4089 }, { 137,-4089 }, + { 138,-4089 }, { 139,-4089 }, { 140,-4089 }, { 141,-4089 }, { 142,-4089 }, + { 143,-4089 }, { 144,-4089 }, { 145,-4089 }, { 146,-4089 }, { 147,-4089 }, + { 148,-4089 }, { 149,-4089 }, { 150,-4089 }, { 151,-4089 }, { 152,-4089 }, + { 153,-4089 }, { 154,-4089 }, { 155,-4089 }, { 156,-4089 }, { 157,-4089 }, + { 158,-4089 }, { 159,-4089 }, { 160,-4089 }, { 161,-4089 }, { 162,-4089 }, + { 163,-4089 }, { 164,-4089 }, { 165,-4089 }, { 166,-4089 }, { 167,-4089 }, + { 168,-4089 }, { 169,-4089 }, { 170,-4089 }, { 171,-4089 }, { 172,-4089 }, + + { 173,-4089 }, { 174,-4089 }, { 175,-4089 }, { 176,-4089 }, { 177,-4089 }, + { 178,-4089 }, { 179,-4089 }, { 180,-4089 }, { 181,-4089 }, { 182,-4089 }, + { 183,-4089 }, { 184,-4089 }, { 185,-4089 }, { 186,-4089 }, { 187,-4089 }, + { 188,-4089 }, { 189,-4089 }, { 190,-4089 }, { 191,-4089 }, { 192,-4089 }, + { 193,-4089 }, { 194,-4089 }, { 195,-4089 }, { 196,-4089 }, { 197,-4089 }, + { 198,-4089 }, { 199,-4089 }, { 200,-4089 }, { 201,-4089 }, { 202,-4089 }, + { 203,-4089 }, { 204,-4089 }, { 205,-4089 }, { 206,-4089 }, { 207,-4089 }, + { 208,-4089 }, { 209,-4089 }, { 210,-4089 }, { 211,-4089 }, { 212,-4089 }, + { 213,-4089 }, { 214,-4089 }, { 215,-4089 }, { 216,-4089 }, { 217,-4089 }, + { 218,-4089 }, { 219,-4089 }, { 220,-4089 }, { 221,-4089 }, { 222,-4089 }, + + { 223,-4089 }, { 224,-4089 }, { 225,-4089 }, { 226,-4089 }, { 227,-4089 }, + { 228,-4089 }, { 229,-4089 }, { 230,-4089 }, { 231,-4089 }, { 232,-4089 }, + { 233,-4089 }, { 234,-4089 }, { 235,-4089 }, { 236,-4089 }, { 237,-4089 }, + { 238,-4089 }, { 239,-4089 }, { 240,-4089 }, { 241,-4089 }, { 242,-4089 }, + { 243,-4089 }, { 244,-4089 }, { 245,-4089 }, { 246,-4089 }, { 247,-4089 }, + { 248,-4089 }, { 249,-4089 }, { 250,-4089 }, { 251,-4089 }, { 252,-4089 }, + { 253,-4089 }, { 254,-4089 }, { 255,-4089 }, { 256,-4089 }, { 0, 24 }, + { 0,32745 }, { 1,-9386 }, { 2,-9386 }, { 3,-9386 }, { 4,-9386 }, + { 5,-9386 }, { 6,-9386 }, { 7,-9386 }, { 8,-9386 }, { 9,-9128 }, + { 10,-17041 }, { 11,-9386 }, { 12,-9128 }, { 13,-17041 }, { 14,-9386 }, + + { 15,-9386 }, { 16,-9386 }, { 17,-9386 }, { 18,-9386 }, { 19,-9386 }, + { 20,-9386 }, { 21,-9386 }, { 22,-9386 }, { 23,-9386 }, { 24,-9386 }, + { 25,-9386 }, { 26,-9386 }, { 27,-9386 }, { 28,-9386 }, { 29,-9386 }, + { 30,-9386 }, { 31,-9386 }, { 32,-9128 }, { 33,-9386 }, { 34,-9386 }, + { 35,-9386 }, { 36,-9386 }, { 37,-9386 }, { 38,-9386 }, { 39,-9386 }, + { 40,-9386 }, { 41,-9386 }, { 42,-9386 }, { 43,-9386 }, { 44,-9386 }, + { 45,-8870 }, { 46,-9386 }, { 47,-9386 }, { 48,-9386 }, { 49,-9386 }, + { 50,-9386 }, { 51,-9386 }, { 52,-9386 }, { 53,-9386 }, { 54,-9386 }, + { 55,-9386 }, { 56,-9386 }, { 57,-9386 }, { 58,-9386 }, { 59,-9386 }, + { 60,-9386 }, { 61,-9386 }, { 62,-9386 }, { 63,-9386 }, { 64,-9386 }, + + { 65, 948 }, { 66,-9386 }, { 67,-9386 }, { 68,-9386 }, { 69,-9386 }, + { 70,-9386 }, { 71,-9386 }, { 72,-9386 }, { 73,-9386 }, { 74,-9386 }, + { 75,-9386 }, { 76,-9386 }, { 77,-9386 }, { 78,-9386 }, { 79,-9386 }, + { 80,-9386 }, { 81,-9386 }, { 82,-9386 }, { 83,-9386 }, { 84,-9386 }, + { 85,-8612 }, { 86,-9386 }, { 87,-9386 }, { 88,-9386 }, { 89,-9386 }, + { 90,-9386 }, { 91,-9386 }, { 92,-9386 }, { 93,-9386 }, { 94,-9386 }, + { 95,-9386 }, { 96,-9386 }, { 97, 948 }, { 98,-9386 }, { 99,-9386 }, + { 100,-9386 }, { 101,-9386 }, { 102,-9386 }, { 103,-9386 }, { 104,-9386 }, + { 105,-9386 }, { 106,-9386 }, { 107,-9386 }, { 108,-9386 }, { 109,-9386 }, + { 110,-9386 }, { 111,-9386 }, { 112,-9386 }, { 113,-9386 }, { 114,-9386 }, + + { 115,-9386 }, { 116,-9386 }, { 117,-8612 }, { 118,-9386 }, { 119,-9386 }, + { 120,-9386 }, { 121,-9386 }, { 122,-9386 }, { 123,-9386 }, { 124,-9386 }, + { 125,-9386 }, { 126,-9386 }, { 127,-9386 }, { 128,-9386 }, { 129,-9386 }, + { 130,-9386 }, { 131,-9386 }, { 132,-9386 }, { 133,-9386 }, { 134,-9386 }, + { 135,-9386 }, { 136,-9386 }, { 137,-9386 }, { 138,-9386 }, { 139,-9386 }, + { 140,-9386 }, { 141,-9386 }, { 142,-9386 }, { 143,-9386 }, { 144,-9386 }, + { 145,-9386 }, { 146,-9386 }, { 147,-9386 }, { 148,-9386 }, { 149,-9386 }, + { 150,-9386 }, { 151,-9386 }, { 152,-9386 }, { 153,-9386 }, { 154,-9386 }, + { 155,-9386 }, { 156,-9386 }, { 157,-9386 }, { 158,-9386 }, { 159,-9386 }, + { 160,-9386 }, { 161,-9386 }, { 162,-9386 }, { 163,-9386 }, { 164,-9386 }, + + { 165,-9386 }, { 166,-9386 }, { 167,-9386 }, { 168,-9386 }, { 169,-9386 }, + { 170,-9386 }, { 171,-9386 }, { 172,-9386 }, { 173,-9386 }, { 174,-9386 }, + { 175,-9386 }, { 176,-9386 }, { 177,-9386 }, { 178,-9386 }, { 179,-9386 }, + { 180,-9386 }, { 181,-9386 }, { 182,-9386 }, { 183,-9386 }, { 184,-9386 }, + { 185,-9386 }, { 186,-9386 }, { 187,-9386 }, { 188,-9386 }, { 189,-9386 }, + { 190,-9386 }, { 191,-9386 }, { 192,-9386 }, { 193,-9386 }, { 194,-9386 }, + { 195,-9386 }, { 196,-9386 }, { 197,-9386 }, { 198,-9386 }, { 199,-9386 }, + { 200,-9386 }, { 201,-9386 }, { 202,-9386 }, { 203,-9386 }, { 204,-9386 }, + { 205,-9386 }, { 206,-9386 }, { 207,-9386 }, { 208,-9386 }, { 209,-9386 }, + { 210,-9386 }, { 211,-9386 }, { 212,-9386 }, { 213,-9386 }, { 214,-9386 }, + + { 215,-9386 }, { 216,-9386 }, { 217,-9386 }, { 218,-9386 }, { 219,-9386 }, + { 220,-9386 }, { 221,-9386 }, { 222,-9386 }, { 223,-9386 }, { 224,-9386 }, + { 225,-9386 }, { 226,-9386 }, { 227,-9386 }, { 228,-9386 }, { 229,-9386 }, + { 230,-9386 }, { 231,-9386 }, { 232,-9386 }, { 233,-9386 }, { 234,-9386 }, + { 235,-9386 }, { 236,-9386 }, { 237,-9386 }, { 238,-9386 }, { 239,-9386 }, + { 240,-9386 }, { 241,-9386 }, { 242,-9386 }, { 243,-9386 }, { 244,-9386 }, + { 245,-9386 }, { 246,-9386 }, { 247,-9386 }, { 248,-9386 }, { 249,-9386 }, + { 250,-9386 }, { 251,-9386 }, { 252,-9386 }, { 253,-9386 }, { 254,-9386 }, + { 255,-9386 }, { 256,-9386 }, { 0, 33 }, { 0,32487 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 33 }, { 0,32464 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48, 950 }, { 49, 950 }, { 50, 950 }, { 51, 950 }, + { 52, 950 }, { 53, 950 }, { 54, 950 }, { 55, 950 }, { 56, 950 }, + + { 57, 950 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 950 }, { 66, 950 }, + { 67, 950 }, { 68, 950 }, { 69, 950 }, { 70, 950 }, { 48, 950 }, + { 49, 950 }, { 50, 950 }, { 51, 950 }, { 52, 950 }, { 53, 950 }, + { 54, 950 }, { 55, 950 }, { 56, 950 }, { 57, 950 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65, 950 }, { 66, 950 }, { 67, 950 }, { 68, 950 }, + { 69, 950 }, { 70, 950 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 97, 950 }, { 98, 950 }, { 99, 950 }, { 100, 950 }, { 101, 950 }, + { 102, 950 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97, 950 }, { 98, 950 }, + { 99, 950 }, { 100, 950 }, { 101, 950 }, { 102, 950 }, { 0, 48 }, + { 0,32360 }, { 1,-11061 }, { 2,-11061 }, { 3,-11061 }, { 4,-11061 }, + { 5,-11061 }, { 6,-11061 }, { 7,-11061 }, { 8,-11061 }, { 9,-10803 }, + { 10,-17447 }, { 11,-11061 }, { 12,-10803 }, { 13,-17447 }, { 14,-11061 }, + { 15,-11061 }, { 16,-11061 }, { 17,-11061 }, { 18,-11061 }, { 19,-11061 }, + { 20,-11061 }, { 21,-11061 }, { 22,-11061 }, { 23,-11061 }, { 24,-11061 }, + { 25,-11061 }, { 26,-11061 }, { 27,-11061 }, { 28,-11061 }, { 29,-11061 }, + + { 30,-11061 }, { 31,-11061 }, { 32,-10803 }, { 33,-11061 }, { 34,-11061 }, + { 35,-11061 }, { 36,-11061 }, { 37,-11061 }, { 38,-11061 }, { 39,-11061 }, + { 40,-11061 }, { 41,-11061 }, { 42,-11061 }, { 43,-11061 }, { 44,-11061 }, + { 45,-10545 }, { 46,-11061 }, { 47,-11061 }, { 48,-11061 }, { 49,-11061 }, + { 50,-11061 }, { 51,-11061 }, { 52,-11061 }, { 53,-11061 }, { 54,-11061 }, + { 55,-11061 }, { 56,-11061 }, { 57,-11061 }, { 58,-11061 }, { 59,-11061 }, + { 60,-11061 }, { 61,-11061 }, { 62,-11061 }, { 63,-11061 }, { 64,-11061 }, + { 65,-11061 }, { 66,-11061 }, { 67,-11061 }, { 68,-11061 }, { 69,-11061 }, + { 70,-11061 }, { 71,-11061 }, { 72,-11061 }, { 73,-11061 }, { 74,-11061 }, + { 75,-11061 }, { 76,-11061 }, { 77,-11061 }, { 78,-11061 }, { 79,-11061 }, + + { 80, 950 }, { 81,-11061 }, { 82,-11061 }, { 83,-11061 }, { 84,-11061 }, + { 85,-10287 }, { 86,-11061 }, { 87,-11061 }, { 88,-11061 }, { 89,-11061 }, + { 90,-11061 }, { 91,-11061 }, { 92,-11061 }, { 93,-11061 }, { 94,-11061 }, + { 95,-11061 }, { 96,-11061 }, { 97,-11061 }, { 98,-11061 }, { 99,-11061 }, + { 100,-11061 }, { 101,-11061 }, { 102,-11061 }, { 103,-11061 }, { 104,-11061 }, + { 105,-11061 }, { 106,-11061 }, { 107,-11061 }, { 108,-11061 }, { 109,-11061 }, + { 110,-11061 }, { 111,-11061 }, { 112, 950 }, { 113,-11061 }, { 114,-11061 }, + { 115,-11061 }, { 116,-11061 }, { 117,-10287 }, { 118,-11061 }, { 119,-11061 }, + { 120,-11061 }, { 121,-11061 }, { 122,-11061 }, { 123,-11061 }, { 124,-11061 }, + { 125,-11061 }, { 126,-11061 }, { 127,-11061 }, { 128,-11061 }, { 129,-11061 }, + + { 130,-11061 }, { 131,-11061 }, { 132,-11061 }, { 133,-11061 }, { 134,-11061 }, + { 135,-11061 }, { 136,-11061 }, { 137,-11061 }, { 138,-11061 }, { 139,-11061 }, + { 140,-11061 }, { 141,-11061 }, { 142,-11061 }, { 143,-11061 }, { 144,-11061 }, + { 145,-11061 }, { 146,-11061 }, { 147,-11061 }, { 148,-11061 }, { 149,-11061 }, + { 150,-11061 }, { 151,-11061 }, { 152,-11061 }, { 153,-11061 }, { 154,-11061 }, + { 155,-11061 }, { 156,-11061 }, { 157,-11061 }, { 158,-11061 }, { 159,-11061 }, + { 160,-11061 }, { 161,-11061 }, { 162,-11061 }, { 163,-11061 }, { 164,-11061 }, + { 165,-11061 }, { 166,-11061 }, { 167,-11061 }, { 168,-11061 }, { 169,-11061 }, + { 170,-11061 }, { 171,-11061 }, { 172,-11061 }, { 173,-11061 }, { 174,-11061 }, + { 175,-11061 }, { 176,-11061 }, { 177,-11061 }, { 178,-11061 }, { 179,-11061 }, + + { 180,-11061 }, { 181,-11061 }, { 182,-11061 }, { 183,-11061 }, { 184,-11061 }, + { 185,-11061 }, { 186,-11061 }, { 187,-11061 }, { 188,-11061 }, { 189,-11061 }, + { 190,-11061 }, { 191,-11061 }, { 192,-11061 }, { 193,-11061 }, { 194,-11061 }, + { 195,-11061 }, { 196,-11061 }, { 197,-11061 }, { 198,-11061 }, { 199,-11061 }, + { 200,-11061 }, { 201,-11061 }, { 202,-11061 }, { 203,-11061 }, { 204,-11061 }, + { 205,-11061 }, { 206,-11061 }, { 207,-11061 }, { 208,-11061 }, { 209,-11061 }, + { 210,-11061 }, { 211,-11061 }, { 212,-11061 }, { 213,-11061 }, { 214,-11061 }, + { 215,-11061 }, { 216,-11061 }, { 217,-11061 }, { 218,-11061 }, { 219,-11061 }, + { 220,-11061 }, { 221,-11061 }, { 222,-11061 }, { 223,-11061 }, { 224,-11061 }, + { 225,-11061 }, { 226,-11061 }, { 227,-11061 }, { 228,-11061 }, { 229,-11061 }, + + { 230,-11061 }, { 231,-11061 }, { 232,-11061 }, { 233,-11061 }, { 234,-11061 }, + { 235,-11061 }, { 236,-11061 }, { 237,-11061 }, { 238,-11061 }, { 239,-11061 }, + { 240,-11061 }, { 241,-11061 }, { 242,-11061 }, { 243,-11061 }, { 244,-11061 }, + { 245,-11061 }, { 246,-11061 }, { 247,-11061 }, { 248,-11061 }, { 249,-11061 }, + { 250,-11061 }, { 251,-11061 }, { 252,-11061 }, { 253,-11061 }, { 254,-11061 }, + { 255,-11061 }, { 256,-11061 }, { 0, 48 }, { 0,32102 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 9, 950 }, { 10, 950 }, { 0, 0 }, + { 12, 950 }, { 13, 950 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 32, 950 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 39, 997 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-21168 }, { 0, 24 }, + { 0,32055 }, { 1,-5037 }, { 2,-5037 }, { 3,-5037 }, { 4,-5037 }, + { 5,-5037 }, { 6,-5037 }, { 7,-5037 }, { 8,-5037 }, { 9,-4779 }, + { 10,-4521 }, { 11,-5037 }, { 12,-4779 }, { 13,-4521 }, { 14,-5037 }, + { 15,-5037 }, { 16,-5037 }, { 17,-5037 }, { 18,-5037 }, { 19,-5037 }, + { 20,-5037 }, { 21,-5037 }, { 22,-5037 }, { 23,-5037 }, { 24,-5037 }, + + { 25,-5037 }, { 26,-5037 }, { 27,-5037 }, { 28,-5037 }, { 29,-5037 }, + { 30,-5037 }, { 31,-5037 }, { 32,-4779 }, { 33,-5037 }, { 34,-5037 }, + { 35,-5037 }, { 36,-5037 }, { 37,-5037 }, { 38,-5037 }, { 39,-5037 }, + { 40,-5037 }, { 41,-5037 }, { 42,-5037 }, { 43,-5037 }, { 44,-5037 }, + { 45,-4402 }, { 46,-5037 }, { 47,-5037 }, { 48,-5037 }, { 49,-5037 }, + { 50,-5037 }, { 51,-5037 }, { 52,-5037 }, { 53,-5037 }, { 54,-5037 }, + { 55,-5037 }, { 56,-5037 }, { 57,-5037 }, { 58,-5037 }, { 59,-5037 }, + { 60,-5037 }, { 61,-5037 }, { 62,-5037 }, { 63,-5037 }, { 64,-5037 }, + { 65,1208 }, { 66,-5037 }, { 67,-5037 }, { 68,-5037 }, { 69,-5037 }, + { 70,-5037 }, { 71,-5037 }, { 72,-5037 }, { 73,-5037 }, { 74,-5037 }, + + { 75,-5037 }, { 76,-5037 }, { 77,-5037 }, { 78,-5037 }, { 79,-5037 }, + { 80,-5037 }, { 81,-5037 }, { 82,-5037 }, { 83,-5037 }, { 84,-5037 }, + { 85,-4144 }, { 86,-5037 }, { 87,-5037 }, { 88,-5037 }, { 89,-5037 }, + { 90,-5037 }, { 91,-5037 }, { 92,-5037 }, { 93,-5037 }, { 94,-5037 }, + { 95,-5037 }, { 96,-5037 }, { 97,1208 }, { 98,-5037 }, { 99,-5037 }, + { 100,-5037 }, { 101,-5037 }, { 102,-5037 }, { 103,-5037 }, { 104,-5037 }, + { 105,-5037 }, { 106,-5037 }, { 107,-5037 }, { 108,-5037 }, { 109,-5037 }, + { 110,-5037 }, { 111,-5037 }, { 112,-5037 }, { 113,-5037 }, { 114,-5037 }, + { 115,-5037 }, { 116,-5037 }, { 117,-4144 }, { 118,-5037 }, { 119,-5037 }, + { 120,-5037 }, { 121,-5037 }, { 122,-5037 }, { 123,-5037 }, { 124,-5037 }, + + { 125,-5037 }, { 126,-5037 }, { 127,-5037 }, { 128,-5037 }, { 129,-5037 }, + { 130,-5037 }, { 131,-5037 }, { 132,-5037 }, { 133,-5037 }, { 134,-5037 }, + { 135,-5037 }, { 136,-5037 }, { 137,-5037 }, { 138,-5037 }, { 139,-5037 }, + { 140,-5037 }, { 141,-5037 }, { 142,-5037 }, { 143,-5037 }, { 144,-5037 }, + { 145,-5037 }, { 146,-5037 }, { 147,-5037 }, { 148,-5037 }, { 149,-5037 }, + { 150,-5037 }, { 151,-5037 }, { 152,-5037 }, { 153,-5037 }, { 154,-5037 }, + { 155,-5037 }, { 156,-5037 }, { 157,-5037 }, { 158,-5037 }, { 159,-5037 }, + { 160,-5037 }, { 161,-5037 }, { 162,-5037 }, { 163,-5037 }, { 164,-5037 }, + { 165,-5037 }, { 166,-5037 }, { 167,-5037 }, { 168,-5037 }, { 169,-5037 }, + { 170,-5037 }, { 171,-5037 }, { 172,-5037 }, { 173,-5037 }, { 174,-5037 }, + + { 175,-5037 }, { 176,-5037 }, { 177,-5037 }, { 178,-5037 }, { 179,-5037 }, + { 180,-5037 }, { 181,-5037 }, { 182,-5037 }, { 183,-5037 }, { 184,-5037 }, + { 185,-5037 }, { 186,-5037 }, { 187,-5037 }, { 188,-5037 }, { 189,-5037 }, + { 190,-5037 }, { 191,-5037 }, { 192,-5037 }, { 193,-5037 }, { 194,-5037 }, + { 195,-5037 }, { 196,-5037 }, { 197,-5037 }, { 198,-5037 }, { 199,-5037 }, + { 200,-5037 }, { 201,-5037 }, { 202,-5037 }, { 203,-5037 }, { 204,-5037 }, + { 205,-5037 }, { 206,-5037 }, { 207,-5037 }, { 208,-5037 }, { 209,-5037 }, + { 210,-5037 }, { 211,-5037 }, { 212,-5037 }, { 213,-5037 }, { 214,-5037 }, + { 215,-5037 }, { 216,-5037 }, { 217,-5037 }, { 218,-5037 }, { 219,-5037 }, + { 220,-5037 }, { 221,-5037 }, { 222,-5037 }, { 223,-5037 }, { 224,-5037 }, + + { 225,-5037 }, { 226,-5037 }, { 227,-5037 }, { 228,-5037 }, { 229,-5037 }, + { 230,-5037 }, { 231,-5037 }, { 232,-5037 }, { 233,-5037 }, { 234,-5037 }, + { 235,-5037 }, { 236,-5037 }, { 237,-5037 }, { 238,-5037 }, { 239,-5037 }, + { 240,-5037 }, { 241,-5037 }, { 242,-5037 }, { 243,-5037 }, { 244,-5037 }, + { 245,-5037 }, { 246,-5037 }, { 247,-5037 }, { 248,-5037 }, { 249,-5037 }, + { 250,-5037 }, { 251,-5037 }, { 252,-5037 }, { 253,-5037 }, { 254,-5037 }, + { 255,-5037 }, { 256,-5037 }, { 0, 24 }, { 0,31797 }, { 1,-10334 }, + { 2,-10334 }, { 3,-10334 }, { 4,-10334 }, { 5,-10334 }, { 6,-10334 }, + { 7,-10334 }, { 8,-10334 }, { 9,-10076 }, { 10,-17989 }, { 11,-10334 }, + { 12,-10076 }, { 13,-17989 }, { 14,-10334 }, { 15,-10334 }, { 16,-10334 }, + + { 17,-10334 }, { 18,-10334 }, { 19,-10334 }, { 20,-10334 }, { 21,-10334 }, + { 22,-10334 }, { 23,-10334 }, { 24,-10334 }, { 25,-10334 }, { 26,-10334 }, + { 27,-10334 }, { 28,-10334 }, { 29,-10334 }, { 30,-10334 }, { 31,-10334 }, + { 32,-10076 }, { 33,-10334 }, { 34,-10334 }, { 35,-10334 }, { 36,-10334 }, + { 37,-10334 }, { 38,-10334 }, { 39,-10334 }, { 40,-10334 }, { 41,-10334 }, + { 42,-10334 }, { 43,-10334 }, { 44,-10334 }, { 45,-9818 }, { 46,-10334 }, + { 47,-10334 }, { 48,-10334 }, { 49,-10334 }, { 50,-10334 }, { 51,-10334 }, + { 52,-10334 }, { 53,-10334 }, { 54,-10334 }, { 55,-10334 }, { 56,-10334 }, + { 57,-10334 }, { 58,-10334 }, { 59,-10334 }, { 60,-10334 }, { 61,-10334 }, + { 62,-10334 }, { 63,-10334 }, { 64,-10334 }, { 65,-10334 }, { 66,-10334 }, + + { 67,-10334 }, { 68,-10334 }, { 69,-10334 }, { 70,-10334 }, { 71,-10334 }, + { 72,-10334 }, { 73,-10334 }, { 74,-10334 }, { 75,-10334 }, { 76,-10334 }, + { 77,-10334 }, { 78,-10334 }, { 79,-10334 }, { 80,1208 }, { 81,-10334 }, + { 82,-10334 }, { 83,-10334 }, { 84,-10334 }, { 85,-9560 }, { 86,-10334 }, + { 87,-10334 }, { 88,-10334 }, { 89,-10334 }, { 90,-10334 }, { 91,-10334 }, + { 92,-10334 }, { 93,-10334 }, { 94,-10334 }, { 95,-10334 }, { 96,-10334 }, + { 97,-10334 }, { 98,-10334 }, { 99,-10334 }, { 100,-10334 }, { 101,-10334 }, + { 102,-10334 }, { 103,-10334 }, { 104,-10334 }, { 105,-10334 }, { 106,-10334 }, + { 107,-10334 }, { 108,-10334 }, { 109,-10334 }, { 110,-10334 }, { 111,-10334 }, + { 112,1208 }, { 113,-10334 }, { 114,-10334 }, { 115,-10334 }, { 116,-10334 }, + + { 117,-9560 }, { 118,-10334 }, { 119,-10334 }, { 120,-10334 }, { 121,-10334 }, + { 122,-10334 }, { 123,-10334 }, { 124,-10334 }, { 125,-10334 }, { 126,-10334 }, + { 127,-10334 }, { 128,-10334 }, { 129,-10334 }, { 130,-10334 }, { 131,-10334 }, + { 132,-10334 }, { 133,-10334 }, { 134,-10334 }, { 135,-10334 }, { 136,-10334 }, + { 137,-10334 }, { 138,-10334 }, { 139,-10334 }, { 140,-10334 }, { 141,-10334 }, + { 142,-10334 }, { 143,-10334 }, { 144,-10334 }, { 145,-10334 }, { 146,-10334 }, + { 147,-10334 }, { 148,-10334 }, { 149,-10334 }, { 150,-10334 }, { 151,-10334 }, + { 152,-10334 }, { 153,-10334 }, { 154,-10334 }, { 155,-10334 }, { 156,-10334 }, + { 157,-10334 }, { 158,-10334 }, { 159,-10334 }, { 160,-10334 }, { 161,-10334 }, + { 162,-10334 }, { 163,-10334 }, { 164,-10334 }, { 165,-10334 }, { 166,-10334 }, + + { 167,-10334 }, { 168,-10334 }, { 169,-10334 }, { 170,-10334 }, { 171,-10334 }, + { 172,-10334 }, { 173,-10334 }, { 174,-10334 }, { 175,-10334 }, { 176,-10334 }, + { 177,-10334 }, { 178,-10334 }, { 179,-10334 }, { 180,-10334 }, { 181,-10334 }, + { 182,-10334 }, { 183,-10334 }, { 184,-10334 }, { 185,-10334 }, { 186,-10334 }, + { 187,-10334 }, { 188,-10334 }, { 189,-10334 }, { 190,-10334 }, { 191,-10334 }, + { 192,-10334 }, { 193,-10334 }, { 194,-10334 }, { 195,-10334 }, { 196,-10334 }, + { 197,-10334 }, { 198,-10334 }, { 199,-10334 }, { 200,-10334 }, { 201,-10334 }, + { 202,-10334 }, { 203,-10334 }, { 204,-10334 }, { 205,-10334 }, { 206,-10334 }, + { 207,-10334 }, { 208,-10334 }, { 209,-10334 }, { 210,-10334 }, { 211,-10334 }, + { 212,-10334 }, { 213,-10334 }, { 214,-10334 }, { 215,-10334 }, { 216,-10334 }, + + { 217,-10334 }, { 218,-10334 }, { 219,-10334 }, { 220,-10334 }, { 221,-10334 }, + { 222,-10334 }, { 223,-10334 }, { 224,-10334 }, { 225,-10334 }, { 226,-10334 }, + { 227,-10334 }, { 228,-10334 }, { 229,-10334 }, { 230,-10334 }, { 231,-10334 }, + { 232,-10334 }, { 233,-10334 }, { 234,-10334 }, { 235,-10334 }, { 236,-10334 }, + { 237,-10334 }, { 238,-10334 }, { 239,-10334 }, { 240,-10334 }, { 241,-10334 }, + { 242,-10334 }, { 243,-10334 }, { 244,-10334 }, { 245,-10334 }, { 246,-10334 }, + { 247,-10334 }, { 248,-10334 }, { 249,-10334 }, { 250,-10334 }, { 251,-10334 }, + { 252,-10334 }, { 253,-10334 }, { 254,-10334 }, { 255,-10334 }, { 256,-10334 }, + { 0, 24 }, { 0,31539 }, { 0, 33 }, { 0,31537 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 9,1208 }, { 10,1208 }, { 0, 0 }, { 12,1208 }, { 13,1208 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 33 }, { 0,31514 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32,1208 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 39,1255 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 45,-21729 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48,1511 }, { 49,1511 }, { 50,1511 }, { 51,1511 }, + { 52,1511 }, { 53,1511 }, { 54,1511 }, { 55,1511 }, { 56,1511 }, + + { 57,1511 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,1511 }, { 66,1511 }, + { 67,1511 }, { 68,1511 }, { 69,1511 }, { 70,1511 }, { 48,-22023 }, + { 49,-22023 }, { 50,-22023 }, { 51,-22023 }, { 52,-22023 }, { 53,-22023 }, + { 54,-22023 }, { 55,-22023 }, { 56,-22023 }, { 57,-22023 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,-22023 }, { 66,-22023 }, { 67,-22023 }, { 68,-22023 }, + { 69,-22023 }, { 70,-22023 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 97,1511 }, { 98,1511 }, { 99,1511 }, { 100,1511 }, { 101,1511 }, + { 102,1511 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,-22023 }, { 98,-22023 }, + { 99,-22023 }, { 100,-22023 }, { 101,-22023 }, { 102,-22023 }, { 0, 48 }, + { 0,31410 }, { 1,-12011 }, { 2,-12011 }, { 3,-12011 }, { 4,-12011 }, + { 5,-12011 }, { 6,-12011 }, { 7,-12011 }, { 8,-12011 }, { 9,-11753 }, + { 10,-18397 }, { 11,-12011 }, { 12,-11753 }, { 13,-18397 }, { 14,-12011 }, + { 15,-12011 }, { 16,-12011 }, { 17,-12011 }, { 18,-12011 }, { 19,-12011 }, + { 20,-12011 }, { 21,-12011 }, { 22,-12011 }, { 23,-12011 }, { 24,-12011 }, + { 25,-12011 }, { 26,-12011 }, { 27,-12011 }, { 28,-12011 }, { 29,-12011 }, + + { 30,-12011 }, { 31,-12011 }, { 32,-11753 }, { 33,-12011 }, { 34,-12011 }, + { 35,-12011 }, { 36,-12011 }, { 37,-12011 }, { 38,-12011 }, { 39,-12011 }, + { 40,-12011 }, { 41,-12011 }, { 42,-12011 }, { 43,-12011 }, { 44,-12011 }, + { 45,-11495 }, { 46,-12011 }, { 47,-12011 }, { 48,-12011 }, { 49,-12011 }, + { 50,-12011 }, { 51,-12011 }, { 52,-12011 }, { 53,-12011 }, { 54,-12011 }, + { 55,-12011 }, { 56,-12011 }, { 57,-12011 }, { 58,-12011 }, { 59,-12011 }, + { 60,-12011 }, { 61,-12011 }, { 62,-12011 }, { 63,-12011 }, { 64,-12011 }, + { 65,-12011 }, { 66,-12011 }, { 67,-12011 }, { 68,-12011 }, { 69,1488 }, + { 70,-12011 }, { 71,-12011 }, { 72,-12011 }, { 73,-12011 }, { 74,-12011 }, + { 75,-12011 }, { 76,-12011 }, { 77,-12011 }, { 78,-12011 }, { 79,-12011 }, + + { 80,-12011 }, { 81,-12011 }, { 82,-12011 }, { 83,-12011 }, { 84,-12011 }, + { 85,-11237 }, { 86,-12011 }, { 87,-12011 }, { 88,-12011 }, { 89,-12011 }, + { 90,-12011 }, { 91,-12011 }, { 92,-12011 }, { 93,-12011 }, { 94,-12011 }, + { 95,-12011 }, { 96,-12011 }, { 97,-12011 }, { 98,-12011 }, { 99,-12011 }, + { 100,-12011 }, { 101,1488 }, { 102,-12011 }, { 103,-12011 }, { 104,-12011 }, + { 105,-12011 }, { 106,-12011 }, { 107,-12011 }, { 108,-12011 }, { 109,-12011 }, + { 110,-12011 }, { 111,-12011 }, { 112,-12011 }, { 113,-12011 }, { 114,-12011 }, + { 115,-12011 }, { 116,-12011 }, { 117,-11237 }, { 118,-12011 }, { 119,-12011 }, + { 120,-12011 }, { 121,-12011 }, { 122,-12011 }, { 123,-12011 }, { 124,-12011 }, + { 125,-12011 }, { 126,-12011 }, { 127,-12011 }, { 128,-12011 }, { 129,-12011 }, + + { 130,-12011 }, { 131,-12011 }, { 132,-12011 }, { 133,-12011 }, { 134,-12011 }, + { 135,-12011 }, { 136,-12011 }, { 137,-12011 }, { 138,-12011 }, { 139,-12011 }, + { 140,-12011 }, { 141,-12011 }, { 142,-12011 }, { 143,-12011 }, { 144,-12011 }, + { 145,-12011 }, { 146,-12011 }, { 147,-12011 }, { 148,-12011 }, { 149,-12011 }, + { 150,-12011 }, { 151,-12011 }, { 152,-12011 }, { 153,-12011 }, { 154,-12011 }, + { 155,-12011 }, { 156,-12011 }, { 157,-12011 }, { 158,-12011 }, { 159,-12011 }, + { 160,-12011 }, { 161,-12011 }, { 162,-12011 }, { 163,-12011 }, { 164,-12011 }, + { 165,-12011 }, { 166,-12011 }, { 167,-12011 }, { 168,-12011 }, { 169,-12011 }, + { 170,-12011 }, { 171,-12011 }, { 172,-12011 }, { 173,-12011 }, { 174,-12011 }, + { 175,-12011 }, { 176,-12011 }, { 177,-12011 }, { 178,-12011 }, { 179,-12011 }, + + { 180,-12011 }, { 181,-12011 }, { 182,-12011 }, { 183,-12011 }, { 184,-12011 }, + { 185,-12011 }, { 186,-12011 }, { 187,-12011 }, { 188,-12011 }, { 189,-12011 }, + { 190,-12011 }, { 191,-12011 }, { 192,-12011 }, { 193,-12011 }, { 194,-12011 }, + { 195,-12011 }, { 196,-12011 }, { 197,-12011 }, { 198,-12011 }, { 199,-12011 }, + { 200,-12011 }, { 201,-12011 }, { 202,-12011 }, { 203,-12011 }, { 204,-12011 }, + { 205,-12011 }, { 206,-12011 }, { 207,-12011 }, { 208,-12011 }, { 209,-12011 }, + { 210,-12011 }, { 211,-12011 }, { 212,-12011 }, { 213,-12011 }, { 214,-12011 }, + { 215,-12011 }, { 216,-12011 }, { 217,-12011 }, { 218,-12011 }, { 219,-12011 }, + { 220,-12011 }, { 221,-12011 }, { 222,-12011 }, { 223,-12011 }, { 224,-12011 }, + { 225,-12011 }, { 226,-12011 }, { 227,-12011 }, { 228,-12011 }, { 229,-12011 }, + + { 230,-12011 }, { 231,-12011 }, { 232,-12011 }, { 233,-12011 }, { 234,-12011 }, + { 235,-12011 }, { 236,-12011 }, { 237,-12011 }, { 238,-12011 }, { 239,-12011 }, + { 240,-12011 }, { 241,-12011 }, { 242,-12011 }, { 243,-12011 }, { 244,-12011 }, + { 245,-12011 }, { 246,-12011 }, { 247,-12011 }, { 248,-12011 }, { 249,-12011 }, + { 250,-12011 }, { 251,-12011 }, { 252,-12011 }, { 253,-12011 }, { 254,-12011 }, + { 255,-12011 }, { 256,-12011 }, { 0, 48 }, { 0,31152 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 9, 0 }, { 10, 0 }, { 0, 0 }, + { 12, 0 }, { 13, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 32, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 39, 47 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-22118 }, { 0, 48 }, + { 0,31105 }, { 1,-22156 }, { 2,-22156 }, { 3,-22156 }, { 4,-22156 }, + { 5,-22156 }, { 6,-22156 }, { 7,-22156 }, { 8,-22156 }, { 9,-22156 }, + { 10,-22156 }, { 11,-22156 }, { 12,-22156 }, { 13,-22156 }, { 14,-22156 }, + { 15,-22156 }, { 16,-22156 }, { 17,-22156 }, { 18,-22156 }, { 19,-22156 }, + { 20,-22156 }, { 21,-22156 }, { 22,-22156 }, { 23,-22156 }, { 24,-22156 }, + + { 25,-22156 }, { 26,-22156 }, { 27,-22156 }, { 28,-22156 }, { 29,-22156 }, + { 30,-22156 }, { 31,-22156 }, { 32,-22156 }, { 33,-22156 }, { 34,-22156 }, + { 35,-22156 }, { 36,-22156 }, { 37,-22156 }, { 38,-22156 }, { 0, 0 }, + { 40,-22156 }, { 41,-22156 }, { 42,-22156 }, { 43,-22156 }, { 44,-22156 }, + { 45,-22156 }, { 46,-22156 }, { 47,-22156 }, { 48,-22156 }, { 49,-22156 }, + { 50,-22156 }, { 51,-22156 }, { 52,-22156 }, { 53,-22156 }, { 54,-22156 }, + { 55,-22156 }, { 56,-22156 }, { 57,-22156 }, { 58,-22156 }, { 59,-22156 }, + { 60,-22156 }, { 61,-22156 }, { 62,-22156 }, { 63,-22156 }, { 64,-22156 }, + { 65,-22156 }, { 66,-22156 }, { 67,-22156 }, { 68,-22156 }, { 69,-22156 }, + { 70,-22156 }, { 71,-22156 }, { 72,-22156 }, { 73,-22156 }, { 74,-22156 }, + + { 75,-22156 }, { 76,-22156 }, { 77,-22156 }, { 78,-22156 }, { 79,-22156 }, + { 80,-22156 }, { 81,-22156 }, { 82,-22156 }, { 83,-22156 }, { 84,-22156 }, + { 85,-22156 }, { 86,-22156 }, { 87,-22156 }, { 88,-22156 }, { 89,-22156 }, + { 90,-22156 }, { 91,-22156 }, { 92,-22156 }, { 93,-22156 }, { 94,-22156 }, + { 95,-22156 }, { 96,-22156 }, { 97,-22156 }, { 98,-22156 }, { 99,-22156 }, + { 100,-22156 }, { 101,-22156 }, { 102,-22156 }, { 103,-22156 }, { 104,-22156 }, + { 105,-22156 }, { 106,-22156 }, { 107,-22156 }, { 108,-22156 }, { 109,-22156 }, + { 110,-22156 }, { 111,-22156 }, { 112,-22156 }, { 113,-22156 }, { 114,-22156 }, + { 115,-22156 }, { 116,-22156 }, { 117,-22156 }, { 118,-22156 }, { 119,-22156 }, + { 120,-22156 }, { 121,-22156 }, { 122,-22156 }, { 123,-22156 }, { 124,-22156 }, + + { 125,-22156 }, { 126,-22156 }, { 127,-22156 }, { 128,-22156 }, { 129,-22156 }, + { 130,-22156 }, { 131,-22156 }, { 132,-22156 }, { 133,-22156 }, { 134,-22156 }, + { 135,-22156 }, { 136,-22156 }, { 137,-22156 }, { 138,-22156 }, { 139,-22156 }, + { 140,-22156 }, { 141,-22156 }, { 142,-22156 }, { 143,-22156 }, { 144,-22156 }, + { 145,-22156 }, { 146,-22156 }, { 147,-22156 }, { 148,-22156 }, { 149,-22156 }, + { 150,-22156 }, { 151,-22156 }, { 152,-22156 }, { 153,-22156 }, { 154,-22156 }, + { 155,-22156 }, { 156,-22156 }, { 157,-22156 }, { 158,-22156 }, { 159,-22156 }, + { 160,-22156 }, { 161,-22156 }, { 162,-22156 }, { 163,-22156 }, { 164,-22156 }, + { 165,-22156 }, { 166,-22156 }, { 167,-22156 }, { 168,-22156 }, { 169,-22156 }, + { 170,-22156 }, { 171,-22156 }, { 172,-22156 }, { 173,-22156 }, { 174,-22156 }, + + { 175,-22156 }, { 176,-22156 }, { 177,-22156 }, { 178,-22156 }, { 179,-22156 }, + { 180,-22156 }, { 181,-22156 }, { 182,-22156 }, { 183,-22156 }, { 184,-22156 }, + { 185,-22156 }, { 186,-22156 }, { 187,-22156 }, { 188,-22156 }, { 189,-22156 }, + { 190,-22156 }, { 191,-22156 }, { 192,-22156 }, { 193,-22156 }, { 194,-22156 }, + { 195,-22156 }, { 196,-22156 }, { 197,-22156 }, { 198,-22156 }, { 199,-22156 }, + { 200,-22156 }, { 201,-22156 }, { 202,-22156 }, { 203,-22156 }, { 204,-22156 }, + { 205,-22156 }, { 206,-22156 }, { 207,-22156 }, { 208,-22156 }, { 209,-22156 }, + { 210,-22156 }, { 211,-22156 }, { 212,-22156 }, { 213,-22156 }, { 214,-22156 }, + { 215,-22156 }, { 216,-22156 }, { 217,-22156 }, { 218,-22156 }, { 219,-22156 }, + { 220,-22156 }, { 221,-22156 }, { 222,-22156 }, { 223,-22156 }, { 224,-22156 }, + + { 225,-22156 }, { 226,-22156 }, { 227,-22156 }, { 228,-22156 }, { 229,-22156 }, + { 230,-22156 }, { 231,-22156 }, { 232,-22156 }, { 233,-22156 }, { 234,-22156 }, + { 235,-22156 }, { 236,-22156 }, { 237,-22156 }, { 238,-22156 }, { 239,-22156 }, + { 240,-22156 }, { 241,-22156 }, { 242,-22156 }, { 243,-22156 }, { 244,-22156 }, + { 245,-22156 }, { 246,-22156 }, { 247,-22156 }, { 248,-22156 }, { 249,-22156 }, + { 250,-22156 }, { 251,-22156 }, { 252,-22156 }, { 253,-22156 }, { 254,-22156 }, + { 255,-22156 }, { 256,-22156 }, { 0, 24 }, { 0,30847 }, { 1,-6245 }, + { 2,-6245 }, { 3,-6245 }, { 4,-6245 }, { 5,-6245 }, { 6,-6245 }, + { 7,-6245 }, { 8,-6245 }, { 9,-5987 }, { 10,-5729 }, { 11,-6245 }, + { 12,-5987 }, { 13,-5729 }, { 14,-6245 }, { 15,-6245 }, { 16,-6245 }, + + { 17,-6245 }, { 18,-6245 }, { 19,-6245 }, { 20,-6245 }, { 21,-6245 }, + { 22,-6245 }, { 23,-6245 }, { 24,-6245 }, { 25,-6245 }, { 26,-6245 }, + { 27,-6245 }, { 28,-6245 }, { 29,-6245 }, { 30,-6245 }, { 31,-6245 }, + { 32,-5987 }, { 33,-6245 }, { 34,-6245 }, { 35,-6245 }, { 36,-6245 }, + { 37,-6245 }, { 38,-6245 }, { 39,-6245 }, { 40,-6245 }, { 41,-6245 }, + { 42,-6245 }, { 43,-6245 }, { 44,-6245 }, { 45,-5610 }, { 46,-6245 }, + { 47,-6245 }, { 48,-6245 }, { 49,-6245 }, { 50,-6245 }, { 51,-6245 }, + { 52,-6245 }, { 53,-6245 }, { 54,-6245 }, { 55,-6245 }, { 56,-6245 }, + { 57,-6245 }, { 58,-6245 }, { 59,-6245 }, { 60,-6245 }, { 61,-6245 }, + { 62,-6245 }, { 63,-6245 }, { 64,-6245 }, { 65,-6245 }, { 66,-6245 }, + + { 67,-6245 }, { 68,-6245 }, { 69,-6245 }, { 70,-6245 }, { 71,-6245 }, + { 72,-6245 }, { 73,-6245 }, { 74,-6245 }, { 75,-6245 }, { 76,-6245 }, + { 77,-6245 }, { 78,-6245 }, { 79,-6245 }, { 80,1441 }, { 81,-6245 }, + { 82,-6245 }, { 83,-6245 }, { 84,-6245 }, { 85,-5352 }, { 86,-6245 }, + { 87,-6245 }, { 88,-6245 }, { 89,-6245 }, { 90,-6245 }, { 91,-6245 }, + { 92,-6245 }, { 93,-6245 }, { 94,-6245 }, { 95,-6245 }, { 96,-6245 }, + { 97,-6245 }, { 98,-6245 }, { 99,-6245 }, { 100,-6245 }, { 101,-6245 }, + { 102,-6245 }, { 103,-6245 }, { 104,-6245 }, { 105,-6245 }, { 106,-6245 }, + { 107,-6245 }, { 108,-6245 }, { 109,-6245 }, { 110,-6245 }, { 111,-6245 }, + { 112,1441 }, { 113,-6245 }, { 114,-6245 }, { 115,-6245 }, { 116,-6245 }, + + { 117,-5352 }, { 118,-6245 }, { 119,-6245 }, { 120,-6245 }, { 121,-6245 }, + { 122,-6245 }, { 123,-6245 }, { 124,-6245 }, { 125,-6245 }, { 126,-6245 }, + { 127,-6245 }, { 128,-6245 }, { 129,-6245 }, { 130,-6245 }, { 131,-6245 }, + { 132,-6245 }, { 133,-6245 }, { 134,-6245 }, { 135,-6245 }, { 136,-6245 }, + { 137,-6245 }, { 138,-6245 }, { 139,-6245 }, { 140,-6245 }, { 141,-6245 }, + { 142,-6245 }, { 143,-6245 }, { 144,-6245 }, { 145,-6245 }, { 146,-6245 }, + { 147,-6245 }, { 148,-6245 }, { 149,-6245 }, { 150,-6245 }, { 151,-6245 }, + { 152,-6245 }, { 153,-6245 }, { 154,-6245 }, { 155,-6245 }, { 156,-6245 }, + { 157,-6245 }, { 158,-6245 }, { 159,-6245 }, { 160,-6245 }, { 161,-6245 }, + { 162,-6245 }, { 163,-6245 }, { 164,-6245 }, { 165,-6245 }, { 166,-6245 }, + + { 167,-6245 }, { 168,-6245 }, { 169,-6245 }, { 170,-6245 }, { 171,-6245 }, + { 172,-6245 }, { 173,-6245 }, { 174,-6245 }, { 175,-6245 }, { 176,-6245 }, + { 177,-6245 }, { 178,-6245 }, { 179,-6245 }, { 180,-6245 }, { 181,-6245 }, + { 182,-6245 }, { 183,-6245 }, { 184,-6245 }, { 185,-6245 }, { 186,-6245 }, + { 187,-6245 }, { 188,-6245 }, { 189,-6245 }, { 190,-6245 }, { 191,-6245 }, + { 192,-6245 }, { 193,-6245 }, { 194,-6245 }, { 195,-6245 }, { 196,-6245 }, + { 197,-6245 }, { 198,-6245 }, { 199,-6245 }, { 200,-6245 }, { 201,-6245 }, + { 202,-6245 }, { 203,-6245 }, { 204,-6245 }, { 205,-6245 }, { 206,-6245 }, + { 207,-6245 }, { 208,-6245 }, { 209,-6245 }, { 210,-6245 }, { 211,-6245 }, + { 212,-6245 }, { 213,-6245 }, { 214,-6245 }, { 215,-6245 }, { 216,-6245 }, + + { 217,-6245 }, { 218,-6245 }, { 219,-6245 }, { 220,-6245 }, { 221,-6245 }, + { 222,-6245 }, { 223,-6245 }, { 224,-6245 }, { 225,-6245 }, { 226,-6245 }, + { 227,-6245 }, { 228,-6245 }, { 229,-6245 }, { 230,-6245 }, { 231,-6245 }, + { 232,-6245 }, { 233,-6245 }, { 234,-6245 }, { 235,-6245 }, { 236,-6245 }, + { 237,-6245 }, { 238,-6245 }, { 239,-6245 }, { 240,-6245 }, { 241,-6245 }, + { 242,-6245 }, { 243,-6245 }, { 244,-6245 }, { 245,-6245 }, { 246,-6245 }, + { 247,-6245 }, { 248,-6245 }, { 249,-6245 }, { 250,-6245 }, { 251,-6245 }, + { 252,-6245 }, { 253,-6245 }, { 254,-6245 }, { 255,-6245 }, { 256,-6245 }, + { 0, 24 }, { 0,30589 }, { 1,-11542 }, { 2,-11542 }, { 3,-11542 }, + { 4,-11542 }, { 5,-11542 }, { 6,-11542 }, { 7,-11542 }, { 8,-11542 }, + + { 9,-11284 }, { 10,-19197 }, { 11,-11542 }, { 12,-11284 }, { 13,-19197 }, + { 14,-11542 }, { 15,-11542 }, { 16,-11542 }, { 17,-11542 }, { 18,-11542 }, + { 19,-11542 }, { 20,-11542 }, { 21,-11542 }, { 22,-11542 }, { 23,-11542 }, + { 24,-11542 }, { 25,-11542 }, { 26,-11542 }, { 27,-11542 }, { 28,-11542 }, + { 29,-11542 }, { 30,-11542 }, { 31,-11542 }, { 32,-11284 }, { 33,-11542 }, + { 34,-11542 }, { 35,-11542 }, { 36,-11542 }, { 37,-11542 }, { 38,-11542 }, + { 39,-11542 }, { 40,-11542 }, { 41,-11542 }, { 42,-11542 }, { 43,-11542 }, + { 44,-11542 }, { 45,-11026 }, { 46,-11542 }, { 47,-11542 }, { 48,-11542 }, + { 49,-11542 }, { 50,-11542 }, { 51,-11542 }, { 52,-11542 }, { 53,-11542 }, + { 54,-11542 }, { 55,-11542 }, { 56,-11542 }, { 57,-11542 }, { 58,-11542 }, + + { 59,-11542 }, { 60,-11542 }, { 61,-11542 }, { 62,-11542 }, { 63,-11542 }, + { 64,-11542 }, { 65,-11542 }, { 66,-11542 }, { 67,-11542 }, { 68,-11542 }, + { 69,1441 }, { 70,-11542 }, { 71,-11542 }, { 72,-11542 }, { 73,-11542 }, + { 74,-11542 }, { 75,-11542 }, { 76,-11542 }, { 77,-11542 }, { 78,-11542 }, + { 79,-11542 }, { 80,-11542 }, { 81,-11542 }, { 82,-11542 }, { 83,-11542 }, + { 84,-11542 }, { 85,-10768 }, { 86,-11542 }, { 87,-11542 }, { 88,-11542 }, + { 89,-11542 }, { 90,-11542 }, { 91,-11542 }, { 92,-11542 }, { 93,-11542 }, + { 94,-11542 }, { 95,-11542 }, { 96,-11542 }, { 97,-11542 }, { 98,-11542 }, + { 99,-11542 }, { 100,-11542 }, { 101,1441 }, { 102,-11542 }, { 103,-11542 }, + { 104,-11542 }, { 105,-11542 }, { 106,-11542 }, { 107,-11542 }, { 108,-11542 }, + + { 109,-11542 }, { 110,-11542 }, { 111,-11542 }, { 112,-11542 }, { 113,-11542 }, + { 114,-11542 }, { 115,-11542 }, { 116,-11542 }, { 117,-10768 }, { 118,-11542 }, + { 119,-11542 }, { 120,-11542 }, { 121,-11542 }, { 122,-11542 }, { 123,-11542 }, + { 124,-11542 }, { 125,-11542 }, { 126,-11542 }, { 127,-11542 }, { 128,-11542 }, + { 129,-11542 }, { 130,-11542 }, { 131,-11542 }, { 132,-11542 }, { 133,-11542 }, + { 134,-11542 }, { 135,-11542 }, { 136,-11542 }, { 137,-11542 }, { 138,-11542 }, + { 139,-11542 }, { 140,-11542 }, { 141,-11542 }, { 142,-11542 }, { 143,-11542 }, + { 144,-11542 }, { 145,-11542 }, { 146,-11542 }, { 147,-11542 }, { 148,-11542 }, + { 149,-11542 }, { 150,-11542 }, { 151,-11542 }, { 152,-11542 }, { 153,-11542 }, + { 154,-11542 }, { 155,-11542 }, { 156,-11542 }, { 157,-11542 }, { 158,-11542 }, + + { 159,-11542 }, { 160,-11542 }, { 161,-11542 }, { 162,-11542 }, { 163,-11542 }, + { 164,-11542 }, { 165,-11542 }, { 166,-11542 }, { 167,-11542 }, { 168,-11542 }, + { 169,-11542 }, { 170,-11542 }, { 171,-11542 }, { 172,-11542 }, { 173,-11542 }, + { 174,-11542 }, { 175,-11542 }, { 176,-11542 }, { 177,-11542 }, { 178,-11542 }, + { 179,-11542 }, { 180,-11542 }, { 181,-11542 }, { 182,-11542 }, { 183,-11542 }, + { 184,-11542 }, { 185,-11542 }, { 186,-11542 }, { 187,-11542 }, { 188,-11542 }, + { 189,-11542 }, { 190,-11542 }, { 191,-11542 }, { 192,-11542 }, { 193,-11542 }, + { 194,-11542 }, { 195,-11542 }, { 196,-11542 }, { 197,-11542 }, { 198,-11542 }, + { 199,-11542 }, { 200,-11542 }, { 201,-11542 }, { 202,-11542 }, { 203,-11542 }, + { 204,-11542 }, { 205,-11542 }, { 206,-11542 }, { 207,-11542 }, { 208,-11542 }, + + { 209,-11542 }, { 210,-11542 }, { 211,-11542 }, { 212,-11542 }, { 213,-11542 }, + { 214,-11542 }, { 215,-11542 }, { 216,-11542 }, { 217,-11542 }, { 218,-11542 }, + { 219,-11542 }, { 220,-11542 }, { 221,-11542 }, { 222,-11542 }, { 223,-11542 }, + { 224,-11542 }, { 225,-11542 }, { 226,-11542 }, { 227,-11542 }, { 228,-11542 }, + { 229,-11542 }, { 230,-11542 }, { 231,-11542 }, { 232,-11542 }, { 233,-11542 }, + { 234,-11542 }, { 235,-11542 }, { 236,-11542 }, { 237,-11542 }, { 238,-11542 }, + { 239,-11542 }, { 240,-11542 }, { 241,-11542 }, { 242,-11542 }, { 243,-11542 }, + { 244,-11542 }, { 245,-11542 }, { 246,-11542 }, { 247,-11542 }, { 248,-11542 }, + { 249,-11542 }, { 250,-11542 }, { 251,-11542 }, { 252,-11542 }, { 253,-11542 }, + { 254,-11542 }, { 255,-11542 }, { 256,-11542 }, { 0, 24 }, { 0,30331 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9, 0 }, { 10, 0 }, + { 0, 0 }, { 12, 0 }, { 13, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 32, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 39, 47 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-22937 }, + { 0, 24 }, { 0,30284 }, { 1,-22975 }, { 2,-22975 }, { 3,-22975 }, + + { 4,-22975 }, { 5,-22975 }, { 6,-22975 }, { 7,-22975 }, { 8,-22975 }, + { 9,-22975 }, { 10,-22975 }, { 11,-22975 }, { 12,-22975 }, { 13,-22975 }, + { 14,-22975 }, { 15,-22975 }, { 16,-22975 }, { 17,-22975 }, { 18,-22975 }, + { 19,-22975 }, { 20,-22975 }, { 21,-22975 }, { 22,-22975 }, { 23,-22975 }, + { 24,-22975 }, { 25,-22975 }, { 26,-22975 }, { 27,-22975 }, { 28,-22975 }, + { 29,-22975 }, { 30,-22975 }, { 31,-22975 }, { 32,-22975 }, { 33,-22975 }, + { 34,-22975 }, { 35,-22975 }, { 36,-22975 }, { 37,-22975 }, { 38,-22975 }, + { 0, 0 }, { 40,-22975 }, { 41,-22975 }, { 42,-22975 }, { 43,-22975 }, + { 44,-22975 }, { 45,-22975 }, { 46,-22975 }, { 47,-22975 }, { 48,-22975 }, + { 49,-22975 }, { 50,-22975 }, { 51,-22975 }, { 52,-22975 }, { 53,-22975 }, + + { 54,-22975 }, { 55,-22975 }, { 56,-22975 }, { 57,-22975 }, { 58,-22975 }, + { 59,-22975 }, { 60,-22975 }, { 61,-22975 }, { 62,-22975 }, { 63,-22975 }, + { 64,-22975 }, { 65,-22975 }, { 66,-22975 }, { 67,-22975 }, { 68,-22975 }, + { 69,-22975 }, { 70,-22975 }, { 71,-22975 }, { 72,-22975 }, { 73,-22975 }, + { 74,-22975 }, { 75,-22975 }, { 76,-22975 }, { 77,-22975 }, { 78,-22975 }, + { 79,-22975 }, { 80,-22975 }, { 81,-22975 }, { 82,-22975 }, { 83,-22975 }, + { 84,-22975 }, { 85,-22975 }, { 86,-22975 }, { 87,-22975 }, { 88,-22975 }, + { 89,-22975 }, { 90,-22975 }, { 91,-22975 }, { 92,-22975 }, { 93,-22975 }, + { 94,-22975 }, { 95,-22975 }, { 96,-22975 }, { 97,-22975 }, { 98,-22975 }, + { 99,-22975 }, { 100,-22975 }, { 101,-22975 }, { 102,-22975 }, { 103,-22975 }, + + { 104,-22975 }, { 105,-22975 }, { 106,-22975 }, { 107,-22975 }, { 108,-22975 }, + { 109,-22975 }, { 110,-22975 }, { 111,-22975 }, { 112,-22975 }, { 113,-22975 }, + { 114,-22975 }, { 115,-22975 }, { 116,-22975 }, { 117,-22975 }, { 118,-22975 }, + { 119,-22975 }, { 120,-22975 }, { 121,-22975 }, { 122,-22975 }, { 123,-22975 }, + { 124,-22975 }, { 125,-22975 }, { 126,-22975 }, { 127,-22975 }, { 128,-22975 }, + { 129,-22975 }, { 130,-22975 }, { 131,-22975 }, { 132,-22975 }, { 133,-22975 }, + { 134,-22975 }, { 135,-22975 }, { 136,-22975 }, { 137,-22975 }, { 138,-22975 }, + { 139,-22975 }, { 140,-22975 }, { 141,-22975 }, { 142,-22975 }, { 143,-22975 }, + { 144,-22975 }, { 145,-22975 }, { 146,-22975 }, { 147,-22975 }, { 148,-22975 }, + { 149,-22975 }, { 150,-22975 }, { 151,-22975 }, { 152,-22975 }, { 153,-22975 }, + + { 154,-22975 }, { 155,-22975 }, { 156,-22975 }, { 157,-22975 }, { 158,-22975 }, + { 159,-22975 }, { 160,-22975 }, { 161,-22975 }, { 162,-22975 }, { 163,-22975 }, + { 164,-22975 }, { 165,-22975 }, { 166,-22975 }, { 167,-22975 }, { 168,-22975 }, + { 169,-22975 }, { 170,-22975 }, { 171,-22975 }, { 172,-22975 }, { 173,-22975 }, + { 174,-22975 }, { 175,-22975 }, { 176,-22975 }, { 177,-22975 }, { 178,-22975 }, + { 179,-22975 }, { 180,-22975 }, { 181,-22975 }, { 182,-22975 }, { 183,-22975 }, + { 184,-22975 }, { 185,-22975 }, { 186,-22975 }, { 187,-22975 }, { 188,-22975 }, + { 189,-22975 }, { 190,-22975 }, { 191,-22975 }, { 192,-22975 }, { 193,-22975 }, + { 194,-22975 }, { 195,-22975 }, { 196,-22975 }, { 197,-22975 }, { 198,-22975 }, + { 199,-22975 }, { 200,-22975 }, { 201,-22975 }, { 202,-22975 }, { 203,-22975 }, + + { 204,-22975 }, { 205,-22975 }, { 206,-22975 }, { 207,-22975 }, { 208,-22975 }, + { 209,-22975 }, { 210,-22975 }, { 211,-22975 }, { 212,-22975 }, { 213,-22975 }, + { 214,-22975 }, { 215,-22975 }, { 216,-22975 }, { 217,-22975 }, { 218,-22975 }, + { 219,-22975 }, { 220,-22975 }, { 221,-22975 }, { 222,-22975 }, { 223,-22975 }, + { 224,-22975 }, { 225,-22975 }, { 226,-22975 }, { 227,-22975 }, { 228,-22975 }, + { 229,-22975 }, { 230,-22975 }, { 231,-22975 }, { 232,-22975 }, { 233,-22975 }, + { 234,-22975 }, { 235,-22975 }, { 236,-22975 }, { 237,-22975 }, { 238,-22975 }, + { 239,-22975 }, { 240,-22975 }, { 241,-22975 }, { 242,-22975 }, { 243,-22975 }, + { 244,-22975 }, { 245,-22975 }, { 246,-22975 }, { 247,-22975 }, { 248,-22975 }, + { 249,-22975 }, { 250,-22975 }, { 251,-22975 }, { 252,-22975 }, { 253,-22975 }, + + { 254,-22975 }, { 255,-22975 }, { 256,-22975 }, { 0, 33 }, { 0,30026 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 48,-23259 }, { 49,-23259 }, { 50,-23259 }, + { 51,-23259 }, { 52,-23259 }, { 53,-23259 }, { 54,-23259 }, { 55,-23259 }, + { 56,-23259 }, { 57,-23259 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-23259 }, + { 66,-23259 }, { 67,-23259 }, { 68,-23259 }, { 69,-23259 }, { 70,-23259 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 97,-23259 }, { 98,-23259 }, { 99,-23259 }, { 100,-23259 }, + { 101,-23259 }, { 102,-23259 }, { 0, 48 }, { 0,29922 }, { 1,-13499 }, + { 2,-13499 }, { 3,-13499 }, { 4,-13499 }, { 5,-13499 }, { 6,-13499 }, + { 7,-13499 }, { 8,-13499 }, { 9,1290 }, { 10,1548 }, { 11,-13499 }, + { 12,1290 }, { 13,1548 }, { 14,-13499 }, { 15,-13499 }, { 16,-13499 }, + { 17,-13499 }, { 18,-13499 }, { 19,-13499 }, { 20,-13499 }, { 21,-13499 }, + { 22,-13499 }, { 23,-13499 }, { 24,-13499 }, { 25,-13499 }, { 26,-13499 }, + { 27,-13499 }, { 28,-13499 }, { 29,-13499 }, { 30,-13499 }, { 31,-13499 }, + { 32,1290 }, { 33,-13499 }, { 34,-13499 }, { 35,-13499 }, { 36,-13499 }, + { 37,-13499 }, { 38,-13499 }, { 39,1667 }, { 40,-13499 }, { 41,-13499 }, + + { 42,-13499 }, { 43,-13499 }, { 44,-13499 }, { 45,1925 }, { 46,-13499 }, + { 47,-13499 }, { 48,-13499 }, { 49,-13499 }, { 50,-13499 }, { 51,-13499 }, + { 52,-13499 }, { 53,-13499 }, { 54,-13499 }, { 55,-13499 }, { 56,-13499 }, + { 57,-13499 }, { 58,-13499 }, { 59,-13499 }, { 60,-13499 }, { 61,-13499 }, + { 62,-13499 }, { 63,-13499 }, { 64,-13499 }, { 65,-13499 }, { 66,-13499 }, + { 67,-13499 }, { 68,-13499 }, { 69,-13499 }, { 70,-13499 }, { 71,-13499 }, + { 72,-13499 }, { 73,-13499 }, { 74,-13499 }, { 75,-13499 }, { 76,-13499 }, + { 77,-13499 }, { 78,-13499 }, { 79,-13499 }, { 80,-13499 }, { 81,-13499 }, + { 82,-13499 }, { 83,-13499 }, { 84,-13499 }, { 85,-12725 }, { 86,-13499 }, + { 87,-13499 }, { 88,-13499 }, { 89,-13499 }, { 90,-13499 }, { 91,-13499 }, + + { 92,-13499 }, { 93,-13499 }, { 94,-13499 }, { 95,-13499 }, { 96,-13499 }, + { 97,-13499 }, { 98,-13499 }, { 99,-13499 }, { 100,-13499 }, { 101,-13499 }, + { 102,-13499 }, { 103,-13499 }, { 104,-13499 }, { 105,-13499 }, { 106,-13499 }, + { 107,-13499 }, { 108,-13499 }, { 109,-13499 }, { 110,-13499 }, { 111,-13499 }, + { 112,-13499 }, { 113,-13499 }, { 114,-13499 }, { 115,-13499 }, { 116,-13499 }, + { 117,-12725 }, { 118,-13499 }, { 119,-13499 }, { 120,-13499 }, { 121,-13499 }, + { 122,-13499 }, { 123,-13499 }, { 124,-13499 }, { 125,-13499 }, { 126,-13499 }, + { 127,-13499 }, { 128,-13499 }, { 129,-13499 }, { 130,-13499 }, { 131,-13499 }, + { 132,-13499 }, { 133,-13499 }, { 134,-13499 }, { 135,-13499 }, { 136,-13499 }, + { 137,-13499 }, { 138,-13499 }, { 139,-13499 }, { 140,-13499 }, { 141,-13499 }, + + { 142,-13499 }, { 143,-13499 }, { 144,-13499 }, { 145,-13499 }, { 146,-13499 }, + { 147,-13499 }, { 148,-13499 }, { 149,-13499 }, { 150,-13499 }, { 151,-13499 }, + { 152,-13499 }, { 153,-13499 }, { 154,-13499 }, { 155,-13499 }, { 156,-13499 }, + { 157,-13499 }, { 158,-13499 }, { 159,-13499 }, { 160,-13499 }, { 161,-13499 }, + { 162,-13499 }, { 163,-13499 }, { 164,-13499 }, { 165,-13499 }, { 166,-13499 }, + { 167,-13499 }, { 168,-13499 }, { 169,-13499 }, { 170,-13499 }, { 171,-13499 }, + { 172,-13499 }, { 173,-13499 }, { 174,-13499 }, { 175,-13499 }, { 176,-13499 }, + { 177,-13499 }, { 178,-13499 }, { 179,-13499 }, { 180,-13499 }, { 181,-13499 }, + { 182,-13499 }, { 183,-13499 }, { 184,-13499 }, { 185,-13499 }, { 186,-13499 }, + { 187,-13499 }, { 188,-13499 }, { 189,-13499 }, { 190,-13499 }, { 191,-13499 }, + + { 192,-13499 }, { 193,-13499 }, { 194,-13499 }, { 195,-13499 }, { 196,-13499 }, + { 197,-13499 }, { 198,-13499 }, { 199,-13499 }, { 200,-13499 }, { 201,-13499 }, + { 202,-13499 }, { 203,-13499 }, { 204,-13499 }, { 205,-13499 }, { 206,-13499 }, + { 207,-13499 }, { 208,-13499 }, { 209,-13499 }, { 210,-13499 }, { 211,-13499 }, + { 212,-13499 }, { 213,-13499 }, { 214,-13499 }, { 215,-13499 }, { 216,-13499 }, + { 217,-13499 }, { 218,-13499 }, { 219,-13499 }, { 220,-13499 }, { 221,-13499 }, + { 222,-13499 }, { 223,-13499 }, { 224,-13499 }, { 225,-13499 }, { 226,-13499 }, + { 227,-13499 }, { 228,-13499 }, { 229,-13499 }, { 230,-13499 }, { 231,-13499 }, + { 232,-13499 }, { 233,-13499 }, { 234,-13499 }, { 235,-13499 }, { 236,-13499 }, + { 237,-13499 }, { 238,-13499 }, { 239,-13499 }, { 240,-13499 }, { 241,-13499 }, + + { 242,-13499 }, { 243,-13499 }, { 244,-13499 }, { 245,-13499 }, { 246,-13499 }, + { 247,-13499 }, { 248,-13499 }, { 249,-13499 }, { 250,-13499 }, { 251,-13499 }, + { 252,-13499 }, { 253,-13499 }, { 254,-13499 }, { 255,-13499 }, { 256,-13499 }, + { 0, 48 }, { 0,29664 }, { 1,1925 }, { 2,1925 }, { 3,1925 }, + { 4,1925 }, { 5,1925 }, { 6,1925 }, { 7,1925 }, { 8,1925 }, + { 9,2183 }, { 10,-1488 }, { 11,1925 }, { 12,2183 }, { 13,-1488 }, + { 14,1925 }, { 15,1925 }, { 16,1925 }, { 17,1925 }, { 18,1925 }, + { 19,1925 }, { 20,1925 }, { 21,1925 }, { 22,1925 }, { 23,1925 }, + { 24,1925 }, { 25,1925 }, { 26,1925 }, { 27,1925 }, { 28,1925 }, + { 29,1925 }, { 30,1925 }, { 31,1925 }, { 32,2183 }, { 33,1925 }, + + { 34,1925 }, { 35,1925 }, { 36,1925 }, { 37,1925 }, { 38,1925 }, + { 39,2441 }, { 40,1925 }, { 41,1925 }, { 42,1925 }, { 43,1925 }, + { 44,1925 }, { 45,2699 }, { 46,1925 }, { 47,1925 }, { 48,1925 }, + { 49,1925 }, { 50,1925 }, { 51,1925 }, { 52,1925 }, { 53,1925 }, + { 54,1925 }, { 55,1925 }, { 56,1925 }, { 57,1925 }, { 58,1925 }, + { 59,1925 }, { 60,1925 }, { 61,1925 }, { 62,1925 }, { 63,1925 }, + { 64,1925 }, { 65,1925 }, { 66,1925 }, { 67,1925 }, { 68,1925 }, + { 69,1925 }, { 70,1925 }, { 71,1925 }, { 72,1925 }, { 73,1925 }, + { 74,1925 }, { 75,1925 }, { 76,1925 }, { 77,1925 }, { 78,1925 }, + { 79,1925 }, { 80,1925 }, { 81,1925 }, { 82,1925 }, { 83,1925 }, + + { 84,1925 }, { 85,1925 }, { 86,1925 }, { 87,1925 }, { 88,1925 }, + { 89,1925 }, { 90,1925 }, { 91,1925 }, { 92,1925 }, { 93,1925 }, + { 94,1925 }, { 95,1925 }, { 96,1925 }, { 97,1925 }, { 98,1925 }, + { 99,1925 }, { 100,1925 }, { 101,1925 }, { 102,1925 }, { 103,1925 }, + { 104,1925 }, { 105,1925 }, { 106,1925 }, { 107,1925 }, { 108,1925 }, + { 109,1925 }, { 110,1925 }, { 111,1925 }, { 112,1925 }, { 113,1925 }, + { 114,1925 }, { 115,1925 }, { 116,1925 }, { 117,1925 }, { 118,1925 }, + { 119,1925 }, { 120,1925 }, { 121,1925 }, { 122,1925 }, { 123,1925 }, + { 124,1925 }, { 125,1925 }, { 126,1925 }, { 127,1925 }, { 128,1925 }, + { 129,1925 }, { 130,1925 }, { 131,1925 }, { 132,1925 }, { 133,1925 }, + + { 134,1925 }, { 135,1925 }, { 136,1925 }, { 137,1925 }, { 138,1925 }, + { 139,1925 }, { 140,1925 }, { 141,1925 }, { 142,1925 }, { 143,1925 }, + { 144,1925 }, { 145,1925 }, { 146,1925 }, { 147,1925 }, { 148,1925 }, + { 149,1925 }, { 150,1925 }, { 151,1925 }, { 152,1925 }, { 153,1925 }, + { 154,1925 }, { 155,1925 }, { 156,1925 }, { 157,1925 }, { 158,1925 }, + { 159,1925 }, { 160,1925 }, { 161,1925 }, { 162,1925 }, { 163,1925 }, + { 164,1925 }, { 165,1925 }, { 166,1925 }, { 167,1925 }, { 168,1925 }, + { 169,1925 }, { 170,1925 }, { 171,1925 }, { 172,1925 }, { 173,1925 }, + { 174,1925 }, { 175,1925 }, { 176,1925 }, { 177,1925 }, { 178,1925 }, + { 179,1925 }, { 180,1925 }, { 181,1925 }, { 182,1925 }, { 183,1925 }, + + { 184,1925 }, { 185,1925 }, { 186,1925 }, { 187,1925 }, { 188,1925 }, + { 189,1925 }, { 190,1925 }, { 191,1925 }, { 192,1925 }, { 193,1925 }, + { 194,1925 }, { 195,1925 }, { 196,1925 }, { 197,1925 }, { 198,1925 }, + { 199,1925 }, { 200,1925 }, { 201,1925 }, { 202,1925 }, { 203,1925 }, + { 204,1925 }, { 205,1925 }, { 206,1925 }, { 207,1925 }, { 208,1925 }, + { 209,1925 }, { 210,1925 }, { 211,1925 }, { 212,1925 }, { 213,1925 }, + { 214,1925 }, { 215,1925 }, { 216,1925 }, { 217,1925 }, { 218,1925 }, + { 219,1925 }, { 220,1925 }, { 221,1925 }, { 222,1925 }, { 223,1925 }, + { 224,1925 }, { 225,1925 }, { 226,1925 }, { 227,1925 }, { 228,1925 }, + { 229,1925 }, { 230,1925 }, { 231,1925 }, { 232,1925 }, { 233,1925 }, + + { 234,1925 }, { 235,1925 }, { 236,1925 }, { 237,1925 }, { 238,1925 }, + { 239,1925 }, { 240,1925 }, { 241,1925 }, { 242,1925 }, { 243,1925 }, + { 244,1925 }, { 245,1925 }, { 246,1925 }, { 247,1925 }, { 248,1925 }, + { 249,1925 }, { 250,1925 }, { 251,1925 }, { 252,1925 }, { 253,1925 }, + { 254,1925 }, { 255,1925 }, { 256,1925 }, { 0, 24 }, { 0,29406 }, + { 1,-7686 }, { 2,-7686 }, { 3,-7686 }, { 4,-7686 }, { 5,-7686 }, + { 6,-7686 }, { 7,-7686 }, { 8,-7686 }, { 9,-7428 }, { 10,-7170 }, + { 11,-7686 }, { 12,-7428 }, { 13,-7170 }, { 14,-7686 }, { 15,-7686 }, + { 16,-7686 }, { 17,-7686 }, { 18,-7686 }, { 19,-7686 }, { 20,-7686 }, + { 21,-7686 }, { 22,-7686 }, { 23,-7686 }, { 24,-7686 }, { 25,-7686 }, + + { 26,-7686 }, { 27,-7686 }, { 28,-7686 }, { 29,-7686 }, { 30,-7686 }, + { 31,-7686 }, { 32,-7428 }, { 33,-7686 }, { 34,-7686 }, { 35,-7686 }, + { 36,-7686 }, { 37,-7686 }, { 38,-7686 }, { 39,-7686 }, { 40,-7686 }, + { 41,-7686 }, { 42,-7686 }, { 43,-7686 }, { 44,-7686 }, { 45,-7051 }, + { 46,-7686 }, { 47,-7686 }, { 48,-7686 }, { 49,-7686 }, { 50,-7686 }, + { 51,-7686 }, { 52,-7686 }, { 53,-7686 }, { 54,-7686 }, { 55,-7686 }, + { 56,-7686 }, { 57,-7686 }, { 58,-7686 }, { 59,-7686 }, { 60,-7686 }, + { 61,-7686 }, { 62,-7686 }, { 63,-7686 }, { 64,-7686 }, { 65,-7686 }, + { 66,-7686 }, { 67,-7686 }, { 68,-7686 }, { 69,2699 }, { 70,-7686 }, + { 71,-7686 }, { 72,-7686 }, { 73,-7686 }, { 74,-7686 }, { 75,-7686 }, + + { 76,-7686 }, { 77,-7686 }, { 78,-7686 }, { 79,-7686 }, { 80,-7686 }, + { 81,-7686 }, { 82,-7686 }, { 83,-7686 }, { 84,-7686 }, { 85,-6793 }, + { 86,-7686 }, { 87,-7686 }, { 88,-7686 }, { 89,-7686 }, { 90,-7686 }, + { 91,-7686 }, { 92,-7686 }, { 93,-7686 }, { 94,-7686 }, { 95,-7686 }, + { 96,-7686 }, { 97,-7686 }, { 98,-7686 }, { 99,-7686 }, { 100,-7686 }, + { 101,2699 }, { 102,-7686 }, { 103,-7686 }, { 104,-7686 }, { 105,-7686 }, + { 106,-7686 }, { 107,-7686 }, { 108,-7686 }, { 109,-7686 }, { 110,-7686 }, + { 111,-7686 }, { 112,-7686 }, { 113,-7686 }, { 114,-7686 }, { 115,-7686 }, + { 116,-7686 }, { 117,-6793 }, { 118,-7686 }, { 119,-7686 }, { 120,-7686 }, + { 121,-7686 }, { 122,-7686 }, { 123,-7686 }, { 124,-7686 }, { 125,-7686 }, + + { 126,-7686 }, { 127,-7686 }, { 128,-7686 }, { 129,-7686 }, { 130,-7686 }, + { 131,-7686 }, { 132,-7686 }, { 133,-7686 }, { 134,-7686 }, { 135,-7686 }, + { 136,-7686 }, { 137,-7686 }, { 138,-7686 }, { 139,-7686 }, { 140,-7686 }, + { 141,-7686 }, { 142,-7686 }, { 143,-7686 }, { 144,-7686 }, { 145,-7686 }, + { 146,-7686 }, { 147,-7686 }, { 148,-7686 }, { 149,-7686 }, { 150,-7686 }, + { 151,-7686 }, { 152,-7686 }, { 153,-7686 }, { 154,-7686 }, { 155,-7686 }, + { 156,-7686 }, { 157,-7686 }, { 158,-7686 }, { 159,-7686 }, { 160,-7686 }, + { 161,-7686 }, { 162,-7686 }, { 163,-7686 }, { 164,-7686 }, { 165,-7686 }, + { 166,-7686 }, { 167,-7686 }, { 168,-7686 }, { 169,-7686 }, { 170,-7686 }, + { 171,-7686 }, { 172,-7686 }, { 173,-7686 }, { 174,-7686 }, { 175,-7686 }, + + { 176,-7686 }, { 177,-7686 }, { 178,-7686 }, { 179,-7686 }, { 180,-7686 }, + { 181,-7686 }, { 182,-7686 }, { 183,-7686 }, { 184,-7686 }, { 185,-7686 }, + { 186,-7686 }, { 187,-7686 }, { 188,-7686 }, { 189,-7686 }, { 190,-7686 }, + { 191,-7686 }, { 192,-7686 }, { 193,-7686 }, { 194,-7686 }, { 195,-7686 }, + { 196,-7686 }, { 197,-7686 }, { 198,-7686 }, { 199,-7686 }, { 200,-7686 }, + { 201,-7686 }, { 202,-7686 }, { 203,-7686 }, { 204,-7686 }, { 205,-7686 }, + { 206,-7686 }, { 207,-7686 }, { 208,-7686 }, { 209,-7686 }, { 210,-7686 }, + { 211,-7686 }, { 212,-7686 }, { 213,-7686 }, { 214,-7686 }, { 215,-7686 }, + { 216,-7686 }, { 217,-7686 }, { 218,-7686 }, { 219,-7686 }, { 220,-7686 }, + { 221,-7686 }, { 222,-7686 }, { 223,-7686 }, { 224,-7686 }, { 225,-7686 }, + + { 226,-7686 }, { 227,-7686 }, { 228,-7686 }, { 229,-7686 }, { 230,-7686 }, + { 231,-7686 }, { 232,-7686 }, { 233,-7686 }, { 234,-7686 }, { 235,-7686 }, + { 236,-7686 }, { 237,-7686 }, { 238,-7686 }, { 239,-7686 }, { 240,-7686 }, + { 241,-7686 }, { 242,-7686 }, { 243,-7686 }, { 244,-7686 }, { 245,-7686 }, + { 246,-7686 }, { 247,-7686 }, { 248,-7686 }, { 249,-7686 }, { 250,-7686 }, + { 251,-7686 }, { 252,-7686 }, { 253,-7686 }, { 254,-7686 }, { 255,-7686 }, + { 256,-7686 }, { 0, 24 }, { 0,29148 }, { 1,-12983 }, { 2,-12983 }, + { 3,-12983 }, { 4,-12983 }, { 5,-12983 }, { 6,-12983 }, { 7,-12983 }, + { 8,-12983 }, { 9,2699 }, { 10,2957 }, { 11,-12983 }, { 12,2699 }, + { 13,2957 }, { 14,-12983 }, { 15,-12983 }, { 16,-12983 }, { 17,-12983 }, + + { 18,-12983 }, { 19,-12983 }, { 20,-12983 }, { 21,-12983 }, { 22,-12983 }, + { 23,-12983 }, { 24,-12983 }, { 25,-12983 }, { 26,-12983 }, { 27,-12983 }, + { 28,-12983 }, { 29,-12983 }, { 30,-12983 }, { 31,-12983 }, { 32,2699 }, + { 33,-12983 }, { 34,-12983 }, { 35,-12983 }, { 36,-12983 }, { 37,-12983 }, + { 38,-12983 }, { 39,3076 }, { 40,-12983 }, { 41,-12983 }, { 42,-12983 }, + { 43,-12983 }, { 44,-12983 }, { 45,3334 }, { 46,-12983 }, { 47,-12983 }, + { 48,-12983 }, { 49,-12983 }, { 50,-12983 }, { 51,-12983 }, { 52,-12983 }, + { 53,-12983 }, { 54,-12983 }, { 55,-12983 }, { 56,-12983 }, { 57,-12983 }, + { 58,-12983 }, { 59,-12983 }, { 60,-12983 }, { 61,-12983 }, { 62,-12983 }, + { 63,-12983 }, { 64,-12983 }, { 65,-12983 }, { 66,-12983 }, { 67,-12983 }, + + { 68,-12983 }, { 69,-12983 }, { 70,-12983 }, { 71,-12983 }, { 72,-12983 }, + { 73,-12983 }, { 74,-12983 }, { 75,-12983 }, { 76,-12983 }, { 77,-12983 }, + { 78,-12983 }, { 79,-12983 }, { 80,-12983 }, { 81,-12983 }, { 82,-12983 }, + { 83,-12983 }, { 84,-12983 }, { 85,-12209 }, { 86,-12983 }, { 87,-12983 }, + { 88,-12983 }, { 89,-12983 }, { 90,-12983 }, { 91,-12983 }, { 92,-12983 }, + { 93,-12983 }, { 94,-12983 }, { 95,-12983 }, { 96,-12983 }, { 97,-12983 }, + { 98,-12983 }, { 99,-12983 }, { 100,-12983 }, { 101,-12983 }, { 102,-12983 }, + { 103,-12983 }, { 104,-12983 }, { 105,-12983 }, { 106,-12983 }, { 107,-12983 }, + { 108,-12983 }, { 109,-12983 }, { 110,-12983 }, { 111,-12983 }, { 112,-12983 }, + { 113,-12983 }, { 114,-12983 }, { 115,-12983 }, { 116,-12983 }, { 117,-12209 }, + + { 118,-12983 }, { 119,-12983 }, { 120,-12983 }, { 121,-12983 }, { 122,-12983 }, + { 123,-12983 }, { 124,-12983 }, { 125,-12983 }, { 126,-12983 }, { 127,-12983 }, + { 128,-12983 }, { 129,-12983 }, { 130,-12983 }, { 131,-12983 }, { 132,-12983 }, + { 133,-12983 }, { 134,-12983 }, { 135,-12983 }, { 136,-12983 }, { 137,-12983 }, + { 138,-12983 }, { 139,-12983 }, { 140,-12983 }, { 141,-12983 }, { 142,-12983 }, + { 143,-12983 }, { 144,-12983 }, { 145,-12983 }, { 146,-12983 }, { 147,-12983 }, + { 148,-12983 }, { 149,-12983 }, { 150,-12983 }, { 151,-12983 }, { 152,-12983 }, + { 153,-12983 }, { 154,-12983 }, { 155,-12983 }, { 156,-12983 }, { 157,-12983 }, + { 158,-12983 }, { 159,-12983 }, { 160,-12983 }, { 161,-12983 }, { 162,-12983 }, + { 163,-12983 }, { 164,-12983 }, { 165,-12983 }, { 166,-12983 }, { 167,-12983 }, + + { 168,-12983 }, { 169,-12983 }, { 170,-12983 }, { 171,-12983 }, { 172,-12983 }, + { 173,-12983 }, { 174,-12983 }, { 175,-12983 }, { 176,-12983 }, { 177,-12983 }, + { 178,-12983 }, { 179,-12983 }, { 180,-12983 }, { 181,-12983 }, { 182,-12983 }, + { 183,-12983 }, { 184,-12983 }, { 185,-12983 }, { 186,-12983 }, { 187,-12983 }, + { 188,-12983 }, { 189,-12983 }, { 190,-12983 }, { 191,-12983 }, { 192,-12983 }, + { 193,-12983 }, { 194,-12983 }, { 195,-12983 }, { 196,-12983 }, { 197,-12983 }, + { 198,-12983 }, { 199,-12983 }, { 200,-12983 }, { 201,-12983 }, { 202,-12983 }, + { 203,-12983 }, { 204,-12983 }, { 205,-12983 }, { 206,-12983 }, { 207,-12983 }, + { 208,-12983 }, { 209,-12983 }, { 210,-12983 }, { 211,-12983 }, { 212,-12983 }, + { 213,-12983 }, { 214,-12983 }, { 215,-12983 }, { 216,-12983 }, { 217,-12983 }, + + { 218,-12983 }, { 219,-12983 }, { 220,-12983 }, { 221,-12983 }, { 222,-12983 }, + { 223,-12983 }, { 224,-12983 }, { 225,-12983 }, { 226,-12983 }, { 227,-12983 }, + { 228,-12983 }, { 229,-12983 }, { 230,-12983 }, { 231,-12983 }, { 232,-12983 }, + { 233,-12983 }, { 234,-12983 }, { 235,-12983 }, { 236,-12983 }, { 237,-12983 }, + { 238,-12983 }, { 239,-12983 }, { 240,-12983 }, { 241,-12983 }, { 242,-12983 }, + { 243,-12983 }, { 244,-12983 }, { 245,-12983 }, { 246,-12983 }, { 247,-12983 }, + { 248,-12983 }, { 249,-12983 }, { 250,-12983 }, { 251,-12983 }, { 252,-12983 }, + { 253,-12983 }, { 254,-12983 }, { 255,-12983 }, { 256,-12983 }, { 0, 24 }, + { 0,28890 }, { 1,3334 }, { 2,3334 }, { 3,3334 }, { 4,3334 }, + { 5,3334 }, { 6,3334 }, { 7,3334 }, { 8,3334 }, { 9,3592 }, + + { 10,-1441 }, { 11,3334 }, { 12,3592 }, { 13,-1441 }, { 14,3334 }, + { 15,3334 }, { 16,3334 }, { 17,3334 }, { 18,3334 }, { 19,3334 }, + { 20,3334 }, { 21,3334 }, { 22,3334 }, { 23,3334 }, { 24,3334 }, + { 25,3334 }, { 26,3334 }, { 27,3334 }, { 28,3334 }, { 29,3334 }, + { 30,3334 }, { 31,3334 }, { 32,3592 }, { 33,3334 }, { 34,3334 }, + { 35,3334 }, { 36,3334 }, { 37,3334 }, { 38,3334 }, { 39,3850 }, + { 40,3334 }, { 41,3334 }, { 42,3334 }, { 43,3334 }, { 44,3334 }, + { 45,4108 }, { 46,3334 }, { 47,3334 }, { 48,3334 }, { 49,3334 }, + { 50,3334 }, { 51,3334 }, { 52,3334 }, { 53,3334 }, { 54,3334 }, + { 55,3334 }, { 56,3334 }, { 57,3334 }, { 58,3334 }, { 59,3334 }, + + { 60,3334 }, { 61,3334 }, { 62,3334 }, { 63,3334 }, { 64,3334 }, + { 65,3334 }, { 66,3334 }, { 67,3334 }, { 68,3334 }, { 69,3334 }, + { 70,3334 }, { 71,3334 }, { 72,3334 }, { 73,3334 }, { 74,3334 }, + { 75,3334 }, { 76,3334 }, { 77,3334 }, { 78,3334 }, { 79,3334 }, + { 80,3334 }, { 81,3334 }, { 82,3334 }, { 83,3334 }, { 84,3334 }, + { 85,3334 }, { 86,3334 }, { 87,3334 }, { 88,3334 }, { 89,3334 }, + { 90,3334 }, { 91,3334 }, { 92,3334 }, { 93,3334 }, { 94,3334 }, + { 95,3334 }, { 96,3334 }, { 97,3334 }, { 98,3334 }, { 99,3334 }, + { 100,3334 }, { 101,3334 }, { 102,3334 }, { 103,3334 }, { 104,3334 }, + { 105,3334 }, { 106,3334 }, { 107,3334 }, { 108,3334 }, { 109,3334 }, + + { 110,3334 }, { 111,3334 }, { 112,3334 }, { 113,3334 }, { 114,3334 }, + { 115,3334 }, { 116,3334 }, { 117,3334 }, { 118,3334 }, { 119,3334 }, + { 120,3334 }, { 121,3334 }, { 122,3334 }, { 123,3334 }, { 124,3334 }, + { 125,3334 }, { 126,3334 }, { 127,3334 }, { 128,3334 }, { 129,3334 }, + { 130,3334 }, { 131,3334 }, { 132,3334 }, { 133,3334 }, { 134,3334 }, + { 135,3334 }, { 136,3334 }, { 137,3334 }, { 138,3334 }, { 139,3334 }, + { 140,3334 }, { 141,3334 }, { 142,3334 }, { 143,3334 }, { 144,3334 }, + { 145,3334 }, { 146,3334 }, { 147,3334 }, { 148,3334 }, { 149,3334 }, + { 150,3334 }, { 151,3334 }, { 152,3334 }, { 153,3334 }, { 154,3334 }, + { 155,3334 }, { 156,3334 }, { 157,3334 }, { 158,3334 }, { 159,3334 }, + + { 160,3334 }, { 161,3334 }, { 162,3334 }, { 163,3334 }, { 164,3334 }, + { 165,3334 }, { 166,3334 }, { 167,3334 }, { 168,3334 }, { 169,3334 }, + { 170,3334 }, { 171,3334 }, { 172,3334 }, { 173,3334 }, { 174,3334 }, + { 175,3334 }, { 176,3334 }, { 177,3334 }, { 178,3334 }, { 179,3334 }, + { 180,3334 }, { 181,3334 }, { 182,3334 }, { 183,3334 }, { 184,3334 }, + { 185,3334 }, { 186,3334 }, { 187,3334 }, { 188,3334 }, { 189,3334 }, + { 190,3334 }, { 191,3334 }, { 192,3334 }, { 193,3334 }, { 194,3334 }, + { 195,3334 }, { 196,3334 }, { 197,3334 }, { 198,3334 }, { 199,3334 }, + { 200,3334 }, { 201,3334 }, { 202,3334 }, { 203,3334 }, { 204,3334 }, + { 205,3334 }, { 206,3334 }, { 207,3334 }, { 208,3334 }, { 209,3334 }, + + { 210,3334 }, { 211,3334 }, { 212,3334 }, { 213,3334 }, { 214,3334 }, + { 215,3334 }, { 216,3334 }, { 217,3334 }, { 218,3334 }, { 219,3334 }, + { 220,3334 }, { 221,3334 }, { 222,3334 }, { 223,3334 }, { 224,3334 }, + { 225,3334 }, { 226,3334 }, { 227,3334 }, { 228,3334 }, { 229,3334 }, + { 230,3334 }, { 231,3334 }, { 232,3334 }, { 233,3334 }, { 234,3334 }, + { 235,3334 }, { 236,3334 }, { 237,3334 }, { 238,3334 }, { 239,3334 }, + { 240,3334 }, { 241,3334 }, { 242,3334 }, { 243,3334 }, { 244,3334 }, + { 245,3334 }, { 246,3334 }, { 247,3334 }, { 248,3334 }, { 249,3334 }, + { 250,3334 }, { 251,3334 }, { 252,3334 }, { 253,3334 }, { 254,3334 }, + { 255,3334 }, { 256,3334 }, { 0, 48 }, { 0,28632 }, { 1,-14789 }, + + { 2,-14789 }, { 3,-14789 }, { 4,-14789 }, { 5,-14789 }, { 6,-14789 }, + { 7,-14789 }, { 8,-14789 }, { 9, 0 }, { 10, 258 }, { 11,-14789 }, + { 12, 0 }, { 13, 258 }, { 14,-14789 }, { 15,-14789 }, { 16,-14789 }, + { 17,-14789 }, { 18,-14789 }, { 19,-14789 }, { 20,-14789 }, { 21,-14789 }, + { 22,-14789 }, { 23,-14789 }, { 24,-14789 }, { 25,-14789 }, { 26,-14789 }, + { 27,-14789 }, { 28,-14789 }, { 29,-14789 }, { 30,-14789 }, { 31,-14789 }, + { 32, 0 }, { 33,-14789 }, { 34,-14789 }, { 35,-14789 }, { 36,-14789 }, + { 37,-14789 }, { 38,-14789 }, { 39, 377 }, { 40,-14789 }, { 41,-14789 }, + { 42,-14789 }, { 43,-14789 }, { 44,-14789 }, { 45, 635 }, { 46,-14789 }, + { 47,-14789 }, { 48,-14789 }, { 49,-14789 }, { 50,-14789 }, { 51,-14789 }, + + { 52,-14789 }, { 53,-14789 }, { 54,-14789 }, { 55,-14789 }, { 56,-14789 }, + { 57,-14789 }, { 58,-14789 }, { 59,-14789 }, { 60,-14789 }, { 61,-14789 }, + { 62,-14789 }, { 63,-14789 }, { 64,-14789 }, { 65,-14789 }, { 66,-14789 }, + { 67,-14789 }, { 68,-14789 }, { 69,-14789 }, { 70,-14789 }, { 71,-14789 }, + { 72,-14789 }, { 73,-14789 }, { 74,-14789 }, { 75,-14789 }, { 76,-14789 }, + { 77,-14789 }, { 78,-14789 }, { 79,-14789 }, { 80,-14789 }, { 81,-14789 }, + { 82,-14789 }, { 83,-14789 }, { 84,-14789 }, { 85,-14015 }, { 86,-14789 }, + { 87,-14789 }, { 88,-14789 }, { 89,-14789 }, { 90,-14789 }, { 91,-14789 }, + { 92,-14789 }, { 93,-14789 }, { 94,-14789 }, { 95,-14789 }, { 96,-14789 }, + { 97,-14789 }, { 98,-14789 }, { 99,-14789 }, { 100,-14789 }, { 101,-14789 }, + + { 102,-14789 }, { 103,-14789 }, { 104,-14789 }, { 105,-14789 }, { 106,-14789 }, + { 107,-14789 }, { 108,-14789 }, { 109,-14789 }, { 110,-14789 }, { 111,-14789 }, + { 112,-14789 }, { 113,-14789 }, { 114,-14789 }, { 115,-14789 }, { 116,-14789 }, + { 117,-14015 }, { 118,-14789 }, { 119,-14789 }, { 120,-14789 }, { 121,-14789 }, + { 122,-14789 }, { 123,-14789 }, { 124,-14789 }, { 125,-14789 }, { 126,-14789 }, + { 127,-14789 }, { 128,-14789 }, { 129,-14789 }, { 130,-14789 }, { 131,-14789 }, + { 132,-14789 }, { 133,-14789 }, { 134,-14789 }, { 135,-14789 }, { 136,-14789 }, + { 137,-14789 }, { 138,-14789 }, { 139,-14789 }, { 140,-14789 }, { 141,-14789 }, + { 142,-14789 }, { 143,-14789 }, { 144,-14789 }, { 145,-14789 }, { 146,-14789 }, + { 147,-14789 }, { 148,-14789 }, { 149,-14789 }, { 150,-14789 }, { 151,-14789 }, + + { 152,-14789 }, { 153,-14789 }, { 154,-14789 }, { 155,-14789 }, { 156,-14789 }, + { 157,-14789 }, { 158,-14789 }, { 159,-14789 }, { 160,-14789 }, { 161,-14789 }, + { 162,-14789 }, { 163,-14789 }, { 164,-14789 }, { 165,-14789 }, { 166,-14789 }, + { 167,-14789 }, { 168,-14789 }, { 169,-14789 }, { 170,-14789 }, { 171,-14789 }, + { 172,-14789 }, { 173,-14789 }, { 174,-14789 }, { 175,-14789 }, { 176,-14789 }, + { 177,-14789 }, { 178,-14789 }, { 179,-14789 }, { 180,-14789 }, { 181,-14789 }, + { 182,-14789 }, { 183,-14789 }, { 184,-14789 }, { 185,-14789 }, { 186,-14789 }, + { 187,-14789 }, { 188,-14789 }, { 189,-14789 }, { 190,-14789 }, { 191,-14789 }, + { 192,-14789 }, { 193,-14789 }, { 194,-14789 }, { 195,-14789 }, { 196,-14789 }, + { 197,-14789 }, { 198,-14789 }, { 199,-14789 }, { 200,-14789 }, { 201,-14789 }, + + { 202,-14789 }, { 203,-14789 }, { 204,-14789 }, { 205,-14789 }, { 206,-14789 }, + { 207,-14789 }, { 208,-14789 }, { 209,-14789 }, { 210,-14789 }, { 211,-14789 }, + { 212,-14789 }, { 213,-14789 }, { 214,-14789 }, { 215,-14789 }, { 216,-14789 }, + { 217,-14789 }, { 218,-14789 }, { 219,-14789 }, { 220,-14789 }, { 221,-14789 }, + { 222,-14789 }, { 223,-14789 }, { 224,-14789 }, { 225,-14789 }, { 226,-14789 }, + { 227,-14789 }, { 228,-14789 }, { 229,-14789 }, { 230,-14789 }, { 231,-14789 }, + { 232,-14789 }, { 233,-14789 }, { 234,-14789 }, { 235,-14789 }, { 236,-14789 }, + { 237,-14789 }, { 238,-14789 }, { 239,-14789 }, { 240,-14789 }, { 241,-14789 }, + { 242,-14789 }, { 243,-14789 }, { 244,-14789 }, { 245,-14789 }, { 246,-14789 }, + { 247,-14789 }, { 248,-14789 }, { 249,-14789 }, { 250,-14789 }, { 251,-14789 }, + + { 252,-14789 }, { 253,-14789 }, { 254,-14789 }, { 255,-14789 }, { 256,-14789 }, + { 0, 48 }, { 0,28374 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 9, 0 }, { 10, 0 }, { 0, 0 }, { 12, 0 }, { 13, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 39,-2731 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 45,-24844 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 85,-29483 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 117,-29483 }, { 0, 48 }, + { 0,28255 }, { 1,3731 }, { 2,3731 }, { 3,3731 }, { 4,3731 }, + { 5,3731 }, { 6,3731 }, { 7,3731 }, { 8,3731 }, { 9,3989 }, + { 10,4247 }, { 11,3731 }, { 12,3989 }, { 13,4247 }, { 14,3731 }, + { 15,3731 }, { 16,3731 }, { 17,3731 }, { 18,3731 }, { 19,3731 }, + { 20,3731 }, { 21,3731 }, { 22,3731 }, { 23,3731 }, { 24,3731 }, + + { 25,3731 }, { 26,3731 }, { 27,3731 }, { 28,3731 }, { 29,3731 }, + { 30,3731 }, { 31,3731 }, { 32,3989 }, { 33,3731 }, { 34,3731 }, + { 35,3731 }, { 36,3731 }, { 37,3731 }, { 38,3731 }, { 39,-15166 }, + { 40,3731 }, { 41,3731 }, { 42,3731 }, { 43,3731 }, { 44,3731 }, + { 45,4366 }, { 46,3731 }, { 47,3731 }, { 48,3731 }, { 49,3731 }, + { 50,3731 }, { 51,3731 }, { 52,3731 }, { 53,3731 }, { 54,3731 }, + { 55,3731 }, { 56,3731 }, { 57,3731 }, { 58,3731 }, { 59,3731 }, + { 60,3731 }, { 61,3731 }, { 62,3731 }, { 63,3731 }, { 64,3731 }, + { 65,3731 }, { 66,3731 }, { 67,3731 }, { 68,3731 }, { 69,3731 }, + { 70,3731 }, { 71,3731 }, { 72,3731 }, { 73,3731 }, { 74,3731 }, + + { 75,3731 }, { 76,3731 }, { 77,3731 }, { 78,3731 }, { 79,3731 }, + { 80,3731 }, { 81,3731 }, { 82,3731 }, { 83,3731 }, { 84,3731 }, + { 85,4624 }, { 86,3731 }, { 87,3731 }, { 88,3731 }, { 89,3731 }, + { 90,3731 }, { 91,3731 }, { 92,3731 }, { 93,3731 }, { 94,3731 }, + { 95,3731 }, { 96,3731 }, { 97,3731 }, { 98,3731 }, { 99,3731 }, + { 100,3731 }, { 101,3731 }, { 102,3731 }, { 103,3731 }, { 104,3731 }, + { 105,3731 }, { 106,3731 }, { 107,3731 }, { 108,3731 }, { 109,3731 }, + { 110,3731 }, { 111,3731 }, { 112,3731 }, { 113,3731 }, { 114,3731 }, + { 115,3731 }, { 116,3731 }, { 117,4624 }, { 118,3731 }, { 119,3731 }, + { 120,3731 }, { 121,3731 }, { 122,3731 }, { 123,3731 }, { 124,3731 }, + + { 125,3731 }, { 126,3731 }, { 127,3731 }, { 128,3731 }, { 129,3731 }, + { 130,3731 }, { 131,3731 }, { 132,3731 }, { 133,3731 }, { 134,3731 }, + { 135,3731 }, { 136,3731 }, { 137,3731 }, { 138,3731 }, { 139,3731 }, + { 140,3731 }, { 141,3731 }, { 142,3731 }, { 143,3731 }, { 144,3731 }, + { 145,3731 }, { 146,3731 }, { 147,3731 }, { 148,3731 }, { 149,3731 }, + { 150,3731 }, { 151,3731 }, { 152,3731 }, { 153,3731 }, { 154,3731 }, + { 155,3731 }, { 156,3731 }, { 157,3731 }, { 158,3731 }, { 159,3731 }, + { 160,3731 }, { 161,3731 }, { 162,3731 }, { 163,3731 }, { 164,3731 }, + { 165,3731 }, { 166,3731 }, { 167,3731 }, { 168,3731 }, { 169,3731 }, + { 170,3731 }, { 171,3731 }, { 172,3731 }, { 173,3731 }, { 174,3731 }, + + { 175,3731 }, { 176,3731 }, { 177,3731 }, { 178,3731 }, { 179,3731 }, + { 180,3731 }, { 181,3731 }, { 182,3731 }, { 183,3731 }, { 184,3731 }, + { 185,3731 }, { 186,3731 }, { 187,3731 }, { 188,3731 }, { 189,3731 }, + { 190,3731 }, { 191,3731 }, { 192,3731 }, { 193,3731 }, { 194,3731 }, + { 195,3731 }, { 196,3731 }, { 197,3731 }, { 198,3731 }, { 199,3731 }, + { 200,3731 }, { 201,3731 }, { 202,3731 }, { 203,3731 }, { 204,3731 }, + { 205,3731 }, { 206,3731 }, { 207,3731 }, { 208,3731 }, { 209,3731 }, + { 210,3731 }, { 211,3731 }, { 212,3731 }, { 213,3731 }, { 214,3731 }, + { 215,3731 }, { 216,3731 }, { 217,3731 }, { 218,3731 }, { 219,3731 }, + { 220,3731 }, { 221,3731 }, { 222,3731 }, { 223,3731 }, { 224,3731 }, + + { 225,3731 }, { 226,3731 }, { 227,3731 }, { 228,3731 }, { 229,3731 }, + { 230,3731 }, { 231,3731 }, { 232,3731 }, { 233,3731 }, { 234,3731 }, + { 235,3731 }, { 236,3731 }, { 237,3731 }, { 238,3731 }, { 239,3731 }, + { 240,3731 }, { 241,3731 }, { 242,3731 }, { 243,3731 }, { 244,3731 }, + { 245,3731 }, { 246,3731 }, { 247,3731 }, { 248,3731 }, { 249,3731 }, + { 250,3731 }, { 251,3731 }, { 252,3731 }, { 253,3731 }, { 254,3731 }, + { 255,3731 }, { 256,3731 }, { 0, 48 }, { 0,27997 }, { 1,-15424 }, + { 2,-15424 }, { 3,-15424 }, { 4,-15424 }, { 5,-15424 }, { 6,-15424 }, + { 7,-15424 }, { 8,-15424 }, { 9,-15166 }, { 10,-21810 }, { 11,-15424 }, + { 12,-15166 }, { 13,-21810 }, { 14,-15424 }, { 15,-15424 }, { 16,-15424 }, + + { 17,-15424 }, { 18,-15424 }, { 19,-15424 }, { 20,-15424 }, { 21,-15424 }, + { 22,-15424 }, { 23,-15424 }, { 24,-15424 }, { 25,-15424 }, { 26,-15424 }, + { 27,-15424 }, { 28,-15424 }, { 29,-15424 }, { 30,-15424 }, { 31,-15424 }, + { 32,-15166 }, { 33,-15424 }, { 34,-15424 }, { 35,-15424 }, { 36,-15424 }, + { 37,-15424 }, { 38,-15424 }, { 39,-15424 }, { 40,-15424 }, { 41,-15424 }, + { 42,-15424 }, { 43,-15424 }, { 44,-15424 }, { 45,4624 }, { 46,-15424 }, + { 47,-15424 }, { 48,-15424 }, { 49,-15424 }, { 50,-15424 }, { 51,-15424 }, + { 52,-15424 }, { 53,-15424 }, { 54,-15424 }, { 55,-15424 }, { 56,-15424 }, + { 57,-15424 }, { 58,-15424 }, { 59,-15424 }, { 60,-15424 }, { 61,-15424 }, + { 62,-15424 }, { 63,-15424 }, { 64,-15424 }, { 65,-15424 }, { 66,-15424 }, + + { 67,-15424 }, { 68,-15424 }, { 69,-15424 }, { 70,-15424 }, { 71,-15424 }, + { 72,-15424 }, { 73,-15424 }, { 74,-15424 }, { 75,-15424 }, { 76,-15424 }, + { 77,-15424 }, { 78,-15424 }, { 79,-15424 }, { 80,-15424 }, { 81,-15424 }, + { 82,-15424 }, { 83,-15424 }, { 84,-15424 }, { 85,-14650 }, { 86,-15424 }, + { 87,-15424 }, { 88,-15424 }, { 89,-15424 }, { 90,-15424 }, { 91,-15424 }, + { 92,-15424 }, { 93,-15424 }, { 94,-15424 }, { 95,-15424 }, { 96,-15424 }, + { 97,-15424 }, { 98,-15424 }, { 99,-15424 }, { 100,-15424 }, { 101,-15424 }, + { 102,-15424 }, { 103,-15424 }, { 104,-15424 }, { 105,-15424 }, { 106,-15424 }, + { 107,-15424 }, { 108,-15424 }, { 109,-15424 }, { 110,-15424 }, { 111,-15424 }, + { 112,-15424 }, { 113,-15424 }, { 114,-15424 }, { 115,-15424 }, { 116,-15424 }, + + { 117,-14650 }, { 118,-15424 }, { 119,-15424 }, { 120,-15424 }, { 121,-15424 }, + { 122,-15424 }, { 123,-15424 }, { 124,-15424 }, { 125,-15424 }, { 126,-15424 }, + { 127,-15424 }, { 128,-15424 }, { 129,-15424 }, { 130,-15424 }, { 131,-15424 }, + { 132,-15424 }, { 133,-15424 }, { 134,-15424 }, { 135,-15424 }, { 136,-15424 }, + { 137,-15424 }, { 138,-15424 }, { 139,-15424 }, { 140,-15424 }, { 141,-15424 }, + { 142,-15424 }, { 143,-15424 }, { 144,-15424 }, { 145,-15424 }, { 146,-15424 }, + { 147,-15424 }, { 148,-15424 }, { 149,-15424 }, { 150,-15424 }, { 151,-15424 }, + { 152,-15424 }, { 153,-15424 }, { 154,-15424 }, { 155,-15424 }, { 156,-15424 }, + { 157,-15424 }, { 158,-15424 }, { 159,-15424 }, { 160,-15424 }, { 161,-15424 }, + { 162,-15424 }, { 163,-15424 }, { 164,-15424 }, { 165,-15424 }, { 166,-15424 }, + + { 167,-15424 }, { 168,-15424 }, { 169,-15424 }, { 170,-15424 }, { 171,-15424 }, + { 172,-15424 }, { 173,-15424 }, { 174,-15424 }, { 175,-15424 }, { 176,-15424 }, + { 177,-15424 }, { 178,-15424 }, { 179,-15424 }, { 180,-15424 }, { 181,-15424 }, + { 182,-15424 }, { 183,-15424 }, { 184,-15424 }, { 185,-15424 }, { 186,-15424 }, + { 187,-15424 }, { 188,-15424 }, { 189,-15424 }, { 190,-15424 }, { 191,-15424 }, + { 192,-15424 }, { 193,-15424 }, { 194,-15424 }, { 195,-15424 }, { 196,-15424 }, + { 197,-15424 }, { 198,-15424 }, { 199,-15424 }, { 200,-15424 }, { 201,-15424 }, + { 202,-15424 }, { 203,-15424 }, { 204,-15424 }, { 205,-15424 }, { 206,-15424 }, + { 207,-15424 }, { 208,-15424 }, { 209,-15424 }, { 210,-15424 }, { 211,-15424 }, + { 212,-15424 }, { 213,-15424 }, { 214,-15424 }, { 215,-15424 }, { 216,-15424 }, + + { 217,-15424 }, { 218,-15424 }, { 219,-15424 }, { 220,-15424 }, { 221,-15424 }, + { 222,-15424 }, { 223,-15424 }, { 224,-15424 }, { 225,-15424 }, { 226,-15424 }, + { 227,-15424 }, { 228,-15424 }, { 229,-15424 }, { 230,-15424 }, { 231,-15424 }, + { 232,-15424 }, { 233,-15424 }, { 234,-15424 }, { 235,-15424 }, { 236,-15424 }, + { 237,-15424 }, { 238,-15424 }, { 239,-15424 }, { 240,-15424 }, { 241,-15424 }, + { 242,-15424 }, { 243,-15424 }, { 244,-15424 }, { 245,-15424 }, { 246,-15424 }, + { 247,-15424 }, { 248,-15424 }, { 249,-15424 }, { 250,-15424 }, { 251,-15424 }, + { 252,-15424 }, { 253,-15424 }, { 254,-15424 }, { 255,-15424 }, { 256,-15424 }, + { 0, 48 }, { 0,27739 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, + { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, + + { 9, 258 }, { 10,-3413 }, { 11, 0 }, { 12, 258 }, { 13,-3413 }, + { 14, 0 }, { 15, 0 }, { 16, 0 }, { 17, 0 }, { 18, 0 }, + { 19, 0 }, { 20, 0 }, { 21, 0 }, { 22, 0 }, { 23, 0 }, + { 24, 0 }, { 25, 0 }, { 26, 0 }, { 27, 0 }, { 28, 0 }, + { 29, 0 }, { 30, 0 }, { 31, 0 }, { 32, 258 }, { 33, 0 }, + { 34, 0 }, { 35, 0 }, { 36, 0 }, { 37, 0 }, { 38, 0 }, + { 39, 516 }, { 40, 0 }, { 41, 0 }, { 42, 0 }, { 43, 0 }, + { 44, 0 }, { 45, 774 }, { 46, 0 }, { 47, 0 }, { 48, 0 }, + { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, + { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 58, 0 }, + + { 59, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, + { 64, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, + { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, + { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, + { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, + { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, + { 89, 0 }, { 90, 0 }, { 91, 0 }, { 92, 0 }, { 93, 0 }, + { 94, 0 }, { 95, 0 }, { 96, 0 }, { 97, 0 }, { 98, 0 }, + { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, + { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, + + { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, + { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, + { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, { 123, 0 }, + { 124, 0 }, { 125, 0 }, { 126, 0 }, { 127, 0 }, { 128, 0 }, + { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, + { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, + { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, + { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, + { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, + { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, + + { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, + { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, + { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, + { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, + { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, + { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, + { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, + { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, + { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, + { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, + + { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, + { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, + { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, + { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, + { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, + { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, + { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, + { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, + { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, + { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 48 }, { 0,27481 }, + + { 1,-258 }, { 2,-258 }, { 3,-258 }, { 4,-258 }, { 5,-258 }, + { 6,-258 }, { 7,-258 }, { 8,-258 }, { 9, 0 }, { 10,-3671 }, + { 11,-258 }, { 12, 0 }, { 13,-3671 }, { 14,-258 }, { 15,-258 }, + { 16,-258 }, { 17,-258 }, { 18,-258 }, { 19,-258 }, { 20,-258 }, + { 21,-258 }, { 22,-258 }, { 23,-258 }, { 24,-258 }, { 25,-258 }, + { 26,-258 }, { 27,-258 }, { 28,-258 }, { 29,-258 }, { 30,-258 }, + { 31,-258 }, { 32, 0 }, { 33,-258 }, { 34,-258 }, { 35,-258 }, + { 36,-258 }, { 37,-258 }, { 38,-258 }, { 39, 258 }, { 40,-258 }, + { 41,-258 }, { 42,-258 }, { 43,-258 }, { 44,-258 }, { 45, 516 }, + { 46,-258 }, { 47,-258 }, { 48,-258 }, { 49,-258 }, { 50,-258 }, + + { 51,-258 }, { 52,-258 }, { 53,-258 }, { 54,-258 }, { 55,-258 }, + { 56,-258 }, { 57,-258 }, { 58,-258 }, { 59,-258 }, { 60,-258 }, + { 61,-258 }, { 62,-258 }, { 63,-258 }, { 64,-258 }, { 65,-258 }, + { 66,-258 }, { 67,-258 }, { 68,-258 }, { 69,-258 }, { 70,-258 }, + { 71,-258 }, { 72,-258 }, { 73,-258 }, { 74,-258 }, { 75,-258 }, + { 76,-258 }, { 77,-258 }, { 78,-258 }, { 79,-258 }, { 80,-258 }, + { 81,-258 }, { 82,-258 }, { 83,-258 }, { 84,-258 }, { 85,-258 }, + { 86,-258 }, { 87,-258 }, { 88,-258 }, { 89,-258 }, { 90,-258 }, + { 91,-258 }, { 92,-258 }, { 93,-258 }, { 94,-258 }, { 95,-258 }, + { 96,-258 }, { 97,-258 }, { 98,-258 }, { 99,-258 }, { 100,-258 }, + + { 101,-258 }, { 102,-258 }, { 103,-258 }, { 104,-258 }, { 105,-258 }, + { 106,-258 }, { 107,-258 }, { 108,-258 }, { 109,-258 }, { 110,-258 }, + { 111,-258 }, { 112,-258 }, { 113,-258 }, { 114,-258 }, { 115,-258 }, + { 116,-258 }, { 117,-258 }, { 118,-258 }, { 119,-258 }, { 120,-258 }, + { 121,-258 }, { 122,-258 }, { 123,-258 }, { 124,-258 }, { 125,-258 }, + { 126,-258 }, { 127,-258 }, { 128,-258 }, { 129,-258 }, { 130,-258 }, + { 131,-258 }, { 132,-258 }, { 133,-258 }, { 134,-258 }, { 135,-258 }, + { 136,-258 }, { 137,-258 }, { 138,-258 }, { 139,-258 }, { 140,-258 }, + { 141,-258 }, { 142,-258 }, { 143,-258 }, { 144,-258 }, { 145,-258 }, + { 146,-258 }, { 147,-258 }, { 148,-258 }, { 149,-258 }, { 150,-258 }, + + { 151,-258 }, { 152,-258 }, { 153,-258 }, { 154,-258 }, { 155,-258 }, + { 156,-258 }, { 157,-258 }, { 158,-258 }, { 159,-258 }, { 160,-258 }, + { 161,-258 }, { 162,-258 }, { 163,-258 }, { 164,-258 }, { 165,-258 }, + { 166,-258 }, { 167,-258 }, { 168,-258 }, { 169,-258 }, { 170,-258 }, + { 171,-258 }, { 172,-258 }, { 173,-258 }, { 174,-258 }, { 175,-258 }, + { 176,-258 }, { 177,-258 }, { 178,-258 }, { 179,-258 }, { 180,-258 }, + { 181,-258 }, { 182,-258 }, { 183,-258 }, { 184,-258 }, { 185,-258 }, + { 186,-258 }, { 187,-258 }, { 188,-258 }, { 189,-258 }, { 190,-258 }, + { 191,-258 }, { 192,-258 }, { 193,-258 }, { 194,-258 }, { 195,-258 }, + { 196,-258 }, { 197,-258 }, { 198,-258 }, { 199,-258 }, { 200,-258 }, + + { 201,-258 }, { 202,-258 }, { 203,-258 }, { 204,-258 }, { 205,-258 }, + { 206,-258 }, { 207,-258 }, { 208,-258 }, { 209,-258 }, { 210,-258 }, + { 211,-258 }, { 212,-258 }, { 213,-258 }, { 214,-258 }, { 215,-258 }, + { 216,-258 }, { 217,-258 }, { 218,-258 }, { 219,-258 }, { 220,-258 }, + { 221,-258 }, { 222,-258 }, { 223,-258 }, { 224,-258 }, { 225,-258 }, + { 226,-258 }, { 227,-258 }, { 228,-258 }, { 229,-258 }, { 230,-258 }, + { 231,-258 }, { 232,-258 }, { 233,-258 }, { 234,-258 }, { 235,-258 }, + { 236,-258 }, { 237,-258 }, { 238,-258 }, { 239,-258 }, { 240,-258 }, + { 241,-258 }, { 242,-258 }, { 243,-258 }, { 244,-258 }, { 245,-258 }, + { 246,-258 }, { 247,-258 }, { 248,-258 }, { 249,-258 }, { 250,-258 }, + + { 251,-258 }, { 252,-258 }, { 253,-258 }, { 254,-258 }, { 255,-258 }, + { 256,-258 }, { 0, 48 }, { 0,27223 }, { 1,4108 }, { 2,4108 }, + { 3,4108 }, { 4,4108 }, { 5,4108 }, { 6,4108 }, { 7,4108 }, + { 8,4108 }, { 9,4366 }, { 10,4624 }, { 11,4108 }, { 12,4366 }, + { 13,4624 }, { 14,4108 }, { 15,4108 }, { 16,4108 }, { 17,4108 }, + { 18,4108 }, { 19,4108 }, { 20,4108 }, { 21,4108 }, { 22,4108 }, + { 23,4108 }, { 24,4108 }, { 25,4108 }, { 26,4108 }, { 27,4108 }, + { 28,4108 }, { 29,4108 }, { 30,4108 }, { 31,4108 }, { 32,4366 }, + { 33,4108 }, { 34,4108 }, { 35,4108 }, { 36,4108 }, { 37,4108 }, + { 38,4108 }, { 39, 0 }, { 40,4108 }, { 41,4108 }, { 42,4108 }, + + { 43,4108 }, { 44,4108 }, { 45,4671 }, { 46,4108 }, { 47,4108 }, + { 48,4108 }, { 49,4108 }, { 50,4108 }, { 51,4108 }, { 52,4108 }, + { 53,4108 }, { 54,4108 }, { 55,4108 }, { 56,4108 }, { 57,4108 }, + { 58,4108 }, { 59,4108 }, { 60,4108 }, { 61,4108 }, { 62,4108 }, + { 63,4108 }, { 64,4108 }, { 65,4108 }, { 66,4108 }, { 67,4108 }, + { 68,4108 }, { 69,4108 }, { 70,4108 }, { 71,4108 }, { 72,4108 }, + { 73,4108 }, { 74,4108 }, { 75,4108 }, { 76,4108 }, { 77,4108 }, + { 78,4108 }, { 79,4108 }, { 80,4108 }, { 81,4108 }, { 82,4108 }, + { 83,4108 }, { 84,4108 }, { 85,4108 }, { 86,4108 }, { 87,4108 }, + { 88,4108 }, { 89,4108 }, { 90,4108 }, { 91,4108 }, { 92,4108 }, + + { 93,4108 }, { 94,4108 }, { 95,4108 }, { 96,4108 }, { 97,4108 }, + { 98,4108 }, { 99,4108 }, { 100,4108 }, { 101,4108 }, { 102,4108 }, + { 103,4108 }, { 104,4108 }, { 105,4108 }, { 106,4108 }, { 107,4108 }, + { 108,4108 }, { 109,4108 }, { 110,4108 }, { 111,4108 }, { 112,4108 }, + { 113,4108 }, { 114,4108 }, { 115,4108 }, { 116,4108 }, { 117,4108 }, + { 118,4108 }, { 119,4108 }, { 120,4108 }, { 121,4108 }, { 122,4108 }, + { 123,4108 }, { 124,4108 }, { 125,4108 }, { 126,4108 }, { 127,4108 }, + { 128,4108 }, { 129,4108 }, { 130,4108 }, { 131,4108 }, { 132,4108 }, + { 133,4108 }, { 134,4108 }, { 135,4108 }, { 136,4108 }, { 137,4108 }, + { 138,4108 }, { 139,4108 }, { 140,4108 }, { 141,4108 }, { 142,4108 }, + + { 143,4108 }, { 144,4108 }, { 145,4108 }, { 146,4108 }, { 147,4108 }, + { 148,4108 }, { 149,4108 }, { 150,4108 }, { 151,4108 }, { 152,4108 }, + { 153,4108 }, { 154,4108 }, { 155,4108 }, { 156,4108 }, { 157,4108 }, + { 158,4108 }, { 159,4108 }, { 160,4108 }, { 161,4108 }, { 162,4108 }, + { 163,4108 }, { 164,4108 }, { 165,4108 }, { 166,4108 }, { 167,4108 }, + { 168,4108 }, { 169,4108 }, { 170,4108 }, { 171,4108 }, { 172,4108 }, + { 173,4108 }, { 174,4108 }, { 175,4108 }, { 176,4108 }, { 177,4108 }, + { 178,4108 }, { 179,4108 }, { 180,4108 }, { 181,4108 }, { 182,4108 }, + { 183,4108 }, { 184,4108 }, { 185,4108 }, { 186,4108 }, { 187,4108 }, + { 188,4108 }, { 189,4108 }, { 190,4108 }, { 191,4108 }, { 192,4108 }, + + { 193,4108 }, { 194,4108 }, { 195,4108 }, { 196,4108 }, { 197,4108 }, + { 198,4108 }, { 199,4108 }, { 200,4108 }, { 201,4108 }, { 202,4108 }, + { 203,4108 }, { 204,4108 }, { 205,4108 }, { 206,4108 }, { 207,4108 }, + { 208,4108 }, { 209,4108 }, { 210,4108 }, { 211,4108 }, { 212,4108 }, + { 213,4108 }, { 214,4108 }, { 215,4108 }, { 216,4108 }, { 217,4108 }, + { 218,4108 }, { 219,4108 }, { 220,4108 }, { 221,4108 }, { 222,4108 }, + { 223,4108 }, { 224,4108 }, { 225,4108 }, { 226,4108 }, { 227,4108 }, + { 228,4108 }, { 229,4108 }, { 230,4108 }, { 231,4108 }, { 232,4108 }, + { 233,4108 }, { 234,4108 }, { 235,4108 }, { 236,4108 }, { 237,4108 }, + { 238,4108 }, { 239,4108 }, { 240,4108 }, { 241,4108 }, { 242,4108 }, + + { 243,4108 }, { 244,4108 }, { 245,4108 }, { 246,4108 }, { 247,4108 }, + { 248,4108 }, { 249,4108 }, { 250,4108 }, { 251,4108 }, { 252,4108 }, + { 253,4108 }, { 254,4108 }, { 255,4108 }, { 256,4108 }, { 0, 48 }, + { 0,26965 }, { 1,-774 }, { 2,-774 }, { 3,-774 }, { 4,-774 }, + { 5,-774 }, { 6,-774 }, { 7,-774 }, { 8,-774 }, { 9,-516 }, + { 10,-4187 }, { 11,-774 }, { 12,-516 }, { 13,-4187 }, { 14,-774 }, + { 15,-774 }, { 16,-774 }, { 17,-774 }, { 18,-774 }, { 19,-774 }, + { 20,-774 }, { 21,-774 }, { 22,-774 }, { 23,-774 }, { 24,-774 }, + { 25,-774 }, { 26,-774 }, { 27,-774 }, { 28,-774 }, { 29,-774 }, + { 30,-774 }, { 31,-774 }, { 32,-516 }, { 33,-774 }, { 34,-774 }, + + { 35,-774 }, { 36,-774 }, { 37,-774 }, { 38,-774 }, { 39,-258 }, + { 40,-774 }, { 41,-774 }, { 42,-774 }, { 43,-774 }, { 44,-774 }, + { 45,4671 }, { 46,-774 }, { 47,-774 }, { 48,-774 }, { 49,-774 }, + { 50,-774 }, { 51,-774 }, { 52,-774 }, { 53,-774 }, { 54,-774 }, + { 55,-774 }, { 56,-774 }, { 57,-774 }, { 58,-774 }, { 59,-774 }, + { 60,-774 }, { 61,-774 }, { 62,-774 }, { 63,-774 }, { 64,-774 }, + { 65,-774 }, { 66,-774 }, { 67,-774 }, { 68,-774 }, { 69,-774 }, + { 70,-774 }, { 71,-774 }, { 72,-774 }, { 73,-774 }, { 74,-774 }, + { 75,-774 }, { 76,-774 }, { 77,-774 }, { 78,-774 }, { 79,-774 }, + { 80,-774 }, { 81,-774 }, { 82,-774 }, { 83,-774 }, { 84,-774 }, + + { 85,-774 }, { 86,-774 }, { 87,-774 }, { 88,-774 }, { 89,-774 }, + { 90,-774 }, { 91,-774 }, { 92,-774 }, { 93,-774 }, { 94,-774 }, + { 95,-774 }, { 96,-774 }, { 97,-774 }, { 98,-774 }, { 99,-774 }, + { 100,-774 }, { 101,-774 }, { 102,-774 }, { 103,-774 }, { 104,-774 }, + { 105,-774 }, { 106,-774 }, { 107,-774 }, { 108,-774 }, { 109,-774 }, + { 110,-774 }, { 111,-774 }, { 112,-774 }, { 113,-774 }, { 114,-774 }, + { 115,-774 }, { 116,-774 }, { 117,-774 }, { 118,-774 }, { 119,-774 }, + { 120,-774 }, { 121,-774 }, { 122,-774 }, { 123,-774 }, { 124,-774 }, + { 125,-774 }, { 126,-774 }, { 127,-774 }, { 128,-774 }, { 129,-774 }, + { 130,-774 }, { 131,-774 }, { 132,-774 }, { 133,-774 }, { 134,-774 }, + + { 135,-774 }, { 136,-774 }, { 137,-774 }, { 138,-774 }, { 139,-774 }, + { 140,-774 }, { 141,-774 }, { 142,-774 }, { 143,-774 }, { 144,-774 }, + { 145,-774 }, { 146,-774 }, { 147,-774 }, { 148,-774 }, { 149,-774 }, + { 150,-774 }, { 151,-774 }, { 152,-774 }, { 153,-774 }, { 154,-774 }, + { 155,-774 }, { 156,-774 }, { 157,-774 }, { 158,-774 }, { 159,-774 }, + { 160,-774 }, { 161,-774 }, { 162,-774 }, { 163,-774 }, { 164,-774 }, + { 165,-774 }, { 166,-774 }, { 167,-774 }, { 168,-774 }, { 169,-774 }, + { 170,-774 }, { 171,-774 }, { 172,-774 }, { 173,-774 }, { 174,-774 }, + { 175,-774 }, { 176,-774 }, { 177,-774 }, { 178,-774 }, { 179,-774 }, + { 180,-774 }, { 181,-774 }, { 182,-774 }, { 183,-774 }, { 184,-774 }, + + { 185,-774 }, { 186,-774 }, { 187,-774 }, { 188,-774 }, { 189,-774 }, + { 190,-774 }, { 191,-774 }, { 192,-774 }, { 193,-774 }, { 194,-774 }, + { 195,-774 }, { 196,-774 }, { 197,-774 }, { 198,-774 }, { 199,-774 }, + { 200,-774 }, { 201,-774 }, { 202,-774 }, { 203,-774 }, { 204,-774 }, + { 205,-774 }, { 206,-774 }, { 207,-774 }, { 208,-774 }, { 209,-774 }, + { 210,-774 }, { 211,-774 }, { 212,-774 }, { 213,-774 }, { 214,-774 }, + { 215,-774 }, { 216,-774 }, { 217,-774 }, { 218,-774 }, { 219,-774 }, + { 220,-774 }, { 221,-774 }, { 222,-774 }, { 223,-774 }, { 224,-774 }, + { 225,-774 }, { 226,-774 }, { 227,-774 }, { 228,-774 }, { 229,-774 }, + { 230,-774 }, { 231,-774 }, { 232,-774 }, { 233,-774 }, { 234,-774 }, + + { 235,-774 }, { 236,-774 }, { 237,-774 }, { 238,-774 }, { 239,-774 }, + { 240,-774 }, { 241,-774 }, { 242,-774 }, { 243,-774 }, { 244,-774 }, + { 245,-774 }, { 246,-774 }, { 247,-774 }, { 248,-774 }, { 249,-774 }, + { 250,-774 }, { 251,-774 }, { 252,-774 }, { 253,-774 }, { 254,-774 }, + { 255,-774 }, { 256,-774 }, { 0, 24 }, { 0,26707 }, { 1,-10385 }, + { 2,-10385 }, { 3,-10385 }, { 4,-10385 }, { 5,-10385 }, { 6,-10385 }, + { 7,-10385 }, { 8,-10385 }, { 9,4671 }, { 10,4929 }, { 11,-10385 }, + { 12,4671 }, { 13,4929 }, { 14,-10385 }, { 15,-10385 }, { 16,-10385 }, + { 17,-10385 }, { 18,-10385 }, { 19,-10385 }, { 20,-10385 }, { 21,-10385 }, + { 22,-10385 }, { 23,-10385 }, { 24,-10385 }, { 25,-10385 }, { 26,-10385 }, + + { 27,-10385 }, { 28,-10385 }, { 29,-10385 }, { 30,-10385 }, { 31,-10385 }, + { 32,4671 }, { 33,-10385 }, { 34,-10385 }, { 35,-10385 }, { 36,-10385 }, + { 37,-10385 }, { 38,-10385 }, { 39,5048 }, { 40,-10385 }, { 41,-10385 }, + { 42,-10385 }, { 43,-10385 }, { 44,-10385 }, { 45,5306 }, { 46,-10385 }, + { 47,-10385 }, { 48,-10385 }, { 49,-10385 }, { 50,-10385 }, { 51,-10385 }, + { 52,-10385 }, { 53,-10385 }, { 54,-10385 }, { 55,-10385 }, { 56,-10385 }, + { 57,-10385 }, { 58,-10385 }, { 59,-10385 }, { 60,-10385 }, { 61,-10385 }, + { 62,-10385 }, { 63,-10385 }, { 64,-10385 }, { 65,-10385 }, { 66,-10385 }, + { 67,-10385 }, { 68,-10385 }, { 69,-10385 }, { 70,-10385 }, { 71,-10385 }, + { 72,-10385 }, { 73,-10385 }, { 74,-10385 }, { 75,-10385 }, { 76,-10385 }, + + { 77,-10385 }, { 78,-10385 }, { 79,-10385 }, { 80,-10385 }, { 81,-10385 }, + { 82,-10385 }, { 83,-10385 }, { 84,-10385 }, { 85,-9492 }, { 86,-10385 }, + { 87,-10385 }, { 88,-10385 }, { 89,-10385 }, { 90,-10385 }, { 91,-10385 }, + { 92,-10385 }, { 93,-10385 }, { 94,-10385 }, { 95,-10385 }, { 96,-10385 }, + { 97,-10385 }, { 98,-10385 }, { 99,-10385 }, { 100,-10385 }, { 101,-10385 }, + { 102,-10385 }, { 103,-10385 }, { 104,-10385 }, { 105,-10385 }, { 106,-10385 }, + { 107,-10385 }, { 108,-10385 }, { 109,-10385 }, { 110,-10385 }, { 111,-10385 }, + { 112,-10385 }, { 113,-10385 }, { 114,-10385 }, { 115,-10385 }, { 116,-10385 }, + { 117,-9492 }, { 118,-10385 }, { 119,-10385 }, { 120,-10385 }, { 121,-10385 }, + { 122,-10385 }, { 123,-10385 }, { 124,-10385 }, { 125,-10385 }, { 126,-10385 }, + + { 127,-10385 }, { 128,-10385 }, { 129,-10385 }, { 130,-10385 }, { 131,-10385 }, + { 132,-10385 }, { 133,-10385 }, { 134,-10385 }, { 135,-10385 }, { 136,-10385 }, + { 137,-10385 }, { 138,-10385 }, { 139,-10385 }, { 140,-10385 }, { 141,-10385 }, + { 142,-10385 }, { 143,-10385 }, { 144,-10385 }, { 145,-10385 }, { 146,-10385 }, + { 147,-10385 }, { 148,-10385 }, { 149,-10385 }, { 150,-10385 }, { 151,-10385 }, + { 152,-10385 }, { 153,-10385 }, { 154,-10385 }, { 155,-10385 }, { 156,-10385 }, + { 157,-10385 }, { 158,-10385 }, { 159,-10385 }, { 160,-10385 }, { 161,-10385 }, + { 162,-10385 }, { 163,-10385 }, { 164,-10385 }, { 165,-10385 }, { 166,-10385 }, + { 167,-10385 }, { 168,-10385 }, { 169,-10385 }, { 170,-10385 }, { 171,-10385 }, + { 172,-10385 }, { 173,-10385 }, { 174,-10385 }, { 175,-10385 }, { 176,-10385 }, + + { 177,-10385 }, { 178,-10385 }, { 179,-10385 }, { 180,-10385 }, { 181,-10385 }, + { 182,-10385 }, { 183,-10385 }, { 184,-10385 }, { 185,-10385 }, { 186,-10385 }, + { 187,-10385 }, { 188,-10385 }, { 189,-10385 }, { 190,-10385 }, { 191,-10385 }, + { 192,-10385 }, { 193,-10385 }, { 194,-10385 }, { 195,-10385 }, { 196,-10385 }, + { 197,-10385 }, { 198,-10385 }, { 199,-10385 }, { 200,-10385 }, { 201,-10385 }, + { 202,-10385 }, { 203,-10385 }, { 204,-10385 }, { 205,-10385 }, { 206,-10385 }, + { 207,-10385 }, { 208,-10385 }, { 209,-10385 }, { 210,-10385 }, { 211,-10385 }, + { 212,-10385 }, { 213,-10385 }, { 214,-10385 }, { 215,-10385 }, { 216,-10385 }, + { 217,-10385 }, { 218,-10385 }, { 219,-10385 }, { 220,-10385 }, { 221,-10385 }, + { 222,-10385 }, { 223,-10385 }, { 224,-10385 }, { 225,-10385 }, { 226,-10385 }, + + { 227,-10385 }, { 228,-10385 }, { 229,-10385 }, { 230,-10385 }, { 231,-10385 }, + { 232,-10385 }, { 233,-10385 }, { 234,-10385 }, { 235,-10385 }, { 236,-10385 }, + { 237,-10385 }, { 238,-10385 }, { 239,-10385 }, { 240,-10385 }, { 241,-10385 }, + { 242,-10385 }, { 243,-10385 }, { 244,-10385 }, { 245,-10385 }, { 246,-10385 }, + { 247,-10385 }, { 248,-10385 }, { 249,-10385 }, { 250,-10385 }, { 251,-10385 }, + { 252,-10385 }, { 253,-10385 }, { 254,-10385 }, { 255,-10385 }, { 256,-10385 }, + { 0, 24 }, { 0,26449 }, { 1,-15682 }, { 2,-15682 }, { 3,-15682 }, + { 4,-15682 }, { 5,-15682 }, { 6,-15682 }, { 7,-15682 }, { 8,-15682 }, + { 9, 0 }, { 10, 258 }, { 11,-15682 }, { 12, 0 }, { 13, 258 }, + { 14,-15682 }, { 15,-15682 }, { 16,-15682 }, { 17,-15682 }, { 18,-15682 }, + + { 19,-15682 }, { 20,-15682 }, { 21,-15682 }, { 22,-15682 }, { 23,-15682 }, + { 24,-15682 }, { 25,-15682 }, { 26,-15682 }, { 27,-15682 }, { 28,-15682 }, + { 29,-15682 }, { 30,-15682 }, { 31,-15682 }, { 32, 0 }, { 33,-15682 }, + { 34,-15682 }, { 35,-15682 }, { 36,-15682 }, { 37,-15682 }, { 38,-15682 }, + { 39, 377 }, { 40,-15682 }, { 41,-15682 }, { 42,-15682 }, { 43,-15682 }, + { 44,-15682 }, { 45, 635 }, { 46,-15682 }, { 47,-15682 }, { 48,-15682 }, + { 49,-15682 }, { 50,-15682 }, { 51,-15682 }, { 52,-15682 }, { 53,-15682 }, + { 54,-15682 }, { 55,-15682 }, { 56,-15682 }, { 57,-15682 }, { 58,-15682 }, + { 59,-15682 }, { 60,-15682 }, { 61,-15682 }, { 62,-15682 }, { 63,-15682 }, + { 64,-15682 }, { 65,-15682 }, { 66,-15682 }, { 67,-15682 }, { 68,-15682 }, + + { 69,-15682 }, { 70,-15682 }, { 71,-15682 }, { 72,-15682 }, { 73,-15682 }, + { 74,-15682 }, { 75,-15682 }, { 76,-15682 }, { 77,-15682 }, { 78,-15682 }, + { 79,-15682 }, { 80,-15682 }, { 81,-15682 }, { 82,-15682 }, { 83,-15682 }, + { 84,-15682 }, { 85,-14908 }, { 86,-15682 }, { 87,-15682 }, { 88,-15682 }, + { 89,-15682 }, { 90,-15682 }, { 91,-15682 }, { 92,-15682 }, { 93,-15682 }, + { 94,-15682 }, { 95,-15682 }, { 96,-15682 }, { 97,-15682 }, { 98,-15682 }, + { 99,-15682 }, { 100,-15682 }, { 101,-15682 }, { 102,-15682 }, { 103,-15682 }, + { 104,-15682 }, { 105,-15682 }, { 106,-15682 }, { 107,-15682 }, { 108,-15682 }, + { 109,-15682 }, { 110,-15682 }, { 111,-15682 }, { 112,-15682 }, { 113,-15682 }, + { 114,-15682 }, { 115,-15682 }, { 116,-15682 }, { 117,-14908 }, { 118,-15682 }, + + { 119,-15682 }, { 120,-15682 }, { 121,-15682 }, { 122,-15682 }, { 123,-15682 }, + { 124,-15682 }, { 125,-15682 }, { 126,-15682 }, { 127,-15682 }, { 128,-15682 }, + { 129,-15682 }, { 130,-15682 }, { 131,-15682 }, { 132,-15682 }, { 133,-15682 }, + { 134,-15682 }, { 135,-15682 }, { 136,-15682 }, { 137,-15682 }, { 138,-15682 }, + { 139,-15682 }, { 140,-15682 }, { 141,-15682 }, { 142,-15682 }, { 143,-15682 }, + { 144,-15682 }, { 145,-15682 }, { 146,-15682 }, { 147,-15682 }, { 148,-15682 }, + { 149,-15682 }, { 150,-15682 }, { 151,-15682 }, { 152,-15682 }, { 153,-15682 }, + { 154,-15682 }, { 155,-15682 }, { 156,-15682 }, { 157,-15682 }, { 158,-15682 }, + { 159,-15682 }, { 160,-15682 }, { 161,-15682 }, { 162,-15682 }, { 163,-15682 }, + { 164,-15682 }, { 165,-15682 }, { 166,-15682 }, { 167,-15682 }, { 168,-15682 }, + + { 169,-15682 }, { 170,-15682 }, { 171,-15682 }, { 172,-15682 }, { 173,-15682 }, + { 174,-15682 }, { 175,-15682 }, { 176,-15682 }, { 177,-15682 }, { 178,-15682 }, + { 179,-15682 }, { 180,-15682 }, { 181,-15682 }, { 182,-15682 }, { 183,-15682 }, + { 184,-15682 }, { 185,-15682 }, { 186,-15682 }, { 187,-15682 }, { 188,-15682 }, + { 189,-15682 }, { 190,-15682 }, { 191,-15682 }, { 192,-15682 }, { 193,-15682 }, + { 194,-15682 }, { 195,-15682 }, { 196,-15682 }, { 197,-15682 }, { 198,-15682 }, + { 199,-15682 }, { 200,-15682 }, { 201,-15682 }, { 202,-15682 }, { 203,-15682 }, + { 204,-15682 }, { 205,-15682 }, { 206,-15682 }, { 207,-15682 }, { 208,-15682 }, + { 209,-15682 }, { 210,-15682 }, { 211,-15682 }, { 212,-15682 }, { 213,-15682 }, + { 214,-15682 }, { 215,-15682 }, { 216,-15682 }, { 217,-15682 }, { 218,-15682 }, + + { 219,-15682 }, { 220,-15682 }, { 221,-15682 }, { 222,-15682 }, { 223,-15682 }, + { 224,-15682 }, { 225,-15682 }, { 226,-15682 }, { 227,-15682 }, { 228,-15682 }, + { 229,-15682 }, { 230,-15682 }, { 231,-15682 }, { 232,-15682 }, { 233,-15682 }, + { 234,-15682 }, { 235,-15682 }, { 236,-15682 }, { 237,-15682 }, { 238,-15682 }, + { 239,-15682 }, { 240,-15682 }, { 241,-15682 }, { 242,-15682 }, { 243,-15682 }, + { 244,-15682 }, { 245,-15682 }, { 246,-15682 }, { 247,-15682 }, { 248,-15682 }, + { 249,-15682 }, { 250,-15682 }, { 251,-15682 }, { 252,-15682 }, { 253,-15682 }, + { 254,-15682 }, { 255,-15682 }, { 256,-15682 }, { 0, 24 }, { 0,26191 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9,5048 }, { 10,5048 }, + + { 0, 0 }, { 12,5048 }, { 13,5048 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 32,5048 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 39,5167 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-27025 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 85,-31409 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 117,-31409 }, { 0, 24 }, { 0,26072 }, { 1,5306 }, + { 2,5306 }, { 3,5306 }, { 4,5306 }, { 5,5306 }, { 6,5306 }, + { 7,5306 }, { 8,5306 }, { 9,5564 }, { 10,5822 }, { 11,5306 }, + { 12,5564 }, { 13,5822 }, { 14,5306 }, { 15,5306 }, { 16,5306 }, + { 17,5306 }, { 18,5306 }, { 19,5306 }, { 20,5306 }, { 21,5306 }, + { 22,5306 }, { 23,5306 }, { 24,5306 }, { 25,5306 }, { 26,5306 }, + { 27,5306 }, { 28,5306 }, { 29,5306 }, { 30,5306 }, { 31,5306 }, + { 32,5564 }, { 33,5306 }, { 34,5306 }, { 35,5306 }, { 36,5306 }, + { 37,5306 }, { 38,5306 }, { 39,-16059 }, { 40,5306 }, { 41,5306 }, + + { 42,5306 }, { 43,5306 }, { 44,5306 }, { 45,5941 }, { 46,5306 }, + { 47,5306 }, { 48,5306 }, { 49,5306 }, { 50,5306 }, { 51,5306 }, + { 52,5306 }, { 53,5306 }, { 54,5306 }, { 55,5306 }, { 56,5306 }, + { 57,5306 }, { 58,5306 }, { 59,5306 }, { 60,5306 }, { 61,5306 }, + { 62,5306 }, { 63,5306 }, { 64,5306 }, { 65,5306 }, { 66,5306 }, + { 67,5306 }, { 68,5306 }, { 69,5306 }, { 70,5306 }, { 71,5306 }, + { 72,5306 }, { 73,5306 }, { 74,5306 }, { 75,5306 }, { 76,5306 }, + { 77,5306 }, { 78,5306 }, { 79,5306 }, { 80,5306 }, { 81,5306 }, + { 82,5306 }, { 83,5306 }, { 84,5306 }, { 85,6199 }, { 86,5306 }, + { 87,5306 }, { 88,5306 }, { 89,5306 }, { 90,5306 }, { 91,5306 }, + + { 92,5306 }, { 93,5306 }, { 94,5306 }, { 95,5306 }, { 96,5306 }, + { 97,5306 }, { 98,5306 }, { 99,5306 }, { 100,5306 }, { 101,5306 }, + { 102,5306 }, { 103,5306 }, { 104,5306 }, { 105,5306 }, { 106,5306 }, + { 107,5306 }, { 108,5306 }, { 109,5306 }, { 110,5306 }, { 111,5306 }, + { 112,5306 }, { 113,5306 }, { 114,5306 }, { 115,5306 }, { 116,5306 }, + { 117,6199 }, { 118,5306 }, { 119,5306 }, { 120,5306 }, { 121,5306 }, + { 122,5306 }, { 123,5306 }, { 124,5306 }, { 125,5306 }, { 126,5306 }, + { 127,5306 }, { 128,5306 }, { 129,5306 }, { 130,5306 }, { 131,5306 }, + { 132,5306 }, { 133,5306 }, { 134,5306 }, { 135,5306 }, { 136,5306 }, + { 137,5306 }, { 138,5306 }, { 139,5306 }, { 140,5306 }, { 141,5306 }, + + { 142,5306 }, { 143,5306 }, { 144,5306 }, { 145,5306 }, { 146,5306 }, + { 147,5306 }, { 148,5306 }, { 149,5306 }, { 150,5306 }, { 151,5306 }, + { 152,5306 }, { 153,5306 }, { 154,5306 }, { 155,5306 }, { 156,5306 }, + { 157,5306 }, { 158,5306 }, { 159,5306 }, { 160,5306 }, { 161,5306 }, + { 162,5306 }, { 163,5306 }, { 164,5306 }, { 165,5306 }, { 166,5306 }, + { 167,5306 }, { 168,5306 }, { 169,5306 }, { 170,5306 }, { 171,5306 }, + { 172,5306 }, { 173,5306 }, { 174,5306 }, { 175,5306 }, { 176,5306 }, + { 177,5306 }, { 178,5306 }, { 179,5306 }, { 180,5306 }, { 181,5306 }, + { 182,5306 }, { 183,5306 }, { 184,5306 }, { 185,5306 }, { 186,5306 }, + { 187,5306 }, { 188,5306 }, { 189,5306 }, { 190,5306 }, { 191,5306 }, + + { 192,5306 }, { 193,5306 }, { 194,5306 }, { 195,5306 }, { 196,5306 }, + { 197,5306 }, { 198,5306 }, { 199,5306 }, { 200,5306 }, { 201,5306 }, + { 202,5306 }, { 203,5306 }, { 204,5306 }, { 205,5306 }, { 206,5306 }, + { 207,5306 }, { 208,5306 }, { 209,5306 }, { 210,5306 }, { 211,5306 }, + { 212,5306 }, { 213,5306 }, { 214,5306 }, { 215,5306 }, { 216,5306 }, + { 217,5306 }, { 218,5306 }, { 219,5306 }, { 220,5306 }, { 221,5306 }, + { 222,5306 }, { 223,5306 }, { 224,5306 }, { 225,5306 }, { 226,5306 }, + { 227,5306 }, { 228,5306 }, { 229,5306 }, { 230,5306 }, { 231,5306 }, + { 232,5306 }, { 233,5306 }, { 234,5306 }, { 235,5306 }, { 236,5306 }, + { 237,5306 }, { 238,5306 }, { 239,5306 }, { 240,5306 }, { 241,5306 }, + + { 242,5306 }, { 243,5306 }, { 244,5306 }, { 245,5306 }, { 246,5306 }, + { 247,5306 }, { 248,5306 }, { 249,5306 }, { 250,5306 }, { 251,5306 }, + { 252,5306 }, { 253,5306 }, { 254,5306 }, { 255,5306 }, { 256,5306 }, + { 0, 24 }, { 0,25814 }, { 1,-16317 }, { 2,-16317 }, { 3,-16317 }, + { 4,-16317 }, { 5,-16317 }, { 6,-16317 }, { 7,-16317 }, { 8,-16317 }, + { 9,-16059 }, { 10,-23972 }, { 11,-16317 }, { 12,-16059 }, { 13,-23972 }, + { 14,-16317 }, { 15,-16317 }, { 16,-16317 }, { 17,-16317 }, { 18,-16317 }, + { 19,-16317 }, { 20,-16317 }, { 21,-16317 }, { 22,-16317 }, { 23,-16317 }, + { 24,-16317 }, { 25,-16317 }, { 26,-16317 }, { 27,-16317 }, { 28,-16317 }, + { 29,-16317 }, { 30,-16317 }, { 31,-16317 }, { 32,-16059 }, { 33,-16317 }, + + { 34,-16317 }, { 35,-16317 }, { 36,-16317 }, { 37,-16317 }, { 38,-16317 }, + { 39,-16317 }, { 40,-16317 }, { 41,-16317 }, { 42,-16317 }, { 43,-16317 }, + { 44,-16317 }, { 45,6199 }, { 46,-16317 }, { 47,-16317 }, { 48,-16317 }, + { 49,-16317 }, { 50,-16317 }, { 51,-16317 }, { 52,-16317 }, { 53,-16317 }, + { 54,-16317 }, { 55,-16317 }, { 56,-16317 }, { 57,-16317 }, { 58,-16317 }, + { 59,-16317 }, { 60,-16317 }, { 61,-16317 }, { 62,-16317 }, { 63,-16317 }, + { 64,-16317 }, { 65,-16317 }, { 66,-16317 }, { 67,-16317 }, { 68,-16317 }, + { 69,-16317 }, { 70,-16317 }, { 71,-16317 }, { 72,-16317 }, { 73,-16317 }, + { 74,-16317 }, { 75,-16317 }, { 76,-16317 }, { 77,-16317 }, { 78,-16317 }, + { 79,-16317 }, { 80,-16317 }, { 81,-16317 }, { 82,-16317 }, { 83,-16317 }, + + { 84,-16317 }, { 85,-15543 }, { 86,-16317 }, { 87,-16317 }, { 88,-16317 }, + { 89,-16317 }, { 90,-16317 }, { 91,-16317 }, { 92,-16317 }, { 93,-16317 }, + { 94,-16317 }, { 95,-16317 }, { 96,-16317 }, { 97,-16317 }, { 98,-16317 }, + { 99,-16317 }, { 100,-16317 }, { 101,-16317 }, { 102,-16317 }, { 103,-16317 }, + { 104,-16317 }, { 105,-16317 }, { 106,-16317 }, { 107,-16317 }, { 108,-16317 }, + { 109,-16317 }, { 110,-16317 }, { 111,-16317 }, { 112,-16317 }, { 113,-16317 }, + { 114,-16317 }, { 115,-16317 }, { 116,-16317 }, { 117,-15543 }, { 118,-16317 }, + { 119,-16317 }, { 120,-16317 }, { 121,-16317 }, { 122,-16317 }, { 123,-16317 }, + { 124,-16317 }, { 125,-16317 }, { 126,-16317 }, { 127,-16317 }, { 128,-16317 }, + { 129,-16317 }, { 130,-16317 }, { 131,-16317 }, { 132,-16317 }, { 133,-16317 }, + + { 134,-16317 }, { 135,-16317 }, { 136,-16317 }, { 137,-16317 }, { 138,-16317 }, + { 139,-16317 }, { 140,-16317 }, { 141,-16317 }, { 142,-16317 }, { 143,-16317 }, + { 144,-16317 }, { 145,-16317 }, { 146,-16317 }, { 147,-16317 }, { 148,-16317 }, + { 149,-16317 }, { 150,-16317 }, { 151,-16317 }, { 152,-16317 }, { 153,-16317 }, + { 154,-16317 }, { 155,-16317 }, { 156,-16317 }, { 157,-16317 }, { 158,-16317 }, + { 159,-16317 }, { 160,-16317 }, { 161,-16317 }, { 162,-16317 }, { 163,-16317 }, + { 164,-16317 }, { 165,-16317 }, { 166,-16317 }, { 167,-16317 }, { 168,-16317 }, + { 169,-16317 }, { 170,-16317 }, { 171,-16317 }, { 172,-16317 }, { 173,-16317 }, + { 174,-16317 }, { 175,-16317 }, { 176,-16317 }, { 177,-16317 }, { 178,-16317 }, + { 179,-16317 }, { 180,-16317 }, { 181,-16317 }, { 182,-16317 }, { 183,-16317 }, + + { 184,-16317 }, { 185,-16317 }, { 186,-16317 }, { 187,-16317 }, { 188,-16317 }, + { 189,-16317 }, { 190,-16317 }, { 191,-16317 }, { 192,-16317 }, { 193,-16317 }, + { 194,-16317 }, { 195,-16317 }, { 196,-16317 }, { 197,-16317 }, { 198,-16317 }, + { 199,-16317 }, { 200,-16317 }, { 201,-16317 }, { 202,-16317 }, { 203,-16317 }, + { 204,-16317 }, { 205,-16317 }, { 206,-16317 }, { 207,-16317 }, { 208,-16317 }, + { 209,-16317 }, { 210,-16317 }, { 211,-16317 }, { 212,-16317 }, { 213,-16317 }, + { 214,-16317 }, { 215,-16317 }, { 216,-16317 }, { 217,-16317 }, { 218,-16317 }, + { 219,-16317 }, { 220,-16317 }, { 221,-16317 }, { 222,-16317 }, { 223,-16317 }, + { 224,-16317 }, { 225,-16317 }, { 226,-16317 }, { 227,-16317 }, { 228,-16317 }, + { 229,-16317 }, { 230,-16317 }, { 231,-16317 }, { 232,-16317 }, { 233,-16317 }, + + { 234,-16317 }, { 235,-16317 }, { 236,-16317 }, { 237,-16317 }, { 238,-16317 }, + { 239,-16317 }, { 240,-16317 }, { 241,-16317 }, { 242,-16317 }, { 243,-16317 }, + { 244,-16317 }, { 245,-16317 }, { 246,-16317 }, { 247,-16317 }, { 248,-16317 }, + { 249,-16317 }, { 250,-16317 }, { 251,-16317 }, { 252,-16317 }, { 253,-16317 }, + { 254,-16317 }, { 255,-16317 }, { 256,-16317 }, { 0, 24 }, { 0,25556 }, + { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, + { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 258 }, { 10,-4775 }, + { 11, 0 }, { 12, 258 }, { 13,-4775 }, { 14, 0 }, { 15, 0 }, + { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, + { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, + + { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, + { 31, 0 }, { 32, 258 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, + { 36, 0 }, { 37, 0 }, { 38, 0 }, { 39, 516 }, { 40, 0 }, + { 41, 0 }, { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 774 }, + { 46, 0 }, { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, + { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, + { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, + { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, + + { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, + { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, + { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, + { 91, 0 }, { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, + { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, + { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, + { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, + { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, + { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, + { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, + + { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, + { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, + { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, + { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, + { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, + { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, + { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, + { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, + { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, + { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, + + { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, + { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, + { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, + { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, + { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, + { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, + { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, + { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, + { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, + { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, + + { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, + { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, + { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, + { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, + { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, + { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, + { 256, 0 }, { 0, 24 }, { 0,25298 }, { 1,-258 }, { 2,-258 }, + { 3,-258 }, { 4,-258 }, { 5,-258 }, { 6,-258 }, { 7,-258 }, + { 8,-258 }, { 9, 0 }, { 10,-5033 }, { 11,-258 }, { 12, 0 }, + { 13,-5033 }, { 14,-258 }, { 15,-258 }, { 16,-258 }, { 17,-258 }, + + { 18,-258 }, { 19,-258 }, { 20,-258 }, { 21,-258 }, { 22,-258 }, + { 23,-258 }, { 24,-258 }, { 25,-258 }, { 26,-258 }, { 27,-258 }, + { 28,-258 }, { 29,-258 }, { 30,-258 }, { 31,-258 }, { 32, 0 }, + { 33,-258 }, { 34,-258 }, { 35,-258 }, { 36,-258 }, { 37,-258 }, + { 38,-258 }, { 39, 258 }, { 40,-258 }, { 41,-258 }, { 42,-258 }, + { 43,-258 }, { 44,-258 }, { 45, 516 }, { 46,-258 }, { 47,-258 }, + { 48,-258 }, { 49,-258 }, { 50,-258 }, { 51,-258 }, { 52,-258 }, + { 53,-258 }, { 54,-258 }, { 55,-258 }, { 56,-258 }, { 57,-258 }, + { 58,-258 }, { 59,-258 }, { 60,-258 }, { 61,-258 }, { 62,-258 }, + { 63,-258 }, { 64,-258 }, { 65,-258 }, { 66,-258 }, { 67,-258 }, + + { 68,-258 }, { 69,-258 }, { 70,-258 }, { 71,-258 }, { 72,-258 }, + { 73,-258 }, { 74,-258 }, { 75,-258 }, { 76,-258 }, { 77,-258 }, + { 78,-258 }, { 79,-258 }, { 80,-258 }, { 81,-258 }, { 82,-258 }, + { 83,-258 }, { 84,-258 }, { 85,-258 }, { 86,-258 }, { 87,-258 }, + { 88,-258 }, { 89,-258 }, { 90,-258 }, { 91,-258 }, { 92,-258 }, + { 93,-258 }, { 94,-258 }, { 95,-258 }, { 96,-258 }, { 97,-258 }, + { 98,-258 }, { 99,-258 }, { 100,-258 }, { 101,-258 }, { 102,-258 }, + { 103,-258 }, { 104,-258 }, { 105,-258 }, { 106,-258 }, { 107,-258 }, + { 108,-258 }, { 109,-258 }, { 110,-258 }, { 111,-258 }, { 112,-258 }, + { 113,-258 }, { 114,-258 }, { 115,-258 }, { 116,-258 }, { 117,-258 }, + + { 118,-258 }, { 119,-258 }, { 120,-258 }, { 121,-258 }, { 122,-258 }, + { 123,-258 }, { 124,-258 }, { 125,-258 }, { 126,-258 }, { 127,-258 }, + { 128,-258 }, { 129,-258 }, { 130,-258 }, { 131,-258 }, { 132,-258 }, + { 133,-258 }, { 134,-258 }, { 135,-258 }, { 136,-258 }, { 137,-258 }, + { 138,-258 }, { 139,-258 }, { 140,-258 }, { 141,-258 }, { 142,-258 }, + { 143,-258 }, { 144,-258 }, { 145,-258 }, { 146,-258 }, { 147,-258 }, + { 148,-258 }, { 149,-258 }, { 150,-258 }, { 151,-258 }, { 152,-258 }, + { 153,-258 }, { 154,-258 }, { 155,-258 }, { 156,-258 }, { 157,-258 }, + { 158,-258 }, { 159,-258 }, { 160,-258 }, { 161,-258 }, { 162,-258 }, + { 163,-258 }, { 164,-258 }, { 165,-258 }, { 166,-258 }, { 167,-258 }, + + { 168,-258 }, { 169,-258 }, { 170,-258 }, { 171,-258 }, { 172,-258 }, + { 173,-258 }, { 174,-258 }, { 175,-258 }, { 176,-258 }, { 177,-258 }, + { 178,-258 }, { 179,-258 }, { 180,-258 }, { 181,-258 }, { 182,-258 }, + { 183,-258 }, { 184,-258 }, { 185,-258 }, { 186,-258 }, { 187,-258 }, + { 188,-258 }, { 189,-258 }, { 190,-258 }, { 191,-258 }, { 192,-258 }, + { 193,-258 }, { 194,-258 }, { 195,-258 }, { 196,-258 }, { 197,-258 }, + { 198,-258 }, { 199,-258 }, { 200,-258 }, { 201,-258 }, { 202,-258 }, + { 203,-258 }, { 204,-258 }, { 205,-258 }, { 206,-258 }, { 207,-258 }, + { 208,-258 }, { 209,-258 }, { 210,-258 }, { 211,-258 }, { 212,-258 }, + { 213,-258 }, { 214,-258 }, { 215,-258 }, { 216,-258 }, { 217,-258 }, + + { 218,-258 }, { 219,-258 }, { 220,-258 }, { 221,-258 }, { 222,-258 }, + { 223,-258 }, { 224,-258 }, { 225,-258 }, { 226,-258 }, { 227,-258 }, + { 228,-258 }, { 229,-258 }, { 230,-258 }, { 231,-258 }, { 232,-258 }, + { 233,-258 }, { 234,-258 }, { 235,-258 }, { 236,-258 }, { 237,-258 }, + { 238,-258 }, { 239,-258 }, { 240,-258 }, { 241,-258 }, { 242,-258 }, + { 243,-258 }, { 244,-258 }, { 245,-258 }, { 246,-258 }, { 247,-258 }, + { 248,-258 }, { 249,-258 }, { 250,-258 }, { 251,-258 }, { 252,-258 }, + { 253,-258 }, { 254,-258 }, { 255,-258 }, { 256,-258 }, { 0, 24 }, + { 0,25040 }, { 1,5683 }, { 2,5683 }, { 3,5683 }, { 4,5683 }, + { 5,5683 }, { 6,5683 }, { 7,5683 }, { 8,5683 }, { 9,5941 }, + + { 10,6199 }, { 11,5683 }, { 12,5941 }, { 13,6199 }, { 14,5683 }, + { 15,5683 }, { 16,5683 }, { 17,5683 }, { 18,5683 }, { 19,5683 }, + { 20,5683 }, { 21,5683 }, { 22,5683 }, { 23,5683 }, { 24,5683 }, + { 25,5683 }, { 26,5683 }, { 27,5683 }, { 28,5683 }, { 29,5683 }, + { 30,5683 }, { 31,5683 }, { 32,5941 }, { 33,5683 }, { 34,5683 }, + { 35,5683 }, { 36,5683 }, { 37,5683 }, { 38,5683 }, { 39, 0 }, + { 40,5683 }, { 41,5683 }, { 42,5683 }, { 43,5683 }, { 44,5683 }, + { 45,6246 }, { 46,5683 }, { 47,5683 }, { 48,5683 }, { 49,5683 }, + { 50,5683 }, { 51,5683 }, { 52,5683 }, { 53,5683 }, { 54,5683 }, + { 55,5683 }, { 56,5683 }, { 57,5683 }, { 58,5683 }, { 59,5683 }, + + { 60,5683 }, { 61,5683 }, { 62,5683 }, { 63,5683 }, { 64,5683 }, + { 65,5683 }, { 66,5683 }, { 67,5683 }, { 68,5683 }, { 69,5683 }, + { 70,5683 }, { 71,5683 }, { 72,5683 }, { 73,5683 }, { 74,5683 }, + { 75,5683 }, { 76,5683 }, { 77,5683 }, { 78,5683 }, { 79,5683 }, + { 80,5683 }, { 81,5683 }, { 82,5683 }, { 83,5683 }, { 84,5683 }, + { 85,5683 }, { 86,5683 }, { 87,5683 }, { 88,5683 }, { 89,5683 }, + { 90,5683 }, { 91,5683 }, { 92,5683 }, { 93,5683 }, { 94,5683 }, + { 95,5683 }, { 96,5683 }, { 97,5683 }, { 98,5683 }, { 99,5683 }, + { 100,5683 }, { 101,5683 }, { 102,5683 }, { 103,5683 }, { 104,5683 }, + { 105,5683 }, { 106,5683 }, { 107,5683 }, { 108,5683 }, { 109,5683 }, + + { 110,5683 }, { 111,5683 }, { 112,5683 }, { 113,5683 }, { 114,5683 }, + { 115,5683 }, { 116,5683 }, { 117,5683 }, { 118,5683 }, { 119,5683 }, + { 120,5683 }, { 121,5683 }, { 122,5683 }, { 123,5683 }, { 124,5683 }, + { 125,5683 }, { 126,5683 }, { 127,5683 }, { 128,5683 }, { 129,5683 }, + { 130,5683 }, { 131,5683 }, { 132,5683 }, { 133,5683 }, { 134,5683 }, + { 135,5683 }, { 136,5683 }, { 137,5683 }, { 138,5683 }, { 139,5683 }, + { 140,5683 }, { 141,5683 }, { 142,5683 }, { 143,5683 }, { 144,5683 }, + { 145,5683 }, { 146,5683 }, { 147,5683 }, { 148,5683 }, { 149,5683 }, + { 150,5683 }, { 151,5683 }, { 152,5683 }, { 153,5683 }, { 154,5683 }, + { 155,5683 }, { 156,5683 }, { 157,5683 }, { 158,5683 }, { 159,5683 }, + + { 160,5683 }, { 161,5683 }, { 162,5683 }, { 163,5683 }, { 164,5683 }, + { 165,5683 }, { 166,5683 }, { 167,5683 }, { 168,5683 }, { 169,5683 }, + { 170,5683 }, { 171,5683 }, { 172,5683 }, { 173,5683 }, { 174,5683 }, + { 175,5683 }, { 176,5683 }, { 177,5683 }, { 178,5683 }, { 179,5683 }, + { 180,5683 }, { 181,5683 }, { 182,5683 }, { 183,5683 }, { 184,5683 }, + { 185,5683 }, { 186,5683 }, { 187,5683 }, { 188,5683 }, { 189,5683 }, + { 190,5683 }, { 191,5683 }, { 192,5683 }, { 193,5683 }, { 194,5683 }, + { 195,5683 }, { 196,5683 }, { 197,5683 }, { 198,5683 }, { 199,5683 }, + { 200,5683 }, { 201,5683 }, { 202,5683 }, { 203,5683 }, { 204,5683 }, + { 205,5683 }, { 206,5683 }, { 207,5683 }, { 208,5683 }, { 209,5683 }, + + { 210,5683 }, { 211,5683 }, { 212,5683 }, { 213,5683 }, { 214,5683 }, + { 215,5683 }, { 216,5683 }, { 217,5683 }, { 218,5683 }, { 219,5683 }, + { 220,5683 }, { 221,5683 }, { 222,5683 }, { 223,5683 }, { 224,5683 }, + { 225,5683 }, { 226,5683 }, { 227,5683 }, { 228,5683 }, { 229,5683 }, + { 230,5683 }, { 231,5683 }, { 232,5683 }, { 233,5683 }, { 234,5683 }, + { 235,5683 }, { 236,5683 }, { 237,5683 }, { 238,5683 }, { 239,5683 }, + { 240,5683 }, { 241,5683 }, { 242,5683 }, { 243,5683 }, { 244,5683 }, + { 245,5683 }, { 246,5683 }, { 247,5683 }, { 248,5683 }, { 249,5683 }, + { 250,5683 }, { 251,5683 }, { 252,5683 }, { 253,5683 }, { 254,5683 }, + { 255,5683 }, { 256,5683 }, { 0, 24 }, { 0,24782 }, { 1,-774 }, + + { 2,-774 }, { 3,-774 }, { 4,-774 }, { 5,-774 }, { 6,-774 }, + { 7,-774 }, { 8,-774 }, { 9,-516 }, { 10,-5549 }, { 11,-774 }, + { 12,-516 }, { 13,-5549 }, { 14,-774 }, { 15,-774 }, { 16,-774 }, + { 17,-774 }, { 18,-774 }, { 19,-774 }, { 20,-774 }, { 21,-774 }, + { 22,-774 }, { 23,-774 }, { 24,-774 }, { 25,-774 }, { 26,-774 }, + { 27,-774 }, { 28,-774 }, { 29,-774 }, { 30,-774 }, { 31,-774 }, + { 32,-516 }, { 33,-774 }, { 34,-774 }, { 35,-774 }, { 36,-774 }, + { 37,-774 }, { 38,-774 }, { 39,-258 }, { 40,-774 }, { 41,-774 }, + { 42,-774 }, { 43,-774 }, { 44,-774 }, { 45,6246 }, { 46,-774 }, + { 47,-774 }, { 48,-774 }, { 49,-774 }, { 50,-774 }, { 51,-774 }, + + { 52,-774 }, { 53,-774 }, { 54,-774 }, { 55,-774 }, { 56,-774 }, + { 57,-774 }, { 58,-774 }, { 59,-774 }, { 60,-774 }, { 61,-774 }, + { 62,-774 }, { 63,-774 }, { 64,-774 }, { 65,-774 }, { 66,-774 }, + { 67,-774 }, { 68,-774 }, { 69,-774 }, { 70,-774 }, { 71,-774 }, + { 72,-774 }, { 73,-774 }, { 74,-774 }, { 75,-774 }, { 76,-774 }, + { 77,-774 }, { 78,-774 }, { 79,-774 }, { 80,-774 }, { 81,-774 }, + { 82,-774 }, { 83,-774 }, { 84,-774 }, { 85,-774 }, { 86,-774 }, + { 87,-774 }, { 88,-774 }, { 89,-774 }, { 90,-774 }, { 91,-774 }, + { 92,-774 }, { 93,-774 }, { 94,-774 }, { 95,-774 }, { 96,-774 }, + { 97,-774 }, { 98,-774 }, { 99,-774 }, { 100,-774 }, { 101,-774 }, + + { 102,-774 }, { 103,-774 }, { 104,-774 }, { 105,-774 }, { 106,-774 }, + { 107,-774 }, { 108,-774 }, { 109,-774 }, { 110,-774 }, { 111,-774 }, + { 112,-774 }, { 113,-774 }, { 114,-774 }, { 115,-774 }, { 116,-774 }, + { 117,-774 }, { 118,-774 }, { 119,-774 }, { 120,-774 }, { 121,-774 }, + { 122,-774 }, { 123,-774 }, { 124,-774 }, { 125,-774 }, { 126,-774 }, + { 127,-774 }, { 128,-774 }, { 129,-774 }, { 130,-774 }, { 131,-774 }, + { 132,-774 }, { 133,-774 }, { 134,-774 }, { 135,-774 }, { 136,-774 }, + { 137,-774 }, { 138,-774 }, { 139,-774 }, { 140,-774 }, { 141,-774 }, + { 142,-774 }, { 143,-774 }, { 144,-774 }, { 145,-774 }, { 146,-774 }, + { 147,-774 }, { 148,-774 }, { 149,-774 }, { 150,-774 }, { 151,-774 }, + + { 152,-774 }, { 153,-774 }, { 154,-774 }, { 155,-774 }, { 156,-774 }, + { 157,-774 }, { 158,-774 }, { 159,-774 }, { 160,-774 }, { 161,-774 }, + { 162,-774 }, { 163,-774 }, { 164,-774 }, { 165,-774 }, { 166,-774 }, + { 167,-774 }, { 168,-774 }, { 169,-774 }, { 170,-774 }, { 171,-774 }, + { 172,-774 }, { 173,-774 }, { 174,-774 }, { 175,-774 }, { 176,-774 }, + { 177,-774 }, { 178,-774 }, { 179,-774 }, { 180,-774 }, { 181,-774 }, + { 182,-774 }, { 183,-774 }, { 184,-774 }, { 185,-774 }, { 186,-774 }, + { 187,-774 }, { 188,-774 }, { 189,-774 }, { 190,-774 }, { 191,-774 }, + { 192,-774 }, { 193,-774 }, { 194,-774 }, { 195,-774 }, { 196,-774 }, + { 197,-774 }, { 198,-774 }, { 199,-774 }, { 200,-774 }, { 201,-774 }, + + { 202,-774 }, { 203,-774 }, { 204,-774 }, { 205,-774 }, { 206,-774 }, + { 207,-774 }, { 208,-774 }, { 209,-774 }, { 210,-774 }, { 211,-774 }, + { 212,-774 }, { 213,-774 }, { 214,-774 }, { 215,-774 }, { 216,-774 }, + { 217,-774 }, { 218,-774 }, { 219,-774 }, { 220,-774 }, { 221,-774 }, + { 222,-774 }, { 223,-774 }, { 224,-774 }, { 225,-774 }, { 226,-774 }, + { 227,-774 }, { 228,-774 }, { 229,-774 }, { 230,-774 }, { 231,-774 }, + { 232,-774 }, { 233,-774 }, { 234,-774 }, { 235,-774 }, { 236,-774 }, + { 237,-774 }, { 238,-774 }, { 239,-774 }, { 240,-774 }, { 241,-774 }, + { 242,-774 }, { 243,-774 }, { 244,-774 }, { 245,-774 }, { 246,-774 }, + { 247,-774 }, { 248,-774 }, { 249,-774 }, { 250,-774 }, { 251,-774 }, + + { 252,-774 }, { 253,-774 }, { 254,-774 }, { 255,-774 }, { 256,-774 }, + { 0, 48 }, { 0,24524 }, { 1,-18897 }, { 2,-18897 }, { 3,-18897 }, + { 4,-18897 }, { 5,-18897 }, { 6,-18897 }, { 7,-18897 }, { 8,-18897 }, + { 9,-18639 }, { 10,-25283 }, { 11,-18897 }, { 12,-18639 }, { 13,-25283 }, + { 14,-18897 }, { 15,-18897 }, { 16,-18897 }, { 17,-18897 }, { 18,-18897 }, + { 19,-18897 }, { 20,-18897 }, { 21,-18897 }, { 22,-18897 }, { 23,-18897 }, + { 24,-18897 }, { 25,-18897 }, { 26,-18897 }, { 27,-18897 }, { 28,-18897 }, + { 29,-18897 }, { 30,-18897 }, { 31,-18897 }, { 32,-18639 }, { 33,-18897 }, + { 34,-18897 }, { 35,-18897 }, { 36,-18897 }, { 37,-18897 }, { 38,-18897 }, + { 39,6504 }, { 40,-18897 }, { 41,-18897 }, { 42,-18897 }, { 43,-18897 }, + + { 44,-18897 }, { 45,-18381 }, { 46,-18897 }, { 47,-18897 }, { 48,-18897 }, + { 49,-18897 }, { 50,-18897 }, { 51,-18897 }, { 52,-18897 }, { 53,-18897 }, + { 54,-18897 }, { 55,-18897 }, { 56,-18897 }, { 57,-18897 }, { 58,-18897 }, + { 59,-18897 }, { 60,-18897 }, { 61,-18897 }, { 62,-18897 }, { 63,-18897 }, + { 64,-18897 }, { 65,-18897 }, { 66,-18897 }, { 67,-18897 }, { 68,-18897 }, + { 69,-18897 }, { 70,-18897 }, { 71,-18897 }, { 72,-18897 }, { 73,-18897 }, + { 74,-18897 }, { 75,-18897 }, { 76,-18897 }, { 77,-18897 }, { 78,-18897 }, + { 79,-18897 }, { 80,-18897 }, { 81,-18897 }, { 82,-18897 }, { 83,-18897 }, + { 84,-18897 }, { 85,-18123 }, { 86,-18897 }, { 87,-18897 }, { 88,-18897 }, + { 89,-18897 }, { 90,-18897 }, { 91,-18897 }, { 92,-18897 }, { 93,-18897 }, + + { 94,-18897 }, { 95,-18897 }, { 96,-18897 }, { 97,-18897 }, { 98,-18897 }, + { 99,-18897 }, { 100,-18897 }, { 101,-18897 }, { 102,-18897 }, { 103,-18897 }, + { 104,-18897 }, { 105,-18897 }, { 106,-18897 }, { 107,-18897 }, { 108,-18897 }, + { 109,-18897 }, { 110,-18897 }, { 111,-18897 }, { 112,-18897 }, { 113,-18897 }, + { 114,-18897 }, { 115,-18897 }, { 116,-18897 }, { 117,-18123 }, { 118,-18897 }, + { 119,-18897 }, { 120,-18897 }, { 121,-18897 }, { 122,-18897 }, { 123,-18897 }, + { 124,-18897 }, { 125,-18897 }, { 126,-18897 }, { 127,-18897 }, { 128,-18897 }, + { 129,-18897 }, { 130,-18897 }, { 131,-18897 }, { 132,-18897 }, { 133,-18897 }, + { 134,-18897 }, { 135,-18897 }, { 136,-18897 }, { 137,-18897 }, { 138,-18897 }, + { 139,-18897 }, { 140,-18897 }, { 141,-18897 }, { 142,-18897 }, { 143,-18897 }, + + { 144,-18897 }, { 145,-18897 }, { 146,-18897 }, { 147,-18897 }, { 148,-18897 }, + { 149,-18897 }, { 150,-18897 }, { 151,-18897 }, { 152,-18897 }, { 153,-18897 }, + { 154,-18897 }, { 155,-18897 }, { 156,-18897 }, { 157,-18897 }, { 158,-18897 }, + { 159,-18897 }, { 160,-18897 }, { 161,-18897 }, { 162,-18897 }, { 163,-18897 }, + { 164,-18897 }, { 165,-18897 }, { 166,-18897 }, { 167,-18897 }, { 168,-18897 }, + { 169,-18897 }, { 170,-18897 }, { 171,-18897 }, { 172,-18897 }, { 173,-18897 }, + { 174,-18897 }, { 175,-18897 }, { 176,-18897 }, { 177,-18897 }, { 178,-18897 }, + { 179,-18897 }, { 180,-18897 }, { 181,-18897 }, { 182,-18897 }, { 183,-18897 }, + { 184,-18897 }, { 185,-18897 }, { 186,-18897 }, { 187,-18897 }, { 188,-18897 }, + { 189,-18897 }, { 190,-18897 }, { 191,-18897 }, { 192,-18897 }, { 193,-18897 }, + + { 194,-18897 }, { 195,-18897 }, { 196,-18897 }, { 197,-18897 }, { 198,-18897 }, + { 199,-18897 }, { 200,-18897 }, { 201,-18897 }, { 202,-18897 }, { 203,-18897 }, + { 204,-18897 }, { 205,-18897 }, { 206,-18897 }, { 207,-18897 }, { 208,-18897 }, + { 209,-18897 }, { 210,-18897 }, { 211,-18897 }, { 212,-18897 }, { 213,-18897 }, + { 214,-18897 }, { 215,-18897 }, { 216,-18897 }, { 217,-18897 }, { 218,-18897 }, + { 219,-18897 }, { 220,-18897 }, { 221,-18897 }, { 222,-18897 }, { 223,-18897 }, + { 224,-18897 }, { 225,-18897 }, { 226,-18897 }, { 227,-18897 }, { 228,-18897 }, + { 229,-18897 }, { 230,-18897 }, { 231,-18897 }, { 232,-18897 }, { 233,-18897 }, + { 234,-18897 }, { 235,-18897 }, { 236,-18897 }, { 237,-18897 }, { 238,-18897 }, + { 239,-18897 }, { 240,-18897 }, { 241,-18897 }, { 242,-18897 }, { 243,-18897 }, + + { 244,-18897 }, { 245,-18897 }, { 246,-18897 }, { 247,-18897 }, { 248,-18897 }, + { 249,-18897 }, { 250,-18897 }, { 251,-18897 }, { 252,-18897 }, { 253,-18897 }, + { 254,-18897 }, { 255,-18897 }, { 256,-18897 }, { 0, 48 }, { 0,24266 }, + { 1,-19155 }, { 2,-19155 }, { 3,-19155 }, { 4,-19155 }, { 5,-19155 }, + { 6,-19155 }, { 7,-19155 }, { 8,-19155 }, { 9,-18897 }, { 10,-25541 }, + { 11,-19155 }, { 12,-18897 }, { 13,-25541 }, { 14,-19155 }, { 15,-19155 }, + { 16,-19155 }, { 17,-19155 }, { 18,-19155 }, { 19,-19155 }, { 20,-19155 }, + { 21,-19155 }, { 22,-19155 }, { 23,-19155 }, { 24,-19155 }, { 25,-19155 }, + { 26,-19155 }, { 27,-19155 }, { 28,-19155 }, { 29,-19155 }, { 30,-19155 }, + { 31,-19155 }, { 32,-18897 }, { 33,-19155 }, { 34,-19155 }, { 35,-19155 }, + + { 36,-19155 }, { 37,-19155 }, { 38,-19155 }, { 39,6246 }, { 40,-19155 }, + { 41,-19155 }, { 42,-19155 }, { 43,-19155 }, { 44,-19155 }, { 45,-18639 }, + { 46,-19155 }, { 47,-19155 }, { 48,-19155 }, { 49,-19155 }, { 50,-19155 }, + { 51,-19155 }, { 52,-19155 }, { 53,-19155 }, { 54,-19155 }, { 55,-19155 }, + { 56,-19155 }, { 57,-19155 }, { 58,-19155 }, { 59,-19155 }, { 60,-19155 }, + { 61,-19155 }, { 62,-19155 }, { 63,-19155 }, { 64,-19155 }, { 65,-19155 }, + { 66,-19155 }, { 67,-19155 }, { 68,-19155 }, { 69,-19155 }, { 70,-19155 }, + { 71,-19155 }, { 72,-19155 }, { 73,-19155 }, { 74,-19155 }, { 75,-19155 }, + { 76,-19155 }, { 77,-19155 }, { 78,-19155 }, { 79,-19155 }, { 80,-19155 }, + { 81,-19155 }, { 82,-19155 }, { 83,-19155 }, { 84,-19155 }, { 85,-18381 }, + + { 86,-19155 }, { 87,-19155 }, { 88,-19155 }, { 89,-19155 }, { 90,-19155 }, + { 91,-19155 }, { 92,-19155 }, { 93,-19155 }, { 94,-19155 }, { 95,-19155 }, + { 96,-19155 }, { 97,-19155 }, { 98,-19155 }, { 99,-19155 }, { 100,-19155 }, + { 101,-19155 }, { 102,-19155 }, { 103,-19155 }, { 104,-19155 }, { 105,-19155 }, + { 106,-19155 }, { 107,-19155 }, { 108,-19155 }, { 109,-19155 }, { 110,-19155 }, + { 111,-19155 }, { 112,-19155 }, { 113,-19155 }, { 114,-19155 }, { 115,-19155 }, + { 116,-19155 }, { 117,-18381 }, { 118,-19155 }, { 119,-19155 }, { 120,-19155 }, + { 121,-19155 }, { 122,-19155 }, { 123,-19155 }, { 124,-19155 }, { 125,-19155 }, + { 126,-19155 }, { 127,-19155 }, { 128,-19155 }, { 129,-19155 }, { 130,-19155 }, + { 131,-19155 }, { 132,-19155 }, { 133,-19155 }, { 134,-19155 }, { 135,-19155 }, + + { 136,-19155 }, { 137,-19155 }, { 138,-19155 }, { 139,-19155 }, { 140,-19155 }, + { 141,-19155 }, { 142,-19155 }, { 143,-19155 }, { 144,-19155 }, { 145,-19155 }, + { 146,-19155 }, { 147,-19155 }, { 148,-19155 }, { 149,-19155 }, { 150,-19155 }, + { 151,-19155 }, { 152,-19155 }, { 153,-19155 }, { 154,-19155 }, { 155,-19155 }, + { 156,-19155 }, { 157,-19155 }, { 158,-19155 }, { 159,-19155 }, { 160,-19155 }, + { 161,-19155 }, { 162,-19155 }, { 163,-19155 }, { 164,-19155 }, { 165,-19155 }, + { 166,-19155 }, { 167,-19155 }, { 168,-19155 }, { 169,-19155 }, { 170,-19155 }, + { 171,-19155 }, { 172,-19155 }, { 173,-19155 }, { 174,-19155 }, { 175,-19155 }, + { 176,-19155 }, { 177,-19155 }, { 178,-19155 }, { 179,-19155 }, { 180,-19155 }, + { 181,-19155 }, { 182,-19155 }, { 183,-19155 }, { 184,-19155 }, { 185,-19155 }, + + { 186,-19155 }, { 187,-19155 }, { 188,-19155 }, { 189,-19155 }, { 190,-19155 }, + { 191,-19155 }, { 192,-19155 }, { 193,-19155 }, { 194,-19155 }, { 195,-19155 }, + { 196,-19155 }, { 197,-19155 }, { 198,-19155 }, { 199,-19155 }, { 200,-19155 }, + { 201,-19155 }, { 202,-19155 }, { 203,-19155 }, { 204,-19155 }, { 205,-19155 }, + { 206,-19155 }, { 207,-19155 }, { 208,-19155 }, { 209,-19155 }, { 210,-19155 }, + { 211,-19155 }, { 212,-19155 }, { 213,-19155 }, { 214,-19155 }, { 215,-19155 }, + { 216,-19155 }, { 217,-19155 }, { 218,-19155 }, { 219,-19155 }, { 220,-19155 }, + { 221,-19155 }, { 222,-19155 }, { 223,-19155 }, { 224,-19155 }, { 225,-19155 }, + { 226,-19155 }, { 227,-19155 }, { 228,-19155 }, { 229,-19155 }, { 230,-19155 }, + { 231,-19155 }, { 232,-19155 }, { 233,-19155 }, { 234,-19155 }, { 235,-19155 }, + + { 236,-19155 }, { 237,-19155 }, { 238,-19155 }, { 239,-19155 }, { 240,-19155 }, + { 241,-19155 }, { 242,-19155 }, { 243,-19155 }, { 244,-19155 }, { 245,-19155 }, + { 246,-19155 }, { 247,-19155 }, { 248,-19155 }, { 249,-19155 }, { 250,-19155 }, + { 251,-19155 }, { 252,-19155 }, { 253,-19155 }, { 254,-19155 }, { 255,-19155 }, + { 256,-19155 }, { 0, 48 }, { 0,24008 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 9,-25799 }, { 10,-25799 }, { 0, 0 }, { 12,-25799 }, + { 13,-25799 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32,-25799 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 39,-29243 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 45,-34082 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 85,-33849 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 117,-33849 }, + { 0, 48 }, { 0,23889 }, { 1,-19532 }, { 2,-19532 }, { 3,-19532 }, + { 4,-19532 }, { 5,-19532 }, { 6,-19532 }, { 7,-19532 }, { 8,-19532 }, + + { 9,-19274 }, { 10,-25918 }, { 11,-19532 }, { 12,-19274 }, { 13,-25918 }, + { 14,-19532 }, { 15,-19532 }, { 16,-19532 }, { 17,-19532 }, { 18,-19532 }, + { 19,-19532 }, { 20,-19532 }, { 21,-19532 }, { 22,-19532 }, { 23,-19532 }, + { 24,-19532 }, { 25,-19532 }, { 26,-19532 }, { 27,-19532 }, { 28,-19532 }, + { 29,-19532 }, { 30,-19532 }, { 31,-19532 }, { 32,-19274 }, { 33,-19532 }, + { 34,-19532 }, { 35,-19532 }, { 36,-19532 }, { 37,-19532 }, { 38,-19532 }, + { 39,5869 }, { 40,-19532 }, { 41,-19532 }, { 42,-19532 }, { 43,-19532 }, + { 44,-19532 }, { 45,-13719 }, { 46,-19532 }, { 47,-19532 }, { 48,-19532 }, + { 49,-19532 }, { 50,-19532 }, { 51,-19532 }, { 52,-19532 }, { 53,-19532 }, + { 54,-19532 }, { 55,-19532 }, { 56,-19532 }, { 57,-19532 }, { 58,-19532 }, + + { 59,-19532 }, { 60,-19532 }, { 61,-19532 }, { 62,-19532 }, { 63,-19532 }, + { 64,-19532 }, { 65,-19532 }, { 66,-19532 }, { 67,-19532 }, { 68,-19532 }, + { 69,-19532 }, { 70,-19532 }, { 71,-19532 }, { 72,-19532 }, { 73,-19532 }, + { 74,-19532 }, { 75,-19532 }, { 76,-19532 }, { 77,-19532 }, { 78,-19532 }, + { 79,-19532 }, { 80,-19532 }, { 81,-19532 }, { 82,-19532 }, { 83,-19532 }, + { 84,-19532 }, { 85,-18758 }, { 86,-19532 }, { 87,-19532 }, { 88,-19532 }, + { 89,-19532 }, { 90,-19532 }, { 91,-19532 }, { 92,-19532 }, { 93,-19532 }, + { 94,-19532 }, { 95,-19532 }, { 96,-19532 }, { 97,-19532 }, { 98,-19532 }, + { 99,-19532 }, { 100,-19532 }, { 101,-19532 }, { 102,-19532 }, { 103,-19532 }, + { 104,-19532 }, { 105,-19532 }, { 106,-19532 }, { 107,-19532 }, { 108,-19532 }, + + { 109,-19532 }, { 110,-19532 }, { 111,-19532 }, { 112,-19532 }, { 113,-19532 }, + { 114,-19532 }, { 115,-19532 }, { 116,-19532 }, { 117,-18758 }, { 118,-19532 }, + { 119,-19532 }, { 120,-19532 }, { 121,-19532 }, { 122,-19532 }, { 123,-19532 }, + { 124,-19532 }, { 125,-19532 }, { 126,-19532 }, { 127,-19532 }, { 128,-19532 }, + { 129,-19532 }, { 130,-19532 }, { 131,-19532 }, { 132,-19532 }, { 133,-19532 }, + { 134,-19532 }, { 135,-19532 }, { 136,-19532 }, { 137,-19532 }, { 138,-19532 }, + { 139,-19532 }, { 140,-19532 }, { 141,-19532 }, { 142,-19532 }, { 143,-19532 }, + { 144,-19532 }, { 145,-19532 }, { 146,-19532 }, { 147,-19532 }, { 148,-19532 }, + { 149,-19532 }, { 150,-19532 }, { 151,-19532 }, { 152,-19532 }, { 153,-19532 }, + { 154,-19532 }, { 155,-19532 }, { 156,-19532 }, { 157,-19532 }, { 158,-19532 }, + + { 159,-19532 }, { 160,-19532 }, { 161,-19532 }, { 162,-19532 }, { 163,-19532 }, + { 164,-19532 }, { 165,-19532 }, { 166,-19532 }, { 167,-19532 }, { 168,-19532 }, + { 169,-19532 }, { 170,-19532 }, { 171,-19532 }, { 172,-19532 }, { 173,-19532 }, + { 174,-19532 }, { 175,-19532 }, { 176,-19532 }, { 177,-19532 }, { 178,-19532 }, + { 179,-19532 }, { 180,-19532 }, { 181,-19532 }, { 182,-19532 }, { 183,-19532 }, + { 184,-19532 }, { 185,-19532 }, { 186,-19532 }, { 187,-19532 }, { 188,-19532 }, + { 189,-19532 }, { 190,-19532 }, { 191,-19532 }, { 192,-19532 }, { 193,-19532 }, + { 194,-19532 }, { 195,-19532 }, { 196,-19532 }, { 197,-19532 }, { 198,-19532 }, + { 199,-19532 }, { 200,-19532 }, { 201,-19532 }, { 202,-19532 }, { 203,-19532 }, + { 204,-19532 }, { 205,-19532 }, { 206,-19532 }, { 207,-19532 }, { 208,-19532 }, + + { 209,-19532 }, { 210,-19532 }, { 211,-19532 }, { 212,-19532 }, { 213,-19532 }, + { 214,-19532 }, { 215,-19532 }, { 216,-19532 }, { 217,-19532 }, { 218,-19532 }, + { 219,-19532 }, { 220,-19532 }, { 221,-19532 }, { 222,-19532 }, { 223,-19532 }, + { 224,-19532 }, { 225,-19532 }, { 226,-19532 }, { 227,-19532 }, { 228,-19532 }, + { 229,-19532 }, { 230,-19532 }, { 231,-19532 }, { 232,-19532 }, { 233,-19532 }, + { 234,-19532 }, { 235,-19532 }, { 236,-19532 }, { 237,-19532 }, { 238,-19532 }, + { 239,-19532 }, { 240,-19532 }, { 241,-19532 }, { 242,-19532 }, { 243,-19532 }, + { 244,-19532 }, { 245,-19532 }, { 246,-19532 }, { 247,-19532 }, { 248,-19532 }, + { 249,-19532 }, { 250,-19532 }, { 251,-19532 }, { 252,-19532 }, { 253,-19532 }, + { 254,-19532 }, { 255,-19532 }, { 256,-19532 }, { 0, 48 }, { 0,23631 }, + + { 1,-19790 }, { 2,-19790 }, { 3,-19790 }, { 4,-19790 }, { 5,-19790 }, + { 6,-19790 }, { 7,-19790 }, { 8,-19790 }, { 9,-19532 }, { 10,-26176 }, + { 11,-19790 }, { 12,-19532 }, { 13,-26176 }, { 14,-19790 }, { 15,-19790 }, + { 16,-19790 }, { 17,-19790 }, { 18,-19790 }, { 19,-19790 }, { 20,-19790 }, + { 21,-19790 }, { 22,-19790 }, { 23,-19790 }, { 24,-19790 }, { 25,-19790 }, + { 26,-19790 }, { 27,-19790 }, { 28,-19790 }, { 29,-19790 }, { 30,-19790 }, + { 31,-19790 }, { 32,-19532 }, { 33,-19790 }, { 34,-19790 }, { 35,-19790 }, + { 36,-19790 }, { 37,-19790 }, { 38,-19790 }, { 39,5611 }, { 40,-19790 }, + { 41,-19790 }, { 42,-19790 }, { 43,-19790 }, { 44,-19790 }, { 45,-19274 }, + { 46,-19790 }, { 47,-19790 }, { 48,-19790 }, { 49,-19790 }, { 50,-19790 }, + + { 51,-19790 }, { 52,-19790 }, { 53,-19790 }, { 54,-19790 }, { 55,-19790 }, + { 56,-19790 }, { 57,-19790 }, { 58,-19790 }, { 59,-19790 }, { 60,-19790 }, + { 61,-19790 }, { 62,-19790 }, { 63,-19790 }, { 64,-19790 }, { 65,-19790 }, + { 66,-19790 }, { 67,-19790 }, { 68,-19790 }, { 69,-13719 }, { 70,-19790 }, + { 71,-19790 }, { 72,-19790 }, { 73,-19790 }, { 74,-19790 }, { 75,-19790 }, + { 76,-19790 }, { 77,-19790 }, { 78,-19790 }, { 79,-19790 }, { 80,-19790 }, + { 81,-19790 }, { 82,-19790 }, { 83,-19790 }, { 84,-19790 }, { 85,-19016 }, + { 86,-19790 }, { 87,-19790 }, { 88,-19790 }, { 89,-19790 }, { 90,-19790 }, + { 91,-19790 }, { 92,-19790 }, { 93,-19790 }, { 94,-19790 }, { 95,-19790 }, + { 96,-19790 }, { 97,-19790 }, { 98,-19790 }, { 99,-19790 }, { 100,-19790 }, + + { 101,-13719 }, { 102,-19790 }, { 103,-19790 }, { 104,-19790 }, { 105,-19790 }, + { 106,-19790 }, { 107,-19790 }, { 108,-19790 }, { 109,-19790 }, { 110,-19790 }, + { 111,-19790 }, { 112,-19790 }, { 113,-19790 }, { 114,-19790 }, { 115,-19790 }, + { 116,-19790 }, { 117,-19016 }, { 118,-19790 }, { 119,-19790 }, { 120,-19790 }, + { 121,-19790 }, { 122,-19790 }, { 123,-19790 }, { 124,-19790 }, { 125,-19790 }, + { 126,-19790 }, { 127,-19790 }, { 128,-19790 }, { 129,-19790 }, { 130,-19790 }, + { 131,-19790 }, { 132,-19790 }, { 133,-19790 }, { 134,-19790 }, { 135,-19790 }, + { 136,-19790 }, { 137,-19790 }, { 138,-19790 }, { 139,-19790 }, { 140,-19790 }, + { 141,-19790 }, { 142,-19790 }, { 143,-19790 }, { 144,-19790 }, { 145,-19790 }, + { 146,-19790 }, { 147,-19790 }, { 148,-19790 }, { 149,-19790 }, { 150,-19790 }, + + { 151,-19790 }, { 152,-19790 }, { 153,-19790 }, { 154,-19790 }, { 155,-19790 }, + { 156,-19790 }, { 157,-19790 }, { 158,-19790 }, { 159,-19790 }, { 160,-19790 }, + { 161,-19790 }, { 162,-19790 }, { 163,-19790 }, { 164,-19790 }, { 165,-19790 }, + { 166,-19790 }, { 167,-19790 }, { 168,-19790 }, { 169,-19790 }, { 170,-19790 }, + { 171,-19790 }, { 172,-19790 }, { 173,-19790 }, { 174,-19790 }, { 175,-19790 }, + { 176,-19790 }, { 177,-19790 }, { 178,-19790 }, { 179,-19790 }, { 180,-19790 }, + { 181,-19790 }, { 182,-19790 }, { 183,-19790 }, { 184,-19790 }, { 185,-19790 }, + { 186,-19790 }, { 187,-19790 }, { 188,-19790 }, { 189,-19790 }, { 190,-19790 }, + { 191,-19790 }, { 192,-19790 }, { 193,-19790 }, { 194,-19790 }, { 195,-19790 }, + { 196,-19790 }, { 197,-19790 }, { 198,-19790 }, { 199,-19790 }, { 200,-19790 }, + + { 201,-19790 }, { 202,-19790 }, { 203,-19790 }, { 204,-19790 }, { 205,-19790 }, + { 206,-19790 }, { 207,-19790 }, { 208,-19790 }, { 209,-19790 }, { 210,-19790 }, + { 211,-19790 }, { 212,-19790 }, { 213,-19790 }, { 214,-19790 }, { 215,-19790 }, + { 216,-19790 }, { 217,-19790 }, { 218,-19790 }, { 219,-19790 }, { 220,-19790 }, + { 221,-19790 }, { 222,-19790 }, { 223,-19790 }, { 224,-19790 }, { 225,-19790 }, + { 226,-19790 }, { 227,-19790 }, { 228,-19790 }, { 229,-19790 }, { 230,-19790 }, + { 231,-19790 }, { 232,-19790 }, { 233,-19790 }, { 234,-19790 }, { 235,-19790 }, + { 236,-19790 }, { 237,-19790 }, { 238,-19790 }, { 239,-19790 }, { 240,-19790 }, + { 241,-19790 }, { 242,-19790 }, { 243,-19790 }, { 244,-19790 }, { 245,-19790 }, + { 246,-19790 }, { 247,-19790 }, { 248,-19790 }, { 249,-19790 }, { 250,-19790 }, + + { 251,-19790 }, { 252,-19790 }, { 253,-19790 }, { 254,-19790 }, { 255,-19790 }, + { 256,-19790 }, { 0, 48 }, { 0,23373 }, { 1,5611 }, { 2,5611 }, + { 3,5611 }, { 4,5611 }, { 5,5611 }, { 6,5611 }, { 7,5611 }, + { 8,5611 }, { 9,5869 }, { 10,-5001 }, { 11,5611 }, { 12,5869 }, + { 13,-5001 }, { 14,5611 }, { 15,5611 }, { 16,5611 }, { 17,5611 }, + { 18,5611 }, { 19,5611 }, { 20,5611 }, { 21,5611 }, { 22,5611 }, + { 23,5611 }, { 24,5611 }, { 25,5611 }, { 26,5611 }, { 27,5611 }, + { 28,5611 }, { 29,5611 }, { 30,5611 }, { 31,5611 }, { 32,5869 }, + { 33,5611 }, { 34,5611 }, { 35,5611 }, { 36,5611 }, { 37,5611 }, + { 38,5611 }, { 39,6127 }, { 40,5611 }, { 41,5611 }, { 42,5611 }, + + { 43,5611 }, { 44,5611 }, { 45,6385 }, { 46,5611 }, { 47,5611 }, + { 48,5611 }, { 49,5611 }, { 50,5611 }, { 51,5611 }, { 52,5611 }, + { 53,5611 }, { 54,5611 }, { 55,5611 }, { 56,5611 }, { 57,5611 }, + { 58,5611 }, { 59,5611 }, { 60,5611 }, { 61,5611 }, { 62,5611 }, + { 63,5611 }, { 64,5611 }, { 65,5611 }, { 66,5611 }, { 67,5611 }, + { 68,5611 }, { 69,5611 }, { 70,5611 }, { 71,5611 }, { 72,5611 }, + { 73,5611 }, { 74,5611 }, { 75,5611 }, { 76,5611 }, { 77,5611 }, + { 78,5611 }, { 79,5611 }, { 80,5611 }, { 81,5611 }, { 82,5611 }, + { 83,5611 }, { 84,5611 }, { 85,6643 }, { 86,5611 }, { 87,5611 }, + { 88,5611 }, { 89,5611 }, { 90,5611 }, { 91,5611 }, { 92,5611 }, + + { 93,5611 }, { 94,5611 }, { 95,5611 }, { 96,5611 }, { 97,5611 }, + { 98,5611 }, { 99,5611 }, { 100,5611 }, { 101,5611 }, { 102,5611 }, + { 103,5611 }, { 104,5611 }, { 105,5611 }, { 106,5611 }, { 107,5611 }, + { 108,5611 }, { 109,5611 }, { 110,5611 }, { 111,5611 }, { 112,5611 }, + { 113,5611 }, { 114,5611 }, { 115,5611 }, { 116,5611 }, { 117,6643 }, + { 118,5611 }, { 119,5611 }, { 120,5611 }, { 121,5611 }, { 122,5611 }, + { 123,5611 }, { 124,5611 }, { 125,5611 }, { 126,5611 }, { 127,5611 }, + { 128,5611 }, { 129,5611 }, { 130,5611 }, { 131,5611 }, { 132,5611 }, + { 133,5611 }, { 134,5611 }, { 135,5611 }, { 136,5611 }, { 137,5611 }, + { 138,5611 }, { 139,5611 }, { 140,5611 }, { 141,5611 }, { 142,5611 }, + + { 143,5611 }, { 144,5611 }, { 145,5611 }, { 146,5611 }, { 147,5611 }, + { 148,5611 }, { 149,5611 }, { 150,5611 }, { 151,5611 }, { 152,5611 }, + { 153,5611 }, { 154,5611 }, { 155,5611 }, { 156,5611 }, { 157,5611 }, + { 158,5611 }, { 159,5611 }, { 160,5611 }, { 161,5611 }, { 162,5611 }, + { 163,5611 }, { 164,5611 }, { 165,5611 }, { 166,5611 }, { 167,5611 }, + { 168,5611 }, { 169,5611 }, { 170,5611 }, { 171,5611 }, { 172,5611 }, + { 173,5611 }, { 174,5611 }, { 175,5611 }, { 176,5611 }, { 177,5611 }, + { 178,5611 }, { 179,5611 }, { 180,5611 }, { 181,5611 }, { 182,5611 }, + { 183,5611 }, { 184,5611 }, { 185,5611 }, { 186,5611 }, { 187,5611 }, + { 188,5611 }, { 189,5611 }, { 190,5611 }, { 191,5611 }, { 192,5611 }, + + { 193,5611 }, { 194,5611 }, { 195,5611 }, { 196,5611 }, { 197,5611 }, + { 198,5611 }, { 199,5611 }, { 200,5611 }, { 201,5611 }, { 202,5611 }, + { 203,5611 }, { 204,5611 }, { 205,5611 }, { 206,5611 }, { 207,5611 }, + { 208,5611 }, { 209,5611 }, { 210,5611 }, { 211,5611 }, { 212,5611 }, + { 213,5611 }, { 214,5611 }, { 215,5611 }, { 216,5611 }, { 217,5611 }, + { 218,5611 }, { 219,5611 }, { 220,5611 }, { 221,5611 }, { 222,5611 }, + { 223,5611 }, { 224,5611 }, { 225,5611 }, { 226,5611 }, { 227,5611 }, + { 228,5611 }, { 229,5611 }, { 230,5611 }, { 231,5611 }, { 232,5611 }, + { 233,5611 }, { 234,5611 }, { 235,5611 }, { 236,5611 }, { 237,5611 }, + { 238,5611 }, { 239,5611 }, { 240,5611 }, { 241,5611 }, { 242,5611 }, + + { 243,5611 }, { 244,5611 }, { 245,5611 }, { 246,5611 }, { 247,5611 }, + { 248,5611 }, { 249,5611 }, { 250,5611 }, { 251,5611 }, { 252,5611 }, + { 253,5611 }, { 254,5611 }, { 255,5611 }, { 256,5611 }, { 0, 48 }, + { 0,23115 }, { 1,-4624 }, { 2,-4624 }, { 3,-4624 }, { 4,-4624 }, + { 5,-4624 }, { 6,-4624 }, { 7,-4624 }, { 8,-4624 }, { 9,-4366 }, + { 10,-8037 }, { 11,-4624 }, { 12,-4366 }, { 13,-8037 }, { 14,-4624 }, + { 15,-4624 }, { 16,-4624 }, { 17,-4624 }, { 18,-4624 }, { 19,-4624 }, + { 20,-4624 }, { 21,-4624 }, { 22,-4624 }, { 23,-4624 }, { 24,-4624 }, + { 25,-4624 }, { 26,-4624 }, { 27,-4624 }, { 28,-4624 }, { 29,-4624 }, + { 30,-4624 }, { 31,-4624 }, { 32,-4366 }, { 33,-4624 }, { 34,-4624 }, + + { 35,-4624 }, { 36,-4624 }, { 37,-4624 }, { 38,-4624 }, { 39,6643 }, + { 40,-4624 }, { 41,-4624 }, { 42,-4624 }, { 43,-4624 }, { 44,-4624 }, + { 45,-3850 }, { 46,-4624 }, { 47,-4624 }, { 48,-4624 }, { 49,-4624 }, + { 50,-4624 }, { 51,-4624 }, { 52,-4624 }, { 53,-4624 }, { 54,-4624 }, + { 55,-4624 }, { 56,-4624 }, { 57,-4624 }, { 58,-4624 }, { 59,-4624 }, + { 60,-4624 }, { 61,-4624 }, { 62,-4624 }, { 63,-4624 }, { 64,-4624 }, + { 65,-4624 }, { 66,-4624 }, { 67,-4624 }, { 68,-4624 }, { 69,-4624 }, + { 70,-4624 }, { 71,-4624 }, { 72,-4624 }, { 73,-4624 }, { 74,-4624 }, + { 75,-4624 }, { 76,-4624 }, { 77,-4624 }, { 78,-4624 }, { 79,-4624 }, + { 80,-4624 }, { 81,-4624 }, { 82,-4624 }, { 83,-4624 }, { 84,-4624 }, + + { 85,-4624 }, { 86,-4624 }, { 87,-4624 }, { 88,-4624 }, { 89,-4624 }, + { 90,-4624 }, { 91,-4624 }, { 92,-4624 }, { 93,-4624 }, { 94,-4624 }, + { 95,-4624 }, { 96,-4624 }, { 97,-4624 }, { 98,-4624 }, { 99,-4624 }, + { 100,-4624 }, { 101,-4624 }, { 102,-4624 }, { 103,-4624 }, { 104,-4624 }, + { 105,-4624 }, { 106,-4624 }, { 107,-4624 }, { 108,-4624 }, { 109,-4624 }, + { 110,-4624 }, { 111,-4624 }, { 112,-4624 }, { 113,-4624 }, { 114,-4624 }, + { 115,-4624 }, { 116,-4624 }, { 117,-4624 }, { 118,-4624 }, { 119,-4624 }, + { 120,-4624 }, { 121,-4624 }, { 122,-4624 }, { 123,-4624 }, { 124,-4624 }, + { 125,-4624 }, { 126,-4624 }, { 127,-4624 }, { 128,-4624 }, { 129,-4624 }, + { 130,-4624 }, { 131,-4624 }, { 132,-4624 }, { 133,-4624 }, { 134,-4624 }, + + { 135,-4624 }, { 136,-4624 }, { 137,-4624 }, { 138,-4624 }, { 139,-4624 }, + { 140,-4624 }, { 141,-4624 }, { 142,-4624 }, { 143,-4624 }, { 144,-4624 }, + { 145,-4624 }, { 146,-4624 }, { 147,-4624 }, { 148,-4624 }, { 149,-4624 }, + { 150,-4624 }, { 151,-4624 }, { 152,-4624 }, { 153,-4624 }, { 154,-4624 }, + { 155,-4624 }, { 156,-4624 }, { 157,-4624 }, { 158,-4624 }, { 159,-4624 }, + { 160,-4624 }, { 161,-4624 }, { 162,-4624 }, { 163,-4624 }, { 164,-4624 }, + { 165,-4624 }, { 166,-4624 }, { 167,-4624 }, { 168,-4624 }, { 169,-4624 }, + { 170,-4624 }, { 171,-4624 }, { 172,-4624 }, { 173,-4624 }, { 174,-4624 }, + { 175,-4624 }, { 176,-4624 }, { 177,-4624 }, { 178,-4624 }, { 179,-4624 }, + { 180,-4624 }, { 181,-4624 }, { 182,-4624 }, { 183,-4624 }, { 184,-4624 }, + + { 185,-4624 }, { 186,-4624 }, { 187,-4624 }, { 188,-4624 }, { 189,-4624 }, + { 190,-4624 }, { 191,-4624 }, { 192,-4624 }, { 193,-4624 }, { 194,-4624 }, + { 195,-4624 }, { 196,-4624 }, { 197,-4624 }, { 198,-4624 }, { 199,-4624 }, + { 200,-4624 }, { 201,-4624 }, { 202,-4624 }, { 203,-4624 }, { 204,-4624 }, + { 205,-4624 }, { 206,-4624 }, { 207,-4624 }, { 208,-4624 }, { 209,-4624 }, + { 210,-4624 }, { 211,-4624 }, { 212,-4624 }, { 213,-4624 }, { 214,-4624 }, + { 215,-4624 }, { 216,-4624 }, { 217,-4624 }, { 218,-4624 }, { 219,-4624 }, + { 220,-4624 }, { 221,-4624 }, { 222,-4624 }, { 223,-4624 }, { 224,-4624 }, + { 225,-4624 }, { 226,-4624 }, { 227,-4624 }, { 228,-4624 }, { 229,-4624 }, + { 230,-4624 }, { 231,-4624 }, { 232,-4624 }, { 233,-4624 }, { 234,-4624 }, + + { 235,-4624 }, { 236,-4624 }, { 237,-4624 }, { 238,-4624 }, { 239,-4624 }, + { 240,-4624 }, { 241,-4624 }, { 242,-4624 }, { 243,-4624 }, { 244,-4624 }, + { 245,-4624 }, { 246,-4624 }, { 247,-4624 }, { 248,-4624 }, { 249,-4624 }, + { 250,-4624 }, { 251,-4624 }, { 252,-4624 }, { 253,-4624 }, { 254,-4624 }, + { 255,-4624 }, { 256,-4624 }, { 0, 48 }, { 0,22857 }, { 1,-4882 }, + { 2,-4882 }, { 3,-4882 }, { 4,-4882 }, { 5,-4882 }, { 6,-4882 }, + { 7,-4882 }, { 8,-4882 }, { 9,-4624 }, { 10,-8295 }, { 11,-4882 }, + { 12,-4624 }, { 13,-8295 }, { 14,-4882 }, { 15,-4882 }, { 16,-4882 }, + { 17,-4882 }, { 18,-4882 }, { 19,-4882 }, { 20,-4882 }, { 21,-4882 }, + { 22,-4882 }, { 23,-4882 }, { 24,-4882 }, { 25,-4882 }, { 26,-4882 }, + + { 27,-4882 }, { 28,-4882 }, { 29,-4882 }, { 30,-4882 }, { 31,-4882 }, + { 32,-4624 }, { 33,-4882 }, { 34,-4882 }, { 35,-4882 }, { 36,-4882 }, + { 37,-4882 }, { 38,-4882 }, { 39,6385 }, { 40,-4882 }, { 41,-4882 }, + { 42,-4882 }, { 43,-4882 }, { 44,-4882 }, { 45,-4108 }, { 46,-4882 }, + { 47,-4882 }, { 48,-4882 }, { 49,-4882 }, { 50,-4882 }, { 51,-4882 }, + { 52,-4882 }, { 53,-4882 }, { 54,-4882 }, { 55,-4882 }, { 56,-4882 }, + { 57,-4882 }, { 58,-4882 }, { 59,-4882 }, { 60,-4882 }, { 61,-4882 }, + { 62,-4882 }, { 63,-4882 }, { 64,-4882 }, { 65,-4882 }, { 66,-4882 }, + { 67,-4882 }, { 68,-4882 }, { 69,-4882 }, { 70,-4882 }, { 71,-4882 }, + { 72,-4882 }, { 73,-4882 }, { 74,-4882 }, { 75,-4882 }, { 76,-4882 }, + + { 77,-4882 }, { 78,-4882 }, { 79,-4882 }, { 80,-4882 }, { 81,-4882 }, + { 82,-4882 }, { 83,-4882 }, { 84,-4882 }, { 85,-4882 }, { 86,-4882 }, + { 87,-4882 }, { 88,-4882 }, { 89,-4882 }, { 90,-4882 }, { 91,-4882 }, + { 92,-4882 }, { 93,-4882 }, { 94,-4882 }, { 95,-4882 }, { 96,-4882 }, + { 97,-4882 }, { 98,-4882 }, { 99,-4882 }, { 100,-4882 }, { 101,-4882 }, + { 102,-4882 }, { 103,-4882 }, { 104,-4882 }, { 105,-4882 }, { 106,-4882 }, + { 107,-4882 }, { 108,-4882 }, { 109,-4882 }, { 110,-4882 }, { 111,-4882 }, + { 112,-4882 }, { 113,-4882 }, { 114,-4882 }, { 115,-4882 }, { 116,-4882 }, + { 117,-4882 }, { 118,-4882 }, { 119,-4882 }, { 120,-4882 }, { 121,-4882 }, + { 122,-4882 }, { 123,-4882 }, { 124,-4882 }, { 125,-4882 }, { 126,-4882 }, + + { 127,-4882 }, { 128,-4882 }, { 129,-4882 }, { 130,-4882 }, { 131,-4882 }, + { 132,-4882 }, { 133,-4882 }, { 134,-4882 }, { 135,-4882 }, { 136,-4882 }, + { 137,-4882 }, { 138,-4882 }, { 139,-4882 }, { 140,-4882 }, { 141,-4882 }, + { 142,-4882 }, { 143,-4882 }, { 144,-4882 }, { 145,-4882 }, { 146,-4882 }, + { 147,-4882 }, { 148,-4882 }, { 149,-4882 }, { 150,-4882 }, { 151,-4882 }, + { 152,-4882 }, { 153,-4882 }, { 154,-4882 }, { 155,-4882 }, { 156,-4882 }, + { 157,-4882 }, { 158,-4882 }, { 159,-4882 }, { 160,-4882 }, { 161,-4882 }, + { 162,-4882 }, { 163,-4882 }, { 164,-4882 }, { 165,-4882 }, { 166,-4882 }, + { 167,-4882 }, { 168,-4882 }, { 169,-4882 }, { 170,-4882 }, { 171,-4882 }, + { 172,-4882 }, { 173,-4882 }, { 174,-4882 }, { 175,-4882 }, { 176,-4882 }, + + { 177,-4882 }, { 178,-4882 }, { 179,-4882 }, { 180,-4882 }, { 181,-4882 }, + { 182,-4882 }, { 183,-4882 }, { 184,-4882 }, { 185,-4882 }, { 186,-4882 }, + { 187,-4882 }, { 188,-4882 }, { 189,-4882 }, { 190,-4882 }, { 191,-4882 }, + { 192,-4882 }, { 193,-4882 }, { 194,-4882 }, { 195,-4882 }, { 196,-4882 }, + { 197,-4882 }, { 198,-4882 }, { 199,-4882 }, { 200,-4882 }, { 201,-4882 }, + { 202,-4882 }, { 203,-4882 }, { 204,-4882 }, { 205,-4882 }, { 206,-4882 }, + { 207,-4882 }, { 208,-4882 }, { 209,-4882 }, { 210,-4882 }, { 211,-4882 }, + { 212,-4882 }, { 213,-4882 }, { 214,-4882 }, { 215,-4882 }, { 216,-4882 }, + { 217,-4882 }, { 218,-4882 }, { 219,-4882 }, { 220,-4882 }, { 221,-4882 }, + { 222,-4882 }, { 223,-4882 }, { 224,-4882 }, { 225,-4882 }, { 226,-4882 }, + + { 227,-4882 }, { 228,-4882 }, { 229,-4882 }, { 230,-4882 }, { 231,-4882 }, + { 232,-4882 }, { 233,-4882 }, { 234,-4882 }, { 235,-4882 }, { 236,-4882 }, + { 237,-4882 }, { 238,-4882 }, { 239,-4882 }, { 240,-4882 }, { 241,-4882 }, + { 242,-4882 }, { 243,-4882 }, { 244,-4882 }, { 245,-4882 }, { 246,-4882 }, + { 247,-4882 }, { 248,-4882 }, { 249,-4882 }, { 250,-4882 }, { 251,-4882 }, + { 252,-4882 }, { 253,-4882 }, { 254,-4882 }, { 255,-4882 }, { 256,-4882 }, + { 0, 48 }, { 0,22599 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 9,-8553 }, { 10,-8553 }, { 0, 0 }, { 12,-8553 }, { 13,-8553 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32,-8553 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 39,6385 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 45,-30671 }, { 0, 48 }, { 0,22552 }, { 1,-5187 }, + { 2,-5187 }, { 3,-5187 }, { 4,-5187 }, { 5,-5187 }, { 6,-5187 }, + { 7,-5187 }, { 8,-5187 }, { 9,-4929 }, { 10,-8600 }, { 11,-5187 }, + { 12,-4929 }, { 13,-8600 }, { 14,-5187 }, { 15,-5187 }, { 16,-5187 }, + { 17,-5187 }, { 18,-5187 }, { 19,-5187 }, { 20,-5187 }, { 21,-5187 }, + + { 22,-5187 }, { 23,-5187 }, { 24,-5187 }, { 25,-5187 }, { 26,-5187 }, + { 27,-5187 }, { 28,-5187 }, { 29,-5187 }, { 30,-5187 }, { 31,-5187 }, + { 32,-4929 }, { 33,-5187 }, { 34,-5187 }, { 35,-5187 }, { 36,-5187 }, + { 37,-5187 }, { 38,-5187 }, { 39,6080 }, { 40,-5187 }, { 41,-5187 }, + { 42,-5187 }, { 43,-5187 }, { 44,-5187 }, { 45, 258 }, { 46,-5187 }, + { 47,-5187 }, { 48,-5187 }, { 49,-5187 }, { 50,-5187 }, { 51,-5187 }, + { 52,-5187 }, { 53,-5187 }, { 54,-5187 }, { 55,-5187 }, { 56,-5187 }, + { 57,-5187 }, { 58,-5187 }, { 59,-5187 }, { 60,-5187 }, { 61,-5187 }, + { 62,-5187 }, { 63,-5187 }, { 64,-5187 }, { 65,-5187 }, { 66,-5187 }, + { 67,-5187 }, { 68,-5187 }, { 69,-5187 }, { 70,-5187 }, { 71,-5187 }, + + { 72,-5187 }, { 73,-5187 }, { 74,-5187 }, { 75,-5187 }, { 76,-5187 }, + { 77,-5187 }, { 78,-5187 }, { 79,-5187 }, { 80,-5187 }, { 81,-5187 }, + { 82,-5187 }, { 83,-5187 }, { 84,-5187 }, { 85,-5187 }, { 86,-5187 }, + { 87,-5187 }, { 88,-5187 }, { 89,-5187 }, { 90,-5187 }, { 91,-5187 }, + { 92,-5187 }, { 93,-5187 }, { 94,-5187 }, { 95,-5187 }, { 96,-5187 }, + { 97,-5187 }, { 98,-5187 }, { 99,-5187 }, { 100,-5187 }, { 101,-5187 }, + { 102,-5187 }, { 103,-5187 }, { 104,-5187 }, { 105,-5187 }, { 106,-5187 }, + { 107,-5187 }, { 108,-5187 }, { 109,-5187 }, { 110,-5187 }, { 111,-5187 }, + { 112,-5187 }, { 113,-5187 }, { 114,-5187 }, { 115,-5187 }, { 116,-5187 }, + { 117,-5187 }, { 118,-5187 }, { 119,-5187 }, { 120,-5187 }, { 121,-5187 }, + + { 122,-5187 }, { 123,-5187 }, { 124,-5187 }, { 125,-5187 }, { 126,-5187 }, + { 127,-5187 }, { 128,-5187 }, { 129,-5187 }, { 130,-5187 }, { 131,-5187 }, + { 132,-5187 }, { 133,-5187 }, { 134,-5187 }, { 135,-5187 }, { 136,-5187 }, + { 137,-5187 }, { 138,-5187 }, { 139,-5187 }, { 140,-5187 }, { 141,-5187 }, + { 142,-5187 }, { 143,-5187 }, { 144,-5187 }, { 145,-5187 }, { 146,-5187 }, + { 147,-5187 }, { 148,-5187 }, { 149,-5187 }, { 150,-5187 }, { 151,-5187 }, + { 152,-5187 }, { 153,-5187 }, { 154,-5187 }, { 155,-5187 }, { 156,-5187 }, + { 157,-5187 }, { 158,-5187 }, { 159,-5187 }, { 160,-5187 }, { 161,-5187 }, + { 162,-5187 }, { 163,-5187 }, { 164,-5187 }, { 165,-5187 }, { 166,-5187 }, + { 167,-5187 }, { 168,-5187 }, { 169,-5187 }, { 170,-5187 }, { 171,-5187 }, + + { 172,-5187 }, { 173,-5187 }, { 174,-5187 }, { 175,-5187 }, { 176,-5187 }, + { 177,-5187 }, { 178,-5187 }, { 179,-5187 }, { 180,-5187 }, { 181,-5187 }, + { 182,-5187 }, { 183,-5187 }, { 184,-5187 }, { 185,-5187 }, { 186,-5187 }, + { 187,-5187 }, { 188,-5187 }, { 189,-5187 }, { 190,-5187 }, { 191,-5187 }, + { 192,-5187 }, { 193,-5187 }, { 194,-5187 }, { 195,-5187 }, { 196,-5187 }, + { 197,-5187 }, { 198,-5187 }, { 199,-5187 }, { 200,-5187 }, { 201,-5187 }, + { 202,-5187 }, { 203,-5187 }, { 204,-5187 }, { 205,-5187 }, { 206,-5187 }, + { 207,-5187 }, { 208,-5187 }, { 209,-5187 }, { 210,-5187 }, { 211,-5187 }, + { 212,-5187 }, { 213,-5187 }, { 214,-5187 }, { 215,-5187 }, { 216,-5187 }, + { 217,-5187 }, { 218,-5187 }, { 219,-5187 }, { 220,-5187 }, { 221,-5187 }, + + { 222,-5187 }, { 223,-5187 }, { 224,-5187 }, { 225,-5187 }, { 226,-5187 }, + { 227,-5187 }, { 228,-5187 }, { 229,-5187 }, { 230,-5187 }, { 231,-5187 }, + { 232,-5187 }, { 233,-5187 }, { 234,-5187 }, { 235,-5187 }, { 236,-5187 }, + { 237,-5187 }, { 238,-5187 }, { 239,-5187 }, { 240,-5187 }, { 241,-5187 }, + { 242,-5187 }, { 243,-5187 }, { 244,-5187 }, { 245,-5187 }, { 246,-5187 }, + { 247,-5187 }, { 248,-5187 }, { 249,-5187 }, { 250,-5187 }, { 251,-5187 }, + { 252,-5187 }, { 253,-5187 }, { 254,-5187 }, { 255,-5187 }, { 256,-5187 }, + { 0, 48 }, { 0,22294 }, { 1,-5445 }, { 2,-5445 }, { 3,-5445 }, + { 4,-5445 }, { 5,-5445 }, { 6,-5445 }, { 7,-5445 }, { 8,-5445 }, + { 9,-5187 }, { 10,-8858 }, { 11,-5445 }, { 12,-5187 }, { 13,-8858 }, + + { 14,-5445 }, { 15,-5445 }, { 16,-5445 }, { 17,-5445 }, { 18,-5445 }, + { 19,-5445 }, { 20,-5445 }, { 21,-5445 }, { 22,-5445 }, { 23,-5445 }, + { 24,-5445 }, { 25,-5445 }, { 26,-5445 }, { 27,-5445 }, { 28,-5445 }, + { 29,-5445 }, { 30,-5445 }, { 31,-5445 }, { 32,-5187 }, { 33,-5445 }, + { 34,-5445 }, { 35,-5445 }, { 36,-5445 }, { 37,-5445 }, { 38,-5445 }, + { 39,-4929 }, { 40,-5445 }, { 41,-5445 }, { 42,-5445 }, { 43,-5445 }, + { 44,-5445 }, { 45, 0 }, { 46,-5445 }, { 47,-5445 }, { 48,-5445 }, + { 49,-5445 }, { 50,-5445 }, { 51,-5445 }, { 52,-5445 }, { 53,-5445 }, + { 54,-5445 }, { 55,-5445 }, { 56,-5445 }, { 57,-5445 }, { 58,-5445 }, + { 59,-5445 }, { 60,-5445 }, { 61,-5445 }, { 62,-5445 }, { 63,-5445 }, + + { 64,-5445 }, { 65,-5445 }, { 66,-5445 }, { 67,-5445 }, { 68,-5445 }, + { 69,-5445 }, { 70,-5445 }, { 71,-5445 }, { 72,-5445 }, { 73,-5445 }, + { 74,-5445 }, { 75,-5445 }, { 76,-5445 }, { 77,-5445 }, { 78,-5445 }, + { 79,-5445 }, { 80,-5445 }, { 81,-5445 }, { 82,-5445 }, { 83,-5445 }, + { 84,-5445 }, { 85,-5445 }, { 86,-5445 }, { 87,-5445 }, { 88,-5445 }, + { 89,-5445 }, { 90,-5445 }, { 91,-5445 }, { 92,-5445 }, { 93,-5445 }, + { 94,-5445 }, { 95,-5445 }, { 96,-5445 }, { 97,-5445 }, { 98,-5445 }, + { 99,-5445 }, { 100,-5445 }, { 101,-5445 }, { 102,-5445 }, { 103,-5445 }, + { 104,-5445 }, { 105,-5445 }, { 106,-5445 }, { 107,-5445 }, { 108,-5445 }, + { 109,-5445 }, { 110,-5445 }, { 111,-5445 }, { 112,-5445 }, { 113,-5445 }, + + { 114,-5445 }, { 115,-5445 }, { 116,-5445 }, { 117,-5445 }, { 118,-5445 }, + { 119,-5445 }, { 120,-5445 }, { 121,-5445 }, { 122,-5445 }, { 123,-5445 }, + { 124,-5445 }, { 125,-5445 }, { 126,-5445 }, { 127,-5445 }, { 128,-5445 }, + { 129,-5445 }, { 130,-5445 }, { 131,-5445 }, { 132,-5445 }, { 133,-5445 }, + { 134,-5445 }, { 135,-5445 }, { 136,-5445 }, { 137,-5445 }, { 138,-5445 }, + { 139,-5445 }, { 140,-5445 }, { 141,-5445 }, { 142,-5445 }, { 143,-5445 }, + { 144,-5445 }, { 145,-5445 }, { 146,-5445 }, { 147,-5445 }, { 148,-5445 }, + { 149,-5445 }, { 150,-5445 }, { 151,-5445 }, { 152,-5445 }, { 153,-5445 }, + { 154,-5445 }, { 155,-5445 }, { 156,-5445 }, { 157,-5445 }, { 158,-5445 }, + { 159,-5445 }, { 160,-5445 }, { 161,-5445 }, { 162,-5445 }, { 163,-5445 }, + + { 164,-5445 }, { 165,-5445 }, { 166,-5445 }, { 167,-5445 }, { 168,-5445 }, + { 169,-5445 }, { 170,-5445 }, { 171,-5445 }, { 172,-5445 }, { 173,-5445 }, + { 174,-5445 }, { 175,-5445 }, { 176,-5445 }, { 177,-5445 }, { 178,-5445 }, + { 179,-5445 }, { 180,-5445 }, { 181,-5445 }, { 182,-5445 }, { 183,-5445 }, + { 184,-5445 }, { 185,-5445 }, { 186,-5445 }, { 187,-5445 }, { 188,-5445 }, + { 189,-5445 }, { 190,-5445 }, { 191,-5445 }, { 192,-5445 }, { 193,-5445 }, + { 194,-5445 }, { 195,-5445 }, { 196,-5445 }, { 197,-5445 }, { 198,-5445 }, + { 199,-5445 }, { 200,-5445 }, { 201,-5445 }, { 202,-5445 }, { 203,-5445 }, + { 204,-5445 }, { 205,-5445 }, { 206,-5445 }, { 207,-5445 }, { 208,-5445 }, + { 209,-5445 }, { 210,-5445 }, { 211,-5445 }, { 212,-5445 }, { 213,-5445 }, + + { 214,-5445 }, { 215,-5445 }, { 216,-5445 }, { 217,-5445 }, { 218,-5445 }, + { 219,-5445 }, { 220,-5445 }, { 221,-5445 }, { 222,-5445 }, { 223,-5445 }, + { 224,-5445 }, { 225,-5445 }, { 226,-5445 }, { 227,-5445 }, { 228,-5445 }, + { 229,-5445 }, { 230,-5445 }, { 231,-5445 }, { 232,-5445 }, { 233,-5445 }, + { 234,-5445 }, { 235,-5445 }, { 236,-5445 }, { 237,-5445 }, { 238,-5445 }, + { 239,-5445 }, { 240,-5445 }, { 241,-5445 }, { 242,-5445 }, { 243,-5445 }, + { 244,-5445 }, { 245,-5445 }, { 246,-5445 }, { 247,-5445 }, { 248,-5445 }, + { 249,-5445 }, { 250,-5445 }, { 251,-5445 }, { 252,-5445 }, { 253,-5445 }, + { 254,-5445 }, { 255,-5445 }, { 256,-5445 }, { 0, 24 }, { 0,22036 }, + { 1,-15056 }, { 2,-15056 }, { 3,-15056 }, { 4,-15056 }, { 5,-15056 }, + + { 6,-15056 }, { 7,-15056 }, { 8,-15056 }, { 9, 0 }, { 10, 258 }, + { 11,-15056 }, { 12, 0 }, { 13, 258 }, { 14,-15056 }, { 15,-15056 }, + { 16,-15056 }, { 17,-15056 }, { 18,-15056 }, { 19,-15056 }, { 20,-15056 }, + { 21,-15056 }, { 22,-15056 }, { 23,-15056 }, { 24,-15056 }, { 25,-15056 }, + { 26,-15056 }, { 27,-15056 }, { 28,-15056 }, { 29,-15056 }, { 30,-15056 }, + { 31,-15056 }, { 32, 0 }, { 33,-15056 }, { 34,-15056 }, { 35,-15056 }, + { 36,-15056 }, { 37,-15056 }, { 38,-15056 }, { 39, 377 }, { 40,-15056 }, + { 41,-15056 }, { 42,-15056 }, { 43,-15056 }, { 44,-15056 }, { 45, 635 }, + { 46,-15056 }, { 47,-15056 }, { 48,-15056 }, { 49,-15056 }, { 50,-15056 }, + { 51,-15056 }, { 52,-15056 }, { 53,-15056 }, { 54,-15056 }, { 55,-15056 }, + + { 56,-15056 }, { 57,-15056 }, { 58,-15056 }, { 59,-15056 }, { 60,-15056 }, + { 61,-15056 }, { 62,-15056 }, { 63,-15056 }, { 64,-15056 }, { 65,-15056 }, + { 66,-15056 }, { 67,-15056 }, { 68,-15056 }, { 69,-15056 }, { 70,-15056 }, + { 71,-15056 }, { 72,-15056 }, { 73,-15056 }, { 74,-15056 }, { 75,-15056 }, + { 76,-15056 }, { 77,-15056 }, { 78,-15056 }, { 79,-15056 }, { 80,-15056 }, + { 81,-15056 }, { 82,-15056 }, { 83,-15056 }, { 84,-15056 }, { 85,-14163 }, + { 86,-15056 }, { 87,-15056 }, { 88,-15056 }, { 89,-15056 }, { 90,-15056 }, + { 91,-15056 }, { 92,-15056 }, { 93,-15056 }, { 94,-15056 }, { 95,-15056 }, + { 96,-15056 }, { 97,-15056 }, { 98,-15056 }, { 99,-15056 }, { 100,-15056 }, + { 101,-15056 }, { 102,-15056 }, { 103,-15056 }, { 104,-15056 }, { 105,-15056 }, + + { 106,-15056 }, { 107,-15056 }, { 108,-15056 }, { 109,-15056 }, { 110,-15056 }, + { 111,-15056 }, { 112,-15056 }, { 113,-15056 }, { 114,-15056 }, { 115,-15056 }, + { 116,-15056 }, { 117,-14163 }, { 118,-15056 }, { 119,-15056 }, { 120,-15056 }, + { 121,-15056 }, { 122,-15056 }, { 123,-15056 }, { 124,-15056 }, { 125,-15056 }, + { 126,-15056 }, { 127,-15056 }, { 128,-15056 }, { 129,-15056 }, { 130,-15056 }, + { 131,-15056 }, { 132,-15056 }, { 133,-15056 }, { 134,-15056 }, { 135,-15056 }, + { 136,-15056 }, { 137,-15056 }, { 138,-15056 }, { 139,-15056 }, { 140,-15056 }, + { 141,-15056 }, { 142,-15056 }, { 143,-15056 }, { 144,-15056 }, { 145,-15056 }, + { 146,-15056 }, { 147,-15056 }, { 148,-15056 }, { 149,-15056 }, { 150,-15056 }, + { 151,-15056 }, { 152,-15056 }, { 153,-15056 }, { 154,-15056 }, { 155,-15056 }, + + { 156,-15056 }, { 157,-15056 }, { 158,-15056 }, { 159,-15056 }, { 160,-15056 }, + { 161,-15056 }, { 162,-15056 }, { 163,-15056 }, { 164,-15056 }, { 165,-15056 }, + { 166,-15056 }, { 167,-15056 }, { 168,-15056 }, { 169,-15056 }, { 170,-15056 }, + { 171,-15056 }, { 172,-15056 }, { 173,-15056 }, { 174,-15056 }, { 175,-15056 }, + { 176,-15056 }, { 177,-15056 }, { 178,-15056 }, { 179,-15056 }, { 180,-15056 }, + { 181,-15056 }, { 182,-15056 }, { 183,-15056 }, { 184,-15056 }, { 185,-15056 }, + { 186,-15056 }, { 187,-15056 }, { 188,-15056 }, { 189,-15056 }, { 190,-15056 }, + { 191,-15056 }, { 192,-15056 }, { 193,-15056 }, { 194,-15056 }, { 195,-15056 }, + { 196,-15056 }, { 197,-15056 }, { 198,-15056 }, { 199,-15056 }, { 200,-15056 }, + { 201,-15056 }, { 202,-15056 }, { 203,-15056 }, { 204,-15056 }, { 205,-15056 }, + + { 206,-15056 }, { 207,-15056 }, { 208,-15056 }, { 209,-15056 }, { 210,-15056 }, + { 211,-15056 }, { 212,-15056 }, { 213,-15056 }, { 214,-15056 }, { 215,-15056 }, + { 216,-15056 }, { 217,-15056 }, { 218,-15056 }, { 219,-15056 }, { 220,-15056 }, + { 221,-15056 }, { 222,-15056 }, { 223,-15056 }, { 224,-15056 }, { 225,-15056 }, + { 226,-15056 }, { 227,-15056 }, { 228,-15056 }, { 229,-15056 }, { 230,-15056 }, + { 231,-15056 }, { 232,-15056 }, { 233,-15056 }, { 234,-15056 }, { 235,-15056 }, + { 236,-15056 }, { 237,-15056 }, { 238,-15056 }, { 239,-15056 }, { 240,-15056 }, + { 241,-15056 }, { 242,-15056 }, { 243,-15056 }, { 244,-15056 }, { 245,-15056 }, + { 246,-15056 }, { 247,-15056 }, { 248,-15056 }, { 249,-15056 }, { 250,-15056 }, + { 251,-15056 }, { 252,-15056 }, { 253,-15056 }, { 254,-15056 }, { 255,-15056 }, + + { 256,-15056 }, { 0, 24 }, { 0,21778 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 9, 635 }, { 10, 635 }, { 0, 0 }, { 12, 635 }, + { 13, 635 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32, 635 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 39, 754 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 45,-31438 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 85,-35822 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 117,-35822 }, + { 0, 24 }, { 0,21659 }, { 1,5703 }, { 2,5703 }, { 3,5703 }, + { 4,5703 }, { 5,5703 }, { 6,5703 }, { 7,5703 }, { 8,5703 }, + { 9,5961 }, { 10,6219 }, { 11,5703 }, { 12,5961 }, { 13,6219 }, + { 14,5703 }, { 15,5703 }, { 16,5703 }, { 17,5703 }, { 18,5703 }, + { 19,5703 }, { 20,5703 }, { 21,5703 }, { 22,5703 }, { 23,5703 }, + { 24,5703 }, { 25,5703 }, { 26,5703 }, { 27,5703 }, { 28,5703 }, + + { 29,5703 }, { 30,5703 }, { 31,5703 }, { 32,5961 }, { 33,5703 }, + { 34,5703 }, { 35,5703 }, { 36,5703 }, { 37,5703 }, { 38,5703 }, + { 39,-15433 }, { 40,5703 }, { 41,5703 }, { 42,5703 }, { 43,5703 }, + { 44,5703 }, { 45,6338 }, { 46,5703 }, { 47,5703 }, { 48,5703 }, + { 49,5703 }, { 50,5703 }, { 51,5703 }, { 52,5703 }, { 53,5703 }, + { 54,5703 }, { 55,5703 }, { 56,5703 }, { 57,5703 }, { 58,5703 }, + { 59,5703 }, { 60,5703 }, { 61,5703 }, { 62,5703 }, { 63,5703 }, + { 64,5703 }, { 65,5703 }, { 66,5703 }, { 67,5703 }, { 68,5703 }, + { 69,5703 }, { 70,5703 }, { 71,5703 }, { 72,5703 }, { 73,5703 }, + { 74,5703 }, { 75,5703 }, { 76,5703 }, { 77,5703 }, { 78,5703 }, + + { 79,5703 }, { 80,5703 }, { 81,5703 }, { 82,5703 }, { 83,5703 }, + { 84,5703 }, { 85,6596 }, { 86,5703 }, { 87,5703 }, { 88,5703 }, + { 89,5703 }, { 90,5703 }, { 91,5703 }, { 92,5703 }, { 93,5703 }, + { 94,5703 }, { 95,5703 }, { 96,5703 }, { 97,5703 }, { 98,5703 }, + { 99,5703 }, { 100,5703 }, { 101,5703 }, { 102,5703 }, { 103,5703 }, + { 104,5703 }, { 105,5703 }, { 106,5703 }, { 107,5703 }, { 108,5703 }, + { 109,5703 }, { 110,5703 }, { 111,5703 }, { 112,5703 }, { 113,5703 }, + { 114,5703 }, { 115,5703 }, { 116,5703 }, { 117,6596 }, { 118,5703 }, + { 119,5703 }, { 120,5703 }, { 121,5703 }, { 122,5703 }, { 123,5703 }, + { 124,5703 }, { 125,5703 }, { 126,5703 }, { 127,5703 }, { 128,5703 }, + + { 129,5703 }, { 130,5703 }, { 131,5703 }, { 132,5703 }, { 133,5703 }, + { 134,5703 }, { 135,5703 }, { 136,5703 }, { 137,5703 }, { 138,5703 }, + { 139,5703 }, { 140,5703 }, { 141,5703 }, { 142,5703 }, { 143,5703 }, + { 144,5703 }, { 145,5703 }, { 146,5703 }, { 147,5703 }, { 148,5703 }, + { 149,5703 }, { 150,5703 }, { 151,5703 }, { 152,5703 }, { 153,5703 }, + { 154,5703 }, { 155,5703 }, { 156,5703 }, { 157,5703 }, { 158,5703 }, + { 159,5703 }, { 160,5703 }, { 161,5703 }, { 162,5703 }, { 163,5703 }, + { 164,5703 }, { 165,5703 }, { 166,5703 }, { 167,5703 }, { 168,5703 }, + { 169,5703 }, { 170,5703 }, { 171,5703 }, { 172,5703 }, { 173,5703 }, + { 174,5703 }, { 175,5703 }, { 176,5703 }, { 177,5703 }, { 178,5703 }, + + { 179,5703 }, { 180,5703 }, { 181,5703 }, { 182,5703 }, { 183,5703 }, + { 184,5703 }, { 185,5703 }, { 186,5703 }, { 187,5703 }, { 188,5703 }, + { 189,5703 }, { 190,5703 }, { 191,5703 }, { 192,5703 }, { 193,5703 }, + { 194,5703 }, { 195,5703 }, { 196,5703 }, { 197,5703 }, { 198,5703 }, + { 199,5703 }, { 200,5703 }, { 201,5703 }, { 202,5703 }, { 203,5703 }, + { 204,5703 }, { 205,5703 }, { 206,5703 }, { 207,5703 }, { 208,5703 }, + { 209,5703 }, { 210,5703 }, { 211,5703 }, { 212,5703 }, { 213,5703 }, + { 214,5703 }, { 215,5703 }, { 216,5703 }, { 217,5703 }, { 218,5703 }, + { 219,5703 }, { 220,5703 }, { 221,5703 }, { 222,5703 }, { 223,5703 }, + { 224,5703 }, { 225,5703 }, { 226,5703 }, { 227,5703 }, { 228,5703 }, + + { 229,5703 }, { 230,5703 }, { 231,5703 }, { 232,5703 }, { 233,5703 }, + { 234,5703 }, { 235,5703 }, { 236,5703 }, { 237,5703 }, { 238,5703 }, + { 239,5703 }, { 240,5703 }, { 241,5703 }, { 242,5703 }, { 243,5703 }, + { 244,5703 }, { 245,5703 }, { 246,5703 }, { 247,5703 }, { 248,5703 }, + { 249,5703 }, { 250,5703 }, { 251,5703 }, { 252,5703 }, { 253,5703 }, + { 254,5703 }, { 255,5703 }, { 256,5703 }, { 0, 24 }, { 0,21401 }, + { 1,-15691 }, { 2,-15691 }, { 3,-15691 }, { 4,-15691 }, { 5,-15691 }, + { 6,-15691 }, { 7,-15691 }, { 8,-15691 }, { 9,-15433 }, { 10,-15175 }, + { 11,-15691 }, { 12,-15433 }, { 13,-15175 }, { 14,-15691 }, { 15,-15691 }, + { 16,-15691 }, { 17,-15691 }, { 18,-15691 }, { 19,-15691 }, { 20,-15691 }, + + { 21,-15691 }, { 22,-15691 }, { 23,-15691 }, { 24,-15691 }, { 25,-15691 }, + { 26,-15691 }, { 27,-15691 }, { 28,-15691 }, { 29,-15691 }, { 30,-15691 }, + { 31,-15691 }, { 32,-15433 }, { 33,-15691 }, { 34,-15691 }, { 35,-15691 }, + { 36,-15691 }, { 37,-15691 }, { 38,-15691 }, { 39,-15691 }, { 40,-15691 }, + { 41,-15691 }, { 42,-15691 }, { 43,-15691 }, { 44,-15691 }, { 45,6596 }, + { 46,-15691 }, { 47,-15691 }, { 48,-15691 }, { 49,-15691 }, { 50,-15691 }, + { 51,-15691 }, { 52,-15691 }, { 53,-15691 }, { 54,-15691 }, { 55,-15691 }, + { 56,-15691 }, { 57,-15691 }, { 58,-15691 }, { 59,-15691 }, { 60,-15691 }, + { 61,-15691 }, { 62,-15691 }, { 63,-15691 }, { 64,-15691 }, { 65,-15691 }, + { 66,-15691 }, { 67,-15691 }, { 68,-15691 }, { 69,-15691 }, { 70,-15691 }, + + { 71,-15691 }, { 72,-15691 }, { 73,-15691 }, { 74,-15691 }, { 75,-15691 }, + { 76,-15691 }, { 77,-15691 }, { 78,-15691 }, { 79,-15691 }, { 80,-15691 }, + { 81,-15691 }, { 82,-15691 }, { 83,-15691 }, { 84,-15691 }, { 85,-14798 }, + { 86,-15691 }, { 87,-15691 }, { 88,-15691 }, { 89,-15691 }, { 90,-15691 }, + { 91,-15691 }, { 92,-15691 }, { 93,-15691 }, { 94,-15691 }, { 95,-15691 }, + { 96,-15691 }, { 97,-15691 }, { 98,-15691 }, { 99,-15691 }, { 100,-15691 }, + { 101,-15691 }, { 102,-15691 }, { 103,-15691 }, { 104,-15691 }, { 105,-15691 }, + { 106,-15691 }, { 107,-15691 }, { 108,-15691 }, { 109,-15691 }, { 110,-15691 }, + { 111,-15691 }, { 112,-15691 }, { 113,-15691 }, { 114,-15691 }, { 115,-15691 }, + { 116,-15691 }, { 117,-14798 }, { 118,-15691 }, { 119,-15691 }, { 120,-15691 }, + + { 121,-15691 }, { 122,-15691 }, { 123,-15691 }, { 124,-15691 }, { 125,-15691 }, + { 126,-15691 }, { 127,-15691 }, { 128,-15691 }, { 129,-15691 }, { 130,-15691 }, + { 131,-15691 }, { 132,-15691 }, { 133,-15691 }, { 134,-15691 }, { 135,-15691 }, + { 136,-15691 }, { 137,-15691 }, { 138,-15691 }, { 139,-15691 }, { 140,-15691 }, + { 141,-15691 }, { 142,-15691 }, { 143,-15691 }, { 144,-15691 }, { 145,-15691 }, + { 146,-15691 }, { 147,-15691 }, { 148,-15691 }, { 149,-15691 }, { 150,-15691 }, + { 151,-15691 }, { 152,-15691 }, { 153,-15691 }, { 154,-15691 }, { 155,-15691 }, + { 156,-15691 }, { 157,-15691 }, { 158,-15691 }, { 159,-15691 }, { 160,-15691 }, + { 161,-15691 }, { 162,-15691 }, { 163,-15691 }, { 164,-15691 }, { 165,-15691 }, + { 166,-15691 }, { 167,-15691 }, { 168,-15691 }, { 169,-15691 }, { 170,-15691 }, + + { 171,-15691 }, { 172,-15691 }, { 173,-15691 }, { 174,-15691 }, { 175,-15691 }, + { 176,-15691 }, { 177,-15691 }, { 178,-15691 }, { 179,-15691 }, { 180,-15691 }, + { 181,-15691 }, { 182,-15691 }, { 183,-15691 }, { 184,-15691 }, { 185,-15691 }, + { 186,-15691 }, { 187,-15691 }, { 188,-15691 }, { 189,-15691 }, { 190,-15691 }, + { 191,-15691 }, { 192,-15691 }, { 193,-15691 }, { 194,-15691 }, { 195,-15691 }, + { 196,-15691 }, { 197,-15691 }, { 198,-15691 }, { 199,-15691 }, { 200,-15691 }, + { 201,-15691 }, { 202,-15691 }, { 203,-15691 }, { 204,-15691 }, { 205,-15691 }, + { 206,-15691 }, { 207,-15691 }, { 208,-15691 }, { 209,-15691 }, { 210,-15691 }, + { 211,-15691 }, { 212,-15691 }, { 213,-15691 }, { 214,-15691 }, { 215,-15691 }, + { 216,-15691 }, { 217,-15691 }, { 218,-15691 }, { 219,-15691 }, { 220,-15691 }, + + { 221,-15691 }, { 222,-15691 }, { 223,-15691 }, { 224,-15691 }, { 225,-15691 }, + { 226,-15691 }, { 227,-15691 }, { 228,-15691 }, { 229,-15691 }, { 230,-15691 }, + { 231,-15691 }, { 232,-15691 }, { 233,-15691 }, { 234,-15691 }, { 235,-15691 }, + { 236,-15691 }, { 237,-15691 }, { 238,-15691 }, { 239,-15691 }, { 240,-15691 }, + { 241,-15691 }, { 242,-15691 }, { 243,-15691 }, { 244,-15691 }, { 245,-15691 }, + { 246,-15691 }, { 247,-15691 }, { 248,-15691 }, { 249,-15691 }, { 250,-15691 }, + { 251,-15691 }, { 252,-15691 }, { 253,-15691 }, { 254,-15691 }, { 255,-15691 }, + { 256,-15691 }, { 0, 24 }, { 0,21143 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 9, 0 }, { 10, 0 }, { 0, 0 }, { 12, 0 }, + + { 13, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 39, 119 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 45,-32073 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 85,-36457 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 117,-36457 }, + { 0, 24 }, { 0,21024 }, { 1,-32235 }, { 2,-32235 }, { 3,-32235 }, + { 4,-32235 }, { 5,-32235 }, { 6,-32235 }, { 7,-32235 }, { 8,-32235 }, + { 9,-32235 }, { 10,-32235 }, { 11,-32235 }, { 12,-32235 }, { 13,-32235 }, + { 14,-32235 }, { 15,-32235 }, { 16,-32235 }, { 17,-32235 }, { 18,-32235 }, + { 19,-32235 }, { 20,-32235 }, { 21,-32235 }, { 22,-32235 }, { 23,-32235 }, + { 24,-32235 }, { 25,-32235 }, { 26,-32235 }, { 27,-32235 }, { 28,-32235 }, + { 29,-32235 }, { 30,-32235 }, { 31,-32235 }, { 32,-32235 }, { 33,-32235 }, + { 34,-32235 }, { 35,-32235 }, { 36,-32235 }, { 37,-32235 }, { 38,-32235 }, + { 0, 0 }, { 40,-32235 }, { 41,-32235 }, { 42,-32235 }, { 43,-32235 }, + + { 44,-32235 }, { 45,-32235 }, { 46,-32235 }, { 47,-32235 }, { 48,-32235 }, + { 49,-32235 }, { 50,-32235 }, { 51,-32235 }, { 52,-32235 }, { 53,-32235 }, + { 54,-32235 }, { 55,-32235 }, { 56,-32235 }, { 57,-32235 }, { 58,-32235 }, + { 59,-32235 }, { 60,-32235 }, { 61,-32235 }, { 62,-32235 }, { 63,-32235 }, + { 64,-32235 }, { 65,-32235 }, { 66,-32235 }, { 67,-32235 }, { 68,-32235 }, + { 69,-32235 }, { 70,-32235 }, { 71,-32235 }, { 72,-32235 }, { 73,-32235 }, + { 74,-32235 }, { 75,-32235 }, { 76,-32235 }, { 77,-32235 }, { 78,-32235 }, + { 79,-32235 }, { 80,-32235 }, { 81,-32235 }, { 82,-32235 }, { 83,-32235 }, + { 84,-32235 }, { 85,-32235 }, { 86,-32235 }, { 87,-32235 }, { 88,-32235 }, + { 89,-32235 }, { 90,-32235 }, { 91,-32235 }, { 92,-32235 }, { 93,-32235 }, + + { 94,-32235 }, { 95,-32235 }, { 96,-32235 }, { 97,-32235 }, { 98,-32235 }, + { 99,-32235 }, { 100,-32235 }, { 101,-32235 }, { 102,-32235 }, { 103,-32235 }, + { 104,-32235 }, { 105,-32235 }, { 106,-32235 }, { 107,-32235 }, { 108,-32235 }, + { 109,-32235 }, { 110,-32235 }, { 111,-32235 }, { 112,-32235 }, { 113,-32235 }, + { 114,-32235 }, { 115,-32235 }, { 116,-32235 }, { 117,-32235 }, { 118,-32235 }, + { 119,-32235 }, { 120,-32235 }, { 121,-32235 }, { 122,-32235 }, { 123,-32235 }, + { 124,-32235 }, { 125,-32235 }, { 126,-32235 }, { 127,-32235 }, { 128,-32235 }, + { 129,-32235 }, { 130,-32235 }, { 131,-32235 }, { 132,-32235 }, { 133,-32235 }, + { 134,-32235 }, { 135,-32235 }, { 136,-32235 }, { 137,-32235 }, { 138,-32235 }, + { 139,-32235 }, { 140,-32235 }, { 141,-32235 }, { 142,-32235 }, { 143,-32235 }, + + { 144,-32235 }, { 145,-32235 }, { 146,-32235 }, { 147,-32235 }, { 148,-32235 }, + { 149,-32235 }, { 150,-32235 }, { 151,-32235 }, { 152,-32235 }, { 153,-32235 }, + { 154,-32235 }, { 155,-32235 }, { 156,-32235 }, { 157,-32235 }, { 158,-32235 }, + { 159,-32235 }, { 160,-32235 }, { 161,-32235 }, { 162,-32235 }, { 163,-32235 }, + { 164,-32235 }, { 165,-32235 }, { 166,-32235 }, { 167,-32235 }, { 168,-32235 }, + { 169,-32235 }, { 170,-32235 }, { 171,-32235 }, { 172,-32235 }, { 173,-32235 }, + { 174,-32235 }, { 175,-32235 }, { 176,-32235 }, { 177,-32235 }, { 178,-32235 }, + { 179,-32235 }, { 180,-32235 }, { 181,-32235 }, { 182,-32235 }, { 183,-32235 }, + { 184,-32235 }, { 185,-32235 }, { 186,-32235 }, { 187,-32235 }, { 188,-32235 }, + { 189,-32235 }, { 190,-32235 }, { 191,-32235 }, { 192,-32235 }, { 193,-32235 }, + + { 194,-32235 }, { 195,-32235 }, { 196,-32235 }, { 197,-32235 }, { 198,-32235 }, + { 199,-32235 }, { 200,-32235 }, { 201,-32235 }, { 202,-32235 }, { 203,-32235 }, + { 204,-32235 }, { 205,-32235 }, { 206,-32235 }, { 207,-32235 }, { 208,-32235 }, + { 209,-32235 }, { 210,-32235 }, { 211,-32235 }, { 212,-32235 }, { 213,-32235 }, + { 214,-32235 }, { 215,-32235 }, { 216,-32235 }, { 217,-32235 }, { 218,-32235 }, + { 219,-32235 }, { 220,-32235 }, { 221,-32235 }, { 222,-32235 }, { 223,-32235 }, + { 224,-32235 }, { 225,-32235 }, { 226,-32235 }, { 227,-32235 }, { 228,-32235 }, + { 229,-32235 }, { 230,-32235 }, { 231,-32235 }, { 232,-32235 }, { 233,-32235 }, + { 234,-32235 }, { 235,-32235 }, { 236,-32235 }, { 237,-32235 }, { 238,-32235 }, + { 239,-32235 }, { 240,-32235 }, { 241,-32235 }, { 242,-32235 }, { 243,-32235 }, + + { 244,-32235 }, { 245,-32235 }, { 246,-32235 }, { 247,-32235 }, { 248,-32235 }, + { 249,-32235 }, { 250,-32235 }, { 251,-32235 }, { 252,-32235 }, { 253,-32235 }, + { 254,-32235 }, { 255,-32235 }, { 256,-32235 }, { 0, 24 }, { 0,20766 }, + { 1,-21365 }, { 2,-21365 }, { 3,-21365 }, { 4,-21365 }, { 5,-21365 }, + { 6,-21365 }, { 7,-21365 }, { 8,-21365 }, { 9,-21107 }, { 10,-29020 }, + { 11,-21365 }, { 12,-21107 }, { 13,-29020 }, { 14,-21365 }, { 15,-21365 }, + { 16,-21365 }, { 17,-21365 }, { 18,-21365 }, { 19,-21365 }, { 20,-21365 }, + { 21,-21365 }, { 22,-21365 }, { 23,-21365 }, { 24,-21365 }, { 25,-21365 }, + { 26,-21365 }, { 27,-21365 }, { 28,-21365 }, { 29,-21365 }, { 30,-21365 }, + { 31,-21365 }, { 32,-21107 }, { 33,-21365 }, { 34,-21365 }, { 35,-21365 }, + + { 36,-21365 }, { 37,-21365 }, { 38,-21365 }, { 39,6477 }, { 40,-21365 }, + { 41,-21365 }, { 42,-21365 }, { 43,-21365 }, { 44,-21365 }, { 45,-20849 }, + { 46,-21365 }, { 47,-21365 }, { 48,-21365 }, { 49,-21365 }, { 50,-21365 }, + { 51,-21365 }, { 52,-21365 }, { 53,-21365 }, { 54,-21365 }, { 55,-21365 }, + { 56,-21365 }, { 57,-21365 }, { 58,-21365 }, { 59,-21365 }, { 60,-21365 }, + { 61,-21365 }, { 62,-21365 }, { 63,-21365 }, { 64,-21365 }, { 65,-21365 }, + { 66,-21365 }, { 67,-21365 }, { 68,-21365 }, { 69,-21365 }, { 70,-21365 }, + { 71,-21365 }, { 72,-21365 }, { 73,-21365 }, { 74,-21365 }, { 75,-21365 }, + { 76,-21365 }, { 77,-21365 }, { 78,-21365 }, { 79,-21365 }, { 80,-21365 }, + { 81,-21365 }, { 82,-21365 }, { 83,-21365 }, { 84,-21365 }, { 85,-20591 }, + + { 86,-21365 }, { 87,-21365 }, { 88,-21365 }, { 89,-21365 }, { 90,-21365 }, + { 91,-21365 }, { 92,-21365 }, { 93,-21365 }, { 94,-21365 }, { 95,-21365 }, + { 96,-21365 }, { 97,-21365 }, { 98,-21365 }, { 99,-21365 }, { 100,-21365 }, + { 101,-21365 }, { 102,-21365 }, { 103,-21365 }, { 104,-21365 }, { 105,-21365 }, + { 106,-21365 }, { 107,-21365 }, { 108,-21365 }, { 109,-21365 }, { 110,-21365 }, + { 111,-21365 }, { 112,-21365 }, { 113,-21365 }, { 114,-21365 }, { 115,-21365 }, + { 116,-21365 }, { 117,-20591 }, { 118,-21365 }, { 119,-21365 }, { 120,-21365 }, + { 121,-21365 }, { 122,-21365 }, { 123,-21365 }, { 124,-21365 }, { 125,-21365 }, + { 126,-21365 }, { 127,-21365 }, { 128,-21365 }, { 129,-21365 }, { 130,-21365 }, + { 131,-21365 }, { 132,-21365 }, { 133,-21365 }, { 134,-21365 }, { 135,-21365 }, + + { 136,-21365 }, { 137,-21365 }, { 138,-21365 }, { 139,-21365 }, { 140,-21365 }, + { 141,-21365 }, { 142,-21365 }, { 143,-21365 }, { 144,-21365 }, { 145,-21365 }, + { 146,-21365 }, { 147,-21365 }, { 148,-21365 }, { 149,-21365 }, { 150,-21365 }, + { 151,-21365 }, { 152,-21365 }, { 153,-21365 }, { 154,-21365 }, { 155,-21365 }, + { 156,-21365 }, { 157,-21365 }, { 158,-21365 }, { 159,-21365 }, { 160,-21365 }, + { 161,-21365 }, { 162,-21365 }, { 163,-21365 }, { 164,-21365 }, { 165,-21365 }, + { 166,-21365 }, { 167,-21365 }, { 168,-21365 }, { 169,-21365 }, { 170,-21365 }, + { 171,-21365 }, { 172,-21365 }, { 173,-21365 }, { 174,-21365 }, { 175,-21365 }, + { 176,-21365 }, { 177,-21365 }, { 178,-21365 }, { 179,-21365 }, { 180,-21365 }, + { 181,-21365 }, { 182,-21365 }, { 183,-21365 }, { 184,-21365 }, { 185,-21365 }, + + { 186,-21365 }, { 187,-21365 }, { 188,-21365 }, { 189,-21365 }, { 190,-21365 }, + { 191,-21365 }, { 192,-21365 }, { 193,-21365 }, { 194,-21365 }, { 195,-21365 }, + { 196,-21365 }, { 197,-21365 }, { 198,-21365 }, { 199,-21365 }, { 200,-21365 }, + { 201,-21365 }, { 202,-21365 }, { 203,-21365 }, { 204,-21365 }, { 205,-21365 }, + { 206,-21365 }, { 207,-21365 }, { 208,-21365 }, { 209,-21365 }, { 210,-21365 }, + { 211,-21365 }, { 212,-21365 }, { 213,-21365 }, { 214,-21365 }, { 215,-21365 }, + { 216,-21365 }, { 217,-21365 }, { 218,-21365 }, { 219,-21365 }, { 220,-21365 }, + { 221,-21365 }, { 222,-21365 }, { 223,-21365 }, { 224,-21365 }, { 225,-21365 }, + { 226,-21365 }, { 227,-21365 }, { 228,-21365 }, { 229,-21365 }, { 230,-21365 }, + { 231,-21365 }, { 232,-21365 }, { 233,-21365 }, { 234,-21365 }, { 235,-21365 }, + + { 236,-21365 }, { 237,-21365 }, { 238,-21365 }, { 239,-21365 }, { 240,-21365 }, + { 241,-21365 }, { 242,-21365 }, { 243,-21365 }, { 244,-21365 }, { 245,-21365 }, + { 246,-21365 }, { 247,-21365 }, { 248,-21365 }, { 249,-21365 }, { 250,-21365 }, + { 251,-21365 }, { 252,-21365 }, { 253,-21365 }, { 254,-21365 }, { 255,-21365 }, + { 256,-21365 }, { 0, 24 }, { 0,20508 }, { 1,-21623 }, { 2,-21623 }, + { 3,-21623 }, { 4,-21623 }, { 5,-21623 }, { 6,-21623 }, { 7,-21623 }, + { 8,-21623 }, { 9,-21365 }, { 10,-29278 }, { 11,-21623 }, { 12,-21365 }, + { 13,-29278 }, { 14,-21623 }, { 15,-21623 }, { 16,-21623 }, { 17,-21623 }, + { 18,-21623 }, { 19,-21623 }, { 20,-21623 }, { 21,-21623 }, { 22,-21623 }, + { 23,-21623 }, { 24,-21623 }, { 25,-21623 }, { 26,-21623 }, { 27,-21623 }, + + { 28,-21623 }, { 29,-21623 }, { 30,-21623 }, { 31,-21623 }, { 32,-21365 }, + { 33,-21623 }, { 34,-21623 }, { 35,-21623 }, { 36,-21623 }, { 37,-21623 }, + { 38,-21623 }, { 39,6219 }, { 40,-21623 }, { 41,-21623 }, { 42,-21623 }, + { 43,-21623 }, { 44,-21623 }, { 45,-21107 }, { 46,-21623 }, { 47,-21623 }, + { 48,-21623 }, { 49,-21623 }, { 50,-21623 }, { 51,-21623 }, { 52,-21623 }, + { 53,-21623 }, { 54,-21623 }, { 55,-21623 }, { 56,-21623 }, { 57,-21623 }, + { 58,-21623 }, { 59,-21623 }, { 60,-21623 }, { 61,-21623 }, { 62,-21623 }, + { 63,-21623 }, { 64,-21623 }, { 65,-21623 }, { 66,-21623 }, { 67,-21623 }, + { 68,-21623 }, { 69,-21623 }, { 70,-21623 }, { 71,-21623 }, { 72,-21623 }, + { 73,-21623 }, { 74,-21623 }, { 75,-21623 }, { 76,-21623 }, { 77,-21623 }, + + { 78,-21623 }, { 79,-21623 }, { 80,-21623 }, { 81,-21623 }, { 82,-21623 }, + { 83,-21623 }, { 84,-21623 }, { 85,-20849 }, { 86,-21623 }, { 87,-21623 }, + { 88,-21623 }, { 89,-21623 }, { 90,-21623 }, { 91,-21623 }, { 92,-21623 }, + { 93,-21623 }, { 94,-21623 }, { 95,-21623 }, { 96,-21623 }, { 97,-21623 }, + { 98,-21623 }, { 99,-21623 }, { 100,-21623 }, { 101,-21623 }, { 102,-21623 }, + { 103,-21623 }, { 104,-21623 }, { 105,-21623 }, { 106,-21623 }, { 107,-21623 }, + { 108,-21623 }, { 109,-21623 }, { 110,-21623 }, { 111,-21623 }, { 112,-21623 }, + { 113,-21623 }, { 114,-21623 }, { 115,-21623 }, { 116,-21623 }, { 117,-20849 }, + { 118,-21623 }, { 119,-21623 }, { 120,-21623 }, { 121,-21623 }, { 122,-21623 }, + { 123,-21623 }, { 124,-21623 }, { 125,-21623 }, { 126,-21623 }, { 127,-21623 }, + + { 128,-21623 }, { 129,-21623 }, { 130,-21623 }, { 131,-21623 }, { 132,-21623 }, + { 133,-21623 }, { 134,-21623 }, { 135,-21623 }, { 136,-21623 }, { 137,-21623 }, + { 138,-21623 }, { 139,-21623 }, { 140,-21623 }, { 141,-21623 }, { 142,-21623 }, + { 143,-21623 }, { 144,-21623 }, { 145,-21623 }, { 146,-21623 }, { 147,-21623 }, + { 148,-21623 }, { 149,-21623 }, { 150,-21623 }, { 151,-21623 }, { 152,-21623 }, + { 153,-21623 }, { 154,-21623 }, { 155,-21623 }, { 156,-21623 }, { 157,-21623 }, + { 158,-21623 }, { 159,-21623 }, { 160,-21623 }, { 161,-21623 }, { 162,-21623 }, + { 163,-21623 }, { 164,-21623 }, { 165,-21623 }, { 166,-21623 }, { 167,-21623 }, + { 168,-21623 }, { 169,-21623 }, { 170,-21623 }, { 171,-21623 }, { 172,-21623 }, + { 173,-21623 }, { 174,-21623 }, { 175,-21623 }, { 176,-21623 }, { 177,-21623 }, + + { 178,-21623 }, { 179,-21623 }, { 180,-21623 }, { 181,-21623 }, { 182,-21623 }, + { 183,-21623 }, { 184,-21623 }, { 185,-21623 }, { 186,-21623 }, { 187,-21623 }, + { 188,-21623 }, { 189,-21623 }, { 190,-21623 }, { 191,-21623 }, { 192,-21623 }, + { 193,-21623 }, { 194,-21623 }, { 195,-21623 }, { 196,-21623 }, { 197,-21623 }, + { 198,-21623 }, { 199,-21623 }, { 200,-21623 }, { 201,-21623 }, { 202,-21623 }, + { 203,-21623 }, { 204,-21623 }, { 205,-21623 }, { 206,-21623 }, { 207,-21623 }, + { 208,-21623 }, { 209,-21623 }, { 210,-21623 }, { 211,-21623 }, { 212,-21623 }, + { 213,-21623 }, { 214,-21623 }, { 215,-21623 }, { 216,-21623 }, { 217,-21623 }, + { 218,-21623 }, { 219,-21623 }, { 220,-21623 }, { 221,-21623 }, { 222,-21623 }, + { 223,-21623 }, { 224,-21623 }, { 225,-21623 }, { 226,-21623 }, { 227,-21623 }, + + { 228,-21623 }, { 229,-21623 }, { 230,-21623 }, { 231,-21623 }, { 232,-21623 }, + { 233,-21623 }, { 234,-21623 }, { 235,-21623 }, { 236,-21623 }, { 237,-21623 }, + { 238,-21623 }, { 239,-21623 }, { 240,-21623 }, { 241,-21623 }, { 242,-21623 }, + { 243,-21623 }, { 244,-21623 }, { 245,-21623 }, { 246,-21623 }, { 247,-21623 }, + { 248,-21623 }, { 249,-21623 }, { 250,-21623 }, { 251,-21623 }, { 252,-21623 }, + { 253,-21623 }, { 254,-21623 }, { 255,-21623 }, { 256,-21623 }, { 0, 24 }, + { 0,20250 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9,-26898 }, + { 10,-26898 }, { 0, 0 }, { 12,-26898 }, { 13,-26898 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 32,-26898 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 39,-32959 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 45,-36845 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 85,-37350 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 117,-37350 }, { 0, 24 }, { 0,20131 }, + + { 1,-22000 }, { 2,-22000 }, { 3,-22000 }, { 4,-22000 }, { 5,-22000 }, + { 6,-22000 }, { 7,-22000 }, { 8,-22000 }, { 9,-21742 }, { 10,-29655 }, + { 11,-22000 }, { 12,-21742 }, { 13,-29655 }, { 14,-22000 }, { 15,-22000 }, + { 16,-22000 }, { 17,-22000 }, { 18,-22000 }, { 19,-22000 }, { 20,-22000 }, + { 21,-22000 }, { 22,-22000 }, { 23,-22000 }, { 24,-22000 }, { 25,-22000 }, + { 26,-22000 }, { 27,-22000 }, { 28,-22000 }, { 29,-22000 }, { 30,-22000 }, + { 31,-22000 }, { 32,-21742 }, { 33,-22000 }, { 34,-22000 }, { 35,-22000 }, + { 36,-22000 }, { 37,-22000 }, { 38,-22000 }, { 39,5842 }, { 40,-22000 }, + { 41,-22000 }, { 42,-22000 }, { 43,-22000 }, { 44,-22000 }, { 45,-15810 }, + { 46,-22000 }, { 47,-22000 }, { 48,-22000 }, { 49,-22000 }, { 50,-22000 }, + + { 51,-22000 }, { 52,-22000 }, { 53,-22000 }, { 54,-22000 }, { 55,-22000 }, + { 56,-22000 }, { 57,-22000 }, { 58,-22000 }, { 59,-22000 }, { 60,-22000 }, + { 61,-22000 }, { 62,-22000 }, { 63,-22000 }, { 64,-22000 }, { 65,-22000 }, + { 66,-22000 }, { 67,-22000 }, { 68,-22000 }, { 69,-22000 }, { 70,-22000 }, + { 71,-22000 }, { 72,-22000 }, { 73,-22000 }, { 74,-22000 }, { 75,-22000 }, + { 76,-22000 }, { 77,-22000 }, { 78,-22000 }, { 79,-22000 }, { 80,-22000 }, + { 81,-22000 }, { 82,-22000 }, { 83,-22000 }, { 84,-22000 }, { 85,-21226 }, + { 86,-22000 }, { 87,-22000 }, { 88,-22000 }, { 89,-22000 }, { 90,-22000 }, + { 91,-22000 }, { 92,-22000 }, { 93,-22000 }, { 94,-22000 }, { 95,-22000 }, + { 96,-22000 }, { 97,-22000 }, { 98,-22000 }, { 99,-22000 }, { 100,-22000 }, + + { 101,-22000 }, { 102,-22000 }, { 103,-22000 }, { 104,-22000 }, { 105,-22000 }, + { 106,-22000 }, { 107,-22000 }, { 108,-22000 }, { 109,-22000 }, { 110,-22000 }, + { 111,-22000 }, { 112,-22000 }, { 113,-22000 }, { 114,-22000 }, { 115,-22000 }, + { 116,-22000 }, { 117,-21226 }, { 118,-22000 }, { 119,-22000 }, { 120,-22000 }, + { 121,-22000 }, { 122,-22000 }, { 123,-22000 }, { 124,-22000 }, { 125,-22000 }, + { 126,-22000 }, { 127,-22000 }, { 128,-22000 }, { 129,-22000 }, { 130,-22000 }, + { 131,-22000 }, { 132,-22000 }, { 133,-22000 }, { 134,-22000 }, { 135,-22000 }, + { 136,-22000 }, { 137,-22000 }, { 138,-22000 }, { 139,-22000 }, { 140,-22000 }, + { 141,-22000 }, { 142,-22000 }, { 143,-22000 }, { 144,-22000 }, { 145,-22000 }, + { 146,-22000 }, { 147,-22000 }, { 148,-22000 }, { 149,-22000 }, { 150,-22000 }, + + { 151,-22000 }, { 152,-22000 }, { 153,-22000 }, { 154,-22000 }, { 155,-22000 }, + { 156,-22000 }, { 157,-22000 }, { 158,-22000 }, { 159,-22000 }, { 160,-22000 }, + { 161,-22000 }, { 162,-22000 }, { 163,-22000 }, { 164,-22000 }, { 165,-22000 }, + { 166,-22000 }, { 167,-22000 }, { 168,-22000 }, { 169,-22000 }, { 170,-22000 }, + { 171,-22000 }, { 172,-22000 }, { 173,-22000 }, { 174,-22000 }, { 175,-22000 }, + { 176,-22000 }, { 177,-22000 }, { 178,-22000 }, { 179,-22000 }, { 180,-22000 }, + { 181,-22000 }, { 182,-22000 }, { 183,-22000 }, { 184,-22000 }, { 185,-22000 }, + { 186,-22000 }, { 187,-22000 }, { 188,-22000 }, { 189,-22000 }, { 190,-22000 }, + { 191,-22000 }, { 192,-22000 }, { 193,-22000 }, { 194,-22000 }, { 195,-22000 }, + { 196,-22000 }, { 197,-22000 }, { 198,-22000 }, { 199,-22000 }, { 200,-22000 }, + + { 201,-22000 }, { 202,-22000 }, { 203,-22000 }, { 204,-22000 }, { 205,-22000 }, + { 206,-22000 }, { 207,-22000 }, { 208,-22000 }, { 209,-22000 }, { 210,-22000 }, + { 211,-22000 }, { 212,-22000 }, { 213,-22000 }, { 214,-22000 }, { 215,-22000 }, + { 216,-22000 }, { 217,-22000 }, { 218,-22000 }, { 219,-22000 }, { 220,-22000 }, + { 221,-22000 }, { 222,-22000 }, { 223,-22000 }, { 224,-22000 }, { 225,-22000 }, + { 226,-22000 }, { 227,-22000 }, { 228,-22000 }, { 229,-22000 }, { 230,-22000 }, + { 231,-22000 }, { 232,-22000 }, { 233,-22000 }, { 234,-22000 }, { 235,-22000 }, + { 236,-22000 }, { 237,-22000 }, { 238,-22000 }, { 239,-22000 }, { 240,-22000 }, + { 241,-22000 }, { 242,-22000 }, { 243,-22000 }, { 244,-22000 }, { 245,-22000 }, + { 246,-22000 }, { 247,-22000 }, { 248,-22000 }, { 249,-22000 }, { 250,-22000 }, + + { 251,-22000 }, { 252,-22000 }, { 253,-22000 }, { 254,-22000 }, { 255,-22000 }, + { 256,-22000 }, { 0, 24 }, { 0,19873 }, { 1,-22258 }, { 2,-22258 }, + { 3,-22258 }, { 4,-22258 }, { 5,-22258 }, { 6,-22258 }, { 7,-22258 }, + { 8,-22258 }, { 9,-22000 }, { 10,-29913 }, { 11,-22258 }, { 12,-22000 }, + { 13,-29913 }, { 14,-22258 }, { 15,-22258 }, { 16,-22258 }, { 17,-22258 }, + { 18,-22258 }, { 19,-22258 }, { 20,-22258 }, { 21,-22258 }, { 22,-22258 }, + { 23,-22258 }, { 24,-22258 }, { 25,-22258 }, { 26,-22258 }, { 27,-22258 }, + { 28,-22258 }, { 29,-22258 }, { 30,-22258 }, { 31,-22258 }, { 32,-22000 }, + { 33,-22258 }, { 34,-22258 }, { 35,-22258 }, { 36,-22258 }, { 37,-22258 }, + { 38,-22258 }, { 39,5584 }, { 40,-22258 }, { 41,-22258 }, { 42,-22258 }, + + { 43,-22258 }, { 44,-22258 }, { 45,-21742 }, { 46,-22258 }, { 47,-22258 }, + { 48,-22258 }, { 49,-22258 }, { 50,-22258 }, { 51,-22258 }, { 52,-22258 }, + { 53,-22258 }, { 54,-22258 }, { 55,-22258 }, { 56,-22258 }, { 57,-22258 }, + { 58,-22258 }, { 59,-22258 }, { 60,-22258 }, { 61,-22258 }, { 62,-22258 }, + { 63,-22258 }, { 64,-22258 }, { 65,-22258 }, { 66,-22258 }, { 67,-22258 }, + { 68,-22258 }, { 69,-15810 }, { 70,-22258 }, { 71,-22258 }, { 72,-22258 }, + { 73,-22258 }, { 74,-22258 }, { 75,-22258 }, { 76,-22258 }, { 77,-22258 }, + { 78,-22258 }, { 79,-22258 }, { 80,-22258 }, { 81,-22258 }, { 82,-22258 }, + { 83,-22258 }, { 84,-22258 }, { 85,-21484 }, { 86,-22258 }, { 87,-22258 }, + { 88,-22258 }, { 89,-22258 }, { 90,-22258 }, { 91,-22258 }, { 92,-22258 }, + + { 93,-22258 }, { 94,-22258 }, { 95,-22258 }, { 96,-22258 }, { 97,-22258 }, + { 98,-22258 }, { 99,-22258 }, { 100,-22258 }, { 101,-15810 }, { 102,-22258 }, + { 103,-22258 }, { 104,-22258 }, { 105,-22258 }, { 106,-22258 }, { 107,-22258 }, + { 108,-22258 }, { 109,-22258 }, { 110,-22258 }, { 111,-22258 }, { 112,-22258 }, + { 113,-22258 }, { 114,-22258 }, { 115,-22258 }, { 116,-22258 }, { 117,-21484 }, + { 118,-22258 }, { 119,-22258 }, { 120,-22258 }, { 121,-22258 }, { 122,-22258 }, + { 123,-22258 }, { 124,-22258 }, { 125,-22258 }, { 126,-22258 }, { 127,-22258 }, + { 128,-22258 }, { 129,-22258 }, { 130,-22258 }, { 131,-22258 }, { 132,-22258 }, + { 133,-22258 }, { 134,-22258 }, { 135,-22258 }, { 136,-22258 }, { 137,-22258 }, + { 138,-22258 }, { 139,-22258 }, { 140,-22258 }, { 141,-22258 }, { 142,-22258 }, + + { 143,-22258 }, { 144,-22258 }, { 145,-22258 }, { 146,-22258 }, { 147,-22258 }, + { 148,-22258 }, { 149,-22258 }, { 150,-22258 }, { 151,-22258 }, { 152,-22258 }, + { 153,-22258 }, { 154,-22258 }, { 155,-22258 }, { 156,-22258 }, { 157,-22258 }, + { 158,-22258 }, { 159,-22258 }, { 160,-22258 }, { 161,-22258 }, { 162,-22258 }, + { 163,-22258 }, { 164,-22258 }, { 165,-22258 }, { 166,-22258 }, { 167,-22258 }, + { 168,-22258 }, { 169,-22258 }, { 170,-22258 }, { 171,-22258 }, { 172,-22258 }, + { 173,-22258 }, { 174,-22258 }, { 175,-22258 }, { 176,-22258 }, { 177,-22258 }, + { 178,-22258 }, { 179,-22258 }, { 180,-22258 }, { 181,-22258 }, { 182,-22258 }, + { 183,-22258 }, { 184,-22258 }, { 185,-22258 }, { 186,-22258 }, { 187,-22258 }, + { 188,-22258 }, { 189,-22258 }, { 190,-22258 }, { 191,-22258 }, { 192,-22258 }, + + { 193,-22258 }, { 194,-22258 }, { 195,-22258 }, { 196,-22258 }, { 197,-22258 }, + { 198,-22258 }, { 199,-22258 }, { 200,-22258 }, { 201,-22258 }, { 202,-22258 }, + { 203,-22258 }, { 204,-22258 }, { 205,-22258 }, { 206,-22258 }, { 207,-22258 }, + { 208,-22258 }, { 209,-22258 }, { 210,-22258 }, { 211,-22258 }, { 212,-22258 }, + { 213,-22258 }, { 214,-22258 }, { 215,-22258 }, { 216,-22258 }, { 217,-22258 }, + { 218,-22258 }, { 219,-22258 }, { 220,-22258 }, { 221,-22258 }, { 222,-22258 }, + { 223,-22258 }, { 224,-22258 }, { 225,-22258 }, { 226,-22258 }, { 227,-22258 }, + { 228,-22258 }, { 229,-22258 }, { 230,-22258 }, { 231,-22258 }, { 232,-22258 }, + { 233,-22258 }, { 234,-22258 }, { 235,-22258 }, { 236,-22258 }, { 237,-22258 }, + { 238,-22258 }, { 239,-22258 }, { 240,-22258 }, { 241,-22258 }, { 242,-22258 }, + + { 243,-22258 }, { 244,-22258 }, { 245,-22258 }, { 246,-22258 }, { 247,-22258 }, + { 248,-22258 }, { 249,-22258 }, { 250,-22258 }, { 251,-22258 }, { 252,-22258 }, + { 253,-22258 }, { 254,-22258 }, { 255,-22258 }, { 256,-22258 }, { 0, 24 }, + { 0,19615 }, { 1,5584 }, { 2,5584 }, { 3,5584 }, { 4,5584 }, + { 5,5584 }, { 6,5584 }, { 7,5584 }, { 8,5584 }, { 9,5842 }, + { 10,-6576 }, { 11,5584 }, { 12,5842 }, { 13,-6576 }, { 14,5584 }, + { 15,5584 }, { 16,5584 }, { 17,5584 }, { 18,5584 }, { 19,5584 }, + { 20,5584 }, { 21,5584 }, { 22,5584 }, { 23,5584 }, { 24,5584 }, + { 25,5584 }, { 26,5584 }, { 27,5584 }, { 28,5584 }, { 29,5584 }, + { 30,5584 }, { 31,5584 }, { 32,5842 }, { 33,5584 }, { 34,5584 }, + + { 35,5584 }, { 36,5584 }, { 37,5584 }, { 38,5584 }, { 39,6100 }, + { 40,5584 }, { 41,5584 }, { 42,5584 }, { 43,5584 }, { 44,5584 }, + { 45,6358 }, { 46,5584 }, { 47,5584 }, { 48,5584 }, { 49,5584 }, + { 50,5584 }, { 51,5584 }, { 52,5584 }, { 53,5584 }, { 54,5584 }, + { 55,5584 }, { 56,5584 }, { 57,5584 }, { 58,5584 }, { 59,5584 }, + { 60,5584 }, { 61,5584 }, { 62,5584 }, { 63,5584 }, { 64,5584 }, + { 65,5584 }, { 66,5584 }, { 67,5584 }, { 68,5584 }, { 69,5584 }, + { 70,5584 }, { 71,5584 }, { 72,5584 }, { 73,5584 }, { 74,5584 }, + { 75,5584 }, { 76,5584 }, { 77,5584 }, { 78,5584 }, { 79,5584 }, + { 80,5584 }, { 81,5584 }, { 82,5584 }, { 83,5584 }, { 84,5584 }, + + { 85,6616 }, { 86,5584 }, { 87,5584 }, { 88,5584 }, { 89,5584 }, + { 90,5584 }, { 91,5584 }, { 92,5584 }, { 93,5584 }, { 94,5584 }, + { 95,5584 }, { 96,5584 }, { 97,5584 }, { 98,5584 }, { 99,5584 }, + { 100,5584 }, { 101,5584 }, { 102,5584 }, { 103,5584 }, { 104,5584 }, + { 105,5584 }, { 106,5584 }, { 107,5584 }, { 108,5584 }, { 109,5584 }, + { 110,5584 }, { 111,5584 }, { 112,5584 }, { 113,5584 }, { 114,5584 }, + { 115,5584 }, { 116,5584 }, { 117,6616 }, { 118,5584 }, { 119,5584 }, + { 120,5584 }, { 121,5584 }, { 122,5584 }, { 123,5584 }, { 124,5584 }, + { 125,5584 }, { 126,5584 }, { 127,5584 }, { 128,5584 }, { 129,5584 }, + { 130,5584 }, { 131,5584 }, { 132,5584 }, { 133,5584 }, { 134,5584 }, + + { 135,5584 }, { 136,5584 }, { 137,5584 }, { 138,5584 }, { 139,5584 }, + { 140,5584 }, { 141,5584 }, { 142,5584 }, { 143,5584 }, { 144,5584 }, + { 145,5584 }, { 146,5584 }, { 147,5584 }, { 148,5584 }, { 149,5584 }, + { 150,5584 }, { 151,5584 }, { 152,5584 }, { 153,5584 }, { 154,5584 }, + { 155,5584 }, { 156,5584 }, { 157,5584 }, { 158,5584 }, { 159,5584 }, + { 160,5584 }, { 161,5584 }, { 162,5584 }, { 163,5584 }, { 164,5584 }, + { 165,5584 }, { 166,5584 }, { 167,5584 }, { 168,5584 }, { 169,5584 }, + { 170,5584 }, { 171,5584 }, { 172,5584 }, { 173,5584 }, { 174,5584 }, + { 175,5584 }, { 176,5584 }, { 177,5584 }, { 178,5584 }, { 179,5584 }, + { 180,5584 }, { 181,5584 }, { 182,5584 }, { 183,5584 }, { 184,5584 }, + + { 185,5584 }, { 186,5584 }, { 187,5584 }, { 188,5584 }, { 189,5584 }, + { 190,5584 }, { 191,5584 }, { 192,5584 }, { 193,5584 }, { 194,5584 }, + { 195,5584 }, { 196,5584 }, { 197,5584 }, { 198,5584 }, { 199,5584 }, + { 200,5584 }, { 201,5584 }, { 202,5584 }, { 203,5584 }, { 204,5584 }, + { 205,5584 }, { 206,5584 }, { 207,5584 }, { 208,5584 }, { 209,5584 }, + { 210,5584 }, { 211,5584 }, { 212,5584 }, { 213,5584 }, { 214,5584 }, + { 215,5584 }, { 216,5584 }, { 217,5584 }, { 218,5584 }, { 219,5584 }, + { 220,5584 }, { 221,5584 }, { 222,5584 }, { 223,5584 }, { 224,5584 }, + { 225,5584 }, { 226,5584 }, { 227,5584 }, { 228,5584 }, { 229,5584 }, + { 230,5584 }, { 231,5584 }, { 232,5584 }, { 233,5584 }, { 234,5584 }, + + { 235,5584 }, { 236,5584 }, { 237,5584 }, { 238,5584 }, { 239,5584 }, + { 240,5584 }, { 241,5584 }, { 242,5584 }, { 243,5584 }, { 244,5584 }, + { 245,5584 }, { 246,5584 }, { 247,5584 }, { 248,5584 }, { 249,5584 }, + { 250,5584 }, { 251,5584 }, { 252,5584 }, { 253,5584 }, { 254,5584 }, + { 255,5584 }, { 256,5584 }, { 0, 24 }, { 0,19357 }, { 1,-6199 }, + { 2,-6199 }, { 3,-6199 }, { 4,-6199 }, { 5,-6199 }, { 6,-6199 }, + { 7,-6199 }, { 8,-6199 }, { 9,-5941 }, { 10,-10974 }, { 11,-6199 }, + { 12,-5941 }, { 13,-10974 }, { 14,-6199 }, { 15,-6199 }, { 16,-6199 }, + { 17,-6199 }, { 18,-6199 }, { 19,-6199 }, { 20,-6199 }, { 21,-6199 }, + { 22,-6199 }, { 23,-6199 }, { 24,-6199 }, { 25,-6199 }, { 26,-6199 }, + + { 27,-6199 }, { 28,-6199 }, { 29,-6199 }, { 30,-6199 }, { 31,-6199 }, + { 32,-5941 }, { 33,-6199 }, { 34,-6199 }, { 35,-6199 }, { 36,-6199 }, + { 37,-6199 }, { 38,-6199 }, { 39,6616 }, { 40,-6199 }, { 41,-6199 }, + { 42,-6199 }, { 43,-6199 }, { 44,-6199 }, { 45,-5425 }, { 46,-6199 }, + { 47,-6199 }, { 48,-6199 }, { 49,-6199 }, { 50,-6199 }, { 51,-6199 }, + { 52,-6199 }, { 53,-6199 }, { 54,-6199 }, { 55,-6199 }, { 56,-6199 }, + { 57,-6199 }, { 58,-6199 }, { 59,-6199 }, { 60,-6199 }, { 61,-6199 }, + { 62,-6199 }, { 63,-6199 }, { 64,-6199 }, { 65,-6199 }, { 66,-6199 }, + { 67,-6199 }, { 68,-6199 }, { 69,-6199 }, { 70,-6199 }, { 71,-6199 }, + { 72,-6199 }, { 73,-6199 }, { 74,-6199 }, { 75,-6199 }, { 76,-6199 }, + + { 77,-6199 }, { 78,-6199 }, { 79,-6199 }, { 80,-6199 }, { 81,-6199 }, + { 82,-6199 }, { 83,-6199 }, { 84,-6199 }, { 85,-6199 }, { 86,-6199 }, + { 87,-6199 }, { 88,-6199 }, { 89,-6199 }, { 90,-6199 }, { 91,-6199 }, + { 92,-6199 }, { 93,-6199 }, { 94,-6199 }, { 95,-6199 }, { 96,-6199 }, + { 97,-6199 }, { 98,-6199 }, { 99,-6199 }, { 100,-6199 }, { 101,-6199 }, + { 102,-6199 }, { 103,-6199 }, { 104,-6199 }, { 105,-6199 }, { 106,-6199 }, + { 107,-6199 }, { 108,-6199 }, { 109,-6199 }, { 110,-6199 }, { 111,-6199 }, + { 112,-6199 }, { 113,-6199 }, { 114,-6199 }, { 115,-6199 }, { 116,-6199 }, + { 117,-6199 }, { 118,-6199 }, { 119,-6199 }, { 120,-6199 }, { 121,-6199 }, + { 122,-6199 }, { 123,-6199 }, { 124,-6199 }, { 125,-6199 }, { 126,-6199 }, + + { 127,-6199 }, { 128,-6199 }, { 129,-6199 }, { 130,-6199 }, { 131,-6199 }, + { 132,-6199 }, { 133,-6199 }, { 134,-6199 }, { 135,-6199 }, { 136,-6199 }, + { 137,-6199 }, { 138,-6199 }, { 139,-6199 }, { 140,-6199 }, { 141,-6199 }, + { 142,-6199 }, { 143,-6199 }, { 144,-6199 }, { 145,-6199 }, { 146,-6199 }, + { 147,-6199 }, { 148,-6199 }, { 149,-6199 }, { 150,-6199 }, { 151,-6199 }, + { 152,-6199 }, { 153,-6199 }, { 154,-6199 }, { 155,-6199 }, { 156,-6199 }, + { 157,-6199 }, { 158,-6199 }, { 159,-6199 }, { 160,-6199 }, { 161,-6199 }, + { 162,-6199 }, { 163,-6199 }, { 164,-6199 }, { 165,-6199 }, { 166,-6199 }, + { 167,-6199 }, { 168,-6199 }, { 169,-6199 }, { 170,-6199 }, { 171,-6199 }, + { 172,-6199 }, { 173,-6199 }, { 174,-6199 }, { 175,-6199 }, { 176,-6199 }, + + { 177,-6199 }, { 178,-6199 }, { 179,-6199 }, { 180,-6199 }, { 181,-6199 }, + { 182,-6199 }, { 183,-6199 }, { 184,-6199 }, { 185,-6199 }, { 186,-6199 }, + { 187,-6199 }, { 188,-6199 }, { 189,-6199 }, { 190,-6199 }, { 191,-6199 }, + { 192,-6199 }, { 193,-6199 }, { 194,-6199 }, { 195,-6199 }, { 196,-6199 }, + { 197,-6199 }, { 198,-6199 }, { 199,-6199 }, { 200,-6199 }, { 201,-6199 }, + { 202,-6199 }, { 203,-6199 }, { 204,-6199 }, { 205,-6199 }, { 206,-6199 }, + { 207,-6199 }, { 208,-6199 }, { 209,-6199 }, { 210,-6199 }, { 211,-6199 }, + { 212,-6199 }, { 213,-6199 }, { 214,-6199 }, { 215,-6199 }, { 216,-6199 }, + { 217,-6199 }, { 218,-6199 }, { 219,-6199 }, { 220,-6199 }, { 221,-6199 }, + { 222,-6199 }, { 223,-6199 }, { 224,-6199 }, { 225,-6199 }, { 226,-6199 }, + + { 227,-6199 }, { 228,-6199 }, { 229,-6199 }, { 230,-6199 }, { 231,-6199 }, + { 232,-6199 }, { 233,-6199 }, { 234,-6199 }, { 235,-6199 }, { 236,-6199 }, + { 237,-6199 }, { 238,-6199 }, { 239,-6199 }, { 240,-6199 }, { 241,-6199 }, + { 242,-6199 }, { 243,-6199 }, { 244,-6199 }, { 245,-6199 }, { 246,-6199 }, + { 247,-6199 }, { 248,-6199 }, { 249,-6199 }, { 250,-6199 }, { 251,-6199 }, + { 252,-6199 }, { 253,-6199 }, { 254,-6199 }, { 255,-6199 }, { 256,-6199 }, + { 0, 24 }, { 0,19099 }, { 1,-6457 }, { 2,-6457 }, { 3,-6457 }, + { 4,-6457 }, { 5,-6457 }, { 6,-6457 }, { 7,-6457 }, { 8,-6457 }, + { 9,-6199 }, { 10,-11232 }, { 11,-6457 }, { 12,-6199 }, { 13,-11232 }, + { 14,-6457 }, { 15,-6457 }, { 16,-6457 }, { 17,-6457 }, { 18,-6457 }, + + { 19,-6457 }, { 20,-6457 }, { 21,-6457 }, { 22,-6457 }, { 23,-6457 }, + { 24,-6457 }, { 25,-6457 }, { 26,-6457 }, { 27,-6457 }, { 28,-6457 }, + { 29,-6457 }, { 30,-6457 }, { 31,-6457 }, { 32,-6199 }, { 33,-6457 }, + { 34,-6457 }, { 35,-6457 }, { 36,-6457 }, { 37,-6457 }, { 38,-6457 }, + { 39,6358 }, { 40,-6457 }, { 41,-6457 }, { 42,-6457 }, { 43,-6457 }, + { 44,-6457 }, { 45,-5683 }, { 46,-6457 }, { 47,-6457 }, { 48,-6457 }, + { 49,-6457 }, { 50,-6457 }, { 51,-6457 }, { 52,-6457 }, { 53,-6457 }, + { 54,-6457 }, { 55,-6457 }, { 56,-6457 }, { 57,-6457 }, { 58,-6457 }, + { 59,-6457 }, { 60,-6457 }, { 61,-6457 }, { 62,-6457 }, { 63,-6457 }, + { 64,-6457 }, { 65,-6457 }, { 66,-6457 }, { 67,-6457 }, { 68,-6457 }, + + { 69,-6457 }, { 70,-6457 }, { 71,-6457 }, { 72,-6457 }, { 73,-6457 }, + { 74,-6457 }, { 75,-6457 }, { 76,-6457 }, { 77,-6457 }, { 78,-6457 }, + { 79,-6457 }, { 80,-6457 }, { 81,-6457 }, { 82,-6457 }, { 83,-6457 }, + { 84,-6457 }, { 85,-6457 }, { 86,-6457 }, { 87,-6457 }, { 88,-6457 }, + { 89,-6457 }, { 90,-6457 }, { 91,-6457 }, { 92,-6457 }, { 93,-6457 }, + { 94,-6457 }, { 95,-6457 }, { 96,-6457 }, { 97,-6457 }, { 98,-6457 }, + { 99,-6457 }, { 100,-6457 }, { 101,-6457 }, { 102,-6457 }, { 103,-6457 }, + { 104,-6457 }, { 105,-6457 }, { 106,-6457 }, { 107,-6457 }, { 108,-6457 }, + { 109,-6457 }, { 110,-6457 }, { 111,-6457 }, { 112,-6457 }, { 113,-6457 }, + { 114,-6457 }, { 115,-6457 }, { 116,-6457 }, { 117,-6457 }, { 118,-6457 }, + + { 119,-6457 }, { 120,-6457 }, { 121,-6457 }, { 122,-6457 }, { 123,-6457 }, + { 124,-6457 }, { 125,-6457 }, { 126,-6457 }, { 127,-6457 }, { 128,-6457 }, + { 129,-6457 }, { 130,-6457 }, { 131,-6457 }, { 132,-6457 }, { 133,-6457 }, + { 134,-6457 }, { 135,-6457 }, { 136,-6457 }, { 137,-6457 }, { 138,-6457 }, + { 139,-6457 }, { 140,-6457 }, { 141,-6457 }, { 142,-6457 }, { 143,-6457 }, + { 144,-6457 }, { 145,-6457 }, { 146,-6457 }, { 147,-6457 }, { 148,-6457 }, + { 149,-6457 }, { 150,-6457 }, { 151,-6457 }, { 152,-6457 }, { 153,-6457 }, + { 154,-6457 }, { 155,-6457 }, { 156,-6457 }, { 157,-6457 }, { 158,-6457 }, + { 159,-6457 }, { 160,-6457 }, { 161,-6457 }, { 162,-6457 }, { 163,-6457 }, + { 164,-6457 }, { 165,-6457 }, { 166,-6457 }, { 167,-6457 }, { 168,-6457 }, + + { 169,-6457 }, { 170,-6457 }, { 171,-6457 }, { 172,-6457 }, { 173,-6457 }, + { 174,-6457 }, { 175,-6457 }, { 176,-6457 }, { 177,-6457 }, { 178,-6457 }, + { 179,-6457 }, { 180,-6457 }, { 181,-6457 }, { 182,-6457 }, { 183,-6457 }, + { 184,-6457 }, { 185,-6457 }, { 186,-6457 }, { 187,-6457 }, { 188,-6457 }, + { 189,-6457 }, { 190,-6457 }, { 191,-6457 }, { 192,-6457 }, { 193,-6457 }, + { 194,-6457 }, { 195,-6457 }, { 196,-6457 }, { 197,-6457 }, { 198,-6457 }, + { 199,-6457 }, { 200,-6457 }, { 201,-6457 }, { 202,-6457 }, { 203,-6457 }, + { 204,-6457 }, { 205,-6457 }, { 206,-6457 }, { 207,-6457 }, { 208,-6457 }, + { 209,-6457 }, { 210,-6457 }, { 211,-6457 }, { 212,-6457 }, { 213,-6457 }, + { 214,-6457 }, { 215,-6457 }, { 216,-6457 }, { 217,-6457 }, { 218,-6457 }, + + { 219,-6457 }, { 220,-6457 }, { 221,-6457 }, { 222,-6457 }, { 223,-6457 }, + { 224,-6457 }, { 225,-6457 }, { 226,-6457 }, { 227,-6457 }, { 228,-6457 }, + { 229,-6457 }, { 230,-6457 }, { 231,-6457 }, { 232,-6457 }, { 233,-6457 }, + { 234,-6457 }, { 235,-6457 }, { 236,-6457 }, { 237,-6457 }, { 238,-6457 }, + { 239,-6457 }, { 240,-6457 }, { 241,-6457 }, { 242,-6457 }, { 243,-6457 }, + { 244,-6457 }, { 245,-6457 }, { 246,-6457 }, { 247,-6457 }, { 248,-6457 }, + { 249,-6457 }, { 250,-6457 }, { 251,-6457 }, { 252,-6457 }, { 253,-6457 }, + { 254,-6457 }, { 255,-6457 }, { 256,-6457 }, { 0, 24 }, { 0,18841 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9,-11490 }, { 10,-11490 }, + + { 0, 0 }, { 12,-11490 }, { 13,-11490 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 32,-11490 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 39,6358 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-34427 }, + { 0, 24 }, { 0,18794 }, { 1,-6762 }, { 2,-6762 }, { 3,-6762 }, + { 4,-6762 }, { 5,-6762 }, { 6,-6762 }, { 7,-6762 }, { 8,-6762 }, + { 9,-6504 }, { 10,-11537 }, { 11,-6762 }, { 12,-6504 }, { 13,-11537 }, + + { 14,-6762 }, { 15,-6762 }, { 16,-6762 }, { 17,-6762 }, { 18,-6762 }, + { 19,-6762 }, { 20,-6762 }, { 21,-6762 }, { 22,-6762 }, { 23,-6762 }, + { 24,-6762 }, { 25,-6762 }, { 26,-6762 }, { 27,-6762 }, { 28,-6762 }, + { 29,-6762 }, { 30,-6762 }, { 31,-6762 }, { 32,-6504 }, { 33,-6762 }, + { 34,-6762 }, { 35,-6762 }, { 36,-6762 }, { 37,-6762 }, { 38,-6762 }, + { 39,6053 }, { 40,-6762 }, { 41,-6762 }, { 42,-6762 }, { 43,-6762 }, + { 44,-6762 }, { 45, 258 }, { 46,-6762 }, { 47,-6762 }, { 48,-6762 }, + { 49,-6762 }, { 50,-6762 }, { 51,-6762 }, { 52,-6762 }, { 53,-6762 }, + { 54,-6762 }, { 55,-6762 }, { 56,-6762 }, { 57,-6762 }, { 58,-6762 }, + { 59,-6762 }, { 60,-6762 }, { 61,-6762 }, { 62,-6762 }, { 63,-6762 }, + + { 64,-6762 }, { 65,-6762 }, { 66,-6762 }, { 67,-6762 }, { 68,-6762 }, + { 69,-6762 }, { 70,-6762 }, { 71,-6762 }, { 72,-6762 }, { 73,-6762 }, + { 74,-6762 }, { 75,-6762 }, { 76,-6762 }, { 77,-6762 }, { 78,-6762 }, + { 79,-6762 }, { 80,-6762 }, { 81,-6762 }, { 82,-6762 }, { 83,-6762 }, + { 84,-6762 }, { 85,-6762 }, { 86,-6762 }, { 87,-6762 }, { 88,-6762 }, + { 89,-6762 }, { 90,-6762 }, { 91,-6762 }, { 92,-6762 }, { 93,-6762 }, + { 94,-6762 }, { 95,-6762 }, { 96,-6762 }, { 97,-6762 }, { 98,-6762 }, + { 99,-6762 }, { 100,-6762 }, { 101,-6762 }, { 102,-6762 }, { 103,-6762 }, + { 104,-6762 }, { 105,-6762 }, { 106,-6762 }, { 107,-6762 }, { 108,-6762 }, + { 109,-6762 }, { 110,-6762 }, { 111,-6762 }, { 112,-6762 }, { 113,-6762 }, + + { 114,-6762 }, { 115,-6762 }, { 116,-6762 }, { 117,-6762 }, { 118,-6762 }, + { 119,-6762 }, { 120,-6762 }, { 121,-6762 }, { 122,-6762 }, { 123,-6762 }, + { 124,-6762 }, { 125,-6762 }, { 126,-6762 }, { 127,-6762 }, { 128,-6762 }, + { 129,-6762 }, { 130,-6762 }, { 131,-6762 }, { 132,-6762 }, { 133,-6762 }, + { 134,-6762 }, { 135,-6762 }, { 136,-6762 }, { 137,-6762 }, { 138,-6762 }, + { 139,-6762 }, { 140,-6762 }, { 141,-6762 }, { 142,-6762 }, { 143,-6762 }, + { 144,-6762 }, { 145,-6762 }, { 146,-6762 }, { 147,-6762 }, { 148,-6762 }, + { 149,-6762 }, { 150,-6762 }, { 151,-6762 }, { 152,-6762 }, { 153,-6762 }, + { 154,-6762 }, { 155,-6762 }, { 156,-6762 }, { 157,-6762 }, { 158,-6762 }, + { 159,-6762 }, { 160,-6762 }, { 161,-6762 }, { 162,-6762 }, { 163,-6762 }, + + { 164,-6762 }, { 165,-6762 }, { 166,-6762 }, { 167,-6762 }, { 168,-6762 }, + { 169,-6762 }, { 170,-6762 }, { 171,-6762 }, { 172,-6762 }, { 173,-6762 }, + { 174,-6762 }, { 175,-6762 }, { 176,-6762 }, { 177,-6762 }, { 178,-6762 }, + { 179,-6762 }, { 180,-6762 }, { 181,-6762 }, { 182,-6762 }, { 183,-6762 }, + { 184,-6762 }, { 185,-6762 }, { 186,-6762 }, { 187,-6762 }, { 188,-6762 }, + { 189,-6762 }, { 190,-6762 }, { 191,-6762 }, { 192,-6762 }, { 193,-6762 }, + { 194,-6762 }, { 195,-6762 }, { 196,-6762 }, { 197,-6762 }, { 198,-6762 }, + { 199,-6762 }, { 200,-6762 }, { 201,-6762 }, { 202,-6762 }, { 203,-6762 }, + { 204,-6762 }, { 205,-6762 }, { 206,-6762 }, { 207,-6762 }, { 208,-6762 }, + { 209,-6762 }, { 210,-6762 }, { 211,-6762 }, { 212,-6762 }, { 213,-6762 }, + + { 214,-6762 }, { 215,-6762 }, { 216,-6762 }, { 217,-6762 }, { 218,-6762 }, + { 219,-6762 }, { 220,-6762 }, { 221,-6762 }, { 222,-6762 }, { 223,-6762 }, + { 224,-6762 }, { 225,-6762 }, { 226,-6762 }, { 227,-6762 }, { 228,-6762 }, + { 229,-6762 }, { 230,-6762 }, { 231,-6762 }, { 232,-6762 }, { 233,-6762 }, + { 234,-6762 }, { 235,-6762 }, { 236,-6762 }, { 237,-6762 }, { 238,-6762 }, + { 239,-6762 }, { 240,-6762 }, { 241,-6762 }, { 242,-6762 }, { 243,-6762 }, + { 244,-6762 }, { 245,-6762 }, { 246,-6762 }, { 247,-6762 }, { 248,-6762 }, + { 249,-6762 }, { 250,-6762 }, { 251,-6762 }, { 252,-6762 }, { 253,-6762 }, + { 254,-6762 }, { 255,-6762 }, { 256,-6762 }, { 0, 24 }, { 0,18536 }, + { 1,-7020 }, { 2,-7020 }, { 3,-7020 }, { 4,-7020 }, { 5,-7020 }, + + { 6,-7020 }, { 7,-7020 }, { 8,-7020 }, { 9,-6762 }, { 10,-11795 }, + { 11,-7020 }, { 12,-6762 }, { 13,-11795 }, { 14,-7020 }, { 15,-7020 }, + { 16,-7020 }, { 17,-7020 }, { 18,-7020 }, { 19,-7020 }, { 20,-7020 }, + { 21,-7020 }, { 22,-7020 }, { 23,-7020 }, { 24,-7020 }, { 25,-7020 }, + { 26,-7020 }, { 27,-7020 }, { 28,-7020 }, { 29,-7020 }, { 30,-7020 }, + { 31,-7020 }, { 32,-6762 }, { 33,-7020 }, { 34,-7020 }, { 35,-7020 }, + { 36,-7020 }, { 37,-7020 }, { 38,-7020 }, { 39,-6504 }, { 40,-7020 }, + { 41,-7020 }, { 42,-7020 }, { 43,-7020 }, { 44,-7020 }, { 45, 0 }, + { 46,-7020 }, { 47,-7020 }, { 48,-7020 }, { 49,-7020 }, { 50,-7020 }, + { 51,-7020 }, { 52,-7020 }, { 53,-7020 }, { 54,-7020 }, { 55,-7020 }, + + { 56,-7020 }, { 57,-7020 }, { 58,-7020 }, { 59,-7020 }, { 60,-7020 }, + { 61,-7020 }, { 62,-7020 }, { 63,-7020 }, { 64,-7020 }, { 65,-7020 }, + { 66,-7020 }, { 67,-7020 }, { 68,-7020 }, { 69,-7020 }, { 70,-7020 }, + { 71,-7020 }, { 72,-7020 }, { 73,-7020 }, { 74,-7020 }, { 75,-7020 }, + { 76,-7020 }, { 77,-7020 }, { 78,-7020 }, { 79,-7020 }, { 80,-7020 }, + { 81,-7020 }, { 82,-7020 }, { 83,-7020 }, { 84,-7020 }, { 85,-7020 }, + { 86,-7020 }, { 87,-7020 }, { 88,-7020 }, { 89,-7020 }, { 90,-7020 }, + { 91,-7020 }, { 92,-7020 }, { 93,-7020 }, { 94,-7020 }, { 95,-7020 }, + { 96,-7020 }, { 97,-7020 }, { 98,-7020 }, { 99,-7020 }, { 100,-7020 }, + { 101,-7020 }, { 102,-7020 }, { 103,-7020 }, { 104,-7020 }, { 105,-7020 }, + + { 106,-7020 }, { 107,-7020 }, { 108,-7020 }, { 109,-7020 }, { 110,-7020 }, + { 111,-7020 }, { 112,-7020 }, { 113,-7020 }, { 114,-7020 }, { 115,-7020 }, + { 116,-7020 }, { 117,-7020 }, { 118,-7020 }, { 119,-7020 }, { 120,-7020 }, + { 121,-7020 }, { 122,-7020 }, { 123,-7020 }, { 124,-7020 }, { 125,-7020 }, + { 126,-7020 }, { 127,-7020 }, { 128,-7020 }, { 129,-7020 }, { 130,-7020 }, + { 131,-7020 }, { 132,-7020 }, { 133,-7020 }, { 134,-7020 }, { 135,-7020 }, + { 136,-7020 }, { 137,-7020 }, { 138,-7020 }, { 139,-7020 }, { 140,-7020 }, + { 141,-7020 }, { 142,-7020 }, { 143,-7020 }, { 144,-7020 }, { 145,-7020 }, + { 146,-7020 }, { 147,-7020 }, { 148,-7020 }, { 149,-7020 }, { 150,-7020 }, + { 151,-7020 }, { 152,-7020 }, { 153,-7020 }, { 154,-7020 }, { 155,-7020 }, + + { 156,-7020 }, { 157,-7020 }, { 158,-7020 }, { 159,-7020 }, { 160,-7020 }, + { 161,-7020 }, { 162,-7020 }, { 163,-7020 }, { 164,-7020 }, { 165,-7020 }, + { 166,-7020 }, { 167,-7020 }, { 168,-7020 }, { 169,-7020 }, { 170,-7020 }, + { 171,-7020 }, { 172,-7020 }, { 173,-7020 }, { 174,-7020 }, { 175,-7020 }, + { 176,-7020 }, { 177,-7020 }, { 178,-7020 }, { 179,-7020 }, { 180,-7020 }, + { 181,-7020 }, { 182,-7020 }, { 183,-7020 }, { 184,-7020 }, { 185,-7020 }, + { 186,-7020 }, { 187,-7020 }, { 188,-7020 }, { 189,-7020 }, { 190,-7020 }, + { 191,-7020 }, { 192,-7020 }, { 193,-7020 }, { 194,-7020 }, { 195,-7020 }, + { 196,-7020 }, { 197,-7020 }, { 198,-7020 }, { 199,-7020 }, { 200,-7020 }, + { 201,-7020 }, { 202,-7020 }, { 203,-7020 }, { 204,-7020 }, { 205,-7020 }, + + { 206,-7020 }, { 207,-7020 }, { 208,-7020 }, { 209,-7020 }, { 210,-7020 }, + { 211,-7020 }, { 212,-7020 }, { 213,-7020 }, { 214,-7020 }, { 215,-7020 }, + { 216,-7020 }, { 217,-7020 }, { 218,-7020 }, { 219,-7020 }, { 220,-7020 }, + { 221,-7020 }, { 222,-7020 }, { 223,-7020 }, { 224,-7020 }, { 225,-7020 }, + { 226,-7020 }, { 227,-7020 }, { 228,-7020 }, { 229,-7020 }, { 230,-7020 }, + { 231,-7020 }, { 232,-7020 }, { 233,-7020 }, { 234,-7020 }, { 235,-7020 }, + { 236,-7020 }, { 237,-7020 }, { 238,-7020 }, { 239,-7020 }, { 240,-7020 }, + { 241,-7020 }, { 242,-7020 }, { 243,-7020 }, { 244,-7020 }, { 245,-7020 }, + { 246,-7020 }, { 247,-7020 }, { 248,-7020 }, { 249,-7020 }, { 250,-7020 }, + { 251,-7020 }, { 252,-7020 }, { 253,-7020 }, { 254,-7020 }, { 255,-7020 }, + + { 256,-7020 }, { 0, 48 }, { 0,18278 }, { 1, 516 }, { 2, 516 }, + { 3, 516 }, { 4, 516 }, { 5, 516 }, { 6, 516 }, { 7, 516 }, + { 8, 516 }, { 9, 774 }, { 10,-10096 }, { 11, 516 }, { 12, 774 }, + { 13,-10096 }, { 14, 516 }, { 15, 516 }, { 16, 516 }, { 17, 516 }, + { 18, 516 }, { 19, 516 }, { 20, 516 }, { 21, 516 }, { 22, 516 }, + { 23, 516 }, { 24, 516 }, { 25, 516 }, { 26, 516 }, { 27, 516 }, + { 28, 516 }, { 29, 516 }, { 30, 516 }, { 31, 516 }, { 32, 774 }, + { 33, 516 }, { 34, 516 }, { 35, 516 }, { 36, 516 }, { 37, 516 }, + { 38, 516 }, { 39,1032 }, { 40, 516 }, { 41, 516 }, { 42, 516 }, + { 43, 516 }, { 44, 516 }, { 45,6053 }, { 46, 516 }, { 47, 516 }, + + { 48, 516 }, { 49, 516 }, { 50, 516 }, { 51, 516 }, { 52, 516 }, + { 53, 516 }, { 54, 516 }, { 55, 516 }, { 56, 516 }, { 57, 516 }, + { 58, 516 }, { 59, 516 }, { 60, 516 }, { 61, 516 }, { 62, 516 }, + { 63, 516 }, { 64, 516 }, { 65, 516 }, { 66, 516 }, { 67, 516 }, + { 68, 516 }, { 69, 516 }, { 70, 516 }, { 71, 516 }, { 72, 516 }, + { 73, 516 }, { 74, 516 }, { 75, 516 }, { 76, 516 }, { 77, 516 }, + { 78, 516 }, { 79, 516 }, { 80, 516 }, { 81, 516 }, { 82, 516 }, + { 83, 516 }, { 84, 516 }, { 85,1548 }, { 86, 516 }, { 87, 516 }, + { 88, 516 }, { 89, 516 }, { 90, 516 }, { 91, 516 }, { 92, 516 }, + { 93, 516 }, { 94, 516 }, { 95, 516 }, { 96, 516 }, { 97, 516 }, + + { 98, 516 }, { 99, 516 }, { 100, 516 }, { 101, 516 }, { 102, 516 }, + { 103, 516 }, { 104, 516 }, { 105, 516 }, { 106, 516 }, { 107, 516 }, + { 108, 516 }, { 109, 516 }, { 110, 516 }, { 111, 516 }, { 112, 516 }, + { 113, 516 }, { 114, 516 }, { 115, 516 }, { 116, 516 }, { 117,1548 }, + { 118, 516 }, { 119, 516 }, { 120, 516 }, { 121, 516 }, { 122, 516 }, + { 123, 516 }, { 124, 516 }, { 125, 516 }, { 126, 516 }, { 127, 516 }, + { 128, 516 }, { 129, 516 }, { 130, 516 }, { 131, 516 }, { 132, 516 }, + { 133, 516 }, { 134, 516 }, { 135, 516 }, { 136, 516 }, { 137, 516 }, + { 138, 516 }, { 139, 516 }, { 140, 516 }, { 141, 516 }, { 142, 516 }, + { 143, 516 }, { 144, 516 }, { 145, 516 }, { 146, 516 }, { 147, 516 }, + + { 148, 516 }, { 149, 516 }, { 150, 516 }, { 151, 516 }, { 152, 516 }, + { 153, 516 }, { 154, 516 }, { 155, 516 }, { 156, 516 }, { 157, 516 }, + { 158, 516 }, { 159, 516 }, { 160, 516 }, { 161, 516 }, { 162, 516 }, + { 163, 516 }, { 164, 516 }, { 165, 516 }, { 166, 516 }, { 167, 516 }, + { 168, 516 }, { 169, 516 }, { 170, 516 }, { 171, 516 }, { 172, 516 }, + { 173, 516 }, { 174, 516 }, { 175, 516 }, { 176, 516 }, { 177, 516 }, + { 178, 516 }, { 179, 516 }, { 180, 516 }, { 181, 516 }, { 182, 516 }, + { 183, 516 }, { 184, 516 }, { 185, 516 }, { 186, 516 }, { 187, 516 }, + { 188, 516 }, { 189, 516 }, { 190, 516 }, { 191, 516 }, { 192, 516 }, + { 193, 516 }, { 194, 516 }, { 195, 516 }, { 196, 516 }, { 197, 516 }, + + { 198, 516 }, { 199, 516 }, { 200, 516 }, { 201, 516 }, { 202, 516 }, + { 203, 516 }, { 204, 516 }, { 205, 516 }, { 206, 516 }, { 207, 516 }, + { 208, 516 }, { 209, 516 }, { 210, 516 }, { 211, 516 }, { 212, 516 }, + { 213, 516 }, { 214, 516 }, { 215, 516 }, { 216, 516 }, { 217, 516 }, + { 218, 516 }, { 219, 516 }, { 220, 516 }, { 221, 516 }, { 222, 516 }, + { 223, 516 }, { 224, 516 }, { 225, 516 }, { 226, 516 }, { 227, 516 }, + { 228, 516 }, { 229, 516 }, { 230, 516 }, { 231, 516 }, { 232, 516 }, + { 233, 516 }, { 234, 516 }, { 235, 516 }, { 236, 516 }, { 237, 516 }, + { 238, 516 }, { 239, 516 }, { 240, 516 }, { 241, 516 }, { 242, 516 }, + { 243, 516 }, { 244, 516 }, { 245, 516 }, { 246, 516 }, { 247, 516 }, + + { 248, 516 }, { 249, 516 }, { 250, 516 }, { 251, 516 }, { 252, 516 }, + { 253, 516 }, { 254, 516 }, { 255, 516 }, { 256, 516 }, { 0, 48 }, + { 0,18020 }, { 1,-25401 }, { 2,-25401 }, { 3,-25401 }, { 4,-25401 }, + { 5,-25401 }, { 6,-25401 }, { 7,-25401 }, { 8,-25401 }, { 9,-25143 }, + { 10,-31787 }, { 11,-25401 }, { 12,-25143 }, { 13,-31787 }, { 14,-25401 }, + { 15,-25401 }, { 16,-25401 }, { 17,-25401 }, { 18,-25401 }, { 19,-25401 }, + { 20,-25401 }, { 21,-25401 }, { 22,-25401 }, { 23,-25401 }, { 24,-25401 }, + { 25,-25401 }, { 26,-25401 }, { 27,-25401 }, { 28,-25401 }, { 29,-25401 }, + { 30,-25401 }, { 31,-25401 }, { 32,-25143 }, { 33,-25401 }, { 34,-25401 }, + { 35,-25401 }, { 36,-25401 }, { 37,-25401 }, { 38,-25401 }, { 39,-25401 }, + + { 40,-25401 }, { 41,-25401 }, { 42,-25401 }, { 43,-25401 }, { 44,-25401 }, + { 45,-24885 }, { 46,-25401 }, { 47,-25401 }, { 48,-25401 }, { 49,-25401 }, + { 50,-25401 }, { 51,-25401 }, { 52,-25401 }, { 53,-25401 }, { 54,-25401 }, + { 55,-25401 }, { 56,-25401 }, { 57,-25401 }, { 58,-25401 }, { 59,-25401 }, + { 60,-25401 }, { 61,-25401 }, { 62,-25401 }, { 63,-25401 }, { 64,-25401 }, + { 65,-25401 }, { 66,-25401 }, { 67,-25401 }, { 68,-25401 }, { 69,-25401 }, + { 70,-25401 }, { 71,-25401 }, { 72,-25401 }, { 73,-25401 }, { 74,-25401 }, + { 75,-25401 }, { 76,-25401 }, { 77,-25401 }, { 78,-25401 }, { 79,-25401 }, + { 80,-25401 }, { 81,-25401 }, { 82,-25401 }, { 83,-25401 }, { 84,-25401 }, + { 85,-24627 }, { 86,-25401 }, { 87,-25401 }, { 88,-25401 }, { 89,-25401 }, + + { 90,-25401 }, { 91,-25401 }, { 92,-25401 }, { 93,-25401 }, { 94,-25401 }, + { 95,-25401 }, { 96,-25401 }, { 97,-25401 }, { 98,-25401 }, { 99,-25401 }, + { 100,-25401 }, { 101,-25401 }, { 102,-25401 }, { 103,-25401 }, { 104,-25401 }, + { 105,-25401 }, { 106,-25401 }, { 107,-25401 }, { 108,-25401 }, { 109,-25401 }, + { 110,-25401 }, { 111,-25401 }, { 112,-25401 }, { 113,-25401 }, { 114,-25401 }, + { 115,-25401 }, { 116,-25401 }, { 117,-24627 }, { 118,-25401 }, { 119,-25401 }, + { 120,-25401 }, { 121,-25401 }, { 122,-25401 }, { 123,-25401 }, { 124,-25401 }, + { 125,-25401 }, { 126,-25401 }, { 127,-25401 }, { 128,-25401 }, { 129,-25401 }, + { 130,-25401 }, { 131,-25401 }, { 132,-25401 }, { 133,-25401 }, { 134,-25401 }, + { 135,-25401 }, { 136,-25401 }, { 137,-25401 }, { 138,-25401 }, { 139,-25401 }, + + { 140,-25401 }, { 141,-25401 }, { 142,-25401 }, { 143,-25401 }, { 144,-25401 }, + { 145,-25401 }, { 146,-25401 }, { 147,-25401 }, { 148,-25401 }, { 149,-25401 }, + { 150,-25401 }, { 151,-25401 }, { 152,-25401 }, { 153,-25401 }, { 154,-25401 }, + { 155,-25401 }, { 156,-25401 }, { 157,-25401 }, { 158,-25401 }, { 159,-25401 }, + { 160,-25401 }, { 161,-25401 }, { 162,-25401 }, { 163,-25401 }, { 164,-25401 }, + { 165,-25401 }, { 166,-25401 }, { 167,-25401 }, { 168,-25401 }, { 169,-25401 }, + { 170,-25401 }, { 171,-25401 }, { 172,-25401 }, { 173,-25401 }, { 174,-25401 }, + { 175,-25401 }, { 176,-25401 }, { 177,-25401 }, { 178,-25401 }, { 179,-25401 }, + { 180,-25401 }, { 181,-25401 }, { 182,-25401 }, { 183,-25401 }, { 184,-25401 }, + { 185,-25401 }, { 186,-25401 }, { 187,-25401 }, { 188,-25401 }, { 189,-25401 }, + + { 190,-25401 }, { 191,-25401 }, { 192,-25401 }, { 193,-25401 }, { 194,-25401 }, + { 195,-25401 }, { 196,-25401 }, { 197,-25401 }, { 198,-25401 }, { 199,-25401 }, + { 200,-25401 }, { 201,-25401 }, { 202,-25401 }, { 203,-25401 }, { 204,-25401 }, + { 205,-25401 }, { 206,-25401 }, { 207,-25401 }, { 208,-25401 }, { 209,-25401 }, + { 210,-25401 }, { 211,-25401 }, { 212,-25401 }, { 213,-25401 }, { 214,-25401 }, + { 215,-25401 }, { 216,-25401 }, { 217,-25401 }, { 218,-25401 }, { 219,-25401 }, + { 220,-25401 }, { 221,-25401 }, { 222,-25401 }, { 223,-25401 }, { 224,-25401 }, + { 225,-25401 }, { 226,-25401 }, { 227,-25401 }, { 228,-25401 }, { 229,-25401 }, + { 230,-25401 }, { 231,-25401 }, { 232,-25401 }, { 233,-25401 }, { 234,-25401 }, + { 235,-25401 }, { 236,-25401 }, { 237,-25401 }, { 238,-25401 }, { 239,-25401 }, + + { 240,-25401 }, { 241,-25401 }, { 242,-25401 }, { 243,-25401 }, { 244,-25401 }, + { 245,-25401 }, { 246,-25401 }, { 247,-25401 }, { 248,-25401 }, { 249,-25401 }, + { 250,-25401 }, { 251,-25401 }, { 252,-25401 }, { 253,-25401 }, { 254,-25401 }, + { 255,-25401 }, { 256,-25401 }, { 0, 48 }, { 0,17762 }, { 1, 0 }, + { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, + { 7, 0 }, { 8, 0 }, { 9, 258 }, { 10,-10612 }, { 11, 0 }, + { 12, 258 }, { 13,-10612 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, + { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, + { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, + { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, + + { 32, 258 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, { 36, 0 }, + { 37, 0 }, { 38, 0 }, { 39, 516 }, { 40, 0 }, { 41, 0 }, + { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45,5537 }, { 46, 0 }, + { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, + { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, + { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, + { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, + { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, + + { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85,1032 }, { 86, 0 }, + { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, + { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, + { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, + { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, + { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, + { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, + { 117,1032 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, + { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, + { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, + + { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, + { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, + { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, + { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, + { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, + { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, + { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, + { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, + { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, + { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, + + { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, + { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, + { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, + { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, + { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, + { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, + { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, + { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, + { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, + { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, + + { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, + { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, + { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, + { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, + { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, + { 0, 48 }, { 0,17504 }, { 1,-258 }, { 2,-258 }, { 3,-258 }, + { 4,-258 }, { 5,-258 }, { 6,-258 }, { 7,-258 }, { 8,-258 }, + { 9, 0 }, { 10,-10870 }, { 11,-258 }, { 12, 0 }, { 13,-10870 }, + { 14,-258 }, { 15,-258 }, { 16,-258 }, { 17,-258 }, { 18,-258 }, + { 19,-258 }, { 20,-258 }, { 21,-258 }, { 22,-258 }, { 23,-258 }, + + { 24,-258 }, { 25,-258 }, { 26,-258 }, { 27,-258 }, { 28,-258 }, + { 29,-258 }, { 30,-258 }, { 31,-258 }, { 32, 0 }, { 33,-258 }, + { 34,-258 }, { 35,-258 }, { 36,-258 }, { 37,-258 }, { 38,-258 }, + { 39, 258 }, { 40,-258 }, { 41,-258 }, { 42,-258 }, { 43,-258 }, + { 44,-258 }, { 45,5279 }, { 46,-258 }, { 47,-258 }, { 48,-258 }, + { 49,-258 }, { 50,-258 }, { 51,-258 }, { 52,-258 }, { 53,-258 }, + { 54,-258 }, { 55,-258 }, { 56,-258 }, { 57,-258 }, { 58,-258 }, + { 59,-258 }, { 60,-258 }, { 61,-258 }, { 62,-258 }, { 63,-258 }, + { 64,-258 }, { 65,-258 }, { 66,-258 }, { 67,-258 }, { 68,-258 }, + { 69,-258 }, { 70,-258 }, { 71,-258 }, { 72,-258 }, { 73,-258 }, + + { 74,-258 }, { 75,-258 }, { 76,-258 }, { 77,-258 }, { 78,-258 }, + { 79,-258 }, { 80,-258 }, { 81,-258 }, { 82,-258 }, { 83,-258 }, + { 84,-258 }, { 85, 774 }, { 86,-258 }, { 87,-258 }, { 88,-258 }, + { 89,-258 }, { 90,-258 }, { 91,-258 }, { 92,-258 }, { 93,-258 }, + { 94,-258 }, { 95,-258 }, { 96,-258 }, { 97,-258 }, { 98,-258 }, + { 99,-258 }, { 100,-258 }, { 101,-258 }, { 102,-258 }, { 103,-258 }, + { 104,-258 }, { 105,-258 }, { 106,-258 }, { 107,-258 }, { 108,-258 }, + { 109,-258 }, { 110,-258 }, { 111,-258 }, { 112,-258 }, { 113,-258 }, + { 114,-258 }, { 115,-258 }, { 116,-258 }, { 117, 774 }, { 118,-258 }, + { 119,-258 }, { 120,-258 }, { 121,-258 }, { 122,-258 }, { 123,-258 }, + + { 124,-258 }, { 125,-258 }, { 126,-258 }, { 127,-258 }, { 128,-258 }, + { 129,-258 }, { 130,-258 }, { 131,-258 }, { 132,-258 }, { 133,-258 }, + { 134,-258 }, { 135,-258 }, { 136,-258 }, { 137,-258 }, { 138,-258 }, + { 139,-258 }, { 140,-258 }, { 141,-258 }, { 142,-258 }, { 143,-258 }, + { 144,-258 }, { 145,-258 }, { 146,-258 }, { 147,-258 }, { 148,-258 }, + { 149,-258 }, { 150,-258 }, { 151,-258 }, { 152,-258 }, { 153,-258 }, + { 154,-258 }, { 155,-258 }, { 156,-258 }, { 157,-258 }, { 158,-258 }, + { 159,-258 }, { 160,-258 }, { 161,-258 }, { 162,-258 }, { 163,-258 }, + { 164,-258 }, { 165,-258 }, { 166,-258 }, { 167,-258 }, { 168,-258 }, + { 169,-258 }, { 170,-258 }, { 171,-258 }, { 172,-258 }, { 173,-258 }, + + { 174,-258 }, { 175,-258 }, { 176,-258 }, { 177,-258 }, { 178,-258 }, + { 179,-258 }, { 180,-258 }, { 181,-258 }, { 182,-258 }, { 183,-258 }, + { 184,-258 }, { 185,-258 }, { 186,-258 }, { 187,-258 }, { 188,-258 }, + { 189,-258 }, { 190,-258 }, { 191,-258 }, { 192,-258 }, { 193,-258 }, + { 194,-258 }, { 195,-258 }, { 196,-258 }, { 197,-258 }, { 198,-258 }, + { 199,-258 }, { 200,-258 }, { 201,-258 }, { 202,-258 }, { 203,-258 }, + { 204,-258 }, { 205,-258 }, { 206,-258 }, { 207,-258 }, { 208,-258 }, + { 209,-258 }, { 210,-258 }, { 211,-258 }, { 212,-258 }, { 213,-258 }, + { 214,-258 }, { 215,-258 }, { 216,-258 }, { 217,-258 }, { 218,-258 }, + { 219,-258 }, { 220,-258 }, { 221,-258 }, { 222,-258 }, { 223,-258 }, + + { 224,-258 }, { 225,-258 }, { 226,-258 }, { 227,-258 }, { 228,-258 }, + { 229,-258 }, { 230,-258 }, { 231,-258 }, { 232,-258 }, { 233,-258 }, + { 234,-258 }, { 235,-258 }, { 236,-258 }, { 237,-258 }, { 238,-258 }, + { 239,-258 }, { 240,-258 }, { 241,-258 }, { 242,-258 }, { 243,-258 }, + { 244,-258 }, { 245,-258 }, { 246,-258 }, { 247,-258 }, { 248,-258 }, + { 249,-258 }, { 250,-258 }, { 251,-258 }, { 252,-258 }, { 253,-258 }, + { 254,-258 }, { 255,-258 }, { 256,-258 }, { 0, 48 }, { 0,17246 }, + { 1,5279 }, { 2,5279 }, { 3,5279 }, { 4,5279 }, { 5,5279 }, + { 6,5279 }, { 7,5279 }, { 8,5279 }, { 9,5537 }, { 10,5795 }, + { 11,5279 }, { 12,5537 }, { 13,5795 }, { 14,5279 }, { 15,5279 }, + + { 16,5279 }, { 17,5279 }, { 18,5279 }, { 19,5279 }, { 20,5279 }, + { 21,5279 }, { 22,5279 }, { 23,5279 }, { 24,5279 }, { 25,5279 }, + { 26,5279 }, { 27,5279 }, { 28,5279 }, { 29,5279 }, { 30,5279 }, + { 31,5279 }, { 32,5537 }, { 33,5279 }, { 34,5279 }, { 35,5279 }, + { 36,5279 }, { 37,5279 }, { 38,5279 }, { 39, 0 }, { 40,5279 }, + { 41,5279 }, { 42,5279 }, { 43,5279 }, { 44,5279 }, { 45,5914 }, + { 46,5279 }, { 47,5279 }, { 48,5279 }, { 49,5279 }, { 50,5279 }, + { 51,5279 }, { 52,5279 }, { 53,5279 }, { 54,5279 }, { 55,5279 }, + { 56,5279 }, { 57,5279 }, { 58,5279 }, { 59,5279 }, { 60,5279 }, + { 61,5279 }, { 62,5279 }, { 63,5279 }, { 64,5279 }, { 65,5279 }, + + { 66,5279 }, { 67,5279 }, { 68,5279 }, { 69,5279 }, { 70,5279 }, + { 71,5279 }, { 72,5279 }, { 73,5279 }, { 74,5279 }, { 75,5279 }, + { 76,5279 }, { 77,5279 }, { 78,5279 }, { 79,5279 }, { 80,5279 }, + { 81,5279 }, { 82,5279 }, { 83,5279 }, { 84,5279 }, { 85,6172 }, + { 86,5279 }, { 87,5279 }, { 88,5279 }, { 89,5279 }, { 90,5279 }, + { 91,5279 }, { 92,5279 }, { 93,5279 }, { 94,5279 }, { 95,5279 }, + { 96,5279 }, { 97,5279 }, { 98,5279 }, { 99,5279 }, { 100,5279 }, + { 101,5279 }, { 102,5279 }, { 103,5279 }, { 104,5279 }, { 105,5279 }, + { 106,5279 }, { 107,5279 }, { 108,5279 }, { 109,5279 }, { 110,5279 }, + { 111,5279 }, { 112,5279 }, { 113,5279 }, { 114,5279 }, { 115,5279 }, + + { 116,5279 }, { 117,6172 }, { 118,5279 }, { 119,5279 }, { 120,5279 }, + { 121,5279 }, { 122,5279 }, { 123,5279 }, { 124,5279 }, { 125,5279 }, + { 126,5279 }, { 127,5279 }, { 128,5279 }, { 129,5279 }, { 130,5279 }, + { 131,5279 }, { 132,5279 }, { 133,5279 }, { 134,5279 }, { 135,5279 }, + { 136,5279 }, { 137,5279 }, { 138,5279 }, { 139,5279 }, { 140,5279 }, + { 141,5279 }, { 142,5279 }, { 143,5279 }, { 144,5279 }, { 145,5279 }, + { 146,5279 }, { 147,5279 }, { 148,5279 }, { 149,5279 }, { 150,5279 }, + { 151,5279 }, { 152,5279 }, { 153,5279 }, { 154,5279 }, { 155,5279 }, + { 156,5279 }, { 157,5279 }, { 158,5279 }, { 159,5279 }, { 160,5279 }, + { 161,5279 }, { 162,5279 }, { 163,5279 }, { 164,5279 }, { 165,5279 }, + + { 166,5279 }, { 167,5279 }, { 168,5279 }, { 169,5279 }, { 170,5279 }, + { 171,5279 }, { 172,5279 }, { 173,5279 }, { 174,5279 }, { 175,5279 }, + { 176,5279 }, { 177,5279 }, { 178,5279 }, { 179,5279 }, { 180,5279 }, + { 181,5279 }, { 182,5279 }, { 183,5279 }, { 184,5279 }, { 185,5279 }, + { 186,5279 }, { 187,5279 }, { 188,5279 }, { 189,5279 }, { 190,5279 }, + { 191,5279 }, { 192,5279 }, { 193,5279 }, { 194,5279 }, { 195,5279 }, + { 196,5279 }, { 197,5279 }, { 198,5279 }, { 199,5279 }, { 200,5279 }, + { 201,5279 }, { 202,5279 }, { 203,5279 }, { 204,5279 }, { 205,5279 }, + { 206,5279 }, { 207,5279 }, { 208,5279 }, { 209,5279 }, { 210,5279 }, + { 211,5279 }, { 212,5279 }, { 213,5279 }, { 214,5279 }, { 215,5279 }, + + { 216,5279 }, { 217,5279 }, { 218,5279 }, { 219,5279 }, { 220,5279 }, + { 221,5279 }, { 222,5279 }, { 223,5279 }, { 224,5279 }, { 225,5279 }, + { 226,5279 }, { 227,5279 }, { 228,5279 }, { 229,5279 }, { 230,5279 }, + { 231,5279 }, { 232,5279 }, { 233,5279 }, { 234,5279 }, { 235,5279 }, + { 236,5279 }, { 237,5279 }, { 238,5279 }, { 239,5279 }, { 240,5279 }, + { 241,5279 }, { 242,5279 }, { 243,5279 }, { 244,5279 }, { 245,5279 }, + { 246,5279 }, { 247,5279 }, { 248,5279 }, { 249,5279 }, { 250,5279 }, + { 251,5279 }, { 252,5279 }, { 253,5279 }, { 254,5279 }, { 255,5279 }, + { 256,5279 }, { 0, 48 }, { 0,16988 }, { 1,-774 }, { 2,-774 }, + { 3,-774 }, { 4,-774 }, { 5,-774 }, { 6,-774 }, { 7,-774 }, + + { 8,-774 }, { 9,-516 }, { 10,-11386 }, { 11,-774 }, { 12,-516 }, + { 13,-11386 }, { 14,-774 }, { 15,-774 }, { 16,-774 }, { 17,-774 }, + { 18,-774 }, { 19,-774 }, { 20,-774 }, { 21,-774 }, { 22,-774 }, + { 23,-774 }, { 24,-774 }, { 25,-774 }, { 26,-774 }, { 27,-774 }, + { 28,-774 }, { 29,-774 }, { 30,-774 }, { 31,-774 }, { 32,-516 }, + { 33,-774 }, { 34,-774 }, { 35,-774 }, { 36,-774 }, { 37,-774 }, + { 38,-774 }, { 39,-258 }, { 40,-774 }, { 41,-774 }, { 42,-774 }, + { 43,-774 }, { 44,-774 }, { 45,6172 }, { 46,-774 }, { 47,-774 }, + { 48,-774 }, { 49,-774 }, { 50,-774 }, { 51,-774 }, { 52,-774 }, + { 53,-774 }, { 54,-774 }, { 55,-774 }, { 56,-774 }, { 57,-774 }, + + { 58,-774 }, { 59,-774 }, { 60,-774 }, { 61,-774 }, { 62,-774 }, + { 63,-774 }, { 64,-774 }, { 65,-774 }, { 66,-774 }, { 67,-774 }, + { 68,-774 }, { 69,-774 }, { 70,-774 }, { 71,-774 }, { 72,-774 }, + { 73,-774 }, { 74,-774 }, { 75,-774 }, { 76,-774 }, { 77,-774 }, + { 78,-774 }, { 79,-774 }, { 80,-774 }, { 81,-774 }, { 82,-774 }, + { 83,-774 }, { 84,-774 }, { 85, 258 }, { 86,-774 }, { 87,-774 }, + { 88,-774 }, { 89,-774 }, { 90,-774 }, { 91,-774 }, { 92,-774 }, + { 93,-774 }, { 94,-774 }, { 95,-774 }, { 96,-774 }, { 97,-774 }, + { 98,-774 }, { 99,-774 }, { 100,-774 }, { 101,-774 }, { 102,-774 }, + { 103,-774 }, { 104,-774 }, { 105,-774 }, { 106,-774 }, { 107,-774 }, + + { 108,-774 }, { 109,-774 }, { 110,-774 }, { 111,-774 }, { 112,-774 }, + { 113,-774 }, { 114,-774 }, { 115,-774 }, { 116,-774 }, { 117, 258 }, + { 118,-774 }, { 119,-774 }, { 120,-774 }, { 121,-774 }, { 122,-774 }, + { 123,-774 }, { 124,-774 }, { 125,-774 }, { 126,-774 }, { 127,-774 }, + { 128,-774 }, { 129,-774 }, { 130,-774 }, { 131,-774 }, { 132,-774 }, + { 133,-774 }, { 134,-774 }, { 135,-774 }, { 136,-774 }, { 137,-774 }, + { 138,-774 }, { 139,-774 }, { 140,-774 }, { 141,-774 }, { 142,-774 }, + { 143,-774 }, { 144,-774 }, { 145,-774 }, { 146,-774 }, { 147,-774 }, + { 148,-774 }, { 149,-774 }, { 150,-774 }, { 151,-774 }, { 152,-774 }, + { 153,-774 }, { 154,-774 }, { 155,-774 }, { 156,-774 }, { 157,-774 }, + + { 158,-774 }, { 159,-774 }, { 160,-774 }, { 161,-774 }, { 162,-774 }, + { 163,-774 }, { 164,-774 }, { 165,-774 }, { 166,-774 }, { 167,-774 }, + { 168,-774 }, { 169,-774 }, { 170,-774 }, { 171,-774 }, { 172,-774 }, + { 173,-774 }, { 174,-774 }, { 175,-774 }, { 176,-774 }, { 177,-774 }, + { 178,-774 }, { 179,-774 }, { 180,-774 }, { 181,-774 }, { 182,-774 }, + { 183,-774 }, { 184,-774 }, { 185,-774 }, { 186,-774 }, { 187,-774 }, + { 188,-774 }, { 189,-774 }, { 190,-774 }, { 191,-774 }, { 192,-774 }, + { 193,-774 }, { 194,-774 }, { 195,-774 }, { 196,-774 }, { 197,-774 }, + { 198,-774 }, { 199,-774 }, { 200,-774 }, { 201,-774 }, { 202,-774 }, + { 203,-774 }, { 204,-774 }, { 205,-774 }, { 206,-774 }, { 207,-774 }, + + { 208,-774 }, { 209,-774 }, { 210,-774 }, { 211,-774 }, { 212,-774 }, + { 213,-774 }, { 214,-774 }, { 215,-774 }, { 216,-774 }, { 217,-774 }, + { 218,-774 }, { 219,-774 }, { 220,-774 }, { 221,-774 }, { 222,-774 }, + { 223,-774 }, { 224,-774 }, { 225,-774 }, { 226,-774 }, { 227,-774 }, + { 228,-774 }, { 229,-774 }, { 230,-774 }, { 231,-774 }, { 232,-774 }, + { 233,-774 }, { 234,-774 }, { 235,-774 }, { 236,-774 }, { 237,-774 }, + { 238,-774 }, { 239,-774 }, { 240,-774 }, { 241,-774 }, { 242,-774 }, + { 243,-774 }, { 244,-774 }, { 245,-774 }, { 246,-774 }, { 247,-774 }, + { 248,-774 }, { 249,-774 }, { 250,-774 }, { 251,-774 }, { 252,-774 }, + { 253,-774 }, { 254,-774 }, { 255,-774 }, { 256,-774 }, { 0, 48 }, + + { 0,16730 }, { 1,-1032 }, { 2,-1032 }, { 3,-1032 }, { 4,-1032 }, + { 5,-1032 }, { 6,-1032 }, { 7,-1032 }, { 8,-1032 }, { 9,-774 }, + { 10,-11644 }, { 11,-1032 }, { 12,-774 }, { 13,-11644 }, { 14,-1032 }, + { 15,-1032 }, { 16,-1032 }, { 17,-1032 }, { 18,-1032 }, { 19,-1032 }, + { 20,-1032 }, { 21,-1032 }, { 22,-1032 }, { 23,-1032 }, { 24,-1032 }, + { 25,-1032 }, { 26,-1032 }, { 27,-1032 }, { 28,-1032 }, { 29,-1032 }, + { 30,-1032 }, { 31,-1032 }, { 32,-774 }, { 33,-1032 }, { 34,-1032 }, + { 35,-1032 }, { 36,-1032 }, { 37,-1032 }, { 38,-1032 }, { 39,-516 }, + { 40,-1032 }, { 41,-1032 }, { 42,-1032 }, { 43,-1032 }, { 44,-1032 }, + { 45,4505 }, { 46,-1032 }, { 47,-1032 }, { 48,-1032 }, { 49,-1032 }, + + { 50,-1032 }, { 51,-1032 }, { 52,-1032 }, { 53,-1032 }, { 54,-1032 }, + { 55,-1032 }, { 56,-1032 }, { 57,-1032 }, { 58,-1032 }, { 59,-1032 }, + { 60,-1032 }, { 61,-1032 }, { 62,-1032 }, { 63,-1032 }, { 64,-1032 }, + { 65,-1032 }, { 66,-1032 }, { 67,-1032 }, { 68,-1032 }, { 69,6172 }, + { 70,-1032 }, { 71,-1032 }, { 72,-1032 }, { 73,-1032 }, { 74,-1032 }, + { 75,-1032 }, { 76,-1032 }, { 77,-1032 }, { 78,-1032 }, { 79,-1032 }, + { 80,-1032 }, { 81,-1032 }, { 82,-1032 }, { 83,-1032 }, { 84,-1032 }, + { 85, 0 }, { 86,-1032 }, { 87,-1032 }, { 88,-1032 }, { 89,-1032 }, + { 90,-1032 }, { 91,-1032 }, { 92,-1032 }, { 93,-1032 }, { 94,-1032 }, + { 95,-1032 }, { 96,-1032 }, { 97,-1032 }, { 98,-1032 }, { 99,-1032 }, + + { 100,-1032 }, { 101,6172 }, { 102,-1032 }, { 103,-1032 }, { 104,-1032 }, + { 105,-1032 }, { 106,-1032 }, { 107,-1032 }, { 108,-1032 }, { 109,-1032 }, + { 110,-1032 }, { 111,-1032 }, { 112,-1032 }, { 113,-1032 }, { 114,-1032 }, + { 115,-1032 }, { 116,-1032 }, { 117, 0 }, { 118,-1032 }, { 119,-1032 }, + { 120,-1032 }, { 121,-1032 }, { 122,-1032 }, { 123,-1032 }, { 124,-1032 }, + { 125,-1032 }, { 126,-1032 }, { 127,-1032 }, { 128,-1032 }, { 129,-1032 }, + { 130,-1032 }, { 131,-1032 }, { 132,-1032 }, { 133,-1032 }, { 134,-1032 }, + { 135,-1032 }, { 136,-1032 }, { 137,-1032 }, { 138,-1032 }, { 139,-1032 }, + { 140,-1032 }, { 141,-1032 }, { 142,-1032 }, { 143,-1032 }, { 144,-1032 }, + { 145,-1032 }, { 146,-1032 }, { 147,-1032 }, { 148,-1032 }, { 149,-1032 }, + + { 150,-1032 }, { 151,-1032 }, { 152,-1032 }, { 153,-1032 }, { 154,-1032 }, + { 155,-1032 }, { 156,-1032 }, { 157,-1032 }, { 158,-1032 }, { 159,-1032 }, + { 160,-1032 }, { 161,-1032 }, { 162,-1032 }, { 163,-1032 }, { 164,-1032 }, + { 165,-1032 }, { 166,-1032 }, { 167,-1032 }, { 168,-1032 }, { 169,-1032 }, + { 170,-1032 }, { 171,-1032 }, { 172,-1032 }, { 173,-1032 }, { 174,-1032 }, + { 175,-1032 }, { 176,-1032 }, { 177,-1032 }, { 178,-1032 }, { 179,-1032 }, + { 180,-1032 }, { 181,-1032 }, { 182,-1032 }, { 183,-1032 }, { 184,-1032 }, + { 185,-1032 }, { 186,-1032 }, { 187,-1032 }, { 188,-1032 }, { 189,-1032 }, + { 190,-1032 }, { 191,-1032 }, { 192,-1032 }, { 193,-1032 }, { 194,-1032 }, + { 195,-1032 }, { 196,-1032 }, { 197,-1032 }, { 198,-1032 }, { 199,-1032 }, + + { 200,-1032 }, { 201,-1032 }, { 202,-1032 }, { 203,-1032 }, { 204,-1032 }, + { 205,-1032 }, { 206,-1032 }, { 207,-1032 }, { 208,-1032 }, { 209,-1032 }, + { 210,-1032 }, { 211,-1032 }, { 212,-1032 }, { 213,-1032 }, { 214,-1032 }, + { 215,-1032 }, { 216,-1032 }, { 217,-1032 }, { 218,-1032 }, { 219,-1032 }, + { 220,-1032 }, { 221,-1032 }, { 222,-1032 }, { 223,-1032 }, { 224,-1032 }, + { 225,-1032 }, { 226,-1032 }, { 227,-1032 }, { 228,-1032 }, { 229,-1032 }, + { 230,-1032 }, { 231,-1032 }, { 232,-1032 }, { 233,-1032 }, { 234,-1032 }, + { 235,-1032 }, { 236,-1032 }, { 237,-1032 }, { 238,-1032 }, { 239,-1032 }, + { 240,-1032 }, { 241,-1032 }, { 242,-1032 }, { 243,-1032 }, { 244,-1032 }, + { 245,-1032 }, { 246,-1032 }, { 247,-1032 }, { 248,-1032 }, { 249,-1032 }, + + { 250,-1032 }, { 251,-1032 }, { 252,-1032 }, { 253,-1032 }, { 254,-1032 }, + { 255,-1032 }, { 256,-1032 }, { 0, 48 }, { 0,16472 }, { 1,-6643 }, + { 2,-6643 }, { 3,-6643 }, { 4,-6643 }, { 5,-6643 }, { 6,-6643 }, + { 7,-6643 }, { 8,-6643 }, { 9,-6385 }, { 10,-6127 }, { 11,-6643 }, + { 12,-6385 }, { 13,-6127 }, { 14,-6643 }, { 15,-6643 }, { 16,-6643 }, + { 17,-6643 }, { 18,-6643 }, { 19,-6643 }, { 20,-6643 }, { 21,-6643 }, + { 22,-6643 }, { 23,-6643 }, { 24,-6643 }, { 25,-6643 }, { 26,-6643 }, + { 27,-6643 }, { 28,-6643 }, { 29,-6643 }, { 30,-6643 }, { 31,-6643 }, + { 32,-6385 }, { 33,-6643 }, { 34,-6643 }, { 35,-6643 }, { 36,-6643 }, + { 37,-6643 }, { 38,-6643 }, { 39,-10751 }, { 40,-6643 }, { 41,-6643 }, + + { 42,-6643 }, { 43,-6643 }, { 44,-6643 }, { 45,-6080 }, { 46,-6643 }, + { 47,-6643 }, { 48,-6643 }, { 49,-6643 }, { 50,-6643 }, { 51,-6643 }, + { 52,-6643 }, { 53,-6643 }, { 54,-6643 }, { 55,-6643 }, { 56,-6643 }, + { 57,-6643 }, { 58,-6643 }, { 59,-6643 }, { 60,-6643 }, { 61,-6643 }, + { 62,-6643 }, { 63,-6643 }, { 64,-6643 }, { 65,-6643 }, { 66,-6643 }, + { 67,-6643 }, { 68,-6643 }, { 69,-6643 }, { 70,-6643 }, { 71,-6643 }, + { 72,-6643 }, { 73,-6643 }, { 74,-6643 }, { 75,-6643 }, { 76,-6643 }, + { 77,-6643 }, { 78,-6643 }, { 79,-6643 }, { 80,-6643 }, { 81,-6643 }, + { 82,-6643 }, { 83,-6643 }, { 84,-6643 }, { 85,-6643 }, { 86,-6643 }, + { 87,-6643 }, { 88,-6643 }, { 89,-6643 }, { 90,-6643 }, { 91,-6643 }, + + { 92,-6643 }, { 93,-6643 }, { 94,-6643 }, { 95,-6643 }, { 96,-6643 }, + { 97,-6643 }, { 98,-6643 }, { 99,-6643 }, { 100,-6643 }, { 101,-6643 }, + { 102,-6643 }, { 103,-6643 }, { 104,-6643 }, { 105,-6643 }, { 106,-6643 }, + { 107,-6643 }, { 108,-6643 }, { 109,-6643 }, { 110,-6643 }, { 111,-6643 }, + { 112,-6643 }, { 113,-6643 }, { 114,-6643 }, { 115,-6643 }, { 116,-6643 }, + { 117,-6643 }, { 118,-6643 }, { 119,-6643 }, { 120,-6643 }, { 121,-6643 }, + { 122,-6643 }, { 123,-6643 }, { 124,-6643 }, { 125,-6643 }, { 126,-6643 }, + { 127,-6643 }, { 128,-6643 }, { 129,-6643 }, { 130,-6643 }, { 131,-6643 }, + { 132,-6643 }, { 133,-6643 }, { 134,-6643 }, { 135,-6643 }, { 136,-6643 }, + { 137,-6643 }, { 138,-6643 }, { 139,-6643 }, { 140,-6643 }, { 141,-6643 }, + + { 142,-6643 }, { 143,-6643 }, { 144,-6643 }, { 145,-6643 }, { 146,-6643 }, + { 147,-6643 }, { 148,-6643 }, { 149,-6643 }, { 150,-6643 }, { 151,-6643 }, + { 152,-6643 }, { 153,-6643 }, { 154,-6643 }, { 155,-6643 }, { 156,-6643 }, + { 157,-6643 }, { 158,-6643 }, { 159,-6643 }, { 160,-6643 }, { 161,-6643 }, + { 162,-6643 }, { 163,-6643 }, { 164,-6643 }, { 165,-6643 }, { 166,-6643 }, + { 167,-6643 }, { 168,-6643 }, { 169,-6643 }, { 170,-6643 }, { 171,-6643 }, + { 172,-6643 }, { 173,-6643 }, { 174,-6643 }, { 175,-6643 }, { 176,-6643 }, + { 177,-6643 }, { 178,-6643 }, { 179,-6643 }, { 180,-6643 }, { 181,-6643 }, + { 182,-6643 }, { 183,-6643 }, { 184,-6643 }, { 185,-6643 }, { 186,-6643 }, + { 187,-6643 }, { 188,-6643 }, { 189,-6643 }, { 190,-6643 }, { 191,-6643 }, + + { 192,-6643 }, { 193,-6643 }, { 194,-6643 }, { 195,-6643 }, { 196,-6643 }, + { 197,-6643 }, { 198,-6643 }, { 199,-6643 }, { 200,-6643 }, { 201,-6643 }, + { 202,-6643 }, { 203,-6643 }, { 204,-6643 }, { 205,-6643 }, { 206,-6643 }, + { 207,-6643 }, { 208,-6643 }, { 209,-6643 }, { 210,-6643 }, { 211,-6643 }, + { 212,-6643 }, { 213,-6643 }, { 214,-6643 }, { 215,-6643 }, { 216,-6643 }, + { 217,-6643 }, { 218,-6643 }, { 219,-6643 }, { 220,-6643 }, { 221,-6643 }, + { 222,-6643 }, { 223,-6643 }, { 224,-6643 }, { 225,-6643 }, { 226,-6643 }, + { 227,-6643 }, { 228,-6643 }, { 229,-6643 }, { 230,-6643 }, { 231,-6643 }, + { 232,-6643 }, { 233,-6643 }, { 234,-6643 }, { 235,-6643 }, { 236,-6643 }, + { 237,-6643 }, { 238,-6643 }, { 239,-6643 }, { 240,-6643 }, { 241,-6643 }, + + { 242,-6643 }, { 243,-6643 }, { 244,-6643 }, { 245,-6643 }, { 246,-6643 }, + { 247,-6643 }, { 248,-6643 }, { 249,-6643 }, { 250,-6643 }, { 251,-6643 }, + { 252,-6643 }, { 253,-6643 }, { 254,-6643 }, { 255,-6643 }, { 256,-6643 }, + { 0, 48 }, { 0,16214 }, { 1,-37047 }, { 2,-37047 }, { 3,-37047 }, + { 4,-37047 }, { 5,-37047 }, { 6,-37047 }, { 7,-37047 }, { 8,-37047 }, + { 9,-37047 }, { 10,-37047 }, { 11,-37047 }, { 12,-37047 }, { 13,-37047 }, + { 14,-37047 }, { 15,-37047 }, { 16,-37047 }, { 17,-37047 }, { 18,-37047 }, + { 19,-37047 }, { 20,-37047 }, { 21,-37047 }, { 22,-37047 }, { 23,-37047 }, + { 24,-37047 }, { 25,-37047 }, { 26,-37047 }, { 27,-37047 }, { 28,-37047 }, + { 29,-37047 }, { 30,-37047 }, { 31,-37047 }, { 32,-37047 }, { 33,-37047 }, + + { 34,-37047 }, { 35,-37047 }, { 36,-37047 }, { 37,-37047 }, { 38,-37047 }, + { 0, 0 }, { 40,-37047 }, { 41,-37047 }, { 42,-37047 }, { 43,-37047 }, + { 44,-37047 }, { 45,-37047 }, { 46,-37047 }, { 47,-37047 }, { 48,-37047 }, + { 49,-37047 }, { 50,-37047 }, { 51,-37047 }, { 52,-37047 }, { 53,-37047 }, + { 54,-37047 }, { 55,-37047 }, { 56,-37047 }, { 57,-37047 }, { 58,-37047 }, + { 59,-37047 }, { 60,-37047 }, { 61,-37047 }, { 62,-37047 }, { 63,-37047 }, + { 64,-37047 }, { 65,-37047 }, { 66,-37047 }, { 67,-37047 }, { 68,-37047 }, + { 69,-37047 }, { 70,-37047 }, { 71,-37047 }, { 72,-37047 }, { 73,-37047 }, + { 74,-37047 }, { 75,-37047 }, { 76,-37047 }, { 77,-37047 }, { 78,-37047 }, + { 79,-37047 }, { 80,-37047 }, { 81,-37047 }, { 82,-37047 }, { 83,-37047 }, + + { 84,-37047 }, { 85,-37047 }, { 86,-37047 }, { 87,-37047 }, { 88,-37047 }, + { 89,-37047 }, { 90,-37047 }, { 91,-37047 }, { 92,-37047 }, { 93,-37047 }, + { 94,-37047 }, { 95,-37047 }, { 96,-37047 }, { 97,-37047 }, { 98,-37047 }, + { 99,-37047 }, { 100,-37047 }, { 101,-37047 }, { 102,-37047 }, { 103,-37047 }, + { 104,-37047 }, { 105,-37047 }, { 106,-37047 }, { 107,-37047 }, { 108,-37047 }, + { 109,-37047 }, { 110,-37047 }, { 111,-37047 }, { 112,-37047 }, { 113,-37047 }, + { 114,-37047 }, { 115,-37047 }, { 116,-37047 }, { 117,-37047 }, { 118,-37047 }, + { 119,-37047 }, { 120,-37047 }, { 121,-37047 }, { 122,-37047 }, { 123,-37047 }, + { 124,-37047 }, { 125,-37047 }, { 126,-37047 }, { 127,-37047 }, { 128,-37047 }, + { 129,-37047 }, { 130,-37047 }, { 131,-37047 }, { 132,-37047 }, { 133,-37047 }, + + { 134,-37047 }, { 135,-37047 }, { 136,-37047 }, { 137,-37047 }, { 138,-37047 }, + { 139,-37047 }, { 140,-37047 }, { 141,-37047 }, { 142,-37047 }, { 143,-37047 }, + { 144,-37047 }, { 145,-37047 }, { 146,-37047 }, { 147,-37047 }, { 148,-37047 }, + { 149,-37047 }, { 150,-37047 }, { 151,-37047 }, { 152,-37047 }, { 153,-37047 }, + { 154,-37047 }, { 155,-37047 }, { 156,-37047 }, { 157,-37047 }, { 158,-37047 }, + { 159,-37047 }, { 160,-37047 }, { 161,-37047 }, { 162,-37047 }, { 163,-37047 }, + { 164,-37047 }, { 165,-37047 }, { 166,-37047 }, { 167,-37047 }, { 168,-37047 }, + { 169,-37047 }, { 170,-37047 }, { 171,-37047 }, { 172,-37047 }, { 173,-37047 }, + { 174,-37047 }, { 175,-37047 }, { 176,-37047 }, { 177,-37047 }, { 178,-37047 }, + { 179,-37047 }, { 180,-37047 }, { 181,-37047 }, { 182,-37047 }, { 183,-37047 }, + + { 184,-37047 }, { 185,-37047 }, { 186,-37047 }, { 187,-37047 }, { 188,-37047 }, + { 189,-37047 }, { 190,-37047 }, { 191,-37047 }, { 192,-37047 }, { 193,-37047 }, + { 194,-37047 }, { 195,-37047 }, { 196,-37047 }, { 197,-37047 }, { 198,-37047 }, + { 199,-37047 }, { 200,-37047 }, { 201,-37047 }, { 202,-37047 }, { 203,-37047 }, + { 204,-37047 }, { 205,-37047 }, { 206,-37047 }, { 207,-37047 }, { 208,-37047 }, + { 209,-37047 }, { 210,-37047 }, { 211,-37047 }, { 212,-37047 }, { 213,-37047 }, + { 214,-37047 }, { 215,-37047 }, { 216,-37047 }, { 217,-37047 }, { 218,-37047 }, + { 219,-37047 }, { 220,-37047 }, { 221,-37047 }, { 222,-37047 }, { 223,-37047 }, + { 224,-37047 }, { 225,-37047 }, { 226,-37047 }, { 227,-37047 }, { 228,-37047 }, + { 229,-37047 }, { 230,-37047 }, { 231,-37047 }, { 232,-37047 }, { 233,-37047 }, + + { 234,-37047 }, { 235,-37047 }, { 236,-37047 }, { 237,-37047 }, { 238,-37047 }, + { 239,-37047 }, { 240,-37047 }, { 241,-37047 }, { 242,-37047 }, { 243,-37047 }, + { 244,-37047 }, { 245,-37047 }, { 246,-37047 }, { 247,-37047 }, { 248,-37047 }, + { 249,-37047 }, { 250,-37047 }, { 251,-37047 }, { 252,-37047 }, { 253,-37047 }, + { 254,-37047 }, { 255,-37047 }, { 256,-37047 }, { 0, 24 }, { 0,15956 }, + { 1,-21136 }, { 2,-21136 }, { 3,-21136 }, { 4,-21136 }, { 5,-21136 }, + { 6,-21136 }, { 7,-21136 }, { 8,-21136 }, { 9,-20878 }, { 10,-20620 }, + { 11,-21136 }, { 12,-20878 }, { 13,-20620 }, { 14,-21136 }, { 15,-21136 }, + { 16,-21136 }, { 17,-21136 }, { 18,-21136 }, { 19,-21136 }, { 20,-21136 }, + { 21,-21136 }, { 22,-21136 }, { 23,-21136 }, { 24,-21136 }, { 25,-21136 }, + + { 26,-21136 }, { 27,-21136 }, { 28,-21136 }, { 29,-21136 }, { 30,-21136 }, + { 31,-21136 }, { 32,-20878 }, { 33,-21136 }, { 34,-21136 }, { 35,-21136 }, + { 36,-21136 }, { 37,-21136 }, { 38,-21136 }, { 39,5656 }, { 40,-21136 }, + { 41,-21136 }, { 42,-21136 }, { 43,-21136 }, { 44,-21136 }, { 45,-20501 }, + { 46,-21136 }, { 47,-21136 }, { 48,-21136 }, { 49,-21136 }, { 50,-21136 }, + { 51,-21136 }, { 52,-21136 }, { 53,-21136 }, { 54,-21136 }, { 55,-21136 }, + { 56,-21136 }, { 57,-21136 }, { 58,-21136 }, { 59,-21136 }, { 60,-21136 }, + { 61,-21136 }, { 62,-21136 }, { 63,-21136 }, { 64,-21136 }, { 65,-21136 }, + { 66,-21136 }, { 67,-21136 }, { 68,-21136 }, { 69,-21136 }, { 70,-21136 }, + { 71,-21136 }, { 72,-21136 }, { 73,-21136 }, { 74,-21136 }, { 75,-21136 }, + + { 76,-21136 }, { 77,-21136 }, { 78,-21136 }, { 79,-21136 }, { 80,-21136 }, + { 81,-21136 }, { 82,-21136 }, { 83,-21136 }, { 84,-21136 }, { 85,-20243 }, + { 86,-21136 }, { 87,-21136 }, { 88,-21136 }, { 89,-21136 }, { 90,-21136 }, + { 91,-21136 }, { 92,-21136 }, { 93,-21136 }, { 94,-21136 }, { 95,-21136 }, + { 96,-21136 }, { 97,-21136 }, { 98,-21136 }, { 99,-21136 }, { 100,-21136 }, + { 101,-21136 }, { 102,-21136 }, { 103,-21136 }, { 104,-21136 }, { 105,-21136 }, + { 106,-21136 }, { 107,-21136 }, { 108,-21136 }, { 109,-21136 }, { 110,-21136 }, + { 111,-21136 }, { 112,-21136 }, { 113,-21136 }, { 114,-21136 }, { 115,-21136 }, + { 116,-21136 }, { 117,-20243 }, { 118,-21136 }, { 119,-21136 }, { 120,-21136 }, + { 121,-21136 }, { 122,-21136 }, { 123,-21136 }, { 124,-21136 }, { 125,-21136 }, + + { 126,-21136 }, { 127,-21136 }, { 128,-21136 }, { 129,-21136 }, { 130,-21136 }, + { 131,-21136 }, { 132,-21136 }, { 133,-21136 }, { 134,-21136 }, { 135,-21136 }, + { 136,-21136 }, { 137,-21136 }, { 138,-21136 }, { 139,-21136 }, { 140,-21136 }, + { 141,-21136 }, { 142,-21136 }, { 143,-21136 }, { 144,-21136 }, { 145,-21136 }, + { 146,-21136 }, { 147,-21136 }, { 148,-21136 }, { 149,-21136 }, { 150,-21136 }, + { 151,-21136 }, { 152,-21136 }, { 153,-21136 }, { 154,-21136 }, { 155,-21136 }, + { 156,-21136 }, { 157,-21136 }, { 158,-21136 }, { 159,-21136 }, { 160,-21136 }, + { 161,-21136 }, { 162,-21136 }, { 163,-21136 }, { 164,-21136 }, { 165,-21136 }, + { 166,-21136 }, { 167,-21136 }, { 168,-21136 }, { 169,-21136 }, { 170,-21136 }, + { 171,-21136 }, { 172,-21136 }, { 173,-21136 }, { 174,-21136 }, { 175,-21136 }, + + { 176,-21136 }, { 177,-21136 }, { 178,-21136 }, { 179,-21136 }, { 180,-21136 }, + { 181,-21136 }, { 182,-21136 }, { 183,-21136 }, { 184,-21136 }, { 185,-21136 }, + { 186,-21136 }, { 187,-21136 }, { 188,-21136 }, { 189,-21136 }, { 190,-21136 }, + { 191,-21136 }, { 192,-21136 }, { 193,-21136 }, { 194,-21136 }, { 195,-21136 }, + { 196,-21136 }, { 197,-21136 }, { 198,-21136 }, { 199,-21136 }, { 200,-21136 }, + { 201,-21136 }, { 202,-21136 }, { 203,-21136 }, { 204,-21136 }, { 205,-21136 }, + { 206,-21136 }, { 207,-21136 }, { 208,-21136 }, { 209,-21136 }, { 210,-21136 }, + { 211,-21136 }, { 212,-21136 }, { 213,-21136 }, { 214,-21136 }, { 215,-21136 }, + { 216,-21136 }, { 217,-21136 }, { 218,-21136 }, { 219,-21136 }, { 220,-21136 }, + { 221,-21136 }, { 222,-21136 }, { 223,-21136 }, { 224,-21136 }, { 225,-21136 }, + + { 226,-21136 }, { 227,-21136 }, { 228,-21136 }, { 229,-21136 }, { 230,-21136 }, + { 231,-21136 }, { 232,-21136 }, { 233,-21136 }, { 234,-21136 }, { 235,-21136 }, + { 236,-21136 }, { 237,-21136 }, { 238,-21136 }, { 239,-21136 }, { 240,-21136 }, + { 241,-21136 }, { 242,-21136 }, { 243,-21136 }, { 244,-21136 }, { 245,-21136 }, + { 246,-21136 }, { 247,-21136 }, { 248,-21136 }, { 249,-21136 }, { 250,-21136 }, + { 251,-21136 }, { 252,-21136 }, { 253,-21136 }, { 254,-21136 }, { 255,-21136 }, + { 256,-21136 }, { 0, 24 }, { 0,15698 }, { 1,-21394 }, { 2,-21394 }, + { 3,-21394 }, { 4,-21394 }, { 5,-21394 }, { 6,-21394 }, { 7,-21394 }, + { 8,-21394 }, { 9,-21136 }, { 10,-20878 }, { 11,-21394 }, { 12,-21136 }, + { 13,-20878 }, { 14,-21394 }, { 15,-21394 }, { 16,-21394 }, { 17,-21394 }, + + { 18,-21394 }, { 19,-21394 }, { 20,-21394 }, { 21,-21394 }, { 22,-21394 }, + { 23,-21394 }, { 24,-21394 }, { 25,-21394 }, { 26,-21394 }, { 27,-21394 }, + { 28,-21394 }, { 29,-21394 }, { 30,-21394 }, { 31,-21394 }, { 32,-21136 }, + { 33,-21394 }, { 34,-21394 }, { 35,-21394 }, { 36,-21394 }, { 37,-21394 }, + { 38,-21394 }, { 39,5398 }, { 40,-21394 }, { 41,-21394 }, { 42,-21394 }, + { 43,-21394 }, { 44,-21394 }, { 45,-20759 }, { 46,-21394 }, { 47,-21394 }, + { 48,-21394 }, { 49,-21394 }, { 50,-21394 }, { 51,-21394 }, { 52,-21394 }, + { 53,-21394 }, { 54,-21394 }, { 55,-21394 }, { 56,-21394 }, { 57,-21394 }, + { 58,-21394 }, { 59,-21394 }, { 60,-21394 }, { 61,-21394 }, { 62,-21394 }, + { 63,-21394 }, { 64,-21394 }, { 65,-21394 }, { 66,-21394 }, { 67,-21394 }, + + { 68,-21394 }, { 69,-21394 }, { 70,-21394 }, { 71,-21394 }, { 72,-21394 }, + { 73,-21394 }, { 74,-21394 }, { 75,-21394 }, { 76,-21394 }, { 77,-21394 }, + { 78,-21394 }, { 79,-21394 }, { 80,-21394 }, { 81,-21394 }, { 82,-21394 }, + { 83,-21394 }, { 84,-21394 }, { 85,-20501 }, { 86,-21394 }, { 87,-21394 }, + { 88,-21394 }, { 89,-21394 }, { 90,-21394 }, { 91,-21394 }, { 92,-21394 }, + { 93,-21394 }, { 94,-21394 }, { 95,-21394 }, { 96,-21394 }, { 97,-21394 }, + { 98,-21394 }, { 99,-21394 }, { 100,-21394 }, { 101,-21394 }, { 102,-21394 }, + { 103,-21394 }, { 104,-21394 }, { 105,-21394 }, { 106,-21394 }, { 107,-21394 }, + { 108,-21394 }, { 109,-21394 }, { 110,-21394 }, { 111,-21394 }, { 112,-21394 }, + { 113,-21394 }, { 114,-21394 }, { 115,-21394 }, { 116,-21394 }, { 117,-20501 }, + + { 118,-21394 }, { 119,-21394 }, { 120,-21394 }, { 121,-21394 }, { 122,-21394 }, + { 123,-21394 }, { 124,-21394 }, { 125,-21394 }, { 126,-21394 }, { 127,-21394 }, + { 128,-21394 }, { 129,-21394 }, { 130,-21394 }, { 131,-21394 }, { 132,-21394 }, + { 133,-21394 }, { 134,-21394 }, { 135,-21394 }, { 136,-21394 }, { 137,-21394 }, + { 138,-21394 }, { 139,-21394 }, { 140,-21394 }, { 141,-21394 }, { 142,-21394 }, + { 143,-21394 }, { 144,-21394 }, { 145,-21394 }, { 146,-21394 }, { 147,-21394 }, + { 148,-21394 }, { 149,-21394 }, { 150,-21394 }, { 151,-21394 }, { 152,-21394 }, + { 153,-21394 }, { 154,-21394 }, { 155,-21394 }, { 156,-21394 }, { 157,-21394 }, + { 158,-21394 }, { 159,-21394 }, { 160,-21394 }, { 161,-21394 }, { 162,-21394 }, + { 163,-21394 }, { 164,-21394 }, { 165,-21394 }, { 166,-21394 }, { 167,-21394 }, + + { 168,-21394 }, { 169,-21394 }, { 170,-21394 }, { 171,-21394 }, { 172,-21394 }, + { 173,-21394 }, { 174,-21394 }, { 175,-21394 }, { 176,-21394 }, { 177,-21394 }, + { 178,-21394 }, { 179,-21394 }, { 180,-21394 }, { 181,-21394 }, { 182,-21394 }, + { 183,-21394 }, { 184,-21394 }, { 185,-21394 }, { 186,-21394 }, { 187,-21394 }, + { 188,-21394 }, { 189,-21394 }, { 190,-21394 }, { 191,-21394 }, { 192,-21394 }, + { 193,-21394 }, { 194,-21394 }, { 195,-21394 }, { 196,-21394 }, { 197,-21394 }, + { 198,-21394 }, { 199,-21394 }, { 200,-21394 }, { 201,-21394 }, { 202,-21394 }, + { 203,-21394 }, { 204,-21394 }, { 205,-21394 }, { 206,-21394 }, { 207,-21394 }, + { 208,-21394 }, { 209,-21394 }, { 210,-21394 }, { 211,-21394 }, { 212,-21394 }, + { 213,-21394 }, { 214,-21394 }, { 215,-21394 }, { 216,-21394 }, { 217,-21394 }, + + { 218,-21394 }, { 219,-21394 }, { 220,-21394 }, { 221,-21394 }, { 222,-21394 }, + { 223,-21394 }, { 224,-21394 }, { 225,-21394 }, { 226,-21394 }, { 227,-21394 }, + { 228,-21394 }, { 229,-21394 }, { 230,-21394 }, { 231,-21394 }, { 232,-21394 }, + { 233,-21394 }, { 234,-21394 }, { 235,-21394 }, { 236,-21394 }, { 237,-21394 }, + { 238,-21394 }, { 239,-21394 }, { 240,-21394 }, { 241,-21394 }, { 242,-21394 }, + { 243,-21394 }, { 244,-21394 }, { 245,-21394 }, { 246,-21394 }, { 247,-21394 }, + { 248,-21394 }, { 249,-21394 }, { 250,-21394 }, { 251,-21394 }, { 252,-21394 }, + { 253,-21394 }, { 254,-21394 }, { 255,-21394 }, { 256,-21394 }, { 0, 24 }, + { 0,15440 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9,-31708 }, + + { 10,-31708 }, { 0, 0 }, { 12,-31708 }, { 13,-31708 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 32,-31708 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 39,-37769 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 45,-41655 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 85,-42160 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 117,-42160 }, { 0, 24 }, { 0,15321 }, + { 1,-21771 }, { 2,-21771 }, { 3,-21771 }, { 4,-21771 }, { 5,-21771 }, + { 6,-21771 }, { 7,-21771 }, { 8,-21771 }, { 9,-21513 }, { 10,-21255 }, + { 11,-21771 }, { 12,-21513 }, { 13,-21255 }, { 14,-21771 }, { 15,-21771 }, + { 16,-21771 }, { 17,-21771 }, { 18,-21771 }, { 19,-21771 }, { 20,-21771 }, + { 21,-21771 }, { 22,-21771 }, { 23,-21771 }, { 24,-21771 }, { 25,-21771 }, + { 26,-21771 }, { 27,-21771 }, { 28,-21771 }, { 29,-21771 }, { 30,-21771 }, + { 31,-21771 }, { 32,-21513 }, { 33,-21771 }, { 34,-21771 }, { 35,-21771 }, + { 36,-21771 }, { 37,-21771 }, { 38,-21771 }, { 39,5021 }, { 40,-21771 }, + + { 41,-21771 }, { 42,-21771 }, { 43,-21771 }, { 44,-21771 }, { 45,-18841 }, + { 46,-21771 }, { 47,-21771 }, { 48,-21771 }, { 49,-21771 }, { 50,-21771 }, + { 51,-21771 }, { 52,-21771 }, { 53,-21771 }, { 54,-21771 }, { 55,-21771 }, + { 56,-21771 }, { 57,-21771 }, { 58,-21771 }, { 59,-21771 }, { 60,-21771 }, + { 61,-21771 }, { 62,-21771 }, { 63,-21771 }, { 64,-21771 }, { 65,-21771 }, + { 66,-21771 }, { 67,-21771 }, { 68,-21771 }, { 69,-21771 }, { 70,-21771 }, + { 71,-21771 }, { 72,-21771 }, { 73,-21771 }, { 74,-21771 }, { 75,-21771 }, + { 76,-21771 }, { 77,-21771 }, { 78,-21771 }, { 79,-21771 }, { 80,-21771 }, + { 81,-21771 }, { 82,-21771 }, { 83,-21771 }, { 84,-21771 }, { 85,-20878 }, + { 86,-21771 }, { 87,-21771 }, { 88,-21771 }, { 89,-21771 }, { 90,-21771 }, + + { 91,-21771 }, { 92,-21771 }, { 93,-21771 }, { 94,-21771 }, { 95,-21771 }, + { 96,-21771 }, { 97,-21771 }, { 98,-21771 }, { 99,-21771 }, { 100,-21771 }, + { 101,-21771 }, { 102,-21771 }, { 103,-21771 }, { 104,-21771 }, { 105,-21771 }, + { 106,-21771 }, { 107,-21771 }, { 108,-21771 }, { 109,-21771 }, { 110,-21771 }, + { 111,-21771 }, { 112,-21771 }, { 113,-21771 }, { 114,-21771 }, { 115,-21771 }, + { 116,-21771 }, { 117,-20878 }, { 118,-21771 }, { 119,-21771 }, { 120,-21771 }, + { 121,-21771 }, { 122,-21771 }, { 123,-21771 }, { 124,-21771 }, { 125,-21771 }, + { 126,-21771 }, { 127,-21771 }, { 128,-21771 }, { 129,-21771 }, { 130,-21771 }, + { 131,-21771 }, { 132,-21771 }, { 133,-21771 }, { 134,-21771 }, { 135,-21771 }, + { 136,-21771 }, { 137,-21771 }, { 138,-21771 }, { 139,-21771 }, { 140,-21771 }, + + { 141,-21771 }, { 142,-21771 }, { 143,-21771 }, { 144,-21771 }, { 145,-21771 }, + { 146,-21771 }, { 147,-21771 }, { 148,-21771 }, { 149,-21771 }, { 150,-21771 }, + { 151,-21771 }, { 152,-21771 }, { 153,-21771 }, { 154,-21771 }, { 155,-21771 }, + { 156,-21771 }, { 157,-21771 }, { 158,-21771 }, { 159,-21771 }, { 160,-21771 }, + { 161,-21771 }, { 162,-21771 }, { 163,-21771 }, { 164,-21771 }, { 165,-21771 }, + { 166,-21771 }, { 167,-21771 }, { 168,-21771 }, { 169,-21771 }, { 170,-21771 }, + { 171,-21771 }, { 172,-21771 }, { 173,-21771 }, { 174,-21771 }, { 175,-21771 }, + { 176,-21771 }, { 177,-21771 }, { 178,-21771 }, { 179,-21771 }, { 180,-21771 }, + { 181,-21771 }, { 182,-21771 }, { 183,-21771 }, { 184,-21771 }, { 185,-21771 }, + { 186,-21771 }, { 187,-21771 }, { 188,-21771 }, { 189,-21771 }, { 190,-21771 }, + + { 191,-21771 }, { 192,-21771 }, { 193,-21771 }, { 194,-21771 }, { 195,-21771 }, + { 196,-21771 }, { 197,-21771 }, { 198,-21771 }, { 199,-21771 }, { 200,-21771 }, + { 201,-21771 }, { 202,-21771 }, { 203,-21771 }, { 204,-21771 }, { 205,-21771 }, + { 206,-21771 }, { 207,-21771 }, { 208,-21771 }, { 209,-21771 }, { 210,-21771 }, + { 211,-21771 }, { 212,-21771 }, { 213,-21771 }, { 214,-21771 }, { 215,-21771 }, + { 216,-21771 }, { 217,-21771 }, { 218,-21771 }, { 219,-21771 }, { 220,-21771 }, + { 221,-21771 }, { 222,-21771 }, { 223,-21771 }, { 224,-21771 }, { 225,-21771 }, + { 226,-21771 }, { 227,-21771 }, { 228,-21771 }, { 229,-21771 }, { 230,-21771 }, + { 231,-21771 }, { 232,-21771 }, { 233,-21771 }, { 234,-21771 }, { 235,-21771 }, + { 236,-21771 }, { 237,-21771 }, { 238,-21771 }, { 239,-21771 }, { 240,-21771 }, + + { 241,-21771 }, { 242,-21771 }, { 243,-21771 }, { 244,-21771 }, { 245,-21771 }, + { 246,-21771 }, { 247,-21771 }, { 248,-21771 }, { 249,-21771 }, { 250,-21771 }, + { 251,-21771 }, { 252,-21771 }, { 253,-21771 }, { 254,-21771 }, { 255,-21771 }, + { 256,-21771 }, { 0, 24 }, { 0,15063 }, { 1,-22029 }, { 2,-22029 }, + { 3,-22029 }, { 4,-22029 }, { 5,-22029 }, { 6,-22029 }, { 7,-22029 }, + { 8,-22029 }, { 9,-21771 }, { 10,-21513 }, { 11,-22029 }, { 12,-21771 }, + { 13,-21513 }, { 14,-22029 }, { 15,-22029 }, { 16,-22029 }, { 17,-22029 }, + { 18,-22029 }, { 19,-22029 }, { 20,-22029 }, { 21,-22029 }, { 22,-22029 }, + { 23,-22029 }, { 24,-22029 }, { 25,-22029 }, { 26,-22029 }, { 27,-22029 }, + { 28,-22029 }, { 29,-22029 }, { 30,-22029 }, { 31,-22029 }, { 32,-21771 }, + + { 33,-22029 }, { 34,-22029 }, { 35,-22029 }, { 36,-22029 }, { 37,-22029 }, + { 38,-22029 }, { 39,4763 }, { 40,-22029 }, { 41,-22029 }, { 42,-22029 }, + { 43,-22029 }, { 44,-22029 }, { 45,-21394 }, { 46,-22029 }, { 47,-22029 }, + { 48,-22029 }, { 49,-22029 }, { 50,-22029 }, { 51,-22029 }, { 52,-22029 }, + { 53,-22029 }, { 54,-22029 }, { 55,-22029 }, { 56,-22029 }, { 57,-22029 }, + { 58,-22029 }, { 59,-22029 }, { 60,-22029 }, { 61,-22029 }, { 62,-22029 }, + { 63,-22029 }, { 64,-22029 }, { 65,-22029 }, { 66,-22029 }, { 67,-22029 }, + { 68,-22029 }, { 69,-18841 }, { 70,-22029 }, { 71,-22029 }, { 72,-22029 }, + { 73,-22029 }, { 74,-22029 }, { 75,-22029 }, { 76,-22029 }, { 77,-22029 }, + { 78,-22029 }, { 79,-22029 }, { 80,-22029 }, { 81,-22029 }, { 82,-22029 }, + + { 83,-22029 }, { 84,-22029 }, { 85,-21136 }, { 86,-22029 }, { 87,-22029 }, + { 88,-22029 }, { 89,-22029 }, { 90,-22029 }, { 91,-22029 }, { 92,-22029 }, + { 93,-22029 }, { 94,-22029 }, { 95,-22029 }, { 96,-22029 }, { 97,-22029 }, + { 98,-22029 }, { 99,-22029 }, { 100,-22029 }, { 101,-18841 }, { 102,-22029 }, + { 103,-22029 }, { 104,-22029 }, { 105,-22029 }, { 106,-22029 }, { 107,-22029 }, + { 108,-22029 }, { 109,-22029 }, { 110,-22029 }, { 111,-22029 }, { 112,-22029 }, + { 113,-22029 }, { 114,-22029 }, { 115,-22029 }, { 116,-22029 }, { 117,-21136 }, + { 118,-22029 }, { 119,-22029 }, { 120,-22029 }, { 121,-22029 }, { 122,-22029 }, + { 123,-22029 }, { 124,-22029 }, { 125,-22029 }, { 126,-22029 }, { 127,-22029 }, + { 128,-22029 }, { 129,-22029 }, { 130,-22029 }, { 131,-22029 }, { 132,-22029 }, + + { 133,-22029 }, { 134,-22029 }, { 135,-22029 }, { 136,-22029 }, { 137,-22029 }, + { 138,-22029 }, { 139,-22029 }, { 140,-22029 }, { 141,-22029 }, { 142,-22029 }, + { 143,-22029 }, { 144,-22029 }, { 145,-22029 }, { 146,-22029 }, { 147,-22029 }, + { 148,-22029 }, { 149,-22029 }, { 150,-22029 }, { 151,-22029 }, { 152,-22029 }, + { 153,-22029 }, { 154,-22029 }, { 155,-22029 }, { 156,-22029 }, { 157,-22029 }, + { 158,-22029 }, { 159,-22029 }, { 160,-22029 }, { 161,-22029 }, { 162,-22029 }, + { 163,-22029 }, { 164,-22029 }, { 165,-22029 }, { 166,-22029 }, { 167,-22029 }, + { 168,-22029 }, { 169,-22029 }, { 170,-22029 }, { 171,-22029 }, { 172,-22029 }, + { 173,-22029 }, { 174,-22029 }, { 175,-22029 }, { 176,-22029 }, { 177,-22029 }, + { 178,-22029 }, { 179,-22029 }, { 180,-22029 }, { 181,-22029 }, { 182,-22029 }, + + { 183,-22029 }, { 184,-22029 }, { 185,-22029 }, { 186,-22029 }, { 187,-22029 }, + { 188,-22029 }, { 189,-22029 }, { 190,-22029 }, { 191,-22029 }, { 192,-22029 }, + { 193,-22029 }, { 194,-22029 }, { 195,-22029 }, { 196,-22029 }, { 197,-22029 }, + { 198,-22029 }, { 199,-22029 }, { 200,-22029 }, { 201,-22029 }, { 202,-22029 }, + { 203,-22029 }, { 204,-22029 }, { 205,-22029 }, { 206,-22029 }, { 207,-22029 }, + { 208,-22029 }, { 209,-22029 }, { 210,-22029 }, { 211,-22029 }, { 212,-22029 }, + { 213,-22029 }, { 214,-22029 }, { 215,-22029 }, { 216,-22029 }, { 217,-22029 }, + { 218,-22029 }, { 219,-22029 }, { 220,-22029 }, { 221,-22029 }, { 222,-22029 }, + { 223,-22029 }, { 224,-22029 }, { 225,-22029 }, { 226,-22029 }, { 227,-22029 }, + { 228,-22029 }, { 229,-22029 }, { 230,-22029 }, { 231,-22029 }, { 232,-22029 }, + + { 233,-22029 }, { 234,-22029 }, { 235,-22029 }, { 236,-22029 }, { 237,-22029 }, + { 238,-22029 }, { 239,-22029 }, { 240,-22029 }, { 241,-22029 }, { 242,-22029 }, + { 243,-22029 }, { 244,-22029 }, { 245,-22029 }, { 246,-22029 }, { 247,-22029 }, + { 248,-22029 }, { 249,-22029 }, { 250,-22029 }, { 251,-22029 }, { 252,-22029 }, + { 253,-22029 }, { 254,-22029 }, { 255,-22029 }, { 256,-22029 }, { 0, 24 }, + { 0,14805 }, { 1,4763 }, { 2,4763 }, { 3,4763 }, { 4,4763 }, + { 5,4763 }, { 6,4763 }, { 7,4763 }, { 8,4763 }, { 9,5021 }, + { 10,-6973 }, { 11,4763 }, { 12,5021 }, { 13,-6973 }, { 14,4763 }, + { 15,4763 }, { 16,4763 }, { 17,4763 }, { 18,4763 }, { 19,4763 }, + { 20,4763 }, { 21,4763 }, { 22,4763 }, { 23,4763 }, { 24,4763 }, + + { 25,4763 }, { 26,4763 }, { 27,4763 }, { 28,4763 }, { 29,4763 }, + { 30,4763 }, { 31,4763 }, { 32,5021 }, { 33,4763 }, { 34,4763 }, + { 35,4763 }, { 36,4763 }, { 37,4763 }, { 38,4763 }, { 39,5279 }, + { 40,4763 }, { 41,4763 }, { 42,4763 }, { 43,4763 }, { 44,4763 }, + { 45,5537 }, { 46,4763 }, { 47,4763 }, { 48,4763 }, { 49,4763 }, + { 50,4763 }, { 51,4763 }, { 52,4763 }, { 53,4763 }, { 54,4763 }, + { 55,4763 }, { 56,4763 }, { 57,4763 }, { 58,4763 }, { 59,4763 }, + { 60,4763 }, { 61,4763 }, { 62,4763 }, { 63,4763 }, { 64,4763 }, + { 65,4763 }, { 66,4763 }, { 67,4763 }, { 68,4763 }, { 69,4763 }, + { 70,4763 }, { 71,4763 }, { 72,4763 }, { 73,4763 }, { 74,4763 }, + + { 75,4763 }, { 76,4763 }, { 77,4763 }, { 78,4763 }, { 79,4763 }, + { 80,4763 }, { 81,4763 }, { 82,4763 }, { 83,4763 }, { 84,4763 }, + { 85,5795 }, { 86,4763 }, { 87,4763 }, { 88,4763 }, { 89,4763 }, + { 90,4763 }, { 91,4763 }, { 92,4763 }, { 93,4763 }, { 94,4763 }, + { 95,4763 }, { 96,4763 }, { 97,4763 }, { 98,4763 }, { 99,4763 }, + { 100,4763 }, { 101,4763 }, { 102,4763 }, { 103,4763 }, { 104,4763 }, + { 105,4763 }, { 106,4763 }, { 107,4763 }, { 108,4763 }, { 109,4763 }, + { 110,4763 }, { 111,4763 }, { 112,4763 }, { 113,4763 }, { 114,4763 }, + { 115,4763 }, { 116,4763 }, { 117,5795 }, { 118,4763 }, { 119,4763 }, + { 120,4763 }, { 121,4763 }, { 122,4763 }, { 123,4763 }, { 124,4763 }, + + { 125,4763 }, { 126,4763 }, { 127,4763 }, { 128,4763 }, { 129,4763 }, + { 130,4763 }, { 131,4763 }, { 132,4763 }, { 133,4763 }, { 134,4763 }, + { 135,4763 }, { 136,4763 }, { 137,4763 }, { 138,4763 }, { 139,4763 }, + { 140,4763 }, { 141,4763 }, { 142,4763 }, { 143,4763 }, { 144,4763 }, + { 145,4763 }, { 146,4763 }, { 147,4763 }, { 148,4763 }, { 149,4763 }, + { 150,4763 }, { 151,4763 }, { 152,4763 }, { 153,4763 }, { 154,4763 }, + { 155,4763 }, { 156,4763 }, { 157,4763 }, { 158,4763 }, { 159,4763 }, + { 160,4763 }, { 161,4763 }, { 162,4763 }, { 163,4763 }, { 164,4763 }, + { 165,4763 }, { 166,4763 }, { 167,4763 }, { 168,4763 }, { 169,4763 }, + { 170,4763 }, { 171,4763 }, { 172,4763 }, { 173,4763 }, { 174,4763 }, + + { 175,4763 }, { 176,4763 }, { 177,4763 }, { 178,4763 }, { 179,4763 }, + { 180,4763 }, { 181,4763 }, { 182,4763 }, { 183,4763 }, { 184,4763 }, + { 185,4763 }, { 186,4763 }, { 187,4763 }, { 188,4763 }, { 189,4763 }, + { 190,4763 }, { 191,4763 }, { 192,4763 }, { 193,4763 }, { 194,4763 }, + { 195,4763 }, { 196,4763 }, { 197,4763 }, { 198,4763 }, { 199,4763 }, + { 200,4763 }, { 201,4763 }, { 202,4763 }, { 203,4763 }, { 204,4763 }, + { 205,4763 }, { 206,4763 }, { 207,4763 }, { 208,4763 }, { 209,4763 }, + { 210,4763 }, { 211,4763 }, { 212,4763 }, { 213,4763 }, { 214,4763 }, + { 215,4763 }, { 216,4763 }, { 217,4763 }, { 218,4763 }, { 219,4763 }, + { 220,4763 }, { 221,4763 }, { 222,4763 }, { 223,4763 }, { 224,4763 }, + + { 225,4763 }, { 226,4763 }, { 227,4763 }, { 228,4763 }, { 229,4763 }, + { 230,4763 }, { 231,4763 }, { 232,4763 }, { 233,4763 }, { 234,4763 }, + { 235,4763 }, { 236,4763 }, { 237,4763 }, { 238,4763 }, { 239,4763 }, + { 240,4763 }, { 241,4763 }, { 242,4763 }, { 243,4763 }, { 244,4763 }, + { 245,4763 }, { 246,4763 }, { 247,4763 }, { 248,4763 }, { 249,4763 }, + { 250,4763 }, { 251,4763 }, { 252,4763 }, { 253,4763 }, { 254,4763 }, + { 255,4763 }, { 256,4763 }, { 0, 24 }, { 0,14547 }, { 1,4505 }, + { 2,4505 }, { 3,4505 }, { 4,4505 }, { 5,4505 }, { 6,4505 }, + { 7,4505 }, { 8,4505 }, { 9,4763 }, { 10,-7231 }, { 11,4505 }, + { 12,4763 }, { 13,-7231 }, { 14,4505 }, { 15,4505 }, { 16,4505 }, + + { 17,4505 }, { 18,4505 }, { 19,4505 }, { 20,4505 }, { 21,4505 }, + { 22,4505 }, { 23,4505 }, { 24,4505 }, { 25,4505 }, { 26,4505 }, + { 27,4505 }, { 28,4505 }, { 29,4505 }, { 30,4505 }, { 31,4505 }, + { 32,4763 }, { 33,4505 }, { 34,4505 }, { 35,4505 }, { 36,4505 }, + { 37,4505 }, { 38,4505 }, { 39,5021 }, { 40,4505 }, { 41,4505 }, + { 42,4505 }, { 43,4505 }, { 44,4505 }, { 45,5795 }, { 46,4505 }, + { 47,4505 }, { 48,4505 }, { 49,4505 }, { 50,4505 }, { 51,4505 }, + { 52,4505 }, { 53,4505 }, { 54,4505 }, { 55,4505 }, { 56,4505 }, + { 57,4505 }, { 58,4505 }, { 59,4505 }, { 60,4505 }, { 61,4505 }, + { 62,4505 }, { 63,4505 }, { 64,4505 }, { 65,4505 }, { 66,4505 }, + + { 67,4505 }, { 68,4505 }, { 69,4505 }, { 70,4505 }, { 71,4505 }, + { 72,4505 }, { 73,4505 }, { 74,4505 }, { 75,4505 }, { 76,4505 }, + { 77,4505 }, { 78,4505 }, { 79,4505 }, { 80,4505 }, { 81,4505 }, + { 82,4505 }, { 83,4505 }, { 84,4505 }, { 85,5537 }, { 86,4505 }, + { 87,4505 }, { 88,4505 }, { 89,4505 }, { 90,4505 }, { 91,4505 }, + { 92,4505 }, { 93,4505 }, { 94,4505 }, { 95,4505 }, { 96,4505 }, + { 97,4505 }, { 98,4505 }, { 99,4505 }, { 100,4505 }, { 101,4505 }, + { 102,4505 }, { 103,4505 }, { 104,4505 }, { 105,4505 }, { 106,4505 }, + { 107,4505 }, { 108,4505 }, { 109,4505 }, { 110,4505 }, { 111,4505 }, + { 112,4505 }, { 113,4505 }, { 114,4505 }, { 115,4505 }, { 116,4505 }, + + { 117,5537 }, { 118,4505 }, { 119,4505 }, { 120,4505 }, { 121,4505 }, + { 122,4505 }, { 123,4505 }, { 124,4505 }, { 125,4505 }, { 126,4505 }, + { 127,4505 }, { 128,4505 }, { 129,4505 }, { 130,4505 }, { 131,4505 }, + { 132,4505 }, { 133,4505 }, { 134,4505 }, { 135,4505 }, { 136,4505 }, + { 137,4505 }, { 138,4505 }, { 139,4505 }, { 140,4505 }, { 141,4505 }, + { 142,4505 }, { 143,4505 }, { 144,4505 }, { 145,4505 }, { 146,4505 }, + { 147,4505 }, { 148,4505 }, { 149,4505 }, { 150,4505 }, { 151,4505 }, + { 152,4505 }, { 153,4505 }, { 154,4505 }, { 155,4505 }, { 156,4505 }, + { 157,4505 }, { 158,4505 }, { 159,4505 }, { 160,4505 }, { 161,4505 }, + { 162,4505 }, { 163,4505 }, { 164,4505 }, { 165,4505 }, { 166,4505 }, + + { 167,4505 }, { 168,4505 }, { 169,4505 }, { 170,4505 }, { 171,4505 }, + { 172,4505 }, { 173,4505 }, { 174,4505 }, { 175,4505 }, { 176,4505 }, + { 177,4505 }, { 178,4505 }, { 179,4505 }, { 180,4505 }, { 181,4505 }, + { 182,4505 }, { 183,4505 }, { 184,4505 }, { 185,4505 }, { 186,4505 }, + { 187,4505 }, { 188,4505 }, { 189,4505 }, { 190,4505 }, { 191,4505 }, + { 192,4505 }, { 193,4505 }, { 194,4505 }, { 195,4505 }, { 196,4505 }, + { 197,4505 }, { 198,4505 }, { 199,4505 }, { 200,4505 }, { 201,4505 }, + { 202,4505 }, { 203,4505 }, { 204,4505 }, { 205,4505 }, { 206,4505 }, + { 207,4505 }, { 208,4505 }, { 209,4505 }, { 210,4505 }, { 211,4505 }, + { 212,4505 }, { 213,4505 }, { 214,4505 }, { 215,4505 }, { 216,4505 }, + + { 217,4505 }, { 218,4505 }, { 219,4505 }, { 220,4505 }, { 221,4505 }, + { 222,4505 }, { 223,4505 }, { 224,4505 }, { 225,4505 }, { 226,4505 }, + { 227,4505 }, { 228,4505 }, { 229,4505 }, { 230,4505 }, { 231,4505 }, + { 232,4505 }, { 233,4505 }, { 234,4505 }, { 235,4505 }, { 236,4505 }, + { 237,4505 }, { 238,4505 }, { 239,4505 }, { 240,4505 }, { 241,4505 }, + { 242,4505 }, { 243,4505 }, { 244,4505 }, { 245,4505 }, { 246,4505 }, + { 247,4505 }, { 248,4505 }, { 249,4505 }, { 250,4505 }, { 251,4505 }, + { 252,4505 }, { 253,4505 }, { 254,4505 }, { 255,4505 }, { 256,4505 }, + { 0, 24 }, { 0,14289 }, { 1,-27842 }, { 2,-27842 }, { 3,-27842 }, + { 4,-27842 }, { 5,-27842 }, { 6,-27842 }, { 7,-27842 }, { 8,-27842 }, + + { 9,-27584 }, { 10,-35497 }, { 11,-27842 }, { 12,-27584 }, { 13,-35497 }, + { 14,-27842 }, { 15,-27842 }, { 16,-27842 }, { 17,-27842 }, { 18,-27842 }, + { 19,-27842 }, { 20,-27842 }, { 21,-27842 }, { 22,-27842 }, { 23,-27842 }, + { 24,-27842 }, { 25,-27842 }, { 26,-27842 }, { 27,-27842 }, { 28,-27842 }, + { 29,-27842 }, { 30,-27842 }, { 31,-27842 }, { 32,-27584 }, { 33,-27842 }, + { 34,-27842 }, { 35,-27842 }, { 36,-27842 }, { 37,-27842 }, { 38,-27842 }, + { 39,-27842 }, { 40,-27842 }, { 41,-27842 }, { 42,-27842 }, { 43,-27842 }, + { 44,-27842 }, { 45,-27326 }, { 46,-27842 }, { 47,-27842 }, { 48,-27842 }, + { 49,-27842 }, { 50,-27842 }, { 51,-27842 }, { 52,-27842 }, { 53,-27842 }, + { 54,-27842 }, { 55,-27842 }, { 56,-27842 }, { 57,-27842 }, { 58,-27842 }, + + { 59,-27842 }, { 60,-27842 }, { 61,-27842 }, { 62,-27842 }, { 63,-27842 }, + { 64,-27842 }, { 65,-27842 }, { 66,-27842 }, { 67,-27842 }, { 68,-27842 }, + { 69,-27842 }, { 70,-27842 }, { 71,-27842 }, { 72,-27842 }, { 73,-27842 }, + { 74,-27842 }, { 75,-27842 }, { 76,-27842 }, { 77,-27842 }, { 78,-27842 }, + { 79,-27842 }, { 80,-27842 }, { 81,-27842 }, { 82,-27842 }, { 83,-27842 }, + { 84,-27842 }, { 85,-27068 }, { 86,-27842 }, { 87,-27842 }, { 88,-27842 }, + { 89,-27842 }, { 90,-27842 }, { 91,-27842 }, { 92,-27842 }, { 93,-27842 }, + { 94,-27842 }, { 95,-27842 }, { 96,-27842 }, { 97,-27842 }, { 98,-27842 }, + { 99,-27842 }, { 100,-27842 }, { 101,-27842 }, { 102,-27842 }, { 103,-27842 }, + { 104,-27842 }, { 105,-27842 }, { 106,-27842 }, { 107,-27842 }, { 108,-27842 }, + + { 109,-27842 }, { 110,-27842 }, { 111,-27842 }, { 112,-27842 }, { 113,-27842 }, + { 114,-27842 }, { 115,-27842 }, { 116,-27842 }, { 117,-27068 }, { 118,-27842 }, + { 119,-27842 }, { 120,-27842 }, { 121,-27842 }, { 122,-27842 }, { 123,-27842 }, + { 124,-27842 }, { 125,-27842 }, { 126,-27842 }, { 127,-27842 }, { 128,-27842 }, + { 129,-27842 }, { 130,-27842 }, { 131,-27842 }, { 132,-27842 }, { 133,-27842 }, + { 134,-27842 }, { 135,-27842 }, { 136,-27842 }, { 137,-27842 }, { 138,-27842 }, + { 139,-27842 }, { 140,-27842 }, { 141,-27842 }, { 142,-27842 }, { 143,-27842 }, + { 144,-27842 }, { 145,-27842 }, { 146,-27842 }, { 147,-27842 }, { 148,-27842 }, + { 149,-27842 }, { 150,-27842 }, { 151,-27842 }, { 152,-27842 }, { 153,-27842 }, + { 154,-27842 }, { 155,-27842 }, { 156,-27842 }, { 157,-27842 }, { 158,-27842 }, + + { 159,-27842 }, { 160,-27842 }, { 161,-27842 }, { 162,-27842 }, { 163,-27842 }, + { 164,-27842 }, { 165,-27842 }, { 166,-27842 }, { 167,-27842 }, { 168,-27842 }, + { 169,-27842 }, { 170,-27842 }, { 171,-27842 }, { 172,-27842 }, { 173,-27842 }, + { 174,-27842 }, { 175,-27842 }, { 176,-27842 }, { 177,-27842 }, { 178,-27842 }, + { 179,-27842 }, { 180,-27842 }, { 181,-27842 }, { 182,-27842 }, { 183,-27842 }, + { 184,-27842 }, { 185,-27842 }, { 186,-27842 }, { 187,-27842 }, { 188,-27842 }, + { 189,-27842 }, { 190,-27842 }, { 191,-27842 }, { 192,-27842 }, { 193,-27842 }, + { 194,-27842 }, { 195,-27842 }, { 196,-27842 }, { 197,-27842 }, { 198,-27842 }, + { 199,-27842 }, { 200,-27842 }, { 201,-27842 }, { 202,-27842 }, { 203,-27842 }, + { 204,-27842 }, { 205,-27842 }, { 206,-27842 }, { 207,-27842 }, { 208,-27842 }, + + { 209,-27842 }, { 210,-27842 }, { 211,-27842 }, { 212,-27842 }, { 213,-27842 }, + { 214,-27842 }, { 215,-27842 }, { 216,-27842 }, { 217,-27842 }, { 218,-27842 }, + { 219,-27842 }, { 220,-27842 }, { 221,-27842 }, { 222,-27842 }, { 223,-27842 }, + { 224,-27842 }, { 225,-27842 }, { 226,-27842 }, { 227,-27842 }, { 228,-27842 }, + { 229,-27842 }, { 230,-27842 }, { 231,-27842 }, { 232,-27842 }, { 233,-27842 }, + { 234,-27842 }, { 235,-27842 }, { 236,-27842 }, { 237,-27842 }, { 238,-27842 }, + { 239,-27842 }, { 240,-27842 }, { 241,-27842 }, { 242,-27842 }, { 243,-27842 }, + { 244,-27842 }, { 245,-27842 }, { 246,-27842 }, { 247,-27842 }, { 248,-27842 }, + { 249,-27842 }, { 250,-27842 }, { 251,-27842 }, { 252,-27842 }, { 253,-27842 }, + { 254,-27842 }, { 255,-27842 }, { 256,-27842 }, { 0, 24 }, { 0,14031 }, + + { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, + { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 258 }, { 10,-12160 }, + { 11, 0 }, { 12, 258 }, { 13,-12160 }, { 14, 0 }, { 15, 0 }, + { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, + { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, + { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, + { 31, 0 }, { 32, 258 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, + { 36, 0 }, { 37, 0 }, { 38, 0 }, { 39, 516 }, { 40, 0 }, + { 41, 0 }, { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45,5537 }, + { 46, 0 }, { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, + { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, + { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, + { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, + { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, + { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85,1032 }, + { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, + { 91, 0 }, { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, + { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, + + { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, + { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, + { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, + { 116, 0 }, { 117,1032 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, + { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, + { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, + { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, + { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, + { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, + { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, + + { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, + { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, + { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, + { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, + { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, + { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, + { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, + { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, + { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, + { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, + + { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, + { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, + { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, + { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, + { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, + { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, + { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, + { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, + { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, + { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, + + { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, + { 256, 0 }, { 0, 24 }, { 0,13773 }, { 1,-258 }, { 2,-258 }, + { 3,-258 }, { 4,-258 }, { 5,-258 }, { 6,-258 }, { 7,-258 }, + { 8,-258 }, { 9, 0 }, { 10,-12418 }, { 11,-258 }, { 12, 0 }, + { 13,-12418 }, { 14,-258 }, { 15,-258 }, { 16,-258 }, { 17,-258 }, + { 18,-258 }, { 19,-258 }, { 20,-258 }, { 21,-258 }, { 22,-258 }, + { 23,-258 }, { 24,-258 }, { 25,-258 }, { 26,-258 }, { 27,-258 }, + { 28,-258 }, { 29,-258 }, { 30,-258 }, { 31,-258 }, { 32, 0 }, + { 33,-258 }, { 34,-258 }, { 35,-258 }, { 36,-258 }, { 37,-258 }, + { 38,-258 }, { 39, 258 }, { 40,-258 }, { 41,-258 }, { 42,-258 }, + + { 43,-258 }, { 44,-258 }, { 45,5279 }, { 46,-258 }, { 47,-258 }, + { 48,-258 }, { 49,-258 }, { 50,-258 }, { 51,-258 }, { 52,-258 }, + { 53,-258 }, { 54,-258 }, { 55,-258 }, { 56,-258 }, { 57,-258 }, + { 58,-258 }, { 59,-258 }, { 60,-258 }, { 61,-258 }, { 62,-258 }, + { 63,-258 }, { 64,-258 }, { 65,-258 }, { 66,-258 }, { 67,-258 }, + { 68,-258 }, { 69,-258 }, { 70,-258 }, { 71,-258 }, { 72,-258 }, + { 73,-258 }, { 74,-258 }, { 75,-258 }, { 76,-258 }, { 77,-258 }, + { 78,-258 }, { 79,-258 }, { 80,-258 }, { 81,-258 }, { 82,-258 }, + { 83,-258 }, { 84,-258 }, { 85, 774 }, { 86,-258 }, { 87,-258 }, + { 88,-258 }, { 89,-258 }, { 90,-258 }, { 91,-258 }, { 92,-258 }, + + { 93,-258 }, { 94,-258 }, { 95,-258 }, { 96,-258 }, { 97,-258 }, + { 98,-258 }, { 99,-258 }, { 100,-258 }, { 101,-258 }, { 102,-258 }, + { 103,-258 }, { 104,-258 }, { 105,-258 }, { 106,-258 }, { 107,-258 }, + { 108,-258 }, { 109,-258 }, { 110,-258 }, { 111,-258 }, { 112,-258 }, + { 113,-258 }, { 114,-258 }, { 115,-258 }, { 116,-258 }, { 117, 774 }, + { 118,-258 }, { 119,-258 }, { 120,-258 }, { 121,-258 }, { 122,-258 }, + { 123,-258 }, { 124,-258 }, { 125,-258 }, { 126,-258 }, { 127,-258 }, + { 128,-258 }, { 129,-258 }, { 130,-258 }, { 131,-258 }, { 132,-258 }, + { 133,-258 }, { 134,-258 }, { 135,-258 }, { 136,-258 }, { 137,-258 }, + { 138,-258 }, { 139,-258 }, { 140,-258 }, { 141,-258 }, { 142,-258 }, + + { 143,-258 }, { 144,-258 }, { 145,-258 }, { 146,-258 }, { 147,-258 }, + { 148,-258 }, { 149,-258 }, { 150,-258 }, { 151,-258 }, { 152,-258 }, + { 153,-258 }, { 154,-258 }, { 155,-258 }, { 156,-258 }, { 157,-258 }, + { 158,-258 }, { 159,-258 }, { 160,-258 }, { 161,-258 }, { 162,-258 }, + { 163,-258 }, { 164,-258 }, { 165,-258 }, { 166,-258 }, { 167,-258 }, + { 168,-258 }, { 169,-258 }, { 170,-258 }, { 171,-258 }, { 172,-258 }, + { 173,-258 }, { 174,-258 }, { 175,-258 }, { 176,-258 }, { 177,-258 }, + { 178,-258 }, { 179,-258 }, { 180,-258 }, { 181,-258 }, { 182,-258 }, + { 183,-258 }, { 184,-258 }, { 185,-258 }, { 186,-258 }, { 187,-258 }, + { 188,-258 }, { 189,-258 }, { 190,-258 }, { 191,-258 }, { 192,-258 }, + + { 193,-258 }, { 194,-258 }, { 195,-258 }, { 196,-258 }, { 197,-258 }, + { 198,-258 }, { 199,-258 }, { 200,-258 }, { 201,-258 }, { 202,-258 }, + { 203,-258 }, { 204,-258 }, { 205,-258 }, { 206,-258 }, { 207,-258 }, + { 208,-258 }, { 209,-258 }, { 210,-258 }, { 211,-258 }, { 212,-258 }, + { 213,-258 }, { 214,-258 }, { 215,-258 }, { 216,-258 }, { 217,-258 }, + { 218,-258 }, { 219,-258 }, { 220,-258 }, { 221,-258 }, { 222,-258 }, + { 223,-258 }, { 224,-258 }, { 225,-258 }, { 226,-258 }, { 227,-258 }, + { 228,-258 }, { 229,-258 }, { 230,-258 }, { 231,-258 }, { 232,-258 }, + { 233,-258 }, { 234,-258 }, { 235,-258 }, { 236,-258 }, { 237,-258 }, + { 238,-258 }, { 239,-258 }, { 240,-258 }, { 241,-258 }, { 242,-258 }, + + { 243,-258 }, { 244,-258 }, { 245,-258 }, { 246,-258 }, { 247,-258 }, + { 248,-258 }, { 249,-258 }, { 250,-258 }, { 251,-258 }, { 252,-258 }, + { 253,-258 }, { 254,-258 }, { 255,-258 }, { 256,-258 }, { 0, 24 }, + { 0,13515 }, { 1,5279 }, { 2,5279 }, { 3,5279 }, { 4,5279 }, + { 5,5279 }, { 6,5279 }, { 7,5279 }, { 8,5279 }, { 9,5537 }, + { 10,5795 }, { 11,5279 }, { 12,5537 }, { 13,5795 }, { 14,5279 }, + { 15,5279 }, { 16,5279 }, { 17,5279 }, { 18,5279 }, { 19,5279 }, + { 20,5279 }, { 21,5279 }, { 22,5279 }, { 23,5279 }, { 24,5279 }, + { 25,5279 }, { 26,5279 }, { 27,5279 }, { 28,5279 }, { 29,5279 }, + { 30,5279 }, { 31,5279 }, { 32,5537 }, { 33,5279 }, { 34,5279 }, + + { 35,5279 }, { 36,5279 }, { 37,5279 }, { 38,5279 }, { 39, 0 }, + { 40,5279 }, { 41,5279 }, { 42,5279 }, { 43,5279 }, { 44,5279 }, + { 45,5914 }, { 46,5279 }, { 47,5279 }, { 48,5279 }, { 49,5279 }, + { 50,5279 }, { 51,5279 }, { 52,5279 }, { 53,5279 }, { 54,5279 }, + { 55,5279 }, { 56,5279 }, { 57,5279 }, { 58,5279 }, { 59,5279 }, + { 60,5279 }, { 61,5279 }, { 62,5279 }, { 63,5279 }, { 64,5279 }, + { 65,5279 }, { 66,5279 }, { 67,5279 }, { 68,5279 }, { 69,5279 }, + { 70,5279 }, { 71,5279 }, { 72,5279 }, { 73,5279 }, { 74,5279 }, + { 75,5279 }, { 76,5279 }, { 77,5279 }, { 78,5279 }, { 79,5279 }, + { 80,5279 }, { 81,5279 }, { 82,5279 }, { 83,5279 }, { 84,5279 }, + + { 85,6172 }, { 86,5279 }, { 87,5279 }, { 88,5279 }, { 89,5279 }, + { 90,5279 }, { 91,5279 }, { 92,5279 }, { 93,5279 }, { 94,5279 }, + { 95,5279 }, { 96,5279 }, { 97,5279 }, { 98,5279 }, { 99,5279 }, + { 100,5279 }, { 101,5279 }, { 102,5279 }, { 103,5279 }, { 104,5279 }, + { 105,5279 }, { 106,5279 }, { 107,5279 }, { 108,5279 }, { 109,5279 }, + { 110,5279 }, { 111,5279 }, { 112,5279 }, { 113,5279 }, { 114,5279 }, + { 115,5279 }, { 116,5279 }, { 117,6172 }, { 118,5279 }, { 119,5279 }, + { 120,5279 }, { 121,5279 }, { 122,5279 }, { 123,5279 }, { 124,5279 }, + { 125,5279 }, { 126,5279 }, { 127,5279 }, { 128,5279 }, { 129,5279 }, + { 130,5279 }, { 131,5279 }, { 132,5279 }, { 133,5279 }, { 134,5279 }, + + { 135,5279 }, { 136,5279 }, { 137,5279 }, { 138,5279 }, { 139,5279 }, + { 140,5279 }, { 141,5279 }, { 142,5279 }, { 143,5279 }, { 144,5279 }, + { 145,5279 }, { 146,5279 }, { 147,5279 }, { 148,5279 }, { 149,5279 }, + { 150,5279 }, { 151,5279 }, { 152,5279 }, { 153,5279 }, { 154,5279 }, + { 155,5279 }, { 156,5279 }, { 157,5279 }, { 158,5279 }, { 159,5279 }, + { 160,5279 }, { 161,5279 }, { 162,5279 }, { 163,5279 }, { 164,5279 }, + { 165,5279 }, { 166,5279 }, { 167,5279 }, { 168,5279 }, { 169,5279 }, + { 170,5279 }, { 171,5279 }, { 172,5279 }, { 173,5279 }, { 174,5279 }, + { 175,5279 }, { 176,5279 }, { 177,5279 }, { 178,5279 }, { 179,5279 }, + { 180,5279 }, { 181,5279 }, { 182,5279 }, { 183,5279 }, { 184,5279 }, + + { 185,5279 }, { 186,5279 }, { 187,5279 }, { 188,5279 }, { 189,5279 }, + { 190,5279 }, { 191,5279 }, { 192,5279 }, { 193,5279 }, { 194,5279 }, + { 195,5279 }, { 196,5279 }, { 197,5279 }, { 198,5279 }, { 199,5279 }, + { 200,5279 }, { 201,5279 }, { 202,5279 }, { 203,5279 }, { 204,5279 }, + { 205,5279 }, { 206,5279 }, { 207,5279 }, { 208,5279 }, { 209,5279 }, + { 210,5279 }, { 211,5279 }, { 212,5279 }, { 213,5279 }, { 214,5279 }, + { 215,5279 }, { 216,5279 }, { 217,5279 }, { 218,5279 }, { 219,5279 }, + { 220,5279 }, { 221,5279 }, { 222,5279 }, { 223,5279 }, { 224,5279 }, + { 225,5279 }, { 226,5279 }, { 227,5279 }, { 228,5279 }, { 229,5279 }, + { 230,5279 }, { 231,5279 }, { 232,5279 }, { 233,5279 }, { 234,5279 }, + + { 235,5279 }, { 236,5279 }, { 237,5279 }, { 238,5279 }, { 239,5279 }, + { 240,5279 }, { 241,5279 }, { 242,5279 }, { 243,5279 }, { 244,5279 }, + { 245,5279 }, { 246,5279 }, { 247,5279 }, { 248,5279 }, { 249,5279 }, + { 250,5279 }, { 251,5279 }, { 252,5279 }, { 253,5279 }, { 254,5279 }, + { 255,5279 }, { 256,5279 }, { 0, 24 }, { 0,13257 }, { 1,-774 }, + { 2,-774 }, { 3,-774 }, { 4,-774 }, { 5,-774 }, { 6,-774 }, + { 7,-774 }, { 8,-774 }, { 9,-516 }, { 10,-12934 }, { 11,-774 }, + { 12,-516 }, { 13,-12934 }, { 14,-774 }, { 15,-774 }, { 16,-774 }, + { 17,-774 }, { 18,-774 }, { 19,-774 }, { 20,-774 }, { 21,-774 }, + { 22,-774 }, { 23,-774 }, { 24,-774 }, { 25,-774 }, { 26,-774 }, + + { 27,-774 }, { 28,-774 }, { 29,-774 }, { 30,-774 }, { 31,-774 }, + { 32,-516 }, { 33,-774 }, { 34,-774 }, { 35,-774 }, { 36,-774 }, + { 37,-774 }, { 38,-774 }, { 39,-258 }, { 40,-774 }, { 41,-774 }, + { 42,-774 }, { 43,-774 }, { 44,-774 }, { 45,6172 }, { 46,-774 }, + { 47,-774 }, { 48,-774 }, { 49,-774 }, { 50,-774 }, { 51,-774 }, + { 52,-774 }, { 53,-774 }, { 54,-774 }, { 55,-774 }, { 56,-774 }, + { 57,-774 }, { 58,-774 }, { 59,-774 }, { 60,-774 }, { 61,-774 }, + { 62,-774 }, { 63,-774 }, { 64,-774 }, { 65,-774 }, { 66,-774 }, + { 67,-774 }, { 68,-774 }, { 69,-774 }, { 70,-774 }, { 71,-774 }, + { 72,-774 }, { 73,-774 }, { 74,-774 }, { 75,-774 }, { 76,-774 }, + + { 77,-774 }, { 78,-774 }, { 79,-774 }, { 80,-774 }, { 81,-774 }, + { 82,-774 }, { 83,-774 }, { 84,-774 }, { 85, 258 }, { 86,-774 }, + { 87,-774 }, { 88,-774 }, { 89,-774 }, { 90,-774 }, { 91,-774 }, + { 92,-774 }, { 93,-774 }, { 94,-774 }, { 95,-774 }, { 96,-774 }, + { 97,-774 }, { 98,-774 }, { 99,-774 }, { 100,-774 }, { 101,-774 }, + { 102,-774 }, { 103,-774 }, { 104,-774 }, { 105,-774 }, { 106,-774 }, + { 107,-774 }, { 108,-774 }, { 109,-774 }, { 110,-774 }, { 111,-774 }, + { 112,-774 }, { 113,-774 }, { 114,-774 }, { 115,-774 }, { 116,-774 }, + { 117, 258 }, { 118,-774 }, { 119,-774 }, { 120,-774 }, { 121,-774 }, + { 122,-774 }, { 123,-774 }, { 124,-774 }, { 125,-774 }, { 126,-774 }, + + { 127,-774 }, { 128,-774 }, { 129,-774 }, { 130,-774 }, { 131,-774 }, + { 132,-774 }, { 133,-774 }, { 134,-774 }, { 135,-774 }, { 136,-774 }, + { 137,-774 }, { 138,-774 }, { 139,-774 }, { 140,-774 }, { 141,-774 }, + { 142,-774 }, { 143,-774 }, { 144,-774 }, { 145,-774 }, { 146,-774 }, + { 147,-774 }, { 148,-774 }, { 149,-774 }, { 150,-774 }, { 151,-774 }, + { 152,-774 }, { 153,-774 }, { 154,-774 }, { 155,-774 }, { 156,-774 }, + { 157,-774 }, { 158,-774 }, { 159,-774 }, { 160,-774 }, { 161,-774 }, + { 162,-774 }, { 163,-774 }, { 164,-774 }, { 165,-774 }, { 166,-774 }, + { 167,-774 }, { 168,-774 }, { 169,-774 }, { 170,-774 }, { 171,-774 }, + { 172,-774 }, { 173,-774 }, { 174,-774 }, { 175,-774 }, { 176,-774 }, + + { 177,-774 }, { 178,-774 }, { 179,-774 }, { 180,-774 }, { 181,-774 }, + { 182,-774 }, { 183,-774 }, { 184,-774 }, { 185,-774 }, { 186,-774 }, + { 187,-774 }, { 188,-774 }, { 189,-774 }, { 190,-774 }, { 191,-774 }, + { 192,-774 }, { 193,-774 }, { 194,-774 }, { 195,-774 }, { 196,-774 }, + { 197,-774 }, { 198,-774 }, { 199,-774 }, { 200,-774 }, { 201,-774 }, + { 202,-774 }, { 203,-774 }, { 204,-774 }, { 205,-774 }, { 206,-774 }, + { 207,-774 }, { 208,-774 }, { 209,-774 }, { 210,-774 }, { 211,-774 }, + { 212,-774 }, { 213,-774 }, { 214,-774 }, { 215,-774 }, { 216,-774 }, + { 217,-774 }, { 218,-774 }, { 219,-774 }, { 220,-774 }, { 221,-774 }, + { 222,-774 }, { 223,-774 }, { 224,-774 }, { 225,-774 }, { 226,-774 }, + + { 227,-774 }, { 228,-774 }, { 229,-774 }, { 230,-774 }, { 231,-774 }, + { 232,-774 }, { 233,-774 }, { 234,-774 }, { 235,-774 }, { 236,-774 }, + { 237,-774 }, { 238,-774 }, { 239,-774 }, { 240,-774 }, { 241,-774 }, + { 242,-774 }, { 243,-774 }, { 244,-774 }, { 245,-774 }, { 246,-774 }, + { 247,-774 }, { 248,-774 }, { 249,-774 }, { 250,-774 }, { 251,-774 }, + { 252,-774 }, { 253,-774 }, { 254,-774 }, { 255,-774 }, { 256,-774 }, + { 0, 24 }, { 0,12999 }, { 1,-1032 }, { 2,-1032 }, { 3,-1032 }, + { 4,-1032 }, { 5,-1032 }, { 6,-1032 }, { 7,-1032 }, { 8,-1032 }, + { 9,-774 }, { 10,-13192 }, { 11,-1032 }, { 12,-774 }, { 13,-13192 }, + { 14,-1032 }, { 15,-1032 }, { 16,-1032 }, { 17,-1032 }, { 18,-1032 }, + + { 19,-1032 }, { 20,-1032 }, { 21,-1032 }, { 22,-1032 }, { 23,-1032 }, + { 24,-1032 }, { 25,-1032 }, { 26,-1032 }, { 27,-1032 }, { 28,-1032 }, + { 29,-1032 }, { 30,-1032 }, { 31,-1032 }, { 32,-774 }, { 33,-1032 }, + { 34,-1032 }, { 35,-1032 }, { 36,-1032 }, { 37,-1032 }, { 38,-1032 }, + { 39,-516 }, { 40,-1032 }, { 41,-1032 }, { 42,-1032 }, { 43,-1032 }, + { 44,-1032 }, { 45,4505 }, { 46,-1032 }, { 47,-1032 }, { 48,-1032 }, + { 49,-1032 }, { 50,-1032 }, { 51,-1032 }, { 52,-1032 }, { 53,-1032 }, + { 54,-1032 }, { 55,-1032 }, { 56,-1032 }, { 57,-1032 }, { 58,-1032 }, + { 59,-1032 }, { 60,-1032 }, { 61,-1032 }, { 62,-1032 }, { 63,-1032 }, + { 64,-1032 }, { 65,-1032 }, { 66,-1032 }, { 67,-1032 }, { 68,-1032 }, + + { 69,6172 }, { 70,-1032 }, { 71,-1032 }, { 72,-1032 }, { 73,-1032 }, + { 74,-1032 }, { 75,-1032 }, { 76,-1032 }, { 77,-1032 }, { 78,-1032 }, + { 79,-1032 }, { 80,-1032 }, { 81,-1032 }, { 82,-1032 }, { 83,-1032 }, + { 84,-1032 }, { 85, 0 }, { 86,-1032 }, { 87,-1032 }, { 88,-1032 }, + { 89,-1032 }, { 90,-1032 }, { 91,-1032 }, { 92,-1032 }, { 93,-1032 }, + { 94,-1032 }, { 95,-1032 }, { 96,-1032 }, { 97,-1032 }, { 98,-1032 }, + { 99,-1032 }, { 100,-1032 }, { 101,6172 }, { 102,-1032 }, { 103,-1032 }, + { 104,-1032 }, { 105,-1032 }, { 106,-1032 }, { 107,-1032 }, { 108,-1032 }, + { 109,-1032 }, { 110,-1032 }, { 111,-1032 }, { 112,-1032 }, { 113,-1032 }, + { 114,-1032 }, { 115,-1032 }, { 116,-1032 }, { 117, 0 }, { 118,-1032 }, + + { 119,-1032 }, { 120,-1032 }, { 121,-1032 }, { 122,-1032 }, { 123,-1032 }, + { 124,-1032 }, { 125,-1032 }, { 126,-1032 }, { 127,-1032 }, { 128,-1032 }, + { 129,-1032 }, { 130,-1032 }, { 131,-1032 }, { 132,-1032 }, { 133,-1032 }, + { 134,-1032 }, { 135,-1032 }, { 136,-1032 }, { 137,-1032 }, { 138,-1032 }, + { 139,-1032 }, { 140,-1032 }, { 141,-1032 }, { 142,-1032 }, { 143,-1032 }, + { 144,-1032 }, { 145,-1032 }, { 146,-1032 }, { 147,-1032 }, { 148,-1032 }, + { 149,-1032 }, { 150,-1032 }, { 151,-1032 }, { 152,-1032 }, { 153,-1032 }, + { 154,-1032 }, { 155,-1032 }, { 156,-1032 }, { 157,-1032 }, { 158,-1032 }, + { 159,-1032 }, { 160,-1032 }, { 161,-1032 }, { 162,-1032 }, { 163,-1032 }, + { 164,-1032 }, { 165,-1032 }, { 166,-1032 }, { 167,-1032 }, { 168,-1032 }, + + { 169,-1032 }, { 170,-1032 }, { 171,-1032 }, { 172,-1032 }, { 173,-1032 }, + { 174,-1032 }, { 175,-1032 }, { 176,-1032 }, { 177,-1032 }, { 178,-1032 }, + { 179,-1032 }, { 180,-1032 }, { 181,-1032 }, { 182,-1032 }, { 183,-1032 }, + { 184,-1032 }, { 185,-1032 }, { 186,-1032 }, { 187,-1032 }, { 188,-1032 }, + { 189,-1032 }, { 190,-1032 }, { 191,-1032 }, { 192,-1032 }, { 193,-1032 }, + { 194,-1032 }, { 195,-1032 }, { 196,-1032 }, { 197,-1032 }, { 198,-1032 }, + { 199,-1032 }, { 200,-1032 }, { 201,-1032 }, { 202,-1032 }, { 203,-1032 }, + { 204,-1032 }, { 205,-1032 }, { 206,-1032 }, { 207,-1032 }, { 208,-1032 }, + { 209,-1032 }, { 210,-1032 }, { 211,-1032 }, { 212,-1032 }, { 213,-1032 }, + { 214,-1032 }, { 215,-1032 }, { 216,-1032 }, { 217,-1032 }, { 218,-1032 }, + + { 219,-1032 }, { 220,-1032 }, { 221,-1032 }, { 222,-1032 }, { 223,-1032 }, + { 224,-1032 }, { 225,-1032 }, { 226,-1032 }, { 227,-1032 }, { 228,-1032 }, + { 229,-1032 }, { 230,-1032 }, { 231,-1032 }, { 232,-1032 }, { 233,-1032 }, + { 234,-1032 }, { 235,-1032 }, { 236,-1032 }, { 237,-1032 }, { 238,-1032 }, + { 239,-1032 }, { 240,-1032 }, { 241,-1032 }, { 242,-1032 }, { 243,-1032 }, + { 244,-1032 }, { 245,-1032 }, { 246,-1032 }, { 247,-1032 }, { 248,-1032 }, + { 249,-1032 }, { 250,-1032 }, { 251,-1032 }, { 252,-1032 }, { 253,-1032 }, + { 254,-1032 }, { 255,-1032 }, { 256,-1032 }, { 0, 24 }, { 0,12741 }, + { 1,-6616 }, { 2,-6616 }, { 3,-6616 }, { 4,-6616 }, { 5,-6616 }, + { 6,-6616 }, { 7,-6616 }, { 8,-6616 }, { 9,-6358 }, { 10,-6100 }, + + { 11,-6616 }, { 12,-6358 }, { 13,-6100 }, { 14,-6616 }, { 15,-6616 }, + { 16,-6616 }, { 17,-6616 }, { 18,-6616 }, { 19,-6616 }, { 20,-6616 }, + { 21,-6616 }, { 22,-6616 }, { 23,-6616 }, { 24,-6616 }, { 25,-6616 }, + { 26,-6616 }, { 27,-6616 }, { 28,-6616 }, { 29,-6616 }, { 30,-6616 }, + { 31,-6616 }, { 32,-6358 }, { 33,-6616 }, { 34,-6616 }, { 35,-6616 }, + { 36,-6616 }, { 37,-6616 }, { 38,-6616 }, { 39,-12299 }, { 40,-6616 }, + { 41,-6616 }, { 42,-6616 }, { 43,-6616 }, { 44,-6616 }, { 45,-6053 }, + { 46,-6616 }, { 47,-6616 }, { 48,-6616 }, { 49,-6616 }, { 50,-6616 }, + { 51,-6616 }, { 52,-6616 }, { 53,-6616 }, { 54,-6616 }, { 55,-6616 }, + { 56,-6616 }, { 57,-6616 }, { 58,-6616 }, { 59,-6616 }, { 60,-6616 }, + + { 61,-6616 }, { 62,-6616 }, { 63,-6616 }, { 64,-6616 }, { 65,-6616 }, + { 66,-6616 }, { 67,-6616 }, { 68,-6616 }, { 69,-6616 }, { 70,-6616 }, + { 71,-6616 }, { 72,-6616 }, { 73,-6616 }, { 74,-6616 }, { 75,-6616 }, + { 76,-6616 }, { 77,-6616 }, { 78,-6616 }, { 79,-6616 }, { 80,-6616 }, + { 81,-6616 }, { 82,-6616 }, { 83,-6616 }, { 84,-6616 }, { 85,-6616 }, + { 86,-6616 }, { 87,-6616 }, { 88,-6616 }, { 89,-6616 }, { 90,-6616 }, + { 91,-6616 }, { 92,-6616 }, { 93,-6616 }, { 94,-6616 }, { 95,-6616 }, + { 96,-6616 }, { 97,-6616 }, { 98,-6616 }, { 99,-6616 }, { 100,-6616 }, + { 101,-6616 }, { 102,-6616 }, { 103,-6616 }, { 104,-6616 }, { 105,-6616 }, + { 106,-6616 }, { 107,-6616 }, { 108,-6616 }, { 109,-6616 }, { 110,-6616 }, + + { 111,-6616 }, { 112,-6616 }, { 113,-6616 }, { 114,-6616 }, { 115,-6616 }, + { 116,-6616 }, { 117,-6616 }, { 118,-6616 }, { 119,-6616 }, { 120,-6616 }, + { 121,-6616 }, { 122,-6616 }, { 123,-6616 }, { 124,-6616 }, { 125,-6616 }, + { 126,-6616 }, { 127,-6616 }, { 128,-6616 }, { 129,-6616 }, { 130,-6616 }, + { 131,-6616 }, { 132,-6616 }, { 133,-6616 }, { 134,-6616 }, { 135,-6616 }, + { 136,-6616 }, { 137,-6616 }, { 138,-6616 }, { 139,-6616 }, { 140,-6616 }, + { 141,-6616 }, { 142,-6616 }, { 143,-6616 }, { 144,-6616 }, { 145,-6616 }, + { 146,-6616 }, { 147,-6616 }, { 148,-6616 }, { 149,-6616 }, { 150,-6616 }, + { 151,-6616 }, { 152,-6616 }, { 153,-6616 }, { 154,-6616 }, { 155,-6616 }, + { 156,-6616 }, { 157,-6616 }, { 158,-6616 }, { 159,-6616 }, { 160,-6616 }, + + { 161,-6616 }, { 162,-6616 }, { 163,-6616 }, { 164,-6616 }, { 165,-6616 }, + { 166,-6616 }, { 167,-6616 }, { 168,-6616 }, { 169,-6616 }, { 170,-6616 }, + { 171,-6616 }, { 172,-6616 }, { 173,-6616 }, { 174,-6616 }, { 175,-6616 }, + { 176,-6616 }, { 177,-6616 }, { 178,-6616 }, { 179,-6616 }, { 180,-6616 }, + { 181,-6616 }, { 182,-6616 }, { 183,-6616 }, { 184,-6616 }, { 185,-6616 }, + { 186,-6616 }, { 187,-6616 }, { 188,-6616 }, { 189,-6616 }, { 190,-6616 }, + { 191,-6616 }, { 192,-6616 }, { 193,-6616 }, { 194,-6616 }, { 195,-6616 }, + { 196,-6616 }, { 197,-6616 }, { 198,-6616 }, { 199,-6616 }, { 200,-6616 }, + { 201,-6616 }, { 202,-6616 }, { 203,-6616 }, { 204,-6616 }, { 205,-6616 }, + { 206,-6616 }, { 207,-6616 }, { 208,-6616 }, { 209,-6616 }, { 210,-6616 }, + + { 211,-6616 }, { 212,-6616 }, { 213,-6616 }, { 214,-6616 }, { 215,-6616 }, + { 216,-6616 }, { 217,-6616 }, { 218,-6616 }, { 219,-6616 }, { 220,-6616 }, + { 221,-6616 }, { 222,-6616 }, { 223,-6616 }, { 224,-6616 }, { 225,-6616 }, + { 226,-6616 }, { 227,-6616 }, { 228,-6616 }, { 229,-6616 }, { 230,-6616 }, + { 231,-6616 }, { 232,-6616 }, { 233,-6616 }, { 234,-6616 }, { 235,-6616 }, + { 236,-6616 }, { 237,-6616 }, { 238,-6616 }, { 239,-6616 }, { 240,-6616 }, + { 241,-6616 }, { 242,-6616 }, { 243,-6616 }, { 244,-6616 }, { 245,-6616 }, + { 246,-6616 }, { 247,-6616 }, { 248,-6616 }, { 249,-6616 }, { 250,-6616 }, + { 251,-6616 }, { 252,-6616 }, { 253,-6616 }, { 254,-6616 }, { 255,-6616 }, + { 256,-6616 }, { 0, 24 }, { 0,12483 }, { 1,-40776 }, { 2,-40776 }, + + { 3,-40776 }, { 4,-40776 }, { 5,-40776 }, { 6,-40776 }, { 7,-40776 }, + { 8,-40776 }, { 9,-40776 }, { 10,-40776 }, { 11,-40776 }, { 12,-40776 }, + { 13,-40776 }, { 14,-40776 }, { 15,-40776 }, { 16,-40776 }, { 17,-40776 }, + { 18,-40776 }, { 19,-40776 }, { 20,-40776 }, { 21,-40776 }, { 22,-40776 }, + { 23,-40776 }, { 24,-40776 }, { 25,-40776 }, { 26,-40776 }, { 27,-40776 }, + { 28,-40776 }, { 29,-40776 }, { 30,-40776 }, { 31,-40776 }, { 32,-40776 }, + { 33,-40776 }, { 34,-40776 }, { 35,-40776 }, { 36,-40776 }, { 37,-40776 }, + { 38,-40776 }, { 0, 0 }, { 40,-40776 }, { 41,-40776 }, { 42,-40776 }, + { 43,-40776 }, { 44,-40776 }, { 45,-40776 }, { 46,-40776 }, { 47,-40776 }, + { 48,-40776 }, { 49,-40776 }, { 50,-40776 }, { 51,-40776 }, { 52,-40776 }, + + { 53,-40776 }, { 54,-40776 }, { 55,-40776 }, { 56,-40776 }, { 57,-40776 }, + { 58,-40776 }, { 59,-40776 }, { 60,-40776 }, { 61,-40776 }, { 62,-40776 }, + { 63,-40776 }, { 64,-40776 }, { 65,-40776 }, { 66,-40776 }, { 67,-40776 }, + { 68,-40776 }, { 69,-40776 }, { 70,-40776 }, { 71,-40776 }, { 72,-40776 }, + { 73,-40776 }, { 74,-40776 }, { 75,-40776 }, { 76,-40776 }, { 77,-40776 }, + { 78,-40776 }, { 79,-40776 }, { 80,-40776 }, { 81,-40776 }, { 82,-40776 }, + { 83,-40776 }, { 84,-40776 }, { 85,-40776 }, { 86,-40776 }, { 87,-40776 }, + { 88,-40776 }, { 89,-40776 }, { 90,-40776 }, { 91,-40776 }, { 92,-40776 }, + { 93,-40776 }, { 94,-40776 }, { 95,-40776 }, { 96,-40776 }, { 97,-40776 }, + { 98,-40776 }, { 99,-40776 }, { 100,-40776 }, { 101,-40776 }, { 102,-40776 }, + + { 103,-40776 }, { 104,-40776 }, { 105,-40776 }, { 106,-40776 }, { 107,-40776 }, + { 108,-40776 }, { 109,-40776 }, { 110,-40776 }, { 111,-40776 }, { 112,-40776 }, + { 113,-40776 }, { 114,-40776 }, { 115,-40776 }, { 116,-40776 }, { 117,-40776 }, + { 118,-40776 }, { 119,-40776 }, { 120,-40776 }, { 121,-40776 }, { 122,-40776 }, + { 123,-40776 }, { 124,-40776 }, { 125,-40776 }, { 126,-40776 }, { 127,-40776 }, + { 128,-40776 }, { 129,-40776 }, { 130,-40776 }, { 131,-40776 }, { 132,-40776 }, + { 133,-40776 }, { 134,-40776 }, { 135,-40776 }, { 136,-40776 }, { 137,-40776 }, + { 138,-40776 }, { 139,-40776 }, { 140,-40776 }, { 141,-40776 }, { 142,-40776 }, + { 143,-40776 }, { 144,-40776 }, { 145,-40776 }, { 146,-40776 }, { 147,-40776 }, + { 148,-40776 }, { 149,-40776 }, { 150,-40776 }, { 151,-40776 }, { 152,-40776 }, + + { 153,-40776 }, { 154,-40776 }, { 155,-40776 }, { 156,-40776 }, { 157,-40776 }, + { 158,-40776 }, { 159,-40776 }, { 160,-40776 }, { 161,-40776 }, { 162,-40776 }, + { 163,-40776 }, { 164,-40776 }, { 165,-40776 }, { 166,-40776 }, { 167,-40776 }, + { 168,-40776 }, { 169,-40776 }, { 170,-40776 }, { 171,-40776 }, { 172,-40776 }, + { 173,-40776 }, { 174,-40776 }, { 175,-40776 }, { 176,-40776 }, { 177,-40776 }, + { 178,-40776 }, { 179,-40776 }, { 180,-40776 }, { 181,-40776 }, { 182,-40776 }, + { 183,-40776 }, { 184,-40776 }, { 185,-40776 }, { 186,-40776 }, { 187,-40776 }, + { 188,-40776 }, { 189,-40776 }, { 190,-40776 }, { 191,-40776 }, { 192,-40776 }, + { 193,-40776 }, { 194,-40776 }, { 195,-40776 }, { 196,-40776 }, { 197,-40776 }, + { 198,-40776 }, { 199,-40776 }, { 200,-40776 }, { 201,-40776 }, { 202,-40776 }, + + { 203,-40776 }, { 204,-40776 }, { 205,-40776 }, { 206,-40776 }, { 207,-40776 }, + { 208,-40776 }, { 209,-40776 }, { 210,-40776 }, { 211,-40776 }, { 212,-40776 }, + { 213,-40776 }, { 214,-40776 }, { 215,-40776 }, { 216,-40776 }, { 217,-40776 }, + { 218,-40776 }, { 219,-40776 }, { 220,-40776 }, { 221,-40776 }, { 222,-40776 }, + { 223,-40776 }, { 224,-40776 }, { 225,-40776 }, { 226,-40776 }, { 227,-40776 }, + { 228,-40776 }, { 229,-40776 }, { 230,-40776 }, { 231,-40776 }, { 232,-40776 }, + { 233,-40776 }, { 234,-40776 }, { 235,-40776 }, { 236,-40776 }, { 237,-40776 }, + { 238,-40776 }, { 239,-40776 }, { 240,-40776 }, { 241,-40776 }, { 242,-40776 }, + { 243,-40776 }, { 244,-40776 }, { 245,-40776 }, { 246,-40776 }, { 247,-40776 }, + { 248,-40776 }, { 249,-40776 }, { 250,-40776 }, { 251,-40776 }, { 252,-40776 }, + + { 253,-40776 }, { 254,-40776 }, { 255,-40776 }, { 256,-40776 }, { 0, 48 }, + { 0,12225 }, { 1,-5537 }, { 2,-5537 }, { 3,-5537 }, { 4,-5537 }, + { 5,-5537 }, { 6,-5537 }, { 7,-5537 }, { 8,-5537 }, { 9,-5279 }, + { 10,-16149 }, { 11,-5537 }, { 12,-5279 }, { 13,-16149 }, { 14,-5537 }, + { 15,-5537 }, { 16,-5537 }, { 17,-5537 }, { 18,-5537 }, { 19,-5537 }, + { 20,-5537 }, { 21,-5537 }, { 22,-5537 }, { 23,-5537 }, { 24,-5537 }, + { 25,-5537 }, { 26,-5537 }, { 27,-5537 }, { 28,-5537 }, { 29,-5537 }, + { 30,-5537 }, { 31,-5537 }, { 32,-5279 }, { 33,-5537 }, { 34,-5537 }, + { 35,-5537 }, { 36,-5537 }, { 37,-5537 }, { 38,-5537 }, { 39,-5021 }, + { 40,-5537 }, { 41,-5537 }, { 42,-5537 }, { 43,-5537 }, { 44,-5537 }, + + { 45,1409 }, { 46,-5537 }, { 47,-5537 }, { 48,-5537 }, { 49,-5537 }, + { 50,-5537 }, { 51,-5537 }, { 52,-5537 }, { 53,-5537 }, { 54,-5537 }, + { 55,-5537 }, { 56,-5537 }, { 57,-5537 }, { 58,-5537 }, { 59,-5537 }, + { 60,-5537 }, { 61,-5537 }, { 62,-5537 }, { 63,-5537 }, { 64,-5537 }, + { 65,-5537 }, { 66,-5537 }, { 67,-5537 }, { 68,-5537 }, { 69,-5537 }, + { 70,-5537 }, { 71,-5537 }, { 72,-5537 }, { 73,-5537 }, { 74,-5537 }, + { 75,-5537 }, { 76,-5537 }, { 77,-5537 }, { 78,-5537 }, { 79,-5537 }, + { 80,-5537 }, { 81,-5537 }, { 82,-5537 }, { 83,-5537 }, { 84,-5537 }, + { 85,-4505 }, { 86,-5537 }, { 87,-5537 }, { 88,-5537 }, { 89,-5537 }, + { 90,-5537 }, { 91,-5537 }, { 92,-5537 }, { 93,-5537 }, { 94,-5537 }, + + { 95,-5537 }, { 96,-5537 }, { 97,-5537 }, { 98,-5537 }, { 99,-5537 }, + { 100,-5537 }, { 101,-5537 }, { 102,-5537 }, { 103,-5537 }, { 104,-5537 }, + { 105,-5537 }, { 106,-5537 }, { 107,-5537 }, { 108,-5537 }, { 109,-5537 }, + { 110,-5537 }, { 111,-5537 }, { 112,-5537 }, { 113,-5537 }, { 114,-5537 }, + { 115,-5537 }, { 116,-5537 }, { 117,-4505 }, { 118,-5537 }, { 119,-5537 }, + { 120,-5537 }, { 121,-5537 }, { 122,-5537 }, { 123,-5537 }, { 124,-5537 }, + { 125,-5537 }, { 126,-5537 }, { 127,-5537 }, { 128,-5537 }, { 129,-5537 }, + { 130,-5537 }, { 131,-5537 }, { 132,-5537 }, { 133,-5537 }, { 134,-5537 }, + { 135,-5537 }, { 136,-5537 }, { 137,-5537 }, { 138,-5537 }, { 139,-5537 }, + { 140,-5537 }, { 141,-5537 }, { 142,-5537 }, { 143,-5537 }, { 144,-5537 }, + + { 145,-5537 }, { 146,-5537 }, { 147,-5537 }, { 148,-5537 }, { 149,-5537 }, + { 150,-5537 }, { 151,-5537 }, { 152,-5537 }, { 153,-5537 }, { 154,-5537 }, + { 155,-5537 }, { 156,-5537 }, { 157,-5537 }, { 158,-5537 }, { 159,-5537 }, + { 160,-5537 }, { 161,-5537 }, { 162,-5537 }, { 163,-5537 }, { 164,-5537 }, + { 165,-5537 }, { 166,-5537 }, { 167,-5537 }, { 168,-5537 }, { 169,-5537 }, + { 170,-5537 }, { 171,-5537 }, { 172,-5537 }, { 173,-5537 }, { 174,-5537 }, + { 175,-5537 }, { 176,-5537 }, { 177,-5537 }, { 178,-5537 }, { 179,-5537 }, + { 180,-5537 }, { 181,-5537 }, { 182,-5537 }, { 183,-5537 }, { 184,-5537 }, + { 185,-5537 }, { 186,-5537 }, { 187,-5537 }, { 188,-5537 }, { 189,-5537 }, + { 190,-5537 }, { 191,-5537 }, { 192,-5537 }, { 193,-5537 }, { 194,-5537 }, + + { 195,-5537 }, { 196,-5537 }, { 197,-5537 }, { 198,-5537 }, { 199,-5537 }, + { 200,-5537 }, { 201,-5537 }, { 202,-5537 }, { 203,-5537 }, { 204,-5537 }, + { 205,-5537 }, { 206,-5537 }, { 207,-5537 }, { 208,-5537 }, { 209,-5537 }, + { 210,-5537 }, { 211,-5537 }, { 212,-5537 }, { 213,-5537 }, { 214,-5537 }, + { 215,-5537 }, { 216,-5537 }, { 217,-5537 }, { 218,-5537 }, { 219,-5537 }, + { 220,-5537 }, { 221,-5537 }, { 222,-5537 }, { 223,-5537 }, { 224,-5537 }, + { 225,-5537 }, { 226,-5537 }, { 227,-5537 }, { 228,-5537 }, { 229,-5537 }, + { 230,-5537 }, { 231,-5537 }, { 232,-5537 }, { 233,-5537 }, { 234,-5537 }, + { 235,-5537 }, { 236,-5537 }, { 237,-5537 }, { 238,-5537 }, { 239,-5537 }, + { 240,-5537 }, { 241,-5537 }, { 242,-5537 }, { 243,-5537 }, { 244,-5537 }, + + { 245,-5537 }, { 246,-5537 }, { 247,-5537 }, { 248,-5537 }, { 249,-5537 }, + { 250,-5537 }, { 251,-5537 }, { 252,-5537 }, { 253,-5537 }, { 254,-5537 }, + { 255,-5537 }, { 256,-5537 }, { 0, 48 }, { 0,11967 }, { 1,-5795 }, + { 2,-5795 }, { 3,-5795 }, { 4,-5795 }, { 5,-5795 }, { 6,-5795 }, + { 7,-5795 }, { 8,-5795 }, { 9,-5537 }, { 10,-16407 }, { 11,-5795 }, + { 12,-5537 }, { 13,-16407 }, { 14,-5795 }, { 15,-5795 }, { 16,-5795 }, + { 17,-5795 }, { 18,-5795 }, { 19,-5795 }, { 20,-5795 }, { 21,-5795 }, + { 22,-5795 }, { 23,-5795 }, { 24,-5795 }, { 25,-5795 }, { 26,-5795 }, + { 27,-5795 }, { 28,-5795 }, { 29,-5795 }, { 30,-5795 }, { 31,-5795 }, + { 32,-5537 }, { 33,-5795 }, { 34,-5795 }, { 35,-5795 }, { 36,-5795 }, + + { 37,-5795 }, { 38,-5795 }, { 39,5398 }, { 40,-5795 }, { 41,-5795 }, + { 42,-5795 }, { 43,-5795 }, { 44,-5795 }, { 45,-258 }, { 46,-5795 }, + { 47,-5795 }, { 48,-5795 }, { 49,-5795 }, { 50,-5795 }, { 51,-5795 }, + { 52,-5795 }, { 53,-5795 }, { 54,-5795 }, { 55,-5795 }, { 56,-5795 }, + { 57,-5795 }, { 58,-5795 }, { 59,-5795 }, { 60,-5795 }, { 61,-5795 }, + { 62,-5795 }, { 63,-5795 }, { 64,-5795 }, { 65,-5795 }, { 66,-5795 }, + { 67,-5795 }, { 68,-5795 }, { 69,-5795 }, { 70,-5795 }, { 71,-5795 }, + { 72,-5795 }, { 73,-5795 }, { 74,-5795 }, { 75,-5795 }, { 76,-5795 }, + { 77,-5795 }, { 78,-5795 }, { 79,-5795 }, { 80,-5795 }, { 81,-5795 }, + { 82,-5795 }, { 83,-5795 }, { 84,-5795 }, { 85,-4763 }, { 86,-5795 }, + + { 87,-5795 }, { 88,-5795 }, { 89,-5795 }, { 90,-5795 }, { 91,-5795 }, + { 92,-5795 }, { 93,-5795 }, { 94,-5795 }, { 95,-5795 }, { 96,-5795 }, + { 97,-5795 }, { 98,-5795 }, { 99,-5795 }, { 100,-5795 }, { 101,-5795 }, + { 102,-5795 }, { 103,-5795 }, { 104,-5795 }, { 105,-5795 }, { 106,-5795 }, + { 107,-5795 }, { 108,-5795 }, { 109,-5795 }, { 110,-5795 }, { 111,-5795 }, + { 112,-5795 }, { 113,-5795 }, { 114,-5795 }, { 115,-5795 }, { 116,-5795 }, + { 117,-4763 }, { 118,-5795 }, { 119,-5795 }, { 120,-5795 }, { 121,-5795 }, + { 122,-5795 }, { 123,-5795 }, { 124,-5795 }, { 125,-5795 }, { 126,-5795 }, + { 127,-5795 }, { 128,-5795 }, { 129,-5795 }, { 130,-5795 }, { 131,-5795 }, + { 132,-5795 }, { 133,-5795 }, { 134,-5795 }, { 135,-5795 }, { 136,-5795 }, + + { 137,-5795 }, { 138,-5795 }, { 139,-5795 }, { 140,-5795 }, { 141,-5795 }, + { 142,-5795 }, { 143,-5795 }, { 144,-5795 }, { 145,-5795 }, { 146,-5795 }, + { 147,-5795 }, { 148,-5795 }, { 149,-5795 }, { 150,-5795 }, { 151,-5795 }, + { 152,-5795 }, { 153,-5795 }, { 154,-5795 }, { 155,-5795 }, { 156,-5795 }, + { 157,-5795 }, { 158,-5795 }, { 159,-5795 }, { 160,-5795 }, { 161,-5795 }, + { 162,-5795 }, { 163,-5795 }, { 164,-5795 }, { 165,-5795 }, { 166,-5795 }, + { 167,-5795 }, { 168,-5795 }, { 169,-5795 }, { 170,-5795 }, { 171,-5795 }, + { 172,-5795 }, { 173,-5795 }, { 174,-5795 }, { 175,-5795 }, { 176,-5795 }, + { 177,-5795 }, { 178,-5795 }, { 179,-5795 }, { 180,-5795 }, { 181,-5795 }, + { 182,-5795 }, { 183,-5795 }, { 184,-5795 }, { 185,-5795 }, { 186,-5795 }, + + { 187,-5795 }, { 188,-5795 }, { 189,-5795 }, { 190,-5795 }, { 191,-5795 }, + { 192,-5795 }, { 193,-5795 }, { 194,-5795 }, { 195,-5795 }, { 196,-5795 }, + { 197,-5795 }, { 198,-5795 }, { 199,-5795 }, { 200,-5795 }, { 201,-5795 }, + { 202,-5795 }, { 203,-5795 }, { 204,-5795 }, { 205,-5795 }, { 206,-5795 }, + { 207,-5795 }, { 208,-5795 }, { 209,-5795 }, { 210,-5795 }, { 211,-5795 }, + { 212,-5795 }, { 213,-5795 }, { 214,-5795 }, { 215,-5795 }, { 216,-5795 }, + { 217,-5795 }, { 218,-5795 }, { 219,-5795 }, { 220,-5795 }, { 221,-5795 }, + { 222,-5795 }, { 223,-5795 }, { 224,-5795 }, { 225,-5795 }, { 226,-5795 }, + { 227,-5795 }, { 228,-5795 }, { 229,-5795 }, { 230,-5795 }, { 231,-5795 }, + { 232,-5795 }, { 233,-5795 }, { 234,-5795 }, { 235,-5795 }, { 236,-5795 }, + + { 237,-5795 }, { 238,-5795 }, { 239,-5795 }, { 240,-5795 }, { 241,-5795 }, + { 242,-5795 }, { 243,-5795 }, { 244,-5795 }, { 245,-5795 }, { 246,-5795 }, + { 247,-5795 }, { 248,-5795 }, { 249,-5795 }, { 250,-5795 }, { 251,-5795 }, + { 252,-5795 }, { 253,-5795 }, { 254,-5795 }, { 255,-5795 }, { 256,-5795 }, + { 0, 48 }, { 0,11709 }, { 1,-6053 }, { 2,-6053 }, { 3,-6053 }, + { 4,-6053 }, { 5,-6053 }, { 6,-6053 }, { 7,-6053 }, { 8,-6053 }, + { 9,-5795 }, { 10,-16665 }, { 11,-6053 }, { 12,-5795 }, { 13,-16665 }, + { 14,-6053 }, { 15,-6053 }, { 16,-6053 }, { 17,-6053 }, { 18,-6053 }, + { 19,-6053 }, { 20,-6053 }, { 21,-6053 }, { 22,-6053 }, { 23,-6053 }, + { 24,-6053 }, { 25,-6053 }, { 26,-6053 }, { 27,-6053 }, { 28,-6053 }, + + { 29,-6053 }, { 30,-6053 }, { 31,-6053 }, { 32,-5795 }, { 33,-6053 }, + { 34,-6053 }, { 35,-6053 }, { 36,-6053 }, { 37,-6053 }, { 38,-6053 }, + { 39,5140 }, { 40,-6053 }, { 41,-6053 }, { 42,-6053 }, { 43,-6053 }, + { 44,-6053 }, { 45,-516 }, { 46,-6053 }, { 47,-6053 }, { 48,-6053 }, + { 49,-6053 }, { 50,-6053 }, { 51,-6053 }, { 52,-6053 }, { 53,-6053 }, + { 54,-6053 }, { 55,-6053 }, { 56,-6053 }, { 57,-6053 }, { 58,-6053 }, + { 59,-6053 }, { 60,-6053 }, { 61,-6053 }, { 62,-6053 }, { 63,-6053 }, + { 64,-6053 }, { 65,-6053 }, { 66,-6053 }, { 67,-6053 }, { 68,-6053 }, + { 69,-6053 }, { 70,-6053 }, { 71,-6053 }, { 72,-6053 }, { 73,-6053 }, + { 74,-6053 }, { 75,-6053 }, { 76,-6053 }, { 77,-6053 }, { 78,-6053 }, + + { 79,-6053 }, { 80,-6053 }, { 81,-6053 }, { 82,-6053 }, { 83,-6053 }, + { 84,-6053 }, { 85,-5021 }, { 86,-6053 }, { 87,-6053 }, { 88,-6053 }, + { 89,-6053 }, { 90,-6053 }, { 91,-6053 }, { 92,-6053 }, { 93,-6053 }, + { 94,-6053 }, { 95,-6053 }, { 96,-6053 }, { 97,-6053 }, { 98,-6053 }, + { 99,-6053 }, { 100,-6053 }, { 101,-6053 }, { 102,-6053 }, { 103,-6053 }, + { 104,-6053 }, { 105,-6053 }, { 106,-6053 }, { 107,-6053 }, { 108,-6053 }, + { 109,-6053 }, { 110,-6053 }, { 111,-6053 }, { 112,-6053 }, { 113,-6053 }, + { 114,-6053 }, { 115,-6053 }, { 116,-6053 }, { 117,-5021 }, { 118,-6053 }, + { 119,-6053 }, { 120,-6053 }, { 121,-6053 }, { 122,-6053 }, { 123,-6053 }, + { 124,-6053 }, { 125,-6053 }, { 126,-6053 }, { 127,-6053 }, { 128,-6053 }, + + { 129,-6053 }, { 130,-6053 }, { 131,-6053 }, { 132,-6053 }, { 133,-6053 }, + { 134,-6053 }, { 135,-6053 }, { 136,-6053 }, { 137,-6053 }, { 138,-6053 }, + { 139,-6053 }, { 140,-6053 }, { 141,-6053 }, { 142,-6053 }, { 143,-6053 }, + { 144,-6053 }, { 145,-6053 }, { 146,-6053 }, { 147,-6053 }, { 148,-6053 }, + { 149,-6053 }, { 150,-6053 }, { 151,-6053 }, { 152,-6053 }, { 153,-6053 }, + { 154,-6053 }, { 155,-6053 }, { 156,-6053 }, { 157,-6053 }, { 158,-6053 }, + { 159,-6053 }, { 160,-6053 }, { 161,-6053 }, { 162,-6053 }, { 163,-6053 }, + { 164,-6053 }, { 165,-6053 }, { 166,-6053 }, { 167,-6053 }, { 168,-6053 }, + { 169,-6053 }, { 170,-6053 }, { 171,-6053 }, { 172,-6053 }, { 173,-6053 }, + { 174,-6053 }, { 175,-6053 }, { 176,-6053 }, { 177,-6053 }, { 178,-6053 }, + + { 179,-6053 }, { 180,-6053 }, { 181,-6053 }, { 182,-6053 }, { 183,-6053 }, + { 184,-6053 }, { 185,-6053 }, { 186,-6053 }, { 187,-6053 }, { 188,-6053 }, + { 189,-6053 }, { 190,-6053 }, { 191,-6053 }, { 192,-6053 }, { 193,-6053 }, + { 194,-6053 }, { 195,-6053 }, { 196,-6053 }, { 197,-6053 }, { 198,-6053 }, + { 199,-6053 }, { 200,-6053 }, { 201,-6053 }, { 202,-6053 }, { 203,-6053 }, + { 204,-6053 }, { 205,-6053 }, { 206,-6053 }, { 207,-6053 }, { 208,-6053 }, + { 209,-6053 }, { 210,-6053 }, { 211,-6053 }, { 212,-6053 }, { 213,-6053 }, + { 214,-6053 }, { 215,-6053 }, { 216,-6053 }, { 217,-6053 }, { 218,-6053 }, + { 219,-6053 }, { 220,-6053 }, { 221,-6053 }, { 222,-6053 }, { 223,-6053 }, + { 224,-6053 }, { 225,-6053 }, { 226,-6053 }, { 227,-6053 }, { 228,-6053 }, + + { 229,-6053 }, { 230,-6053 }, { 231,-6053 }, { 232,-6053 }, { 233,-6053 }, + { 234,-6053 }, { 235,-6053 }, { 236,-6053 }, { 237,-6053 }, { 238,-6053 }, + { 239,-6053 }, { 240,-6053 }, { 241,-6053 }, { 242,-6053 }, { 243,-6053 }, + { 244,-6053 }, { 245,-6053 }, { 246,-6053 }, { 247,-6053 }, { 248,-6053 }, + { 249,-6053 }, { 250,-6053 }, { 251,-6053 }, { 252,-6053 }, { 253,-6053 }, + { 254,-6053 }, { 255,-6053 }, { 256,-6053 }, { 0, 48 }, { 0,11451 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9,-16923 }, { 10,-16923 }, + { 0, 0 }, { 12,-16923 }, { 13,-16923 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 32,-16923 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 39,-4763 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-41767 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 85,-46406 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 117,-46406 }, { 0, 48 }, { 0,11332 }, { 1,-6430 }, + + { 2,-6430 }, { 3,-6430 }, { 4,-6430 }, { 5,-6430 }, { 6,-6430 }, + { 7,-6430 }, { 8,-6430 }, { 9,-6172 }, { 10,-17042 }, { 11,-6430 }, + { 12,-6172 }, { 13,-17042 }, { 14,-6430 }, { 15,-6430 }, { 16,-6430 }, + { 17,-6430 }, { 18,-6430 }, { 19,-6430 }, { 20,-6430 }, { 21,-6430 }, + { 22,-6430 }, { 23,-6430 }, { 24,-6430 }, { 25,-6430 }, { 26,-6430 }, + { 27,-6430 }, { 28,-6430 }, { 29,-6430 }, { 30,-6430 }, { 31,-6430 }, + { 32,-6172 }, { 33,-6430 }, { 34,-6430 }, { 35,-6430 }, { 36,-6430 }, + { 37,-6430 }, { 38,-6430 }, { 39,4763 }, { 40,-6430 }, { 41,-6430 }, + { 42,-6430 }, { 43,-6430 }, { 44,-6430 }, { 45, 516 }, { 46,-6430 }, + { 47,-6430 }, { 48,-6430 }, { 49,-6430 }, { 50,-6430 }, { 51,-6430 }, + + { 52,-6430 }, { 53,-6430 }, { 54,-6430 }, { 55,-6430 }, { 56,-6430 }, + { 57,-6430 }, { 58,-6430 }, { 59,-6430 }, { 60,-6430 }, { 61,-6430 }, + { 62,-6430 }, { 63,-6430 }, { 64,-6430 }, { 65,-6430 }, { 66,-6430 }, + { 67,-6430 }, { 68,-6430 }, { 69,-6430 }, { 70,-6430 }, { 71,-6430 }, + { 72,-6430 }, { 73,-6430 }, { 74,-6430 }, { 75,-6430 }, { 76,-6430 }, + { 77,-6430 }, { 78,-6430 }, { 79,-6430 }, { 80,-6430 }, { 81,-6430 }, + { 82,-6430 }, { 83,-6430 }, { 84,-6430 }, { 85,-5398 }, { 86,-6430 }, + { 87,-6430 }, { 88,-6430 }, { 89,-6430 }, { 90,-6430 }, { 91,-6430 }, + { 92,-6430 }, { 93,-6430 }, { 94,-6430 }, { 95,-6430 }, { 96,-6430 }, + { 97,-6430 }, { 98,-6430 }, { 99,-6430 }, { 100,-6430 }, { 101,-6430 }, + + { 102,-6430 }, { 103,-6430 }, { 104,-6430 }, { 105,-6430 }, { 106,-6430 }, + { 107,-6430 }, { 108,-6430 }, { 109,-6430 }, { 110,-6430 }, { 111,-6430 }, + { 112,-6430 }, { 113,-6430 }, { 114,-6430 }, { 115,-6430 }, { 116,-6430 }, + { 117,-5398 }, { 118,-6430 }, { 119,-6430 }, { 120,-6430 }, { 121,-6430 }, + { 122,-6430 }, { 123,-6430 }, { 124,-6430 }, { 125,-6430 }, { 126,-6430 }, + { 127,-6430 }, { 128,-6430 }, { 129,-6430 }, { 130,-6430 }, { 131,-6430 }, + { 132,-6430 }, { 133,-6430 }, { 134,-6430 }, { 135,-6430 }, { 136,-6430 }, + { 137,-6430 }, { 138,-6430 }, { 139,-6430 }, { 140,-6430 }, { 141,-6430 }, + { 142,-6430 }, { 143,-6430 }, { 144,-6430 }, { 145,-6430 }, { 146,-6430 }, + { 147,-6430 }, { 148,-6430 }, { 149,-6430 }, { 150,-6430 }, { 151,-6430 }, + + { 152,-6430 }, { 153,-6430 }, { 154,-6430 }, { 155,-6430 }, { 156,-6430 }, + { 157,-6430 }, { 158,-6430 }, { 159,-6430 }, { 160,-6430 }, { 161,-6430 }, + { 162,-6430 }, { 163,-6430 }, { 164,-6430 }, { 165,-6430 }, { 166,-6430 }, + { 167,-6430 }, { 168,-6430 }, { 169,-6430 }, { 170,-6430 }, { 171,-6430 }, + { 172,-6430 }, { 173,-6430 }, { 174,-6430 }, { 175,-6430 }, { 176,-6430 }, + { 177,-6430 }, { 178,-6430 }, { 179,-6430 }, { 180,-6430 }, { 181,-6430 }, + { 182,-6430 }, { 183,-6430 }, { 184,-6430 }, { 185,-6430 }, { 186,-6430 }, + { 187,-6430 }, { 188,-6430 }, { 189,-6430 }, { 190,-6430 }, { 191,-6430 }, + { 192,-6430 }, { 193,-6430 }, { 194,-6430 }, { 195,-6430 }, { 196,-6430 }, + { 197,-6430 }, { 198,-6430 }, { 199,-6430 }, { 200,-6430 }, { 201,-6430 }, + + { 202,-6430 }, { 203,-6430 }, { 204,-6430 }, { 205,-6430 }, { 206,-6430 }, + { 207,-6430 }, { 208,-6430 }, { 209,-6430 }, { 210,-6430 }, { 211,-6430 }, + { 212,-6430 }, { 213,-6430 }, { 214,-6430 }, { 215,-6430 }, { 216,-6430 }, + { 217,-6430 }, { 218,-6430 }, { 219,-6430 }, { 220,-6430 }, { 221,-6430 }, + { 222,-6430 }, { 223,-6430 }, { 224,-6430 }, { 225,-6430 }, { 226,-6430 }, + { 227,-6430 }, { 228,-6430 }, { 229,-6430 }, { 230,-6430 }, { 231,-6430 }, + { 232,-6430 }, { 233,-6430 }, { 234,-6430 }, { 235,-6430 }, { 236,-6430 }, + { 237,-6430 }, { 238,-6430 }, { 239,-6430 }, { 240,-6430 }, { 241,-6430 }, + { 242,-6430 }, { 243,-6430 }, { 244,-6430 }, { 245,-6430 }, { 246,-6430 }, + { 247,-6430 }, { 248,-6430 }, { 249,-6430 }, { 250,-6430 }, { 251,-6430 }, + + { 252,-6430 }, { 253,-6430 }, { 254,-6430 }, { 255,-6430 }, { 256,-6430 }, + { 0, 48 }, { 0,11074 }, { 1,-6688 }, { 2,-6688 }, { 3,-6688 }, + { 4,-6688 }, { 5,-6688 }, { 6,-6688 }, { 7,-6688 }, { 8,-6688 }, + { 9,-6430 }, { 10,-17300 }, { 11,-6688 }, { 12,-6430 }, { 13,-17300 }, + { 14,-6688 }, { 15,-6688 }, { 16,-6688 }, { 17,-6688 }, { 18,-6688 }, + { 19,-6688 }, { 20,-6688 }, { 21,-6688 }, { 22,-6688 }, { 23,-6688 }, + { 24,-6688 }, { 25,-6688 }, { 26,-6688 }, { 27,-6688 }, { 28,-6688 }, + { 29,-6688 }, { 30,-6688 }, { 31,-6688 }, { 32,-6430 }, { 33,-6688 }, + { 34,-6688 }, { 35,-6688 }, { 36,-6688 }, { 37,-6688 }, { 38,-6688 }, + { 39,4505 }, { 40,-6688 }, { 41,-6688 }, { 42,-6688 }, { 43,-6688 }, + + { 44,-6688 }, { 45,-1151 }, { 46,-6688 }, { 47,-6688 }, { 48,-6688 }, + { 49,-6688 }, { 50,-6688 }, { 51,-6688 }, { 52,-6688 }, { 53,-6688 }, + { 54,-6688 }, { 55,-6688 }, { 56,-6688 }, { 57,-6688 }, { 58,-6688 }, + { 59,-6688 }, { 60,-6688 }, { 61,-6688 }, { 62,-6688 }, { 63,-6688 }, + { 64,-6688 }, { 65,-6688 }, { 66,-6688 }, { 67,-6688 }, { 68,-6688 }, + { 69, 516 }, { 70,-6688 }, { 71,-6688 }, { 72,-6688 }, { 73,-6688 }, + { 74,-6688 }, { 75,-6688 }, { 76,-6688 }, { 77,-6688 }, { 78,-6688 }, + { 79,-6688 }, { 80,-6688 }, { 81,-6688 }, { 82,-6688 }, { 83,-6688 }, + { 84,-6688 }, { 85,-5656 }, { 86,-6688 }, { 87,-6688 }, { 88,-6688 }, + { 89,-6688 }, { 90,-6688 }, { 91,-6688 }, { 92,-6688 }, { 93,-6688 }, + + { 94,-6688 }, { 95,-6688 }, { 96,-6688 }, { 97,-6688 }, { 98,-6688 }, + { 99,-6688 }, { 100,-6688 }, { 101, 516 }, { 102,-6688 }, { 103,-6688 }, + { 104,-6688 }, { 105,-6688 }, { 106,-6688 }, { 107,-6688 }, { 108,-6688 }, + { 109,-6688 }, { 110,-6688 }, { 111,-6688 }, { 112,-6688 }, { 113,-6688 }, + { 114,-6688 }, { 115,-6688 }, { 116,-6688 }, { 117,-5656 }, { 118,-6688 }, + { 119,-6688 }, { 120,-6688 }, { 121,-6688 }, { 122,-6688 }, { 123,-6688 }, + { 124,-6688 }, { 125,-6688 }, { 126,-6688 }, { 127,-6688 }, { 128,-6688 }, + { 129,-6688 }, { 130,-6688 }, { 131,-6688 }, { 132,-6688 }, { 133,-6688 }, + { 134,-6688 }, { 135,-6688 }, { 136,-6688 }, { 137,-6688 }, { 138,-6688 }, + { 139,-6688 }, { 140,-6688 }, { 141,-6688 }, { 142,-6688 }, { 143,-6688 }, + + { 144,-6688 }, { 145,-6688 }, { 146,-6688 }, { 147,-6688 }, { 148,-6688 }, + { 149,-6688 }, { 150,-6688 }, { 151,-6688 }, { 152,-6688 }, { 153,-6688 }, + { 154,-6688 }, { 155,-6688 }, { 156,-6688 }, { 157,-6688 }, { 158,-6688 }, + { 159,-6688 }, { 160,-6688 }, { 161,-6688 }, { 162,-6688 }, { 163,-6688 }, + { 164,-6688 }, { 165,-6688 }, { 166,-6688 }, { 167,-6688 }, { 168,-6688 }, + { 169,-6688 }, { 170,-6688 }, { 171,-6688 }, { 172,-6688 }, { 173,-6688 }, + { 174,-6688 }, { 175,-6688 }, { 176,-6688 }, { 177,-6688 }, { 178,-6688 }, + { 179,-6688 }, { 180,-6688 }, { 181,-6688 }, { 182,-6688 }, { 183,-6688 }, + { 184,-6688 }, { 185,-6688 }, { 186,-6688 }, { 187,-6688 }, { 188,-6688 }, + { 189,-6688 }, { 190,-6688 }, { 191,-6688 }, { 192,-6688 }, { 193,-6688 }, + + { 194,-6688 }, { 195,-6688 }, { 196,-6688 }, { 197,-6688 }, { 198,-6688 }, + { 199,-6688 }, { 200,-6688 }, { 201,-6688 }, { 202,-6688 }, { 203,-6688 }, + { 204,-6688 }, { 205,-6688 }, { 206,-6688 }, { 207,-6688 }, { 208,-6688 }, + { 209,-6688 }, { 210,-6688 }, { 211,-6688 }, { 212,-6688 }, { 213,-6688 }, + { 214,-6688 }, { 215,-6688 }, { 216,-6688 }, { 217,-6688 }, { 218,-6688 }, + { 219,-6688 }, { 220,-6688 }, { 221,-6688 }, { 222,-6688 }, { 223,-6688 }, + { 224,-6688 }, { 225,-6688 }, { 226,-6688 }, { 227,-6688 }, { 228,-6688 }, + { 229,-6688 }, { 230,-6688 }, { 231,-6688 }, { 232,-6688 }, { 233,-6688 }, + { 234,-6688 }, { 235,-6688 }, { 236,-6688 }, { 237,-6688 }, { 238,-6688 }, + { 239,-6688 }, { 240,-6688 }, { 241,-6688 }, { 242,-6688 }, { 243,-6688 }, + + { 244,-6688 }, { 245,-6688 }, { 246,-6688 }, { 247,-6688 }, { 248,-6688 }, + { 249,-6688 }, { 250,-6688 }, { 251,-6688 }, { 252,-6688 }, { 253,-6688 }, + { 254,-6688 }, { 255,-6688 }, { 256,-6688 }, { 0, 48 }, { 0,10816 }, + { 1,-6946 }, { 2,-6946 }, { 3,-6946 }, { 4,-6946 }, { 5,-6946 }, + { 6,-6946 }, { 7,-6946 }, { 8,-6946 }, { 9,-6688 }, { 10,-17558 }, + { 11,-6946 }, { 12,-6688 }, { 13,-17558 }, { 14,-6946 }, { 15,-6946 }, + { 16,-6946 }, { 17,-6946 }, { 18,-6946 }, { 19,-6946 }, { 20,-6946 }, + { 21,-6946 }, { 22,-6946 }, { 23,-6946 }, { 24,-6946 }, { 25,-6946 }, + { 26,-6946 }, { 27,-6946 }, { 28,-6946 }, { 29,-6946 }, { 30,-6946 }, + { 31,-6946 }, { 32,-6688 }, { 33,-6946 }, { 34,-6946 }, { 35,-6946 }, + + { 36,-6946 }, { 37,-6946 }, { 38,-6946 }, { 39,-6430 }, { 40,-6946 }, + { 41,-6946 }, { 42,-6946 }, { 43,-6946 }, { 44,-6946 }, { 45, 0 }, + { 46,-6946 }, { 47,-6946 }, { 48,-6946 }, { 49,-6946 }, { 50,-6946 }, + { 51,-6946 }, { 52,-6946 }, { 53,-6946 }, { 54,-6946 }, { 55,-6946 }, + { 56,-6946 }, { 57,-6946 }, { 58,-6946 }, { 59,-6946 }, { 60,-6946 }, + { 61,-6946 }, { 62,-6946 }, { 63,-6946 }, { 64,-6946 }, { 65,-6946 }, + { 66,-6946 }, { 67,-6946 }, { 68,-6946 }, { 69,-6946 }, { 70,-6946 }, + { 71,-6946 }, { 72,-6946 }, { 73,-6946 }, { 74,-6946 }, { 75,-6946 }, + { 76,-6946 }, { 77,-6946 }, { 78,-6946 }, { 79,-6946 }, { 80,-6946 }, + { 81,-6946 }, { 82,-6946 }, { 83,-6946 }, { 84,-6946 }, { 85,-5914 }, + + { 86,-6946 }, { 87,-6946 }, { 88,-6946 }, { 89,-6946 }, { 90,-6946 }, + { 91,-6946 }, { 92,-6946 }, { 93,-6946 }, { 94,-6946 }, { 95,-6946 }, + { 96,-6946 }, { 97,-6946 }, { 98,-6946 }, { 99,-6946 }, { 100,-6946 }, + { 101,-6946 }, { 102,-6946 }, { 103,-6946 }, { 104,-6946 }, { 105,-6946 }, + { 106,-6946 }, { 107,-6946 }, { 108,-6946 }, { 109,-6946 }, { 110,-6946 }, + { 111,-6946 }, { 112,-6946 }, { 113,-6946 }, { 114,-6946 }, { 115,-6946 }, + { 116,-6946 }, { 117,-5914 }, { 118,-6946 }, { 119,-6946 }, { 120,-6946 }, + { 121,-6946 }, { 122,-6946 }, { 123,-6946 }, { 124,-6946 }, { 125,-6946 }, + { 126,-6946 }, { 127,-6946 }, { 128,-6946 }, { 129,-6946 }, { 130,-6946 }, + { 131,-6946 }, { 132,-6946 }, { 133,-6946 }, { 134,-6946 }, { 135,-6946 }, + + { 136,-6946 }, { 137,-6946 }, { 138,-6946 }, { 139,-6946 }, { 140,-6946 }, + { 141,-6946 }, { 142,-6946 }, { 143,-6946 }, { 144,-6946 }, { 145,-6946 }, + { 146,-6946 }, { 147,-6946 }, { 148,-6946 }, { 149,-6946 }, { 150,-6946 }, + { 151,-6946 }, { 152,-6946 }, { 153,-6946 }, { 154,-6946 }, { 155,-6946 }, + { 156,-6946 }, { 157,-6946 }, { 158,-6946 }, { 159,-6946 }, { 160,-6946 }, + { 161,-6946 }, { 162,-6946 }, { 163,-6946 }, { 164,-6946 }, { 165,-6946 }, + { 166,-6946 }, { 167,-6946 }, { 168,-6946 }, { 169,-6946 }, { 170,-6946 }, + { 171,-6946 }, { 172,-6946 }, { 173,-6946 }, { 174,-6946 }, { 175,-6946 }, + { 176,-6946 }, { 177,-6946 }, { 178,-6946 }, { 179,-6946 }, { 180,-6946 }, + { 181,-6946 }, { 182,-6946 }, { 183,-6946 }, { 184,-6946 }, { 185,-6946 }, + + { 186,-6946 }, { 187,-6946 }, { 188,-6946 }, { 189,-6946 }, { 190,-6946 }, + { 191,-6946 }, { 192,-6946 }, { 193,-6946 }, { 194,-6946 }, { 195,-6946 }, + { 196,-6946 }, { 197,-6946 }, { 198,-6946 }, { 199,-6946 }, { 200,-6946 }, + { 201,-6946 }, { 202,-6946 }, { 203,-6946 }, { 204,-6946 }, { 205,-6946 }, + { 206,-6946 }, { 207,-6946 }, { 208,-6946 }, { 209,-6946 }, { 210,-6946 }, + { 211,-6946 }, { 212,-6946 }, { 213,-6946 }, { 214,-6946 }, { 215,-6946 }, + { 216,-6946 }, { 217,-6946 }, { 218,-6946 }, { 219,-6946 }, { 220,-6946 }, + { 221,-6946 }, { 222,-6946 }, { 223,-6946 }, { 224,-6946 }, { 225,-6946 }, + { 226,-6946 }, { 227,-6946 }, { 228,-6946 }, { 229,-6946 }, { 230,-6946 }, + { 231,-6946 }, { 232,-6946 }, { 233,-6946 }, { 234,-6946 }, { 235,-6946 }, + + { 236,-6946 }, { 237,-6946 }, { 238,-6946 }, { 239,-6946 }, { 240,-6946 }, + { 241,-6946 }, { 242,-6946 }, { 243,-6946 }, { 244,-6946 }, { 245,-6946 }, + { 246,-6946 }, { 247,-6946 }, { 248,-6946 }, { 249,-6946 }, { 250,-6946 }, + { 251,-6946 }, { 252,-6946 }, { 253,-6946 }, { 254,-6946 }, { 255,-6946 }, + { 256,-6946 }, { 0, 48 }, { 0,10558 }, { 1,-7204 }, { 2,-7204 }, + { 3,-7204 }, { 4,-7204 }, { 5,-7204 }, { 6,-7204 }, { 7,-7204 }, + { 8,-7204 }, { 9,-6946 }, { 10,-17816 }, { 11,-7204 }, { 12,-6946 }, + { 13,-17816 }, { 14,-7204 }, { 15,-7204 }, { 16,-7204 }, { 17,-7204 }, + { 18,-7204 }, { 19,-7204 }, { 20,-7204 }, { 21,-7204 }, { 22,-7204 }, + { 23,-7204 }, { 24,-7204 }, { 25,-7204 }, { 26,-7204 }, { 27,-7204 }, + + { 28,-7204 }, { 29,-7204 }, { 30,-7204 }, { 31,-7204 }, { 32,-6946 }, + { 33,-7204 }, { 34,-7204 }, { 35,-7204 }, { 36,-7204 }, { 37,-7204 }, + { 38,-7204 }, { 39,-6688 }, { 40,-7204 }, { 41,-7204 }, { 42,-7204 }, + { 43,-7204 }, { 44,-7204 }, { 45,-1667 }, { 46,-7204 }, { 47,-7204 }, + { 48,-7204 }, { 49,-7204 }, { 50,-7204 }, { 51,-7204 }, { 52,-7204 }, + { 53,-7204 }, { 54,-7204 }, { 55,-7204 }, { 56,-7204 }, { 57,-7204 }, + { 58,-7204 }, { 59,-7204 }, { 60,-7204 }, { 61,-7204 }, { 62,-7204 }, + { 63,-7204 }, { 64,-7204 }, { 65,-7204 }, { 66,-7204 }, { 67,-7204 }, + { 68,-7204 }, { 69,-7204 }, { 70,-7204 }, { 71,-7204 }, { 72,-7204 }, + { 73,-7204 }, { 74,-7204 }, { 75,-7204 }, { 76,-7204 }, { 77,-7204 }, + + { 78,-7204 }, { 79,-7204 }, { 80,-7204 }, { 81,-7204 }, { 82,-7204 }, + { 83,4247 }, { 84,-7204 }, { 85,-6172 }, { 86,-7204 }, { 87,-7204 }, + { 88,-7204 }, { 89,-7204 }, { 90,-7204 }, { 91,-7204 }, { 92,-7204 }, + { 93,-7204 }, { 94,-7204 }, { 95,-7204 }, { 96,-7204 }, { 97,-7204 }, + { 98,-7204 }, { 99,-7204 }, { 100,-7204 }, { 101,-7204 }, { 102,-7204 }, + { 103,-7204 }, { 104,-7204 }, { 105,-7204 }, { 106,-7204 }, { 107,-7204 }, + { 108,-7204 }, { 109,-7204 }, { 110,-7204 }, { 111,-7204 }, { 112,-7204 }, + { 113,-7204 }, { 114,-7204 }, { 115,4247 }, { 116,-7204 }, { 117,-6172 }, + { 118,-7204 }, { 119,-7204 }, { 120,-7204 }, { 121,-7204 }, { 122,-7204 }, + { 123,-7204 }, { 124,-7204 }, { 125,-7204 }, { 126,-7204 }, { 127,-7204 }, + + { 128,-7204 }, { 129,-7204 }, { 130,-7204 }, { 131,-7204 }, { 132,-7204 }, + { 133,-7204 }, { 134,-7204 }, { 135,-7204 }, { 136,-7204 }, { 137,-7204 }, + { 138,-7204 }, { 139,-7204 }, { 140,-7204 }, { 141,-7204 }, { 142,-7204 }, + { 143,-7204 }, { 144,-7204 }, { 145,-7204 }, { 146,-7204 }, { 147,-7204 }, + { 148,-7204 }, { 149,-7204 }, { 150,-7204 }, { 151,-7204 }, { 152,-7204 }, + { 153,-7204 }, { 154,-7204 }, { 155,-7204 }, { 156,-7204 }, { 157,-7204 }, + { 158,-7204 }, { 159,-7204 }, { 160,-7204 }, { 161,-7204 }, { 162,-7204 }, + { 163,-7204 }, { 164,-7204 }, { 165,-7204 }, { 166,-7204 }, { 167,-7204 }, + { 168,-7204 }, { 169,-7204 }, { 170,-7204 }, { 171,-7204 }, { 172,-7204 }, + { 173,-7204 }, { 174,-7204 }, { 175,-7204 }, { 176,-7204 }, { 177,-7204 }, + + { 178,-7204 }, { 179,-7204 }, { 180,-7204 }, { 181,-7204 }, { 182,-7204 }, + { 183,-7204 }, { 184,-7204 }, { 185,-7204 }, { 186,-7204 }, { 187,-7204 }, + { 188,-7204 }, { 189,-7204 }, { 190,-7204 }, { 191,-7204 }, { 192,-7204 }, + { 193,-7204 }, { 194,-7204 }, { 195,-7204 }, { 196,-7204 }, { 197,-7204 }, + { 198,-7204 }, { 199,-7204 }, { 200,-7204 }, { 201,-7204 }, { 202,-7204 }, + { 203,-7204 }, { 204,-7204 }, { 205,-7204 }, { 206,-7204 }, { 207,-7204 }, + { 208,-7204 }, { 209,-7204 }, { 210,-7204 }, { 211,-7204 }, { 212,-7204 }, + { 213,-7204 }, { 214,-7204 }, { 215,-7204 }, { 216,-7204 }, { 217,-7204 }, + { 218,-7204 }, { 219,-7204 }, { 220,-7204 }, { 221,-7204 }, { 222,-7204 }, + { 223,-7204 }, { 224,-7204 }, { 225,-7204 }, { 226,-7204 }, { 227,-7204 }, + + { 228,-7204 }, { 229,-7204 }, { 230,-7204 }, { 231,-7204 }, { 232,-7204 }, + { 233,-7204 }, { 234,-7204 }, { 235,-7204 }, { 236,-7204 }, { 237,-7204 }, + { 238,-7204 }, { 239,-7204 }, { 240,-7204 }, { 241,-7204 }, { 242,-7204 }, + { 243,-7204 }, { 244,-7204 }, { 245,-7204 }, { 246,-7204 }, { 247,-7204 }, + { 248,-7204 }, { 249,-7204 }, { 250,-7204 }, { 251,-7204 }, { 252,-7204 }, + { 253,-7204 }, { 254,-7204 }, { 255,-7204 }, { 256,-7204 }, { 0, 24 }, + { 0,10300 }, { 1,-26792 }, { 2,-26792 }, { 3,-26792 }, { 4,-26792 }, + { 5,-26792 }, { 6,-26792 }, { 7,-26792 }, { 8,-26792 }, { 9,-26534 }, + { 10,-26276 }, { 11,-26792 }, { 12,-26534 }, { 13,-26276 }, { 14,-26792 }, + { 15,-26792 }, { 16,-26792 }, { 17,-26792 }, { 18,-26792 }, { 19,-26792 }, + + { 20,-26792 }, { 21,-26792 }, { 22,-26792 }, { 23,-26792 }, { 24,-26792 }, + { 25,-26792 }, { 26,-26792 }, { 27,-26792 }, { 28,-26792 }, { 29,-26792 }, + { 30,-26792 }, { 31,-26792 }, { 32,-26534 }, { 33,-26792 }, { 34,-26792 }, + { 35,-26792 }, { 36,-26792 }, { 37,-26792 }, { 38,-26792 }, { 39,-26792 }, + { 40,-26792 }, { 41,-26792 }, { 42,-26792 }, { 43,-26792 }, { 44,-26792 }, + { 45,-26157 }, { 46,-26792 }, { 47,-26792 }, { 48,-26792 }, { 49,-26792 }, + { 50,-26792 }, { 51,-26792 }, { 52,-26792 }, { 53,-26792 }, { 54,-26792 }, + { 55,-26792 }, { 56,-26792 }, { 57,-26792 }, { 58,-26792 }, { 59,-26792 }, + { 60,-26792 }, { 61,-26792 }, { 62,-26792 }, { 63,-26792 }, { 64,-26792 }, + { 65,-26792 }, { 66,-26792 }, { 67,-26792 }, { 68,-26792 }, { 69,-26792 }, + + { 70,-26792 }, { 71,-26792 }, { 72,-26792 }, { 73,-26792 }, { 74,-26792 }, + { 75,-26792 }, { 76,-26792 }, { 77,-26792 }, { 78,-26792 }, { 79,-26792 }, + { 80,-26792 }, { 81,-26792 }, { 82,-26792 }, { 83,-26792 }, { 84,-26792 }, + { 85,-25899 }, { 86,-26792 }, { 87,-26792 }, { 88,-26792 }, { 89,-26792 }, + { 90,-26792 }, { 91,-26792 }, { 92,-26792 }, { 93,-26792 }, { 94,-26792 }, + { 95,-26792 }, { 96,-26792 }, { 97,-26792 }, { 98,-26792 }, { 99,-26792 }, + { 100,-26792 }, { 101,-26792 }, { 102,-26792 }, { 103,-26792 }, { 104,-26792 }, + { 105,-26792 }, { 106,-26792 }, { 107,-26792 }, { 108,-26792 }, { 109,-26792 }, + { 110,-26792 }, { 111,-26792 }, { 112,-26792 }, { 113,-26792 }, { 114,-26792 }, + { 115,-26792 }, { 116,-26792 }, { 117,-25899 }, { 118,-26792 }, { 119,-26792 }, + + { 120,-26792 }, { 121,-26792 }, { 122,-26792 }, { 123,-26792 }, { 124,-26792 }, + { 125,-26792 }, { 126,-26792 }, { 127,-26792 }, { 128,-26792 }, { 129,-26792 }, + { 130,-26792 }, { 131,-26792 }, { 132,-26792 }, { 133,-26792 }, { 134,-26792 }, + { 135,-26792 }, { 136,-26792 }, { 137,-26792 }, { 138,-26792 }, { 139,-26792 }, + { 140,-26792 }, { 141,-26792 }, { 142,-26792 }, { 143,-26792 }, { 144,-26792 }, + { 145,-26792 }, { 146,-26792 }, { 147,-26792 }, { 148,-26792 }, { 149,-26792 }, + { 150,-26792 }, { 151,-26792 }, { 152,-26792 }, { 153,-26792 }, { 154,-26792 }, + { 155,-26792 }, { 156,-26792 }, { 157,-26792 }, { 158,-26792 }, { 159,-26792 }, + { 160,-26792 }, { 161,-26792 }, { 162,-26792 }, { 163,-26792 }, { 164,-26792 }, + { 165,-26792 }, { 166,-26792 }, { 167,-26792 }, { 168,-26792 }, { 169,-26792 }, + + { 170,-26792 }, { 171,-26792 }, { 172,-26792 }, { 173,-26792 }, { 174,-26792 }, + { 175,-26792 }, { 176,-26792 }, { 177,-26792 }, { 178,-26792 }, { 179,-26792 }, + { 180,-26792 }, { 181,-26792 }, { 182,-26792 }, { 183,-26792 }, { 184,-26792 }, + { 185,-26792 }, { 186,-26792 }, { 187,-26792 }, { 188,-26792 }, { 189,-26792 }, + { 190,-26792 }, { 191,-26792 }, { 192,-26792 }, { 193,-26792 }, { 194,-26792 }, + { 195,-26792 }, { 196,-26792 }, { 197,-26792 }, { 198,-26792 }, { 199,-26792 }, + { 200,-26792 }, { 201,-26792 }, { 202,-26792 }, { 203,-26792 }, { 204,-26792 }, + { 205,-26792 }, { 206,-26792 }, { 207,-26792 }, { 208,-26792 }, { 209,-26792 }, + { 210,-26792 }, { 211,-26792 }, { 212,-26792 }, { 213,-26792 }, { 214,-26792 }, + { 215,-26792 }, { 216,-26792 }, { 217,-26792 }, { 218,-26792 }, { 219,-26792 }, + + { 220,-26792 }, { 221,-26792 }, { 222,-26792 }, { 223,-26792 }, { 224,-26792 }, + { 225,-26792 }, { 226,-26792 }, { 227,-26792 }, { 228,-26792 }, { 229,-26792 }, + { 230,-26792 }, { 231,-26792 }, { 232,-26792 }, { 233,-26792 }, { 234,-26792 }, + { 235,-26792 }, { 236,-26792 }, { 237,-26792 }, { 238,-26792 }, { 239,-26792 }, + { 240,-26792 }, { 241,-26792 }, { 242,-26792 }, { 243,-26792 }, { 244,-26792 }, + { 245,-26792 }, { 246,-26792 }, { 247,-26792 }, { 248,-26792 }, { 249,-26792 }, + { 250,-26792 }, { 251,-26792 }, { 252,-26792 }, { 253,-26792 }, { 254,-26792 }, + { 255,-26792 }, { 256,-26792 }, { 0, 24 }, { 0,10042 }, { 1, 0 }, + { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, + { 7, 0 }, { 8, 0 }, { 9, 258 }, { 10,-11736 }, { 11, 0 }, + + { 12, 258 }, { 13,-11736 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, + { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, + { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, + { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, + { 32, 258 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, { 36, 0 }, + { 37, 0 }, { 38, 0 }, { 39, 516 }, { 40, 0 }, { 41, 0 }, + { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45,1290 }, { 46, 0 }, + { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, + + { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, + { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, + { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, + { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, + { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85,1032 }, { 86, 0 }, + { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, + { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, + { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, + { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, + { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, + + { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, + { 117,1032 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, + { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, + { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, + { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, + { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, + { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, + { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, + { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, + { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, + + { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, + { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, + { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, + { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, + { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, + { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, + { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, + { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, + { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, + { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, + + { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, + { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, + { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, + { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, + { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, + { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, + { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, + { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, + { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, + { 0, 24 }, { 0,9784 }, { 1,-258 }, { 2,-258 }, { 3,-258 }, + + { 4,-258 }, { 5,-258 }, { 6,-258 }, { 7,-258 }, { 8,-258 }, + { 9, 0 }, { 10,-11994 }, { 11,-258 }, { 12, 0 }, { 13,-11994 }, + { 14,-258 }, { 15,-258 }, { 16,-258 }, { 17,-258 }, { 18,-258 }, + { 19,-258 }, { 20,-258 }, { 21,-258 }, { 22,-258 }, { 23,-258 }, + { 24,-258 }, { 25,-258 }, { 26,-258 }, { 27,-258 }, { 28,-258 }, + { 29,-258 }, { 30,-258 }, { 31,-258 }, { 32, 0 }, { 33,-258 }, + { 34,-258 }, { 35,-258 }, { 36,-258 }, { 37,-258 }, { 38,-258 }, + { 39, 258 }, { 40,-258 }, { 41,-258 }, { 42,-258 }, { 43,-258 }, + { 44,-258 }, { 45,1032 }, { 46,-258 }, { 47,-258 }, { 48,-258 }, + { 49,-258 }, { 50,-258 }, { 51,-258 }, { 52,-258 }, { 53,-258 }, + + { 54,-258 }, { 55,-258 }, { 56,-258 }, { 57,-258 }, { 58,-258 }, + { 59,-258 }, { 60,-258 }, { 61,-258 }, { 62,-258 }, { 63,-258 }, + { 64,-258 }, { 65,-258 }, { 66,-258 }, { 67,-258 }, { 68,-258 }, + { 69,-258 }, { 70,-258 }, { 71,-258 }, { 72,-258 }, { 73,-258 }, + { 74,-258 }, { 75,-258 }, { 76,-258 }, { 77,-258 }, { 78,-258 }, + { 79,-258 }, { 80,-258 }, { 81,-258 }, { 82,-258 }, { 83,-258 }, + { 84,-258 }, { 85, 774 }, { 86,-258 }, { 87,-258 }, { 88,-258 }, + { 89,-258 }, { 90,-258 }, { 91,-258 }, { 92,-258 }, { 93,-258 }, + { 94,-258 }, { 95,-258 }, { 96,-258 }, { 97,-258 }, { 98,-258 }, + { 99,-258 }, { 100,-258 }, { 101,-258 }, { 102,-258 }, { 103,-258 }, + + { 104,-258 }, { 105,-258 }, { 106,-258 }, { 107,-258 }, { 108,-258 }, + { 109,-258 }, { 110,-258 }, { 111,-258 }, { 112,-258 }, { 113,-258 }, + { 114,-258 }, { 115,-258 }, { 116,-258 }, { 117, 774 }, { 118,-258 }, + { 119,-258 }, { 120,-258 }, { 121,-258 }, { 122,-258 }, { 123,-258 }, + { 124,-258 }, { 125,-258 }, { 126,-258 }, { 127,-258 }, { 128,-258 }, + { 129,-258 }, { 130,-258 }, { 131,-258 }, { 132,-258 }, { 133,-258 }, + { 134,-258 }, { 135,-258 }, { 136,-258 }, { 137,-258 }, { 138,-258 }, + { 139,-258 }, { 140,-258 }, { 141,-258 }, { 142,-258 }, { 143,-258 }, + { 144,-258 }, { 145,-258 }, { 146,-258 }, { 147,-258 }, { 148,-258 }, + { 149,-258 }, { 150,-258 }, { 151,-258 }, { 152,-258 }, { 153,-258 }, + + { 154,-258 }, { 155,-258 }, { 156,-258 }, { 157,-258 }, { 158,-258 }, + { 159,-258 }, { 160,-258 }, { 161,-258 }, { 162,-258 }, { 163,-258 }, + { 164,-258 }, { 165,-258 }, { 166,-258 }, { 167,-258 }, { 168,-258 }, + { 169,-258 }, { 170,-258 }, { 171,-258 }, { 172,-258 }, { 173,-258 }, + { 174,-258 }, { 175,-258 }, { 176,-258 }, { 177,-258 }, { 178,-258 }, + { 179,-258 }, { 180,-258 }, { 181,-258 }, { 182,-258 }, { 183,-258 }, + { 184,-258 }, { 185,-258 }, { 186,-258 }, { 187,-258 }, { 188,-258 }, + { 189,-258 }, { 190,-258 }, { 191,-258 }, { 192,-258 }, { 193,-258 }, + { 194,-258 }, { 195,-258 }, { 196,-258 }, { 197,-258 }, { 198,-258 }, + { 199,-258 }, { 200,-258 }, { 201,-258 }, { 202,-258 }, { 203,-258 }, + + { 204,-258 }, { 205,-258 }, { 206,-258 }, { 207,-258 }, { 208,-258 }, + { 209,-258 }, { 210,-258 }, { 211,-258 }, { 212,-258 }, { 213,-258 }, + { 214,-258 }, { 215,-258 }, { 216,-258 }, { 217,-258 }, { 218,-258 }, + { 219,-258 }, { 220,-258 }, { 221,-258 }, { 222,-258 }, { 223,-258 }, + { 224,-258 }, { 225,-258 }, { 226,-258 }, { 227,-258 }, { 228,-258 }, + { 229,-258 }, { 230,-258 }, { 231,-258 }, { 232,-258 }, { 233,-258 }, + { 234,-258 }, { 235,-258 }, { 236,-258 }, { 237,-258 }, { 238,-258 }, + { 239,-258 }, { 240,-258 }, { 241,-258 }, { 242,-258 }, { 243,-258 }, + { 244,-258 }, { 245,-258 }, { 246,-258 }, { 247,-258 }, { 248,-258 }, + { 249,-258 }, { 250,-258 }, { 251,-258 }, { 252,-258 }, { 253,-258 }, + + { 254,-258 }, { 255,-258 }, { 256,-258 }, { 0, 24 }, { 0,9526 }, + { 1,3473 }, { 2,3473 }, { 3,3473 }, { 4,3473 }, { 5,3473 }, + { 6,3473 }, { 7,3473 }, { 8,3473 }, { 9,3731 }, { 10,3989 }, + { 11,3473 }, { 12,3731 }, { 13,3989 }, { 14,3473 }, { 15,3473 }, + { 16,3473 }, { 17,3473 }, { 18,3473 }, { 19,3473 }, { 20,3473 }, + { 21,3473 }, { 22,3473 }, { 23,3473 }, { 24,3473 }, { 25,3473 }, + { 26,3473 }, { 27,3473 }, { 28,3473 }, { 29,3473 }, { 30,3473 }, + { 31,3473 }, { 32,3731 }, { 33,3473 }, { 34,3473 }, { 35,3473 }, + { 36,3473 }, { 37,3473 }, { 38,3473 }, { 39, 0 }, { 40,3473 }, + { 41,3473 }, { 42,3473 }, { 43,3473 }, { 44,3473 }, { 45,4108 }, + + { 46,3473 }, { 47,3473 }, { 48,3473 }, { 49,3473 }, { 50,3473 }, + { 51,3473 }, { 52,3473 }, { 53,3473 }, { 54,3473 }, { 55,3473 }, + { 56,3473 }, { 57,3473 }, { 58,3473 }, { 59,3473 }, { 60,3473 }, + { 61,3473 }, { 62,3473 }, { 63,3473 }, { 64,3473 }, { 65,3473 }, + { 66,3473 }, { 67,3473 }, { 68,3473 }, { 69,3473 }, { 70,3473 }, + { 71,3473 }, { 72,3473 }, { 73,3473 }, { 74,3473 }, { 75,3473 }, + { 76,3473 }, { 77,3473 }, { 78,3473 }, { 79,3473 }, { 80,3473 }, + { 81,3473 }, { 82,3473 }, { 83,3473 }, { 84,3473 }, { 85,4366 }, + { 86,3473 }, { 87,3473 }, { 88,3473 }, { 89,3473 }, { 90,3473 }, + { 91,3473 }, { 92,3473 }, { 93,3473 }, { 94,3473 }, { 95,3473 }, + + { 96,3473 }, { 97,3473 }, { 98,3473 }, { 99,3473 }, { 100,3473 }, + { 101,3473 }, { 102,3473 }, { 103,3473 }, { 104,3473 }, { 105,3473 }, + { 106,3473 }, { 107,3473 }, { 108,3473 }, { 109,3473 }, { 110,3473 }, + { 111,3473 }, { 112,3473 }, { 113,3473 }, { 114,3473 }, { 115,3473 }, + { 116,3473 }, { 117,4366 }, { 118,3473 }, { 119,3473 }, { 120,3473 }, + { 121,3473 }, { 122,3473 }, { 123,3473 }, { 124,3473 }, { 125,3473 }, + { 126,3473 }, { 127,3473 }, { 128,3473 }, { 129,3473 }, { 130,3473 }, + { 131,3473 }, { 132,3473 }, { 133,3473 }, { 134,3473 }, { 135,3473 }, + { 136,3473 }, { 137,3473 }, { 138,3473 }, { 139,3473 }, { 140,3473 }, + { 141,3473 }, { 142,3473 }, { 143,3473 }, { 144,3473 }, { 145,3473 }, + + { 146,3473 }, { 147,3473 }, { 148,3473 }, { 149,3473 }, { 150,3473 }, + { 151,3473 }, { 152,3473 }, { 153,3473 }, { 154,3473 }, { 155,3473 }, + { 156,3473 }, { 157,3473 }, { 158,3473 }, { 159,3473 }, { 160,3473 }, + { 161,3473 }, { 162,3473 }, { 163,3473 }, { 164,3473 }, { 165,3473 }, + { 166,3473 }, { 167,3473 }, { 168,3473 }, { 169,3473 }, { 170,3473 }, + { 171,3473 }, { 172,3473 }, { 173,3473 }, { 174,3473 }, { 175,3473 }, + { 176,3473 }, { 177,3473 }, { 178,3473 }, { 179,3473 }, { 180,3473 }, + { 181,3473 }, { 182,3473 }, { 183,3473 }, { 184,3473 }, { 185,3473 }, + { 186,3473 }, { 187,3473 }, { 188,3473 }, { 189,3473 }, { 190,3473 }, + { 191,3473 }, { 192,3473 }, { 193,3473 }, { 194,3473 }, { 195,3473 }, + + { 196,3473 }, { 197,3473 }, { 198,3473 }, { 199,3473 }, { 200,3473 }, + { 201,3473 }, { 202,3473 }, { 203,3473 }, { 204,3473 }, { 205,3473 }, + { 206,3473 }, { 207,3473 }, { 208,3473 }, { 209,3473 }, { 210,3473 }, + { 211,3473 }, { 212,3473 }, { 213,3473 }, { 214,3473 }, { 215,3473 }, + { 216,3473 }, { 217,3473 }, { 218,3473 }, { 219,3473 }, { 220,3473 }, + { 221,3473 }, { 222,3473 }, { 223,3473 }, { 224,3473 }, { 225,3473 }, + { 226,3473 }, { 227,3473 }, { 228,3473 }, { 229,3473 }, { 230,3473 }, + { 231,3473 }, { 232,3473 }, { 233,3473 }, { 234,3473 }, { 235,3473 }, + { 236,3473 }, { 237,3473 }, { 238,3473 }, { 239,3473 }, { 240,3473 }, + { 241,3473 }, { 242,3473 }, { 243,3473 }, { 244,3473 }, { 245,3473 }, + + { 246,3473 }, { 247,3473 }, { 248,3473 }, { 249,3473 }, { 250,3473 }, + { 251,3473 }, { 252,3473 }, { 253,3473 }, { 254,3473 }, { 255,3473 }, + { 256,3473 }, { 0, 24 }, { 0,9268 }, { 1,-774 }, { 2,-774 }, + { 3,-774 }, { 4,-774 }, { 5,-774 }, { 6,-774 }, { 7,-774 }, + { 8,-774 }, { 9,-516 }, { 10,-12510 }, { 11,-774 }, { 12,-516 }, + { 13,-12510 }, { 14,-774 }, { 15,-774 }, { 16,-774 }, { 17,-774 }, + { 18,-774 }, { 19,-774 }, { 20,-774 }, { 21,-774 }, { 22,-774 }, + { 23,-774 }, { 24,-774 }, { 25,-774 }, { 26,-774 }, { 27,-774 }, + { 28,-774 }, { 29,-774 }, { 30,-774 }, { 31,-774 }, { 32,-516 }, + { 33,-774 }, { 34,-774 }, { 35,-774 }, { 36,-774 }, { 37,-774 }, + + { 38,-774 }, { 39,-258 }, { 40,-774 }, { 41,-774 }, { 42,-774 }, + { 43,-774 }, { 44,-774 }, { 45,4366 }, { 46,-774 }, { 47,-774 }, + { 48,-774 }, { 49,-774 }, { 50,-774 }, { 51,-774 }, { 52,-774 }, + { 53,-774 }, { 54,-774 }, { 55,-774 }, { 56,-774 }, { 57,-774 }, + { 58,-774 }, { 59,-774 }, { 60,-774 }, { 61,-774 }, { 62,-774 }, + { 63,-774 }, { 64,-774 }, { 65,-774 }, { 66,-774 }, { 67,-774 }, + { 68,-774 }, { 69,-774 }, { 70,-774 }, { 71,-774 }, { 72,-774 }, + { 73,-774 }, { 74,-774 }, { 75,-774 }, { 76,-774 }, { 77,-774 }, + { 78,-774 }, { 79,-774 }, { 80,-774 }, { 81,-774 }, { 82,-774 }, + { 83,-774 }, { 84,-774 }, { 85, 258 }, { 86,-774 }, { 87,-774 }, + + { 88,-774 }, { 89,-774 }, { 90,-774 }, { 91,-774 }, { 92,-774 }, + { 93,-774 }, { 94,-774 }, { 95,-774 }, { 96,-774 }, { 97,-774 }, + { 98,-774 }, { 99,-774 }, { 100,-774 }, { 101,-774 }, { 102,-774 }, + { 103,-774 }, { 104,-774 }, { 105,-774 }, { 106,-774 }, { 107,-774 }, + { 108,-774 }, { 109,-774 }, { 110,-774 }, { 111,-774 }, { 112,-774 }, + { 113,-774 }, { 114,-774 }, { 115,-774 }, { 116,-774 }, { 117, 258 }, + { 118,-774 }, { 119,-774 }, { 120,-774 }, { 121,-774 }, { 122,-774 }, + { 123,-774 }, { 124,-774 }, { 125,-774 }, { 126,-774 }, { 127,-774 }, + { 128,-774 }, { 129,-774 }, { 130,-774 }, { 131,-774 }, { 132,-774 }, + { 133,-774 }, { 134,-774 }, { 135,-774 }, { 136,-774 }, { 137,-774 }, + + { 138,-774 }, { 139,-774 }, { 140,-774 }, { 141,-774 }, { 142,-774 }, + { 143,-774 }, { 144,-774 }, { 145,-774 }, { 146,-774 }, { 147,-774 }, + { 148,-774 }, { 149,-774 }, { 150,-774 }, { 151,-774 }, { 152,-774 }, + { 153,-774 }, { 154,-774 }, { 155,-774 }, { 156,-774 }, { 157,-774 }, + { 158,-774 }, { 159,-774 }, { 160,-774 }, { 161,-774 }, { 162,-774 }, + { 163,-774 }, { 164,-774 }, { 165,-774 }, { 166,-774 }, { 167,-774 }, + { 168,-774 }, { 169,-774 }, { 170,-774 }, { 171,-774 }, { 172,-774 }, + { 173,-774 }, { 174,-774 }, { 175,-774 }, { 176,-774 }, { 177,-774 }, + { 178,-774 }, { 179,-774 }, { 180,-774 }, { 181,-774 }, { 182,-774 }, + { 183,-774 }, { 184,-774 }, { 185,-774 }, { 186,-774 }, { 187,-774 }, + + { 188,-774 }, { 189,-774 }, { 190,-774 }, { 191,-774 }, { 192,-774 }, + { 193,-774 }, { 194,-774 }, { 195,-774 }, { 196,-774 }, { 197,-774 }, + { 198,-774 }, { 199,-774 }, { 200,-774 }, { 201,-774 }, { 202,-774 }, + { 203,-774 }, { 204,-774 }, { 205,-774 }, { 206,-774 }, { 207,-774 }, + { 208,-774 }, { 209,-774 }, { 210,-774 }, { 211,-774 }, { 212,-774 }, + { 213,-774 }, { 214,-774 }, { 215,-774 }, { 216,-774 }, { 217,-774 }, + { 218,-774 }, { 219,-774 }, { 220,-774 }, { 221,-774 }, { 222,-774 }, + { 223,-774 }, { 224,-774 }, { 225,-774 }, { 226,-774 }, { 227,-774 }, + { 228,-774 }, { 229,-774 }, { 230,-774 }, { 231,-774 }, { 232,-774 }, + { 233,-774 }, { 234,-774 }, { 235,-774 }, { 236,-774 }, { 237,-774 }, + + { 238,-774 }, { 239,-774 }, { 240,-774 }, { 241,-774 }, { 242,-774 }, + { 243,-774 }, { 244,-774 }, { 245,-774 }, { 246,-774 }, { 247,-774 }, + { 248,-774 }, { 249,-774 }, { 250,-774 }, { 251,-774 }, { 252,-774 }, + { 253,-774 }, { 254,-774 }, { 255,-774 }, { 256,-774 }, { 0, 24 }, + { 0,9010 }, { 1,-1032 }, { 2,-1032 }, { 3,-1032 }, { 4,-1032 }, + { 5,-1032 }, { 6,-1032 }, { 7,-1032 }, { 8,-1032 }, { 9,-774 }, + { 10,-12768 }, { 11,-1032 }, { 12,-774 }, { 13,-12768 }, { 14,-1032 }, + { 15,-1032 }, { 16,-1032 }, { 17,-1032 }, { 18,-1032 }, { 19,-1032 }, + { 20,-1032 }, { 21,-1032 }, { 22,-1032 }, { 23,-1032 }, { 24,-1032 }, + { 25,-1032 }, { 26,-1032 }, { 27,-1032 }, { 28,-1032 }, { 29,-1032 }, + + { 30,-1032 }, { 31,-1032 }, { 32,-774 }, { 33,-1032 }, { 34,-1032 }, + { 35,-1032 }, { 36,-1032 }, { 37,-1032 }, { 38,-1032 }, { 39,-516 }, + { 40,-1032 }, { 41,-1032 }, { 42,-1032 }, { 43,-1032 }, { 44,-1032 }, + { 45, 258 }, { 46,-1032 }, { 47,-1032 }, { 48,-1032 }, { 49,-1032 }, + { 50,-1032 }, { 51,-1032 }, { 52,-1032 }, { 53,-1032 }, { 54,-1032 }, + { 55,-1032 }, { 56,-1032 }, { 57,-1032 }, { 58,-1032 }, { 59,-1032 }, + { 60,-1032 }, { 61,-1032 }, { 62,-1032 }, { 63,-1032 }, { 64,-1032 }, + { 65,-1032 }, { 66,-1032 }, { 67,-1032 }, { 68,-1032 }, { 69,4366 }, + { 70,-1032 }, { 71,-1032 }, { 72,-1032 }, { 73,-1032 }, { 74,-1032 }, + { 75,-1032 }, { 76,-1032 }, { 77,-1032 }, { 78,-1032 }, { 79,-1032 }, + + { 80,-1032 }, { 81,-1032 }, { 82,-1032 }, { 83,-1032 }, { 84,-1032 }, + { 85, 0 }, { 86,-1032 }, { 87,-1032 }, { 88,-1032 }, { 89,-1032 }, + { 90,-1032 }, { 91,-1032 }, { 92,-1032 }, { 93,-1032 }, { 94,-1032 }, + { 95,-1032 }, { 96,-1032 }, { 97,-1032 }, { 98,-1032 }, { 99,-1032 }, + { 100,-1032 }, { 101,4366 }, { 102,-1032 }, { 103,-1032 }, { 104,-1032 }, + { 105,-1032 }, { 106,-1032 }, { 107,-1032 }, { 108,-1032 }, { 109,-1032 }, + { 110,-1032 }, { 111,-1032 }, { 112,-1032 }, { 113,-1032 }, { 114,-1032 }, + { 115,-1032 }, { 116,-1032 }, { 117, 0 }, { 118,-1032 }, { 119,-1032 }, + { 120,-1032 }, { 121,-1032 }, { 122,-1032 }, { 123,-1032 }, { 124,-1032 }, + { 125,-1032 }, { 126,-1032 }, { 127,-1032 }, { 128,-1032 }, { 129,-1032 }, + + { 130,-1032 }, { 131,-1032 }, { 132,-1032 }, { 133,-1032 }, { 134,-1032 }, + { 135,-1032 }, { 136,-1032 }, { 137,-1032 }, { 138,-1032 }, { 139,-1032 }, + { 140,-1032 }, { 141,-1032 }, { 142,-1032 }, { 143,-1032 }, { 144,-1032 }, + { 145,-1032 }, { 146,-1032 }, { 147,-1032 }, { 148,-1032 }, { 149,-1032 }, + { 150,-1032 }, { 151,-1032 }, { 152,-1032 }, { 153,-1032 }, { 154,-1032 }, + { 155,-1032 }, { 156,-1032 }, { 157,-1032 }, { 158,-1032 }, { 159,-1032 }, + { 160,-1032 }, { 161,-1032 }, { 162,-1032 }, { 163,-1032 }, { 164,-1032 }, + { 165,-1032 }, { 166,-1032 }, { 167,-1032 }, { 168,-1032 }, { 169,-1032 }, + { 170,-1032 }, { 171,-1032 }, { 172,-1032 }, { 173,-1032 }, { 174,-1032 }, + { 175,-1032 }, { 176,-1032 }, { 177,-1032 }, { 178,-1032 }, { 179,-1032 }, + + { 180,-1032 }, { 181,-1032 }, { 182,-1032 }, { 183,-1032 }, { 184,-1032 }, + { 185,-1032 }, { 186,-1032 }, { 187,-1032 }, { 188,-1032 }, { 189,-1032 }, + { 190,-1032 }, { 191,-1032 }, { 192,-1032 }, { 193,-1032 }, { 194,-1032 }, + { 195,-1032 }, { 196,-1032 }, { 197,-1032 }, { 198,-1032 }, { 199,-1032 }, + { 200,-1032 }, { 201,-1032 }, { 202,-1032 }, { 203,-1032 }, { 204,-1032 }, + { 205,-1032 }, { 206,-1032 }, { 207,-1032 }, { 208,-1032 }, { 209,-1032 }, + { 210,-1032 }, { 211,-1032 }, { 212,-1032 }, { 213,-1032 }, { 214,-1032 }, + { 215,-1032 }, { 216,-1032 }, { 217,-1032 }, { 218,-1032 }, { 219,-1032 }, + { 220,-1032 }, { 221,-1032 }, { 222,-1032 }, { 223,-1032 }, { 224,-1032 }, + { 225,-1032 }, { 226,-1032 }, { 227,-1032 }, { 228,-1032 }, { 229,-1032 }, + + { 230,-1032 }, { 231,-1032 }, { 232,-1032 }, { 233,-1032 }, { 234,-1032 }, + { 235,-1032 }, { 236,-1032 }, { 237,-1032 }, { 238,-1032 }, { 239,-1032 }, + { 240,-1032 }, { 241,-1032 }, { 242,-1032 }, { 243,-1032 }, { 244,-1032 }, + { 245,-1032 }, { 246,-1032 }, { 247,-1032 }, { 248,-1032 }, { 249,-1032 }, + { 250,-1032 }, { 251,-1032 }, { 252,-1032 }, { 253,-1032 }, { 254,-1032 }, + { 255,-1032 }, { 256,-1032 }, { 0, 24 }, { 0,8752 }, { 1,-1290 }, + { 2,-1290 }, { 3,-1290 }, { 4,-1290 }, { 5,-1290 }, { 6,-1290 }, + { 7,-1290 }, { 8,-1290 }, { 9,-1032 }, { 10,-13026 }, { 11,-1290 }, + { 12,-1032 }, { 13,-13026 }, { 14,-1290 }, { 15,-1290 }, { 16,-1290 }, + { 17,-1290 }, { 18,-1290 }, { 19,-1290 }, { 20,-1290 }, { 21,-1290 }, + + { 22,-1290 }, { 23,-1290 }, { 24,-1290 }, { 25,-1290 }, { 26,-1290 }, + { 27,-1290 }, { 28,-1290 }, { 29,-1290 }, { 30,-1290 }, { 31,-1290 }, + { 32,-1032 }, { 33,-1290 }, { 34,-1290 }, { 35,-1290 }, { 36,-1290 }, + { 37,-1290 }, { 38,-1290 }, { 39,-774 }, { 40,-1290 }, { 41,-1290 }, + { 42,-1290 }, { 43,-1290 }, { 44,-1290 }, { 45,3850 }, { 46,-1290 }, + { 47,-1290 }, { 48,-1290 }, { 49,-1290 }, { 50,-1290 }, { 51,-1290 }, + { 52,-1290 }, { 53,-1290 }, { 54,-1290 }, { 55,-1290 }, { 56,-1290 }, + { 57,-1290 }, { 58,-1290 }, { 59,-1290 }, { 60,-1290 }, { 61,-1290 }, + { 62,-1290 }, { 63,-1290 }, { 64,-1290 }, { 65,-1290 }, { 66,-1290 }, + { 67,-1290 }, { 68,-1290 }, { 69,-1290 }, { 70,-1290 }, { 71,-1290 }, + + { 72,-1290 }, { 73,-1290 }, { 74,-1290 }, { 75,-1290 }, { 76,-1290 }, + { 77,-1290 }, { 78,-1290 }, { 79,-1290 }, { 80,-1290 }, { 81,-1290 }, + { 82,-1290 }, { 83,-1290 }, { 84,-1290 }, { 85,-258 }, { 86,-1290 }, + { 87,-1290 }, { 88,-1290 }, { 89,-1290 }, { 90,-1290 }, { 91,-1290 }, + { 92,-1290 }, { 93,-1290 }, { 94,-1290 }, { 95,-1290 }, { 96,-1290 }, + { 97,-1290 }, { 98,-1290 }, { 99,-1290 }, { 100,-1290 }, { 101,-1290 }, + { 102,-1290 }, { 103,-1290 }, { 104,-1290 }, { 105,-1290 }, { 106,-1290 }, + { 107,-1290 }, { 108,-1290 }, { 109,-1290 }, { 110,-1290 }, { 111,-1290 }, + { 112,-1290 }, { 113,-1290 }, { 114,-1290 }, { 115,-1290 }, { 116,-1290 }, + { 117,-258 }, { 118,-1290 }, { 119,-1290 }, { 120,-1290 }, { 121,-1290 }, + + { 122,-1290 }, { 123,-1290 }, { 124,-1290 }, { 125,-1290 }, { 126,-1290 }, + { 127,-1290 }, { 128,-1290 }, { 129,-1290 }, { 130,-1290 }, { 131,-1290 }, + { 132,-1290 }, { 133,-1290 }, { 134,-1290 }, { 135,-1290 }, { 136,-1290 }, + { 137,-1290 }, { 138,-1290 }, { 139,-1290 }, { 140,-1290 }, { 141,-1290 }, + { 142,-1290 }, { 143,-1290 }, { 144,-1290 }, { 145,-1290 }, { 146,-1290 }, + { 147,-1290 }, { 148,-1290 }, { 149,-1290 }, { 150,-1290 }, { 151,-1290 }, + { 152,-1290 }, { 153,-1290 }, { 154,-1290 }, { 155,-1290 }, { 156,-1290 }, + { 157,-1290 }, { 158,-1290 }, { 159,-1290 }, { 160,-1290 }, { 161,-1290 }, + { 162,-1290 }, { 163,-1290 }, { 164,-1290 }, { 165,-1290 }, { 166,-1290 }, + { 167,-1290 }, { 168,-1290 }, { 169,-1290 }, { 170,-1290 }, { 171,-1290 }, + + { 172,-1290 }, { 173,-1290 }, { 174,-1290 }, { 175,-1290 }, { 176,-1290 }, + { 177,-1290 }, { 178,-1290 }, { 179,-1290 }, { 180,-1290 }, { 181,-1290 }, + { 182,-1290 }, { 183,-1290 }, { 184,-1290 }, { 185,-1290 }, { 186,-1290 }, + { 187,-1290 }, { 188,-1290 }, { 189,-1290 }, { 190,-1290 }, { 191,-1290 }, + { 192,-1290 }, { 193,-1290 }, { 194,-1290 }, { 195,-1290 }, { 196,-1290 }, + { 197,-1290 }, { 198,-1290 }, { 199,-1290 }, { 200,-1290 }, { 201,-1290 }, + { 202,-1290 }, { 203,-1290 }, { 204,-1290 }, { 205,-1290 }, { 206,-1290 }, + { 207,-1290 }, { 208,-1290 }, { 209,-1290 }, { 210,-1290 }, { 211,-1290 }, + { 212,-1290 }, { 213,-1290 }, { 214,-1290 }, { 215,-1290 }, { 216,-1290 }, + { 217,-1290 }, { 218,-1290 }, { 219,-1290 }, { 220,-1290 }, { 221,-1290 }, + + { 222,-1290 }, { 223,-1290 }, { 224,-1290 }, { 225,-1290 }, { 226,-1290 }, + { 227,-1290 }, { 228,-1290 }, { 229,-1290 }, { 230,-1290 }, { 231,-1290 }, + { 232,-1290 }, { 233,-1290 }, { 234,-1290 }, { 235,-1290 }, { 236,-1290 }, + { 237,-1290 }, { 238,-1290 }, { 239,-1290 }, { 240,-1290 }, { 241,-1290 }, + { 242,-1290 }, { 243,-1290 }, { 244,-1290 }, { 245,-1290 }, { 246,-1290 }, + { 247,-1290 }, { 248,-1290 }, { 249,-1290 }, { 250,-1290 }, { 251,-1290 }, + { 252,-1290 }, { 253,-1290 }, { 254,-1290 }, { 255,-1290 }, { 256,-1290 }, + { 0, 24 }, { 0,8494 }, { 1,-5537 }, { 2,-5537 }, { 3,-5537 }, + { 4,-5537 }, { 5,-5537 }, { 6,-5537 }, { 7,-5537 }, { 8,-5537 }, + { 9,-5279 }, { 10,-17697 }, { 11,-5537 }, { 12,-5279 }, { 13,-17697 }, + + { 14,-5537 }, { 15,-5537 }, { 16,-5537 }, { 17,-5537 }, { 18,-5537 }, + { 19,-5537 }, { 20,-5537 }, { 21,-5537 }, { 22,-5537 }, { 23,-5537 }, + { 24,-5537 }, { 25,-5537 }, { 26,-5537 }, { 27,-5537 }, { 28,-5537 }, + { 29,-5537 }, { 30,-5537 }, { 31,-5537 }, { 32,-5279 }, { 33,-5537 }, + { 34,-5537 }, { 35,-5537 }, { 36,-5537 }, { 37,-5537 }, { 38,-5537 }, + { 39,-5021 }, { 40,-5537 }, { 41,-5537 }, { 42,-5537 }, { 43,-5537 }, + { 44,-5537 }, { 45,1409 }, { 46,-5537 }, { 47,-5537 }, { 48,-5537 }, + { 49,-5537 }, { 50,-5537 }, { 51,-5537 }, { 52,-5537 }, { 53,-5537 }, + { 54,-5537 }, { 55,-5537 }, { 56,-5537 }, { 57,-5537 }, { 58,-5537 }, + { 59,-5537 }, { 60,-5537 }, { 61,-5537 }, { 62,-5537 }, { 63,-5537 }, + + { 64,-5537 }, { 65,-5537 }, { 66,-5537 }, { 67,-5537 }, { 68,-5537 }, + { 69,-5537 }, { 70,-5537 }, { 71,-5537 }, { 72,-5537 }, { 73,-5537 }, + { 74,-5537 }, { 75,-5537 }, { 76,-5537 }, { 77,-5537 }, { 78,-5537 }, + { 79,-5537 }, { 80,-5537 }, { 81,-5537 }, { 82,-5537 }, { 83,-5537 }, + { 84,-5537 }, { 85,-4505 }, { 86,-5537 }, { 87,-5537 }, { 88,-5537 }, + { 89,-5537 }, { 90,-5537 }, { 91,-5537 }, { 92,-5537 }, { 93,-5537 }, + { 94,-5537 }, { 95,-5537 }, { 96,-5537 }, { 97,-5537 }, { 98,-5537 }, + { 99,-5537 }, { 100,-5537 }, { 101,-5537 }, { 102,-5537 }, { 103,-5537 }, + { 104,-5537 }, { 105,-5537 }, { 106,-5537 }, { 107,-5537 }, { 108,-5537 }, + { 109,-5537 }, { 110,-5537 }, { 111,-5537 }, { 112,-5537 }, { 113,-5537 }, + + { 114,-5537 }, { 115,-5537 }, { 116,-5537 }, { 117,-4505 }, { 118,-5537 }, + { 119,-5537 }, { 120,-5537 }, { 121,-5537 }, { 122,-5537 }, { 123,-5537 }, + { 124,-5537 }, { 125,-5537 }, { 126,-5537 }, { 127,-5537 }, { 128,-5537 }, + { 129,-5537 }, { 130,-5537 }, { 131,-5537 }, { 132,-5537 }, { 133,-5537 }, + { 134,-5537 }, { 135,-5537 }, { 136,-5537 }, { 137,-5537 }, { 138,-5537 }, + { 139,-5537 }, { 140,-5537 }, { 141,-5537 }, { 142,-5537 }, { 143,-5537 }, + { 144,-5537 }, { 145,-5537 }, { 146,-5537 }, { 147,-5537 }, { 148,-5537 }, + { 149,-5537 }, { 150,-5537 }, { 151,-5537 }, { 152,-5537 }, { 153,-5537 }, + { 154,-5537 }, { 155,-5537 }, { 156,-5537 }, { 157,-5537 }, { 158,-5537 }, + { 159,-5537 }, { 160,-5537 }, { 161,-5537 }, { 162,-5537 }, { 163,-5537 }, + + { 164,-5537 }, { 165,-5537 }, { 166,-5537 }, { 167,-5537 }, { 168,-5537 }, + { 169,-5537 }, { 170,-5537 }, { 171,-5537 }, { 172,-5537 }, { 173,-5537 }, + { 174,-5537 }, { 175,-5537 }, { 176,-5537 }, { 177,-5537 }, { 178,-5537 }, + { 179,-5537 }, { 180,-5537 }, { 181,-5537 }, { 182,-5537 }, { 183,-5537 }, + { 184,-5537 }, { 185,-5537 }, { 186,-5537 }, { 187,-5537 }, { 188,-5537 }, + { 189,-5537 }, { 190,-5537 }, { 191,-5537 }, { 192,-5537 }, { 193,-5537 }, + { 194,-5537 }, { 195,-5537 }, { 196,-5537 }, { 197,-5537 }, { 198,-5537 }, + { 199,-5537 }, { 200,-5537 }, { 201,-5537 }, { 202,-5537 }, { 203,-5537 }, + { 204,-5537 }, { 205,-5537 }, { 206,-5537 }, { 207,-5537 }, { 208,-5537 }, + { 209,-5537 }, { 210,-5537 }, { 211,-5537 }, { 212,-5537 }, { 213,-5537 }, + + { 214,-5537 }, { 215,-5537 }, { 216,-5537 }, { 217,-5537 }, { 218,-5537 }, + { 219,-5537 }, { 220,-5537 }, { 221,-5537 }, { 222,-5537 }, { 223,-5537 }, + { 224,-5537 }, { 225,-5537 }, { 226,-5537 }, { 227,-5537 }, { 228,-5537 }, + { 229,-5537 }, { 230,-5537 }, { 231,-5537 }, { 232,-5537 }, { 233,-5537 }, + { 234,-5537 }, { 235,-5537 }, { 236,-5537 }, { 237,-5537 }, { 238,-5537 }, + { 239,-5537 }, { 240,-5537 }, { 241,-5537 }, { 242,-5537 }, { 243,-5537 }, + { 244,-5537 }, { 245,-5537 }, { 246,-5537 }, { 247,-5537 }, { 248,-5537 }, + { 249,-5537 }, { 250,-5537 }, { 251,-5537 }, { 252,-5537 }, { 253,-5537 }, + { 254,-5537 }, { 255,-5537 }, { 256,-5537 }, { 0, 24 }, { 0,8236 }, + { 1,-5795 }, { 2,-5795 }, { 3,-5795 }, { 4,-5795 }, { 5,-5795 }, + + { 6,-5795 }, { 7,-5795 }, { 8,-5795 }, { 9,-5537 }, { 10,-17955 }, + { 11,-5795 }, { 12,-5537 }, { 13,-17955 }, { 14,-5795 }, { 15,-5795 }, + { 16,-5795 }, { 17,-5795 }, { 18,-5795 }, { 19,-5795 }, { 20,-5795 }, + { 21,-5795 }, { 22,-5795 }, { 23,-5795 }, { 24,-5795 }, { 25,-5795 }, + { 26,-5795 }, { 27,-5795 }, { 28,-5795 }, { 29,-5795 }, { 30,-5795 }, + { 31,-5795 }, { 32,-5537 }, { 33,-5795 }, { 34,-5795 }, { 35,-5795 }, + { 36,-5795 }, { 37,-5795 }, { 38,-5795 }, { 39,3850 }, { 40,-5795 }, + { 41,-5795 }, { 42,-5795 }, { 43,-5795 }, { 44,-5795 }, { 45,-258 }, + { 46,-5795 }, { 47,-5795 }, { 48,-5795 }, { 49,-5795 }, { 50,-5795 }, + { 51,-5795 }, { 52,-5795 }, { 53,-5795 }, { 54,-5795 }, { 55,-5795 }, + + { 56,-5795 }, { 57,-5795 }, { 58,-5795 }, { 59,-5795 }, { 60,-5795 }, + { 61,-5795 }, { 62,-5795 }, { 63,-5795 }, { 64,-5795 }, { 65,-5795 }, + { 66,-5795 }, { 67,-5795 }, { 68,-5795 }, { 69,-5795 }, { 70,-5795 }, + { 71,-5795 }, { 72,-5795 }, { 73,-5795 }, { 74,-5795 }, { 75,-5795 }, + { 76,-5795 }, { 77,-5795 }, { 78,-5795 }, { 79,-5795 }, { 80,-5795 }, + { 81,-5795 }, { 82,-5795 }, { 83,-5795 }, { 84,-5795 }, { 85,-4763 }, + { 86,-5795 }, { 87,-5795 }, { 88,-5795 }, { 89,-5795 }, { 90,-5795 }, + { 91,-5795 }, { 92,-5795 }, { 93,-5795 }, { 94,-5795 }, { 95,-5795 }, + { 96,-5795 }, { 97,-5795 }, { 98,-5795 }, { 99,-5795 }, { 100,-5795 }, + { 101,-5795 }, { 102,-5795 }, { 103,-5795 }, { 104,-5795 }, { 105,-5795 }, + + { 106,-5795 }, { 107,-5795 }, { 108,-5795 }, { 109,-5795 }, { 110,-5795 }, + { 111,-5795 }, { 112,-5795 }, { 113,-5795 }, { 114,-5795 }, { 115,-5795 }, + { 116,-5795 }, { 117,-4763 }, { 118,-5795 }, { 119,-5795 }, { 120,-5795 }, + { 121,-5795 }, { 122,-5795 }, { 123,-5795 }, { 124,-5795 }, { 125,-5795 }, + { 126,-5795 }, { 127,-5795 }, { 128,-5795 }, { 129,-5795 }, { 130,-5795 }, + { 131,-5795 }, { 132,-5795 }, { 133,-5795 }, { 134,-5795 }, { 135,-5795 }, + { 136,-5795 }, { 137,-5795 }, { 138,-5795 }, { 139,-5795 }, { 140,-5795 }, + { 141,-5795 }, { 142,-5795 }, { 143,-5795 }, { 144,-5795 }, { 145,-5795 }, + { 146,-5795 }, { 147,-5795 }, { 148,-5795 }, { 149,-5795 }, { 150,-5795 }, + { 151,-5795 }, { 152,-5795 }, { 153,-5795 }, { 154,-5795 }, { 155,-5795 }, + + { 156,-5795 }, { 157,-5795 }, { 158,-5795 }, { 159,-5795 }, { 160,-5795 }, + { 161,-5795 }, { 162,-5795 }, { 163,-5795 }, { 164,-5795 }, { 165,-5795 }, + { 166,-5795 }, { 167,-5795 }, { 168,-5795 }, { 169,-5795 }, { 170,-5795 }, + { 171,-5795 }, { 172,-5795 }, { 173,-5795 }, { 174,-5795 }, { 175,-5795 }, + { 176,-5795 }, { 177,-5795 }, { 178,-5795 }, { 179,-5795 }, { 180,-5795 }, + { 181,-5795 }, { 182,-5795 }, { 183,-5795 }, { 184,-5795 }, { 185,-5795 }, + { 186,-5795 }, { 187,-5795 }, { 188,-5795 }, { 189,-5795 }, { 190,-5795 }, + { 191,-5795 }, { 192,-5795 }, { 193,-5795 }, { 194,-5795 }, { 195,-5795 }, + { 196,-5795 }, { 197,-5795 }, { 198,-5795 }, { 199,-5795 }, { 200,-5795 }, + { 201,-5795 }, { 202,-5795 }, { 203,-5795 }, { 204,-5795 }, { 205,-5795 }, + + { 206,-5795 }, { 207,-5795 }, { 208,-5795 }, { 209,-5795 }, { 210,-5795 }, + { 211,-5795 }, { 212,-5795 }, { 213,-5795 }, { 214,-5795 }, { 215,-5795 }, + { 216,-5795 }, { 217,-5795 }, { 218,-5795 }, { 219,-5795 }, { 220,-5795 }, + { 221,-5795 }, { 222,-5795 }, { 223,-5795 }, { 224,-5795 }, { 225,-5795 }, + { 226,-5795 }, { 227,-5795 }, { 228,-5795 }, { 229,-5795 }, { 230,-5795 }, + { 231,-5795 }, { 232,-5795 }, { 233,-5795 }, { 234,-5795 }, { 235,-5795 }, + { 236,-5795 }, { 237,-5795 }, { 238,-5795 }, { 239,-5795 }, { 240,-5795 }, + { 241,-5795 }, { 242,-5795 }, { 243,-5795 }, { 244,-5795 }, { 245,-5795 }, + { 246,-5795 }, { 247,-5795 }, { 248,-5795 }, { 249,-5795 }, { 250,-5795 }, + { 251,-5795 }, { 252,-5795 }, { 253,-5795 }, { 254,-5795 }, { 255,-5795 }, + + { 256,-5795 }, { 0, 24 }, { 0,7978 }, { 1,-6053 }, { 2,-6053 }, + { 3,-6053 }, { 4,-6053 }, { 5,-6053 }, { 6,-6053 }, { 7,-6053 }, + { 8,-6053 }, { 9,-5795 }, { 10,-18213 }, { 11,-6053 }, { 12,-5795 }, + { 13,-18213 }, { 14,-6053 }, { 15,-6053 }, { 16,-6053 }, { 17,-6053 }, + { 18,-6053 }, { 19,-6053 }, { 20,-6053 }, { 21,-6053 }, { 22,-6053 }, + { 23,-6053 }, { 24,-6053 }, { 25,-6053 }, { 26,-6053 }, { 27,-6053 }, + { 28,-6053 }, { 29,-6053 }, { 30,-6053 }, { 31,-6053 }, { 32,-5795 }, + { 33,-6053 }, { 34,-6053 }, { 35,-6053 }, { 36,-6053 }, { 37,-6053 }, + { 38,-6053 }, { 39,3592 }, { 40,-6053 }, { 41,-6053 }, { 42,-6053 }, + { 43,-6053 }, { 44,-6053 }, { 45,-516 }, { 46,-6053 }, { 47,-6053 }, + + { 48,-6053 }, { 49,-6053 }, { 50,-6053 }, { 51,-6053 }, { 52,-6053 }, + { 53,-6053 }, { 54,-6053 }, { 55,-6053 }, { 56,-6053 }, { 57,-6053 }, + { 58,-6053 }, { 59,-6053 }, { 60,-6053 }, { 61,-6053 }, { 62,-6053 }, + { 63,-6053 }, { 64,-6053 }, { 65,-6053 }, { 66,-6053 }, { 67,-6053 }, + { 68,-6053 }, { 69,-6053 }, { 70,-6053 }, { 71,-6053 }, { 72,-6053 }, + { 73,-6053 }, { 74,-6053 }, { 75,-6053 }, { 76,-6053 }, { 77,-6053 }, + { 78,-6053 }, { 79,-6053 }, { 80,-6053 }, { 81,-6053 }, { 82,-6053 }, + { 83,-6053 }, { 84,-6053 }, { 85,-5021 }, { 86,-6053 }, { 87,-6053 }, + { 88,-6053 }, { 89,-6053 }, { 90,-6053 }, { 91,-6053 }, { 92,-6053 }, + { 93,-6053 }, { 94,-6053 }, { 95,-6053 }, { 96,-6053 }, { 97,-6053 }, + + { 98,-6053 }, { 99,-6053 }, { 100,-6053 }, { 101,-6053 }, { 102,-6053 }, + { 103,-6053 }, { 104,-6053 }, { 105,-6053 }, { 106,-6053 }, { 107,-6053 }, + { 108,-6053 }, { 109,-6053 }, { 110,-6053 }, { 111,-6053 }, { 112,-6053 }, + { 113,-6053 }, { 114,-6053 }, { 115,-6053 }, { 116,-6053 }, { 117,-5021 }, + { 118,-6053 }, { 119,-6053 }, { 120,-6053 }, { 121,-6053 }, { 122,-6053 }, + { 123,-6053 }, { 124,-6053 }, { 125,-6053 }, { 126,-6053 }, { 127,-6053 }, + { 128,-6053 }, { 129,-6053 }, { 130,-6053 }, { 131,-6053 }, { 132,-6053 }, + { 133,-6053 }, { 134,-6053 }, { 135,-6053 }, { 136,-6053 }, { 137,-6053 }, + { 138,-6053 }, { 139,-6053 }, { 140,-6053 }, { 141,-6053 }, { 142,-6053 }, + { 143,-6053 }, { 144,-6053 }, { 145,-6053 }, { 146,-6053 }, { 147,-6053 }, + + { 148,-6053 }, { 149,-6053 }, { 150,-6053 }, { 151,-6053 }, { 152,-6053 }, + { 153,-6053 }, { 154,-6053 }, { 155,-6053 }, { 156,-6053 }, { 157,-6053 }, + { 158,-6053 }, { 159,-6053 }, { 160,-6053 }, { 161,-6053 }, { 162,-6053 }, + { 163,-6053 }, { 164,-6053 }, { 165,-6053 }, { 166,-6053 }, { 167,-6053 }, + { 168,-6053 }, { 169,-6053 }, { 170,-6053 }, { 171,-6053 }, { 172,-6053 }, + { 173,-6053 }, { 174,-6053 }, { 175,-6053 }, { 176,-6053 }, { 177,-6053 }, + { 178,-6053 }, { 179,-6053 }, { 180,-6053 }, { 181,-6053 }, { 182,-6053 }, + { 183,-6053 }, { 184,-6053 }, { 185,-6053 }, { 186,-6053 }, { 187,-6053 }, + { 188,-6053 }, { 189,-6053 }, { 190,-6053 }, { 191,-6053 }, { 192,-6053 }, + { 193,-6053 }, { 194,-6053 }, { 195,-6053 }, { 196,-6053 }, { 197,-6053 }, + + { 198,-6053 }, { 199,-6053 }, { 200,-6053 }, { 201,-6053 }, { 202,-6053 }, + { 203,-6053 }, { 204,-6053 }, { 205,-6053 }, { 206,-6053 }, { 207,-6053 }, + { 208,-6053 }, { 209,-6053 }, { 210,-6053 }, { 211,-6053 }, { 212,-6053 }, + { 213,-6053 }, { 214,-6053 }, { 215,-6053 }, { 216,-6053 }, { 217,-6053 }, + { 218,-6053 }, { 219,-6053 }, { 220,-6053 }, { 221,-6053 }, { 222,-6053 }, + { 223,-6053 }, { 224,-6053 }, { 225,-6053 }, { 226,-6053 }, { 227,-6053 }, + { 228,-6053 }, { 229,-6053 }, { 230,-6053 }, { 231,-6053 }, { 232,-6053 }, + { 233,-6053 }, { 234,-6053 }, { 235,-6053 }, { 236,-6053 }, { 237,-6053 }, + { 238,-6053 }, { 239,-6053 }, { 240,-6053 }, { 241,-6053 }, { 242,-6053 }, + { 243,-6053 }, { 244,-6053 }, { 245,-6053 }, { 246,-6053 }, { 247,-6053 }, + + { 248,-6053 }, { 249,-6053 }, { 250,-6053 }, { 251,-6053 }, { 252,-6053 }, + { 253,-6053 }, { 254,-6053 }, { 255,-6053 }, { 256,-6053 }, { 0, 24 }, + { 0,7720 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9,-13423 }, + { 10,-13423 }, { 0, 0 }, { 12,-13423 }, { 13,-13423 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 32,-13423 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 39,3592 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 45,-45496 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 85,-49880 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 117,-49880 }, { 0, 24 }, { 0,7601 }, + { 1,-6430 }, { 2,-6430 }, { 3,-6430 }, { 4,-6430 }, { 5,-6430 }, + { 6,-6430 }, { 7,-6430 }, { 8,-6430 }, { 9,-6172 }, { 10,-18590 }, + { 11,-6430 }, { 12,-6172 }, { 13,-18590 }, { 14,-6430 }, { 15,-6430 }, + { 16,-6430 }, { 17,-6430 }, { 18,-6430 }, { 19,-6430 }, { 20,-6430 }, + + { 21,-6430 }, { 22,-6430 }, { 23,-6430 }, { 24,-6430 }, { 25,-6430 }, + { 26,-6430 }, { 27,-6430 }, { 28,-6430 }, { 29,-6430 }, { 30,-6430 }, + { 31,-6430 }, { 32,-6172 }, { 33,-6430 }, { 34,-6430 }, { 35,-6430 }, + { 36,-6430 }, { 37,-6430 }, { 38,-6430 }, { 39,3215 }, { 40,-6430 }, + { 41,-6430 }, { 42,-6430 }, { 43,-6430 }, { 44,-6430 }, { 45, 516 }, + { 46,-6430 }, { 47,-6430 }, { 48,-6430 }, { 49,-6430 }, { 50,-6430 }, + { 51,-6430 }, { 52,-6430 }, { 53,-6430 }, { 54,-6430 }, { 55,-6430 }, + { 56,-6430 }, { 57,-6430 }, { 58,-6430 }, { 59,-6430 }, { 60,-6430 }, + { 61,-6430 }, { 62,-6430 }, { 63,-6430 }, { 64,-6430 }, { 65,-6430 }, + { 66,-6430 }, { 67,-6430 }, { 68,-6430 }, { 69,-6430 }, { 70,-6430 }, + + { 71,-6430 }, { 72,-6430 }, { 73,-6430 }, { 74,-6430 }, { 75,-6430 }, + { 76,-6430 }, { 77,-6430 }, { 78,-6430 }, { 79,-6430 }, { 80,-6430 }, + { 81,-6430 }, { 82,-6430 }, { 83,-6430 }, { 84,-6430 }, { 85,-5398 }, + { 86,-6430 }, { 87,-6430 }, { 88,-6430 }, { 89,-6430 }, { 90,-6430 }, + { 91,-6430 }, { 92,-6430 }, { 93,-6430 }, { 94,-6430 }, { 95,-6430 }, + { 96,-6430 }, { 97,-6430 }, { 98,-6430 }, { 99,-6430 }, { 100,-6430 }, + { 101,-6430 }, { 102,-6430 }, { 103,-6430 }, { 104,-6430 }, { 105,-6430 }, + { 106,-6430 }, { 107,-6430 }, { 108,-6430 }, { 109,-6430 }, { 110,-6430 }, + { 111,-6430 }, { 112,-6430 }, { 113,-6430 }, { 114,-6430 }, { 115,-6430 }, + { 116,-6430 }, { 117,-5398 }, { 118,-6430 }, { 119,-6430 }, { 120,-6430 }, + + { 121,-6430 }, { 122,-6430 }, { 123,-6430 }, { 124,-6430 }, { 125,-6430 }, + { 126,-6430 }, { 127,-6430 }, { 128,-6430 }, { 129,-6430 }, { 130,-6430 }, + { 131,-6430 }, { 132,-6430 }, { 133,-6430 }, { 134,-6430 }, { 135,-6430 }, + { 136,-6430 }, { 137,-6430 }, { 138,-6430 }, { 139,-6430 }, { 140,-6430 }, + { 141,-6430 }, { 142,-6430 }, { 143,-6430 }, { 144,-6430 }, { 145,-6430 }, + { 146,-6430 }, { 147,-6430 }, { 148,-6430 }, { 149,-6430 }, { 150,-6430 }, + { 151,-6430 }, { 152,-6430 }, { 153,-6430 }, { 154,-6430 }, { 155,-6430 }, + { 156,-6430 }, { 157,-6430 }, { 158,-6430 }, { 159,-6430 }, { 160,-6430 }, + { 161,-6430 }, { 162,-6430 }, { 163,-6430 }, { 164,-6430 }, { 165,-6430 }, + { 166,-6430 }, { 167,-6430 }, { 168,-6430 }, { 169,-6430 }, { 170,-6430 }, + + { 171,-6430 }, { 172,-6430 }, { 173,-6430 }, { 174,-6430 }, { 175,-6430 }, + { 176,-6430 }, { 177,-6430 }, { 178,-6430 }, { 179,-6430 }, { 180,-6430 }, + { 181,-6430 }, { 182,-6430 }, { 183,-6430 }, { 184,-6430 }, { 185,-6430 }, + { 186,-6430 }, { 187,-6430 }, { 188,-6430 }, { 189,-6430 }, { 190,-6430 }, + { 191,-6430 }, { 192,-6430 }, { 193,-6430 }, { 194,-6430 }, { 195,-6430 }, + { 196,-6430 }, { 197,-6430 }, { 198,-6430 }, { 199,-6430 }, { 200,-6430 }, + { 201,-6430 }, { 202,-6430 }, { 203,-6430 }, { 204,-6430 }, { 205,-6430 }, + { 206,-6430 }, { 207,-6430 }, { 208,-6430 }, { 209,-6430 }, { 210,-6430 }, + { 211,-6430 }, { 212,-6430 }, { 213,-6430 }, { 214,-6430 }, { 215,-6430 }, + { 216,-6430 }, { 217,-6430 }, { 218,-6430 }, { 219,-6430 }, { 220,-6430 }, + + { 221,-6430 }, { 222,-6430 }, { 223,-6430 }, { 224,-6430 }, { 225,-6430 }, + { 226,-6430 }, { 227,-6430 }, { 228,-6430 }, { 229,-6430 }, { 230,-6430 }, + { 231,-6430 }, { 232,-6430 }, { 233,-6430 }, { 234,-6430 }, { 235,-6430 }, + { 236,-6430 }, { 237,-6430 }, { 238,-6430 }, { 239,-6430 }, { 240,-6430 }, + { 241,-6430 }, { 242,-6430 }, { 243,-6430 }, { 244,-6430 }, { 245,-6430 }, + { 246,-6430 }, { 247,-6430 }, { 248,-6430 }, { 249,-6430 }, { 250,-6430 }, + { 251,-6430 }, { 252,-6430 }, { 253,-6430 }, { 254,-6430 }, { 255,-6430 }, + { 256,-6430 }, { 0, 24 }, { 0,7343 }, { 1,-6688 }, { 2,-6688 }, + { 3,-6688 }, { 4,-6688 }, { 5,-6688 }, { 6,-6688 }, { 7,-6688 }, + { 8,-6688 }, { 9,-6430 }, { 10,-18848 }, { 11,-6688 }, { 12,-6430 }, + + { 13,-18848 }, { 14,-6688 }, { 15,-6688 }, { 16,-6688 }, { 17,-6688 }, + { 18,-6688 }, { 19,-6688 }, { 20,-6688 }, { 21,-6688 }, { 22,-6688 }, + { 23,-6688 }, { 24,-6688 }, { 25,-6688 }, { 26,-6688 }, { 27,-6688 }, + { 28,-6688 }, { 29,-6688 }, { 30,-6688 }, { 31,-6688 }, { 32,-6430 }, + { 33,-6688 }, { 34,-6688 }, { 35,-6688 }, { 36,-6688 }, { 37,-6688 }, + { 38,-6688 }, { 39,2957 }, { 40,-6688 }, { 41,-6688 }, { 42,-6688 }, + { 43,-6688 }, { 44,-6688 }, { 45,-1151 }, { 46,-6688 }, { 47,-6688 }, + { 48,-6688 }, { 49,-6688 }, { 50,-6688 }, { 51,-6688 }, { 52,-6688 }, + { 53,-6688 }, { 54,-6688 }, { 55,-6688 }, { 56,-6688 }, { 57,-6688 }, + { 58,-6688 }, { 59,-6688 }, { 60,-6688 }, { 61,-6688 }, { 62,-6688 }, + + { 63,-6688 }, { 64,-6688 }, { 65,-6688 }, { 66,-6688 }, { 67,-6688 }, + { 68,-6688 }, { 69, 516 }, { 70,-6688 }, { 71,-6688 }, { 72,-6688 }, + { 73,-6688 }, { 74,-6688 }, { 75,-6688 }, { 76,-6688 }, { 77,-6688 }, + { 78,-6688 }, { 79,-6688 }, { 80,-6688 }, { 81,-6688 }, { 82,-6688 }, + { 83,-6688 }, { 84,-6688 }, { 85,-5656 }, { 86,-6688 }, { 87,-6688 }, + { 88,-6688 }, { 89,-6688 }, { 90,-6688 }, { 91,-6688 }, { 92,-6688 }, + { 93,-6688 }, { 94,-6688 }, { 95,-6688 }, { 96,-6688 }, { 97,-6688 }, + { 98,-6688 }, { 99,-6688 }, { 100,-6688 }, { 101, 516 }, { 102,-6688 }, + { 103,-6688 }, { 104,-6688 }, { 105,-6688 }, { 106,-6688 }, { 107,-6688 }, + { 108,-6688 }, { 109,-6688 }, { 110,-6688 }, { 111,-6688 }, { 112,-6688 }, + + { 113,-6688 }, { 114,-6688 }, { 115,-6688 }, { 116,-6688 }, { 117,-5656 }, + { 118,-6688 }, { 119,-6688 }, { 120,-6688 }, { 121,-6688 }, { 122,-6688 }, + { 123,-6688 }, { 124,-6688 }, { 125,-6688 }, { 126,-6688 }, { 127,-6688 }, + { 128,-6688 }, { 129,-6688 }, { 130,-6688 }, { 131,-6688 }, { 132,-6688 }, + { 133,-6688 }, { 134,-6688 }, { 135,-6688 }, { 136,-6688 }, { 137,-6688 }, + { 138,-6688 }, { 139,-6688 }, { 140,-6688 }, { 141,-6688 }, { 142,-6688 }, + { 143,-6688 }, { 144,-6688 }, { 145,-6688 }, { 146,-6688 }, { 147,-6688 }, + { 148,-6688 }, { 149,-6688 }, { 150,-6688 }, { 151,-6688 }, { 152,-6688 }, + { 153,-6688 }, { 154,-6688 }, { 155,-6688 }, { 156,-6688 }, { 157,-6688 }, + { 158,-6688 }, { 159,-6688 }, { 160,-6688 }, { 161,-6688 }, { 162,-6688 }, + + { 163,-6688 }, { 164,-6688 }, { 165,-6688 }, { 166,-6688 }, { 167,-6688 }, + { 168,-6688 }, { 169,-6688 }, { 170,-6688 }, { 171,-6688 }, { 172,-6688 }, + { 173,-6688 }, { 174,-6688 }, { 175,-6688 }, { 176,-6688 }, { 177,-6688 }, + { 178,-6688 }, { 179,-6688 }, { 180,-6688 }, { 181,-6688 }, { 182,-6688 }, + { 183,-6688 }, { 184,-6688 }, { 185,-6688 }, { 186,-6688 }, { 187,-6688 }, + { 188,-6688 }, { 189,-6688 }, { 190,-6688 }, { 191,-6688 }, { 192,-6688 }, + { 193,-6688 }, { 194,-6688 }, { 195,-6688 }, { 196,-6688 }, { 197,-6688 }, + { 198,-6688 }, { 199,-6688 }, { 200,-6688 }, { 201,-6688 }, { 202,-6688 }, + { 203,-6688 }, { 204,-6688 }, { 205,-6688 }, { 206,-6688 }, { 207,-6688 }, + { 208,-6688 }, { 209,-6688 }, { 210,-6688 }, { 211,-6688 }, { 212,-6688 }, + + { 213,-6688 }, { 214,-6688 }, { 215,-6688 }, { 216,-6688 }, { 217,-6688 }, + { 218,-6688 }, { 219,-6688 }, { 220,-6688 }, { 221,-6688 }, { 222,-6688 }, + { 223,-6688 }, { 224,-6688 }, { 225,-6688 }, { 226,-6688 }, { 227,-6688 }, + { 228,-6688 }, { 229,-6688 }, { 230,-6688 }, { 231,-6688 }, { 232,-6688 }, + { 233,-6688 }, { 234,-6688 }, { 235,-6688 }, { 236,-6688 }, { 237,-6688 }, + { 238,-6688 }, { 239,-6688 }, { 240,-6688 }, { 241,-6688 }, { 242,-6688 }, + { 243,-6688 }, { 244,-6688 }, { 245,-6688 }, { 246,-6688 }, { 247,-6688 }, + { 248,-6688 }, { 249,-6688 }, { 250,-6688 }, { 251,-6688 }, { 252,-6688 }, + { 253,-6688 }, { 254,-6688 }, { 255,-6688 }, { 256,-6688 }, { 0, 24 }, + { 0,7085 }, { 1,-6946 }, { 2,-6946 }, { 3,-6946 }, { 4,-6946 }, + + { 5,-6946 }, { 6,-6946 }, { 7,-6946 }, { 8,-6946 }, { 9,-6688 }, + { 10,-19106 }, { 11,-6946 }, { 12,-6688 }, { 13,-19106 }, { 14,-6946 }, + { 15,-6946 }, { 16,-6946 }, { 17,-6946 }, { 18,-6946 }, { 19,-6946 }, + { 20,-6946 }, { 21,-6946 }, { 22,-6946 }, { 23,-6946 }, { 24,-6946 }, + { 25,-6946 }, { 26,-6946 }, { 27,-6946 }, { 28,-6946 }, { 29,-6946 }, + { 30,-6946 }, { 31,-6946 }, { 32,-6688 }, { 33,-6946 }, { 34,-6946 }, + { 35,-6946 }, { 36,-6946 }, { 37,-6946 }, { 38,-6946 }, { 39,-6430 }, + { 40,-6946 }, { 41,-6946 }, { 42,-6946 }, { 43,-6946 }, { 44,-6946 }, + { 45, 0 }, { 46,-6946 }, { 47,-6946 }, { 48,-6946 }, { 49,-6946 }, + { 50,-6946 }, { 51,-6946 }, { 52,-6946 }, { 53,-6946 }, { 54,-6946 }, + + { 55,-6946 }, { 56,-6946 }, { 57,-6946 }, { 58,-6946 }, { 59,-6946 }, + { 60,-6946 }, { 61,-6946 }, { 62,-6946 }, { 63,-6946 }, { 64,-6946 }, + { 65,-6946 }, { 66,-6946 }, { 67,-6946 }, { 68,-6946 }, { 69,-6946 }, + { 70,-6946 }, { 71,-6946 }, { 72,-6946 }, { 73,-6946 }, { 74,-6946 }, + { 75,-6946 }, { 76,-6946 }, { 77,-6946 }, { 78,-6946 }, { 79,-6946 }, + { 80,-6946 }, { 81,-6946 }, { 82,-6946 }, { 83,-6946 }, { 84,-6946 }, + { 85,-5914 }, { 86,-6946 }, { 87,-6946 }, { 88,-6946 }, { 89,-6946 }, + { 90,-6946 }, { 91,-6946 }, { 92,-6946 }, { 93,-6946 }, { 94,-6946 }, + { 95,-6946 }, { 96,-6946 }, { 97,-6946 }, { 98,-6946 }, { 99,-6946 }, + { 100,-6946 }, { 101,-6946 }, { 102,-6946 }, { 103,-6946 }, { 104,-6946 }, + + { 105,-6946 }, { 106,-6946 }, { 107,-6946 }, { 108,-6946 }, { 109,-6946 }, + { 110,-6946 }, { 111,-6946 }, { 112,-6946 }, { 113,-6946 }, { 114,-6946 }, + { 115,-6946 }, { 116,-6946 }, { 117,-5914 }, { 118,-6946 }, { 119,-6946 }, + { 120,-6946 }, { 121,-6946 }, { 122,-6946 }, { 123,-6946 }, { 124,-6946 }, + { 125,-6946 }, { 126,-6946 }, { 127,-6946 }, { 128,-6946 }, { 129,-6946 }, + { 130,-6946 }, { 131,-6946 }, { 132,-6946 }, { 133,-6946 }, { 134,-6946 }, + { 135,-6946 }, { 136,-6946 }, { 137,-6946 }, { 138,-6946 }, { 139,-6946 }, + { 140,-6946 }, { 141,-6946 }, { 142,-6946 }, { 143,-6946 }, { 144,-6946 }, + { 145,-6946 }, { 146,-6946 }, { 147,-6946 }, { 148,-6946 }, { 149,-6946 }, + { 150,-6946 }, { 151,-6946 }, { 152,-6946 }, { 153,-6946 }, { 154,-6946 }, + + { 155,-6946 }, { 156,-6946 }, { 157,-6946 }, { 158,-6946 }, { 159,-6946 }, + { 160,-6946 }, { 161,-6946 }, { 162,-6946 }, { 163,-6946 }, { 164,-6946 }, + { 165,-6946 }, { 166,-6946 }, { 167,-6946 }, { 168,-6946 }, { 169,-6946 }, + { 170,-6946 }, { 171,-6946 }, { 172,-6946 }, { 173,-6946 }, { 174,-6946 }, + { 175,-6946 }, { 176,-6946 }, { 177,-6946 }, { 178,-6946 }, { 179,-6946 }, + { 180,-6946 }, { 181,-6946 }, { 182,-6946 }, { 183,-6946 }, { 184,-6946 }, + { 185,-6946 }, { 186,-6946 }, { 187,-6946 }, { 188,-6946 }, { 189,-6946 }, + { 190,-6946 }, { 191,-6946 }, { 192,-6946 }, { 193,-6946 }, { 194,-6946 }, + { 195,-6946 }, { 196,-6946 }, { 197,-6946 }, { 198,-6946 }, { 199,-6946 }, + { 200,-6946 }, { 201,-6946 }, { 202,-6946 }, { 203,-6946 }, { 204,-6946 }, + + { 205,-6946 }, { 206,-6946 }, { 207,-6946 }, { 208,-6946 }, { 209,-6946 }, + { 210,-6946 }, { 211,-6946 }, { 212,-6946 }, { 213,-6946 }, { 214,-6946 }, + { 215,-6946 }, { 216,-6946 }, { 217,-6946 }, { 218,-6946 }, { 219,-6946 }, + { 220,-6946 }, { 221,-6946 }, { 222,-6946 }, { 223,-6946 }, { 224,-6946 }, + { 225,-6946 }, { 226,-6946 }, { 227,-6946 }, { 228,-6946 }, { 229,-6946 }, + { 230,-6946 }, { 231,-6946 }, { 232,-6946 }, { 233,-6946 }, { 234,-6946 }, + { 235,-6946 }, { 236,-6946 }, { 237,-6946 }, { 238,-6946 }, { 239,-6946 }, + { 240,-6946 }, { 241,-6946 }, { 242,-6946 }, { 243,-6946 }, { 244,-6946 }, + { 245,-6946 }, { 246,-6946 }, { 247,-6946 }, { 248,-6946 }, { 249,-6946 }, + { 250,-6946 }, { 251,-6946 }, { 252,-6946 }, { 253,-6946 }, { 254,-6946 }, + + { 255,-6946 }, { 256,-6946 }, { 0, 24 }, { 0,6827 }, { 1,-7204 }, + { 2,-7204 }, { 3,-7204 }, { 4,-7204 }, { 5,-7204 }, { 6,-7204 }, + { 7,-7204 }, { 8,-7204 }, { 9,-6946 }, { 10,-19364 }, { 11,-7204 }, + { 12,-6946 }, { 13,-19364 }, { 14,-7204 }, { 15,-7204 }, { 16,-7204 }, + { 17,-7204 }, { 18,-7204 }, { 19,-7204 }, { 20,-7204 }, { 21,-7204 }, + { 22,-7204 }, { 23,-7204 }, { 24,-7204 }, { 25,-7204 }, { 26,-7204 }, + { 27,-7204 }, { 28,-7204 }, { 29,-7204 }, { 30,-7204 }, { 31,-7204 }, + { 32,-6946 }, { 33,-7204 }, { 34,-7204 }, { 35,-7204 }, { 36,-7204 }, + { 37,-7204 }, { 38,-7204 }, { 39,-6688 }, { 40,-7204 }, { 41,-7204 }, + { 42,-7204 }, { 43,-7204 }, { 44,-7204 }, { 45,-1667 }, { 46,-7204 }, + + { 47,-7204 }, { 48,-7204 }, { 49,-7204 }, { 50,-7204 }, { 51,-7204 }, + { 52,-7204 }, { 53,-7204 }, { 54,-7204 }, { 55,-7204 }, { 56,-7204 }, + { 57,-7204 }, { 58,-7204 }, { 59,-7204 }, { 60,-7204 }, { 61,-7204 }, + { 62,-7204 }, { 63,-7204 }, { 64,-7204 }, { 65,-7204 }, { 66,-7204 }, + { 67,-7204 }, { 68,-7204 }, { 69,-7204 }, { 70,-7204 }, { 71,-7204 }, + { 72,-7204 }, { 73,-7204 }, { 74,-7204 }, { 75,-7204 }, { 76,-7204 }, + { 77,-7204 }, { 78,-7204 }, { 79,-7204 }, { 80,-7204 }, { 81,-7204 }, + { 82,-7204 }, { 83,2957 }, { 84,-7204 }, { 85,-6172 }, { 86,-7204 }, + { 87,-7204 }, { 88,-7204 }, { 89,-7204 }, { 90,-7204 }, { 91,-7204 }, + { 92,-7204 }, { 93,-7204 }, { 94,-7204 }, { 95,-7204 }, { 96,-7204 }, + + { 97,-7204 }, { 98,-7204 }, { 99,-7204 }, { 100,-7204 }, { 101,-7204 }, + { 102,-7204 }, { 103,-7204 }, { 104,-7204 }, { 105,-7204 }, { 106,-7204 }, + { 107,-7204 }, { 108,-7204 }, { 109,-7204 }, { 110,-7204 }, { 111,-7204 }, + { 112,-7204 }, { 113,-7204 }, { 114,-7204 }, { 115,2957 }, { 116,-7204 }, + { 117,-6172 }, { 118,-7204 }, { 119,-7204 }, { 120,-7204 }, { 121,-7204 }, + { 122,-7204 }, { 123,-7204 }, { 124,-7204 }, { 125,-7204 }, { 126,-7204 }, + { 127,-7204 }, { 128,-7204 }, { 129,-7204 }, { 130,-7204 }, { 131,-7204 }, + { 132,-7204 }, { 133,-7204 }, { 134,-7204 }, { 135,-7204 }, { 136,-7204 }, + { 137,-7204 }, { 138,-7204 }, { 139,-7204 }, { 140,-7204 }, { 141,-7204 }, + { 142,-7204 }, { 143,-7204 }, { 144,-7204 }, { 145,-7204 }, { 146,-7204 }, + + { 147,-7204 }, { 148,-7204 }, { 149,-7204 }, { 150,-7204 }, { 151,-7204 }, + { 152,-7204 }, { 153,-7204 }, { 154,-7204 }, { 155,-7204 }, { 156,-7204 }, + { 157,-7204 }, { 158,-7204 }, { 159,-7204 }, { 160,-7204 }, { 161,-7204 }, + { 162,-7204 }, { 163,-7204 }, { 164,-7204 }, { 165,-7204 }, { 166,-7204 }, + { 167,-7204 }, { 168,-7204 }, { 169,-7204 }, { 170,-7204 }, { 171,-7204 }, + { 172,-7204 }, { 173,-7204 }, { 174,-7204 }, { 175,-7204 }, { 176,-7204 }, + { 177,-7204 }, { 178,-7204 }, { 179,-7204 }, { 180,-7204 }, { 181,-7204 }, + { 182,-7204 }, { 183,-7204 }, { 184,-7204 }, { 185,-7204 }, { 186,-7204 }, + { 187,-7204 }, { 188,-7204 }, { 189,-7204 }, { 190,-7204 }, { 191,-7204 }, + { 192,-7204 }, { 193,-7204 }, { 194,-7204 }, { 195,-7204 }, { 196,-7204 }, + + { 197,-7204 }, { 198,-7204 }, { 199,-7204 }, { 200,-7204 }, { 201,-7204 }, + { 202,-7204 }, { 203,-7204 }, { 204,-7204 }, { 205,-7204 }, { 206,-7204 }, + { 207,-7204 }, { 208,-7204 }, { 209,-7204 }, { 210,-7204 }, { 211,-7204 }, + { 212,-7204 }, { 213,-7204 }, { 214,-7204 }, { 215,-7204 }, { 216,-7204 }, + { 217,-7204 }, { 218,-7204 }, { 219,-7204 }, { 220,-7204 }, { 221,-7204 }, + { 222,-7204 }, { 223,-7204 }, { 224,-7204 }, { 225,-7204 }, { 226,-7204 }, + { 227,-7204 }, { 228,-7204 }, { 229,-7204 }, { 230,-7204 }, { 231,-7204 }, + { 232,-7204 }, { 233,-7204 }, { 234,-7204 }, { 235,-7204 }, { 236,-7204 }, + { 237,-7204 }, { 238,-7204 }, { 239,-7204 }, { 240,-7204 }, { 241,-7204 }, + { 242,-7204 }, { 243,-7204 }, { 244,-7204 }, { 245,-7204 }, { 246,-7204 }, + + { 247,-7204 }, { 248,-7204 }, { 249,-7204 }, { 250,-7204 }, { 251,-7204 }, + { 252,-7204 }, { 253,-7204 }, { 254,-7204 }, { 255,-7204 }, { 256,-7204 }, + { 0, 48 }, { 0,6569 }, { 1,-5398 }, { 2,-5398 }, { 3,-5398 }, + { 4,-5398 }, { 5,-5398 }, { 6,-5398 }, { 7,-5398 }, { 8,-5398 }, + { 9,-5140 }, { 10,-4882 }, { 11,-5398 }, { 12,-5140 }, { 13,-4882 }, + { 14,-5398 }, { 15,-5398 }, { 16,-5398 }, { 17,-5398 }, { 18,-5398 }, + { 19,-5398 }, { 20,-5398 }, { 21,-5398 }, { 22,-5398 }, { 23,-5398 }, + { 24,-5398 }, { 25,-5398 }, { 26,-5398 }, { 27,-5398 }, { 28,-5398 }, + { 29,-5398 }, { 30,-5398 }, { 31,-5398 }, { 32,-5140 }, { 33,-5398 }, + { 34,-5398 }, { 35,-5398 }, { 36,-5398 }, { 37,-5398 }, { 38,-5398 }, + + { 39,-10677 }, { 40,-5398 }, { 41,-5398 }, { 42,-5398 }, { 43,-5398 }, + { 44,-5398 }, { 45,-4763 }, { 46,-5398 }, { 47,-5398 }, { 48,-5398 }, + { 49,-5398 }, { 50,-5398 }, { 51,-5398 }, { 52,-5398 }, { 53,-5398 }, + { 54,-5398 }, { 55,-5398 }, { 56,-5398 }, { 57,-5398 }, { 58,-5398 }, + { 59,-5398 }, { 60,-5398 }, { 61,-5398 }, { 62,-5398 }, { 63,-5398 }, + { 64,-5398 }, { 65,-5398 }, { 66,-5398 }, { 67,-5398 }, { 68,-5398 }, + { 69,-5398 }, { 70,-5398 }, { 71,-5398 }, { 72,-5398 }, { 73,-5398 }, + { 74,-5398 }, { 75,-5398 }, { 76,-5398 }, { 77,-5398 }, { 78,-5398 }, + { 79,-5398 }, { 80,-5398 }, { 81,-5398 }, { 82,-5398 }, { 83,-5398 }, + { 84,-5398 }, { 85,-4505 }, { 86,-5398 }, { 87,-5398 }, { 88,-5398 }, + + { 89,-5398 }, { 90,-5398 }, { 91,-5398 }, { 92,-5398 }, { 93,-5398 }, + { 94,-5398 }, { 95,-5398 }, { 96,-5398 }, { 97,-5398 }, { 98,-5398 }, + { 99,-5398 }, { 100,-5398 }, { 101,-5398 }, { 102,-5398 }, { 103,-5398 }, + { 104,-5398 }, { 105,-5398 }, { 106,-5398 }, { 107,-5398 }, { 108,-5398 }, + { 109,-5398 }, { 110,-5398 }, { 111,-5398 }, { 112,-5398 }, { 113,-5398 }, + { 114,-5398 }, { 115,-5398 }, { 116,-5398 }, { 117,-4505 }, { 118,-5398 }, + { 119,-5398 }, { 120,-5398 }, { 121,-5398 }, { 122,-5398 }, { 123,-5398 }, + { 124,-5398 }, { 125,-5398 }, { 126,-5398 }, { 127,-5398 }, { 128,-5398 }, + { 129,-5398 }, { 130,-5398 }, { 131,-5398 }, { 132,-5398 }, { 133,-5398 }, + { 134,-5398 }, { 135,-5398 }, { 136,-5398 }, { 137,-5398 }, { 138,-5398 }, + + { 139,-5398 }, { 140,-5398 }, { 141,-5398 }, { 142,-5398 }, { 143,-5398 }, + { 144,-5398 }, { 145,-5398 }, { 146,-5398 }, { 147,-5398 }, { 148,-5398 }, + { 149,-5398 }, { 150,-5398 }, { 151,-5398 }, { 152,-5398 }, { 153,-5398 }, + { 154,-5398 }, { 155,-5398 }, { 156,-5398 }, { 157,-5398 }, { 158,-5398 }, + { 159,-5398 }, { 160,-5398 }, { 161,-5398 }, { 162,-5398 }, { 163,-5398 }, + { 164,-5398 }, { 165,-5398 }, { 166,-5398 }, { 167,-5398 }, { 168,-5398 }, + { 169,-5398 }, { 170,-5398 }, { 171,-5398 }, { 172,-5398 }, { 173,-5398 }, + { 174,-5398 }, { 175,-5398 }, { 176,-5398 }, { 177,-5398 }, { 178,-5398 }, + { 179,-5398 }, { 180,-5398 }, { 181,-5398 }, { 182,-5398 }, { 183,-5398 }, + { 184,-5398 }, { 185,-5398 }, { 186,-5398 }, { 187,-5398 }, { 188,-5398 }, + + { 189,-5398 }, { 190,-5398 }, { 191,-5398 }, { 192,-5398 }, { 193,-5398 }, + { 194,-5398 }, { 195,-5398 }, { 196,-5398 }, { 197,-5398 }, { 198,-5398 }, + { 199,-5398 }, { 200,-5398 }, { 201,-5398 }, { 202,-5398 }, { 203,-5398 }, + { 204,-5398 }, { 205,-5398 }, { 206,-5398 }, { 207,-5398 }, { 208,-5398 }, + { 209,-5398 }, { 210,-5398 }, { 211,-5398 }, { 212,-5398 }, { 213,-5398 }, + { 214,-5398 }, { 215,-5398 }, { 216,-5398 }, { 217,-5398 }, { 218,-5398 }, + { 219,-5398 }, { 220,-5398 }, { 221,-5398 }, { 222,-5398 }, { 223,-5398 }, + { 224,-5398 }, { 225,-5398 }, { 226,-5398 }, { 227,-5398 }, { 228,-5398 }, + { 229,-5398 }, { 230,-5398 }, { 231,-5398 }, { 232,-5398 }, { 233,-5398 }, + { 234,-5398 }, { 235,-5398 }, { 236,-5398 }, { 237,-5398 }, { 238,-5398 }, + + { 239,-5398 }, { 240,-5398 }, { 241,-5398 }, { 242,-5398 }, { 243,-5398 }, + { 244,-5398 }, { 245,-5398 }, { 246,-5398 }, { 247,-5398 }, { 248,-5398 }, + { 249,-5398 }, { 250,-5398 }, { 251,-5398 }, { 252,-5398 }, { 253,-5398 }, + { 254,-5398 }, { 255,-5398 }, { 256,-5398 }, { 0, 48 }, { 0,6311 }, + { 1,-11451 }, { 2,-11451 }, { 3,-11451 }, { 4,-11451 }, { 5,-11451 }, + { 6,-11451 }, { 7,-11451 }, { 8,-11451 }, { 9,-11193 }, { 10,-22063 }, + { 11,-11451 }, { 12,-11193 }, { 13,-22063 }, { 14,-11451 }, { 15,-11451 }, + { 16,-11451 }, { 17,-11451 }, { 18,-11451 }, { 19,-11451 }, { 20,-11451 }, + { 21,-11451 }, { 22,-11451 }, { 23,-11451 }, { 24,-11451 }, { 25,-11451 }, + { 26,-11451 }, { 27,-11451 }, { 28,-11451 }, { 29,-11451 }, { 30,-11451 }, + + { 31,-11451 }, { 32,-11193 }, { 33,-11451 }, { 34,-11451 }, { 35,-11451 }, + { 36,-11451 }, { 37,-11451 }, { 38,-11451 }, { 39,-10935 }, { 40,-11451 }, + { 41,-11451 }, { 42,-11451 }, { 43,-11451 }, { 44,-11451 }, { 45,-5914 }, + { 46,-11451 }, { 47,-11451 }, { 48,-11451 }, { 49,-11451 }, { 50,-11451 }, + { 51,-11451 }, { 52,-11451 }, { 53,-11451 }, { 54,-11451 }, { 55,-11451 }, + { 56,-11451 }, { 57,-11451 }, { 58,-11451 }, { 59,-11451 }, { 60,-11451 }, + { 61,-11451 }, { 62,-11451 }, { 63,-11451 }, { 64,-11451 }, { 65,-11451 }, + { 66,-11451 }, { 67,2699 }, { 68,-11451 }, { 69,-11451 }, { 70,-11451 }, + { 71,-11451 }, { 72,-11451 }, { 73,-11451 }, { 74,-11451 }, { 75,-11451 }, + { 76,-11451 }, { 77,-11451 }, { 78,-11451 }, { 79,-11451 }, { 80,-11451 }, + + { 81,-11451 }, { 82,-11451 }, { 83,-11451 }, { 84,-11451 }, { 85,-10419 }, + { 86,-11451 }, { 87,-11451 }, { 88,-11451 }, { 89,-11451 }, { 90,-11451 }, + { 91,-11451 }, { 92,-11451 }, { 93,-11451 }, { 94,-11451 }, { 95,-11451 }, + { 96,-11451 }, { 97,-11451 }, { 98,-11451 }, { 99,2699 }, { 100,-11451 }, + { 101,-11451 }, { 102,-11451 }, { 103,-11451 }, { 104,-11451 }, { 105,-11451 }, + { 106,-11451 }, { 107,-11451 }, { 108,-11451 }, { 109,-11451 }, { 110,-11451 }, + { 111,-11451 }, { 112,-11451 }, { 113,-11451 }, { 114,-11451 }, { 115,-11451 }, + { 116,-11451 }, { 117,-10419 }, { 118,-11451 }, { 119,-11451 }, { 120,-11451 }, + { 121,-11451 }, { 122,-11451 }, { 123,-11451 }, { 124,-11451 }, { 125,-11451 }, + { 126,-11451 }, { 127,-11451 }, { 128,-11451 }, { 129,-11451 }, { 130,-11451 }, + + { 131,-11451 }, { 132,-11451 }, { 133,-11451 }, { 134,-11451 }, { 135,-11451 }, + { 136,-11451 }, { 137,-11451 }, { 138,-11451 }, { 139,-11451 }, { 140,-11451 }, + { 141,-11451 }, { 142,-11451 }, { 143,-11451 }, { 144,-11451 }, { 145,-11451 }, + { 146,-11451 }, { 147,-11451 }, { 148,-11451 }, { 149,-11451 }, { 150,-11451 }, + { 151,-11451 }, { 152,-11451 }, { 153,-11451 }, { 154,-11451 }, { 155,-11451 }, + { 156,-11451 }, { 157,-11451 }, { 158,-11451 }, { 159,-11451 }, { 160,-11451 }, + { 161,-11451 }, { 162,-11451 }, { 163,-11451 }, { 164,-11451 }, { 165,-11451 }, + { 166,-11451 }, { 167,-11451 }, { 168,-11451 }, { 169,-11451 }, { 170,-11451 }, + { 171,-11451 }, { 172,-11451 }, { 173,-11451 }, { 174,-11451 }, { 175,-11451 }, + { 176,-11451 }, { 177,-11451 }, { 178,-11451 }, { 179,-11451 }, { 180,-11451 }, + + { 181,-11451 }, { 182,-11451 }, { 183,-11451 }, { 184,-11451 }, { 185,-11451 }, + { 186,-11451 }, { 187,-11451 }, { 188,-11451 }, { 189,-11451 }, { 190,-11451 }, + { 191,-11451 }, { 192,-11451 }, { 193,-11451 }, { 194,-11451 }, { 195,-11451 }, + { 196,-11451 }, { 197,-11451 }, { 198,-11451 }, { 199,-11451 }, { 200,-11451 }, + { 201,-11451 }, { 202,-11451 }, { 203,-11451 }, { 204,-11451 }, { 205,-11451 }, + { 206,-11451 }, { 207,-11451 }, { 208,-11451 }, { 209,-11451 }, { 210,-11451 }, + { 211,-11451 }, { 212,-11451 }, { 213,-11451 }, { 214,-11451 }, { 215,-11451 }, + { 216,-11451 }, { 217,-11451 }, { 218,-11451 }, { 219,-11451 }, { 220,-11451 }, + { 221,-11451 }, { 222,-11451 }, { 223,-11451 }, { 224,-11451 }, { 225,-11451 }, + { 226,-11451 }, { 227,-11451 }, { 228,-11451 }, { 229,-11451 }, { 230,-11451 }, + + { 231,-11451 }, { 232,-11451 }, { 233,-11451 }, { 234,-11451 }, { 235,-11451 }, + { 236,-11451 }, { 237,-11451 }, { 238,-11451 }, { 239,-11451 }, { 240,-11451 }, + { 241,-11451 }, { 242,-11451 }, { 243,-11451 }, { 244,-11451 }, { 245,-11451 }, + { 246,-11451 }, { 247,-11451 }, { 248,-11451 }, { 249,-11451 }, { 250,-11451 }, + { 251,-11451 }, { 252,-11451 }, { 253,-11451 }, { 254,-11451 }, { 255,-11451 }, + { 256,-11451 }, { 0, 24 }, { 0,6053 }, { 1,-3989 }, { 2,-3989 }, + { 3,-3989 }, { 4,-3989 }, { 5,-3989 }, { 6,-3989 }, { 7,-3989 }, + { 8,-3989 }, { 9,-3731 }, { 10,-15725 }, { 11,-3989 }, { 12,-3731 }, + { 13,-15725 }, { 14,-3989 }, { 15,-3989 }, { 16,-3989 }, { 17,-3989 }, + { 18,-3989 }, { 19,-3989 }, { 20,-3989 }, { 21,-3989 }, { 22,-3989 }, + + { 23,-3989 }, { 24,-3989 }, { 25,-3989 }, { 26,-3989 }, { 27,-3989 }, + { 28,-3989 }, { 29,-3989 }, { 30,-3989 }, { 31,-3989 }, { 32,-3731 }, + { 33,-3989 }, { 34,-3989 }, { 35,-3989 }, { 36,-3989 }, { 37,-3989 }, + { 38,-3989 }, { 39,2699 }, { 40,-3989 }, { 41,-3989 }, { 42,-3989 }, + { 43,-3989 }, { 44,-3989 }, { 45,-2699 }, { 46,-3989 }, { 47,-3989 }, + { 48,-3989 }, { 49,-3989 }, { 50,-3989 }, { 51,-3989 }, { 52,-3989 }, + { 53,-3989 }, { 54,-3989 }, { 55,-3989 }, { 56,-3989 }, { 57,-3989 }, + { 58,-3989 }, { 59,-3989 }, { 60,-3989 }, { 61,-3989 }, { 62,-3989 }, + { 63,-3989 }, { 64,-3989 }, { 65,-3989 }, { 66,-3989 }, { 67,-3989 }, + { 68,-3989 }, { 69,-3989 }, { 70,-3989 }, { 71,-3989 }, { 72,-3989 }, + + { 73,-3989 }, { 74,-3989 }, { 75,-3989 }, { 76,-3989 }, { 77,-3989 }, + { 78,-3989 }, { 79,-3989 }, { 80,-3989 }, { 81,-3989 }, { 82,-3989 }, + { 83,-3989 }, { 84,-3989 }, { 85,-2957 }, { 86,-3989 }, { 87,-3989 }, + { 88,-3989 }, { 89,-3989 }, { 90,-3989 }, { 91,-3989 }, { 92,-3989 }, + { 93,-3989 }, { 94,-3989 }, { 95,-3989 }, { 96,-3989 }, { 97,-3989 }, + { 98,-3989 }, { 99,-3989 }, { 100,-3989 }, { 101,-3989 }, { 102,-3989 }, + { 103,-3989 }, { 104,-3989 }, { 105,-3989 }, { 106,-3989 }, { 107,-3989 }, + { 108,-3989 }, { 109,-3989 }, { 110,-3989 }, { 111,-3989 }, { 112,-3989 }, + { 113,-3989 }, { 114,-3989 }, { 115,-3989 }, { 116,-3989 }, { 117,-2957 }, + { 118,-3989 }, { 119,-3989 }, { 120,-3989 }, { 121,-3989 }, { 122,-3989 }, + + { 123,-3989 }, { 124,-3989 }, { 125,-3989 }, { 126,-3989 }, { 127,-3989 }, + { 128,-3989 }, { 129,-3989 }, { 130,-3989 }, { 131,-3989 }, { 132,-3989 }, + { 133,-3989 }, { 134,-3989 }, { 135,-3989 }, { 136,-3989 }, { 137,-3989 }, + { 138,-3989 }, { 139,-3989 }, { 140,-3989 }, { 141,-3989 }, { 142,-3989 }, + { 143,-3989 }, { 144,-3989 }, { 145,-3989 }, { 146,-3989 }, { 147,-3989 }, + { 148,-3989 }, { 149,-3989 }, { 150,-3989 }, { 151,-3989 }, { 152,-3989 }, + { 153,-3989 }, { 154,-3989 }, { 155,-3989 }, { 156,-3989 }, { 157,-3989 }, + { 158,-3989 }, { 159,-3989 }, { 160,-3989 }, { 161,-3989 }, { 162,-3989 }, + { 163,-3989 }, { 164,-3989 }, { 165,-3989 }, { 166,-3989 }, { 167,-3989 }, + { 168,-3989 }, { 169,-3989 }, { 170,-3989 }, { 171,-3989 }, { 172,-3989 }, + + { 173,-3989 }, { 174,-3989 }, { 175,-3989 }, { 176,-3989 }, { 177,-3989 }, + { 178,-3989 }, { 179,-3989 }, { 180,-3989 }, { 181,-3989 }, { 182,-3989 }, + { 183,-3989 }, { 184,-3989 }, { 185,-3989 }, { 186,-3989 }, { 187,-3989 }, + { 188,-3989 }, { 189,-3989 }, { 190,-3989 }, { 191,-3989 }, { 192,-3989 }, + { 193,-3989 }, { 194,-3989 }, { 195,-3989 }, { 196,-3989 }, { 197,-3989 }, + { 198,-3989 }, { 199,-3989 }, { 200,-3989 }, { 201,-3989 }, { 202,-3989 }, + { 203,-3989 }, { 204,-3989 }, { 205,-3989 }, { 206,-3989 }, { 207,-3989 }, + { 208,-3989 }, { 209,-3989 }, { 210,-3989 }, { 211,-3989 }, { 212,-3989 }, + { 213,-3989 }, { 214,-3989 }, { 215,-3989 }, { 216,-3989 }, { 217,-3989 }, + { 218,-3989 }, { 219,-3989 }, { 220,-3989 }, { 221,-3989 }, { 222,-3989 }, + + { 223,-3989 }, { 224,-3989 }, { 225,-3989 }, { 226,-3989 }, { 227,-3989 }, + { 228,-3989 }, { 229,-3989 }, { 230,-3989 }, { 231,-3989 }, { 232,-3989 }, + { 233,-3989 }, { 234,-3989 }, { 235,-3989 }, { 236,-3989 }, { 237,-3989 }, + { 238,-3989 }, { 239,-3989 }, { 240,-3989 }, { 241,-3989 }, { 242,-3989 }, + { 243,-3989 }, { 244,-3989 }, { 245,-3989 }, { 246,-3989 }, { 247,-3989 }, + { 248,-3989 }, { 249,-3989 }, { 250,-3989 }, { 251,-3989 }, { 252,-3989 }, + { 253,-3989 }, { 254,-3989 }, { 255,-3989 }, { 256,-3989 }, { 0, 24 }, + { 0,5795 }, { 1,-4247 }, { 2,-4247 }, { 3,-4247 }, { 4,-4247 }, + { 5,-4247 }, { 6,-4247 }, { 7,-4247 }, { 8,-4247 }, { 9,-3989 }, + { 10,-15983 }, { 11,-4247 }, { 12,-3989 }, { 13,-15983 }, { 14,-4247 }, + + { 15,-4247 }, { 16,-4247 }, { 17,-4247 }, { 18,-4247 }, { 19,-4247 }, + { 20,-4247 }, { 21,-4247 }, { 22,-4247 }, { 23,-4247 }, { 24,-4247 }, + { 25,-4247 }, { 26,-4247 }, { 27,-4247 }, { 28,-4247 }, { 29,-4247 }, + { 30,-4247 }, { 31,-4247 }, { 32,-3989 }, { 33,-4247 }, { 34,-4247 }, + { 35,-4247 }, { 36,-4247 }, { 37,-4247 }, { 38,-4247 }, { 39,2441 }, + { 40,-4247 }, { 41,-4247 }, { 42,-4247 }, { 43,-4247 }, { 44,-4247 }, + { 45,-2957 }, { 46,-4247 }, { 47,-4247 }, { 48,-4247 }, { 49,-4247 }, + { 50,-4247 }, { 51,-4247 }, { 52,-4247 }, { 53,-4247 }, { 54,-4247 }, + { 55,-4247 }, { 56,-4247 }, { 57,-4247 }, { 58,-4247 }, { 59,-4247 }, + { 60,-4247 }, { 61,-4247 }, { 62,-4247 }, { 63,-4247 }, { 64,-4247 }, + + { 65,-4247 }, { 66,-4247 }, { 67,-4247 }, { 68,-4247 }, { 69,-4247 }, + { 70,-4247 }, { 71,-4247 }, { 72,-4247 }, { 73,-4247 }, { 74,-4247 }, + { 75,-4247 }, { 76,-4247 }, { 77,-4247 }, { 78,-4247 }, { 79,-4247 }, + { 80,-4247 }, { 81,-4247 }, { 82,-4247 }, { 83,-4247 }, { 84,-4247 }, + { 85,-3215 }, { 86,-4247 }, { 87,-4247 }, { 88,-4247 }, { 89,-4247 }, + { 90,-4247 }, { 91,-4247 }, { 92,-4247 }, { 93,-4247 }, { 94,-4247 }, + { 95,-4247 }, { 96,-4247 }, { 97,-4247 }, { 98,-4247 }, { 99,-4247 }, + { 100,-4247 }, { 101,-4247 }, { 102,-4247 }, { 103,-4247 }, { 104,-4247 }, + { 105,-4247 }, { 106,-4247 }, { 107,-4247 }, { 108,-4247 }, { 109,-4247 }, + { 110,-4247 }, { 111,-4247 }, { 112,-4247 }, { 113,-4247 }, { 114,-4247 }, + + { 115,-4247 }, { 116,-4247 }, { 117,-3215 }, { 118,-4247 }, { 119,-4247 }, + { 120,-4247 }, { 121,-4247 }, { 122,-4247 }, { 123,-4247 }, { 124,-4247 }, + { 125,-4247 }, { 126,-4247 }, { 127,-4247 }, { 128,-4247 }, { 129,-4247 }, + { 130,-4247 }, { 131,-4247 }, { 132,-4247 }, { 133,-4247 }, { 134,-4247 }, + { 135,-4247 }, { 136,-4247 }, { 137,-4247 }, { 138,-4247 }, { 139,-4247 }, + { 140,-4247 }, { 141,-4247 }, { 142,-4247 }, { 143,-4247 }, { 144,-4247 }, + { 145,-4247 }, { 146,-4247 }, { 147,-4247 }, { 148,-4247 }, { 149,-4247 }, + { 150,-4247 }, { 151,-4247 }, { 152,-4247 }, { 153,-4247 }, { 154,-4247 }, + { 155,-4247 }, { 156,-4247 }, { 157,-4247 }, { 158,-4247 }, { 159,-4247 }, + { 160,-4247 }, { 161,-4247 }, { 162,-4247 }, { 163,-4247 }, { 164,-4247 }, + + { 165,-4247 }, { 166,-4247 }, { 167,-4247 }, { 168,-4247 }, { 169,-4247 }, + { 170,-4247 }, { 171,-4247 }, { 172,-4247 }, { 173,-4247 }, { 174,-4247 }, + { 175,-4247 }, { 176,-4247 }, { 177,-4247 }, { 178,-4247 }, { 179,-4247 }, + { 180,-4247 }, { 181,-4247 }, { 182,-4247 }, { 183,-4247 }, { 184,-4247 }, + { 185,-4247 }, { 186,-4247 }, { 187,-4247 }, { 188,-4247 }, { 189,-4247 }, + { 190,-4247 }, { 191,-4247 }, { 192,-4247 }, { 193,-4247 }, { 194,-4247 }, + { 195,-4247 }, { 196,-4247 }, { 197,-4247 }, { 198,-4247 }, { 199,-4247 }, + { 200,-4247 }, { 201,-4247 }, { 202,-4247 }, { 203,-4247 }, { 204,-4247 }, + { 205,-4247 }, { 206,-4247 }, { 207,-4247 }, { 208,-4247 }, { 209,-4247 }, + { 210,-4247 }, { 211,-4247 }, { 212,-4247 }, { 213,-4247 }, { 214,-4247 }, + + { 215,-4247 }, { 216,-4247 }, { 217,-4247 }, { 218,-4247 }, { 219,-4247 }, + { 220,-4247 }, { 221,-4247 }, { 222,-4247 }, { 223,-4247 }, { 224,-4247 }, + { 225,-4247 }, { 226,-4247 }, { 227,-4247 }, { 228,-4247 }, { 229,-4247 }, + { 230,-4247 }, { 231,-4247 }, { 232,-4247 }, { 233,-4247 }, { 234,-4247 }, + { 235,-4247 }, { 236,-4247 }, { 237,-4247 }, { 238,-4247 }, { 239,-4247 }, + { 240,-4247 }, { 241,-4247 }, { 242,-4247 }, { 243,-4247 }, { 244,-4247 }, + { 245,-4247 }, { 246,-4247 }, { 247,-4247 }, { 248,-4247 }, { 249,-4247 }, + { 250,-4247 }, { 251,-4247 }, { 252,-4247 }, { 253,-4247 }, { 254,-4247 }, + { 255,-4247 }, { 256,-4247 }, { 0, 24 }, { 0,5537 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 9,-15606 }, { 10,-15606 }, { 0, 0 }, + { 12,-15606 }, { 13,-15606 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 32,-15606 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 39,1409 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-47679 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 85,-52063 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 117,-52063 }, { 0, 24 }, { 0,5418 }, { 1,-4624 }, { 2,-4624 }, + { 3,-4624 }, { 4,-4624 }, { 5,-4624 }, { 6,-4624 }, { 7,-4624 }, + { 8,-4624 }, { 9,-4366 }, { 10,-16360 }, { 11,-4624 }, { 12,-4366 }, + { 13,-16360 }, { 14,-4624 }, { 15,-4624 }, { 16,-4624 }, { 17,-4624 }, + { 18,-4624 }, { 19,-4624 }, { 20,-4624 }, { 21,-4624 }, { 22,-4624 }, + { 23,-4624 }, { 24,-4624 }, { 25,-4624 }, { 26,-4624 }, { 27,-4624 }, + { 28,-4624 }, { 29,-4624 }, { 30,-4624 }, { 31,-4624 }, { 32,-4366 }, + { 33,-4624 }, { 34,-4624 }, { 35,-4624 }, { 36,-4624 }, { 37,-4624 }, + + { 38,-4624 }, { 39,2064 }, { 40,-4624 }, { 41,-4624 }, { 42,-4624 }, + { 43,-4624 }, { 44,-4624 }, { 45, 516 }, { 46,-4624 }, { 47,-4624 }, + { 48,-4624 }, { 49,-4624 }, { 50,-4624 }, { 51,-4624 }, { 52,-4624 }, + { 53,-4624 }, { 54,-4624 }, { 55,-4624 }, { 56,-4624 }, { 57,-4624 }, + { 58,-4624 }, { 59,-4624 }, { 60,-4624 }, { 61,-4624 }, { 62,-4624 }, + { 63,-4624 }, { 64,-4624 }, { 65,-4624 }, { 66,-4624 }, { 67,-4624 }, + { 68,-4624 }, { 69,-4624 }, { 70,-4624 }, { 71,-4624 }, { 72,-4624 }, + { 73,-4624 }, { 74,-4624 }, { 75,-4624 }, { 76,-4624 }, { 77,-4624 }, + { 78,-4624 }, { 79,-4624 }, { 80,-4624 }, { 81,-4624 }, { 82,-4624 }, + { 83,-4624 }, { 84,-4624 }, { 85,-3592 }, { 86,-4624 }, { 87,-4624 }, + + { 88,-4624 }, { 89,-4624 }, { 90,-4624 }, { 91,-4624 }, { 92,-4624 }, + { 93,-4624 }, { 94,-4624 }, { 95,-4624 }, { 96,-4624 }, { 97,-4624 }, + { 98,-4624 }, { 99,-4624 }, { 100,-4624 }, { 101,-4624 }, { 102,-4624 }, + { 103,-4624 }, { 104,-4624 }, { 105,-4624 }, { 106,-4624 }, { 107,-4624 }, + { 108,-4624 }, { 109,-4624 }, { 110,-4624 }, { 111,-4624 }, { 112,-4624 }, + { 113,-4624 }, { 114,-4624 }, { 115,-4624 }, { 116,-4624 }, { 117,-3592 }, + { 118,-4624 }, { 119,-4624 }, { 120,-4624 }, { 121,-4624 }, { 122,-4624 }, + { 123,-4624 }, { 124,-4624 }, { 125,-4624 }, { 126,-4624 }, { 127,-4624 }, + { 128,-4624 }, { 129,-4624 }, { 130,-4624 }, { 131,-4624 }, { 132,-4624 }, + { 133,-4624 }, { 134,-4624 }, { 135,-4624 }, { 136,-4624 }, { 137,-4624 }, + + { 138,-4624 }, { 139,-4624 }, { 140,-4624 }, { 141,-4624 }, { 142,-4624 }, + { 143,-4624 }, { 144,-4624 }, { 145,-4624 }, { 146,-4624 }, { 147,-4624 }, + { 148,-4624 }, { 149,-4624 }, { 150,-4624 }, { 151,-4624 }, { 152,-4624 }, + { 153,-4624 }, { 154,-4624 }, { 155,-4624 }, { 156,-4624 }, { 157,-4624 }, + { 158,-4624 }, { 159,-4624 }, { 160,-4624 }, { 161,-4624 }, { 162,-4624 }, + { 163,-4624 }, { 164,-4624 }, { 165,-4624 }, { 166,-4624 }, { 167,-4624 }, + { 168,-4624 }, { 169,-4624 }, { 170,-4624 }, { 171,-4624 }, { 172,-4624 }, + { 173,-4624 }, { 174,-4624 }, { 175,-4624 }, { 176,-4624 }, { 177,-4624 }, + { 178,-4624 }, { 179,-4624 }, { 180,-4624 }, { 181,-4624 }, { 182,-4624 }, + { 183,-4624 }, { 184,-4624 }, { 185,-4624 }, { 186,-4624 }, { 187,-4624 }, + + { 188,-4624 }, { 189,-4624 }, { 190,-4624 }, { 191,-4624 }, { 192,-4624 }, + { 193,-4624 }, { 194,-4624 }, { 195,-4624 }, { 196,-4624 }, { 197,-4624 }, + { 198,-4624 }, { 199,-4624 }, { 200,-4624 }, { 201,-4624 }, { 202,-4624 }, + { 203,-4624 }, { 204,-4624 }, { 205,-4624 }, { 206,-4624 }, { 207,-4624 }, + { 208,-4624 }, { 209,-4624 }, { 210,-4624 }, { 211,-4624 }, { 212,-4624 }, + { 213,-4624 }, { 214,-4624 }, { 215,-4624 }, { 216,-4624 }, { 217,-4624 }, + { 218,-4624 }, { 219,-4624 }, { 220,-4624 }, { 221,-4624 }, { 222,-4624 }, + { 223,-4624 }, { 224,-4624 }, { 225,-4624 }, { 226,-4624 }, { 227,-4624 }, + { 228,-4624 }, { 229,-4624 }, { 230,-4624 }, { 231,-4624 }, { 232,-4624 }, + { 233,-4624 }, { 234,-4624 }, { 235,-4624 }, { 236,-4624 }, { 237,-4624 }, + + { 238,-4624 }, { 239,-4624 }, { 240,-4624 }, { 241,-4624 }, { 242,-4624 }, + { 243,-4624 }, { 244,-4624 }, { 245,-4624 }, { 246,-4624 }, { 247,-4624 }, + { 248,-4624 }, { 249,-4624 }, { 250,-4624 }, { 251,-4624 }, { 252,-4624 }, + { 253,-4624 }, { 254,-4624 }, { 255,-4624 }, { 256,-4624 }, { 0, 24 }, + { 0,5160 }, { 1,-4882 }, { 2,-4882 }, { 3,-4882 }, { 4,-4882 }, + { 5,-4882 }, { 6,-4882 }, { 7,-4882 }, { 8,-4882 }, { 9,-4624 }, + { 10,-16618 }, { 11,-4882 }, { 12,-4624 }, { 13,-16618 }, { 14,-4882 }, + { 15,-4882 }, { 16,-4882 }, { 17,-4882 }, { 18,-4882 }, { 19,-4882 }, + { 20,-4882 }, { 21,-4882 }, { 22,-4882 }, { 23,-4882 }, { 24,-4882 }, + { 25,-4882 }, { 26,-4882 }, { 27,-4882 }, { 28,-4882 }, { 29,-4882 }, + + { 30,-4882 }, { 31,-4882 }, { 32,-4624 }, { 33,-4882 }, { 34,-4882 }, + { 35,-4882 }, { 36,-4882 }, { 37,-4882 }, { 38,-4882 }, { 39,1806 }, + { 40,-4882 }, { 41,-4882 }, { 42,-4882 }, { 43,-4882 }, { 44,-4882 }, + { 45,-3592 }, { 46,-4882 }, { 47,-4882 }, { 48,-4882 }, { 49,-4882 }, + { 50,-4882 }, { 51,-4882 }, { 52,-4882 }, { 53,-4882 }, { 54,-4882 }, + { 55,-4882 }, { 56,-4882 }, { 57,-4882 }, { 58,-4882 }, { 59,-4882 }, + { 60,-4882 }, { 61,-4882 }, { 62,-4882 }, { 63,-4882 }, { 64,-4882 }, + { 65,-4882 }, { 66,-4882 }, { 67,-4882 }, { 68,-4882 }, { 69, 516 }, + { 70,-4882 }, { 71,-4882 }, { 72,-4882 }, { 73,-4882 }, { 74,-4882 }, + { 75,-4882 }, { 76,-4882 }, { 77,-4882 }, { 78,-4882 }, { 79,-4882 }, + + { 80,-4882 }, { 81,-4882 }, { 82,-4882 }, { 83,-4882 }, { 84,-4882 }, + { 85,-3850 }, { 86,-4882 }, { 87,-4882 }, { 88,-4882 }, { 89,-4882 }, + { 90,-4882 }, { 91,-4882 }, { 92,-4882 }, { 93,-4882 }, { 94,-4882 }, + { 95,-4882 }, { 96,-4882 }, { 97,-4882 }, { 98,-4882 }, { 99,-4882 }, + { 100,-4882 }, { 101, 516 }, { 102,-4882 }, { 103,-4882 }, { 104,-4882 }, + { 105,-4882 }, { 106,-4882 }, { 107,-4882 }, { 108,-4882 }, { 109,-4882 }, + { 110,-4882 }, { 111,-4882 }, { 112,-4882 }, { 113,-4882 }, { 114,-4882 }, + { 115,-4882 }, { 116,-4882 }, { 117,-3850 }, { 118,-4882 }, { 119,-4882 }, + { 120,-4882 }, { 121,-4882 }, { 122,-4882 }, { 123,-4882 }, { 124,-4882 }, + { 125,-4882 }, { 126,-4882 }, { 127,-4882 }, { 128,-4882 }, { 129,-4882 }, + + { 130,-4882 }, { 131,-4882 }, { 132,-4882 }, { 133,-4882 }, { 134,-4882 }, + { 135,-4882 }, { 136,-4882 }, { 137,-4882 }, { 138,-4882 }, { 139,-4882 }, + { 140,-4882 }, { 141,-4882 }, { 142,-4882 }, { 143,-4882 }, { 144,-4882 }, + { 145,-4882 }, { 146,-4882 }, { 147,-4882 }, { 148,-4882 }, { 149,-4882 }, + { 150,-4882 }, { 151,-4882 }, { 152,-4882 }, { 153,-4882 }, { 154,-4882 }, + { 155,-4882 }, { 156,-4882 }, { 157,-4882 }, { 158,-4882 }, { 159,-4882 }, + { 160,-4882 }, { 161,-4882 }, { 162,-4882 }, { 163,-4882 }, { 164,-4882 }, + { 165,-4882 }, { 166,-4882 }, { 167,-4882 }, { 168,-4882 }, { 169,-4882 }, + { 170,-4882 }, { 171,-4882 }, { 172,-4882 }, { 173,-4882 }, { 174,-4882 }, + { 175,-4882 }, { 176,-4882 }, { 177,-4882 }, { 178,-4882 }, { 179,-4882 }, + + { 180,-4882 }, { 181,-4882 }, { 182,-4882 }, { 183,-4882 }, { 184,-4882 }, + { 185,-4882 }, { 186,-4882 }, { 187,-4882 }, { 188,-4882 }, { 189,-4882 }, + { 190,-4882 }, { 191,-4882 }, { 192,-4882 }, { 193,-4882 }, { 194,-4882 }, + { 195,-4882 }, { 196,-4882 }, { 197,-4882 }, { 198,-4882 }, { 199,-4882 }, + { 200,-4882 }, { 201,-4882 }, { 202,-4882 }, { 203,-4882 }, { 204,-4882 }, + { 205,-4882 }, { 206,-4882 }, { 207,-4882 }, { 208,-4882 }, { 209,-4882 }, + { 210,-4882 }, { 211,-4882 }, { 212,-4882 }, { 213,-4882 }, { 214,-4882 }, + { 215,-4882 }, { 216,-4882 }, { 217,-4882 }, { 218,-4882 }, { 219,-4882 }, + { 220,-4882 }, { 221,-4882 }, { 222,-4882 }, { 223,-4882 }, { 224,-4882 }, + { 225,-4882 }, { 226,-4882 }, { 227,-4882 }, { 228,-4882 }, { 229,-4882 }, + + { 230,-4882 }, { 231,-4882 }, { 232,-4882 }, { 233,-4882 }, { 234,-4882 }, + { 235,-4882 }, { 236,-4882 }, { 237,-4882 }, { 238,-4882 }, { 239,-4882 }, + { 240,-4882 }, { 241,-4882 }, { 242,-4882 }, { 243,-4882 }, { 244,-4882 }, + { 245,-4882 }, { 246,-4882 }, { 247,-4882 }, { 248,-4882 }, { 249,-4882 }, + { 250,-4882 }, { 251,-4882 }, { 252,-4882 }, { 253,-4882 }, { 254,-4882 }, + { 255,-4882 }, { 256,-4882 }, { 0, 24 }, { 0,4902 }, { 1,-5140 }, + { 2,-5140 }, { 3,-5140 }, { 4,-5140 }, { 5,-5140 }, { 6,-5140 }, + { 7,-5140 }, { 8,-5140 }, { 9,-4882 }, { 10,-16876 }, { 11,-5140 }, + { 12,-4882 }, { 13,-16876 }, { 14,-5140 }, { 15,-5140 }, { 16,-5140 }, + { 17,-5140 }, { 18,-5140 }, { 19,-5140 }, { 20,-5140 }, { 21,-5140 }, + + { 22,-5140 }, { 23,-5140 }, { 24,-5140 }, { 25,-5140 }, { 26,-5140 }, + { 27,-5140 }, { 28,-5140 }, { 29,-5140 }, { 30,-5140 }, { 31,-5140 }, + { 32,-4882 }, { 33,-5140 }, { 34,-5140 }, { 35,-5140 }, { 36,-5140 }, + { 37,-5140 }, { 38,-5140 }, { 39,-4624 }, { 40,-5140 }, { 41,-5140 }, + { 42,-5140 }, { 43,-5140 }, { 44,-5140 }, { 45, 0 }, { 46,-5140 }, + { 47,-5140 }, { 48,-5140 }, { 49,-5140 }, { 50,-5140 }, { 51,-5140 }, + { 52,-5140 }, { 53,-5140 }, { 54,-5140 }, { 55,-5140 }, { 56,-5140 }, + { 57,-5140 }, { 58,-5140 }, { 59,-5140 }, { 60,-5140 }, { 61,-5140 }, + { 62,-5140 }, { 63,-5140 }, { 64,-5140 }, { 65,-5140 }, { 66,-5140 }, + { 67,-5140 }, { 68,-5140 }, { 69,-5140 }, { 70,-5140 }, { 71,-5140 }, + + { 72,-5140 }, { 73,-5140 }, { 74,-5140 }, { 75,-5140 }, { 76,-5140 }, + { 77,-5140 }, { 78,-5140 }, { 79,-5140 }, { 80,-5140 }, { 81,-5140 }, + { 82,-5140 }, { 83,-5140 }, { 84,-5140 }, { 85,-4108 }, { 86,-5140 }, + { 87,-5140 }, { 88,-5140 }, { 89,-5140 }, { 90,-5140 }, { 91,-5140 }, + { 92,-5140 }, { 93,-5140 }, { 94,-5140 }, { 95,-5140 }, { 96,-5140 }, + { 97,-5140 }, { 98,-5140 }, { 99,-5140 }, { 100,-5140 }, { 101,-5140 }, + { 102,-5140 }, { 103,-5140 }, { 104,-5140 }, { 105,-5140 }, { 106,-5140 }, + { 107,-5140 }, { 108,-5140 }, { 109,-5140 }, { 110,-5140 }, { 111,-5140 }, + { 112,-5140 }, { 113,-5140 }, { 114,-5140 }, { 115,-5140 }, { 116,-5140 }, + { 117,-4108 }, { 118,-5140 }, { 119,-5140 }, { 120,-5140 }, { 121,-5140 }, + + { 122,-5140 }, { 123,-5140 }, { 124,-5140 }, { 125,-5140 }, { 126,-5140 }, + { 127,-5140 }, { 128,-5140 }, { 129,-5140 }, { 130,-5140 }, { 131,-5140 }, + { 132,-5140 }, { 133,-5140 }, { 134,-5140 }, { 135,-5140 }, { 136,-5140 }, + { 137,-5140 }, { 138,-5140 }, { 139,-5140 }, { 140,-5140 }, { 141,-5140 }, + { 142,-5140 }, { 143,-5140 }, { 144,-5140 }, { 145,-5140 }, { 146,-5140 }, + { 147,-5140 }, { 148,-5140 }, { 149,-5140 }, { 150,-5140 }, { 151,-5140 }, + { 152,-5140 }, { 153,-5140 }, { 154,-5140 }, { 155,-5140 }, { 156,-5140 }, + { 157,-5140 }, { 158,-5140 }, { 159,-5140 }, { 160,-5140 }, { 161,-5140 }, + { 162,-5140 }, { 163,-5140 }, { 164,-5140 }, { 165,-5140 }, { 166,-5140 }, + { 167,-5140 }, { 168,-5140 }, { 169,-5140 }, { 170,-5140 }, { 171,-5140 }, + + { 172,-5140 }, { 173,-5140 }, { 174,-5140 }, { 175,-5140 }, { 176,-5140 }, + { 177,-5140 }, { 178,-5140 }, { 179,-5140 }, { 180,-5140 }, { 181,-5140 }, + { 182,-5140 }, { 183,-5140 }, { 184,-5140 }, { 185,-5140 }, { 186,-5140 }, + { 187,-5140 }, { 188,-5140 }, { 189,-5140 }, { 190,-5140 }, { 191,-5140 }, + { 192,-5140 }, { 193,-5140 }, { 194,-5140 }, { 195,-5140 }, { 196,-5140 }, + { 197,-5140 }, { 198,-5140 }, { 199,-5140 }, { 200,-5140 }, { 201,-5140 }, + { 202,-5140 }, { 203,-5140 }, { 204,-5140 }, { 205,-5140 }, { 206,-5140 }, + { 207,-5140 }, { 208,-5140 }, { 209,-5140 }, { 210,-5140 }, { 211,-5140 }, + { 212,-5140 }, { 213,-5140 }, { 214,-5140 }, { 215,-5140 }, { 216,-5140 }, + { 217,-5140 }, { 218,-5140 }, { 219,-5140 }, { 220,-5140 }, { 221,-5140 }, + + { 222,-5140 }, { 223,-5140 }, { 224,-5140 }, { 225,-5140 }, { 226,-5140 }, + { 227,-5140 }, { 228,-5140 }, { 229,-5140 }, { 230,-5140 }, { 231,-5140 }, + { 232,-5140 }, { 233,-5140 }, { 234,-5140 }, { 235,-5140 }, { 236,-5140 }, + { 237,-5140 }, { 238,-5140 }, { 239,-5140 }, { 240,-5140 }, { 241,-5140 }, + { 242,-5140 }, { 243,-5140 }, { 244,-5140 }, { 245,-5140 }, { 246,-5140 }, + { 247,-5140 }, { 248,-5140 }, { 249,-5140 }, { 250,-5140 }, { 251,-5140 }, + { 252,-5140 }, { 253,-5140 }, { 254,-5140 }, { 255,-5140 }, { 256,-5140 }, + { 0, 24 }, { 0,4644 }, { 1,-5398 }, { 2,-5398 }, { 3,-5398 }, + { 4,-5398 }, { 5,-5398 }, { 6,-5398 }, { 7,-5398 }, { 8,-5398 }, + { 9,-5140 }, { 10,-17134 }, { 11,-5398 }, { 12,-5140 }, { 13,-17134 }, + + { 14,-5398 }, { 15,-5398 }, { 16,-5398 }, { 17,-5398 }, { 18,-5398 }, + { 19,-5398 }, { 20,-5398 }, { 21,-5398 }, { 22,-5398 }, { 23,-5398 }, + { 24,-5398 }, { 25,-5398 }, { 26,-5398 }, { 27,-5398 }, { 28,-5398 }, + { 29,-5398 }, { 30,-5398 }, { 31,-5398 }, { 32,-5140 }, { 33,-5398 }, + { 34,-5398 }, { 35,-5398 }, { 36,-5398 }, { 37,-5398 }, { 38,-5398 }, + { 39,-4882 }, { 40,-5398 }, { 41,-5398 }, { 42,-5398 }, { 43,-5398 }, + { 44,-5398 }, { 45,-4108 }, { 46,-5398 }, { 47,-5398 }, { 48,-5398 }, + { 49,-5398 }, { 50,-5398 }, { 51,-5398 }, { 52,-5398 }, { 53,-5398 }, + { 54,-5398 }, { 55,-5398 }, { 56,-5398 }, { 57,-5398 }, { 58,-5398 }, + { 59,-5398 }, { 60,-5398 }, { 61,-5398 }, { 62,-5398 }, { 63,-5398 }, + + { 64,-5398 }, { 65,-5398 }, { 66,-5398 }, { 67,-5398 }, { 68,-5398 }, + { 69,-5398 }, { 70,-5398 }, { 71,-5398 }, { 72,-5398 }, { 73,-5398 }, + { 74,-5398 }, { 75,-5398 }, { 76,-5398 }, { 77,-5398 }, { 78,-5398 }, + { 79,-5398 }, { 80,-5398 }, { 81,-5398 }, { 82,-5398 }, { 83,1548 }, + { 84,-5398 }, { 85,-4366 }, { 86,-5398 }, { 87,-5398 }, { 88,-5398 }, + { 89,-5398 }, { 90,-5398 }, { 91,-5398 }, { 92,-5398 }, { 93,-5398 }, + { 94,-5398 }, { 95,-5398 }, { 96,-5398 }, { 97,-5398 }, { 98,-5398 }, + { 99,-5398 }, { 100,-5398 }, { 101,-5398 }, { 102,-5398 }, { 103,-5398 }, + { 104,-5398 }, { 105,-5398 }, { 106,-5398 }, { 107,-5398 }, { 108,-5398 }, + { 109,-5398 }, { 110,-5398 }, { 111,-5398 }, { 112,-5398 }, { 113,-5398 }, + + { 114,-5398 }, { 115,1548 }, { 116,-5398 }, { 117,-4366 }, { 118,-5398 }, + { 119,-5398 }, { 120,-5398 }, { 121,-5398 }, { 122,-5398 }, { 123,-5398 }, + { 124,-5398 }, { 125,-5398 }, { 126,-5398 }, { 127,-5398 }, { 128,-5398 }, + { 129,-5398 }, { 130,-5398 }, { 131,-5398 }, { 132,-5398 }, { 133,-5398 }, + { 134,-5398 }, { 135,-5398 }, { 136,-5398 }, { 137,-5398 }, { 138,-5398 }, + { 139,-5398 }, { 140,-5398 }, { 141,-5398 }, { 142,-5398 }, { 143,-5398 }, + { 144,-5398 }, { 145,-5398 }, { 146,-5398 }, { 147,-5398 }, { 148,-5398 }, + { 149,-5398 }, { 150,-5398 }, { 151,-5398 }, { 152,-5398 }, { 153,-5398 }, + { 154,-5398 }, { 155,-5398 }, { 156,-5398 }, { 157,-5398 }, { 158,-5398 }, + { 159,-5398 }, { 160,-5398 }, { 161,-5398 }, { 162,-5398 }, { 163,-5398 }, + + { 164,-5398 }, { 165,-5398 }, { 166,-5398 }, { 167,-5398 }, { 168,-5398 }, + { 169,-5398 }, { 170,-5398 }, { 171,-5398 }, { 172,-5398 }, { 173,-5398 }, + { 174,-5398 }, { 175,-5398 }, { 176,-5398 }, { 177,-5398 }, { 178,-5398 }, + { 179,-5398 }, { 180,-5398 }, { 181,-5398 }, { 182,-5398 }, { 183,-5398 }, + { 184,-5398 }, { 185,-5398 }, { 186,-5398 }, { 187,-5398 }, { 188,-5398 }, + { 189,-5398 }, { 190,-5398 }, { 191,-5398 }, { 192,-5398 }, { 193,-5398 }, + { 194,-5398 }, { 195,-5398 }, { 196,-5398 }, { 197,-5398 }, { 198,-5398 }, + { 199,-5398 }, { 200,-5398 }, { 201,-5398 }, { 202,-5398 }, { 203,-5398 }, + { 204,-5398 }, { 205,-5398 }, { 206,-5398 }, { 207,-5398 }, { 208,-5398 }, + { 209,-5398 }, { 210,-5398 }, { 211,-5398 }, { 212,-5398 }, { 213,-5398 }, + + { 214,-5398 }, { 215,-5398 }, { 216,-5398 }, { 217,-5398 }, { 218,-5398 }, + { 219,-5398 }, { 220,-5398 }, { 221,-5398 }, { 222,-5398 }, { 223,-5398 }, + { 224,-5398 }, { 225,-5398 }, { 226,-5398 }, { 227,-5398 }, { 228,-5398 }, + { 229,-5398 }, { 230,-5398 }, { 231,-5398 }, { 232,-5398 }, { 233,-5398 }, + { 234,-5398 }, { 235,-5398 }, { 236,-5398 }, { 237,-5398 }, { 238,-5398 }, + { 239,-5398 }, { 240,-5398 }, { 241,-5398 }, { 242,-5398 }, { 243,-5398 }, + { 244,-5398 }, { 245,-5398 }, { 246,-5398 }, { 247,-5398 }, { 248,-5398 }, + { 249,-5398 }, { 250,-5398 }, { 251,-5398 }, { 252,-5398 }, { 253,-5398 }, + { 254,-5398 }, { 255,-5398 }, { 256,-5398 }, { 0, 24 }, { 0,4386 }, + { 1,-3850 }, { 2,-3850 }, { 3,-3850 }, { 4,-3850 }, { 5,-3850 }, + + { 6,-3850 }, { 7,-3850 }, { 8,-3850 }, { 9,-3592 }, { 10,-3334 }, + { 11,-3850 }, { 12,-3592 }, { 13,-3334 }, { 14,-3850 }, { 15,-3850 }, + { 16,-3850 }, { 17,-3850 }, { 18,-3850 }, { 19,-3850 }, { 20,-3850 }, + { 21,-3850 }, { 22,-3850 }, { 23,-3850 }, { 24,-3850 }, { 25,-3850 }, + { 26,-3850 }, { 27,-3850 }, { 28,-3850 }, { 29,-3850 }, { 30,-3850 }, + { 31,-3850 }, { 32,-3592 }, { 33,-3850 }, { 34,-3850 }, { 35,-3850 }, + { 36,-3850 }, { 37,-3850 }, { 38,-3850 }, { 39,-9129 }, { 40,-3850 }, + { 41,-3850 }, { 42,-3850 }, { 43,-3850 }, { 44,-3850 }, { 45,-3215 }, + { 46,-3850 }, { 47,-3850 }, { 48,-3850 }, { 49,-3850 }, { 50,-3850 }, + { 51,-3850 }, { 52,-3850 }, { 53,-3850 }, { 54,-3850 }, { 55,-3850 }, + + { 56,-3850 }, { 57,-3850 }, { 58,-3850 }, { 59,-3850 }, { 60,-3850 }, + { 61,-3850 }, { 62,-3850 }, { 63,-3850 }, { 64,-3850 }, { 65,-3850 }, + { 66,-3850 }, { 67,-3850 }, { 68,-3850 }, { 69,-3850 }, { 70,-3850 }, + { 71,-3850 }, { 72,-3850 }, { 73,-3850 }, { 74,-3850 }, { 75,-3850 }, + { 76,-3850 }, { 77,-3850 }, { 78,-3850 }, { 79,-3850 }, { 80,-3850 }, + { 81,-3850 }, { 82,-3850 }, { 83,-3850 }, { 84,-3850 }, { 85,-2957 }, + { 86,-3850 }, { 87,-3850 }, { 88,-3850 }, { 89,-3850 }, { 90,-3850 }, + { 91,-3850 }, { 92,-3850 }, { 93,-3850 }, { 94,-3850 }, { 95,-3850 }, + { 96,-3850 }, { 97,-3850 }, { 98,-3850 }, { 99,-3850 }, { 100,-3850 }, + { 101,-3850 }, { 102,-3850 }, { 103,-3850 }, { 104,-3850 }, { 105,-3850 }, + + { 106,-3850 }, { 107,-3850 }, { 108,-3850 }, { 109,-3850 }, { 110,-3850 }, + { 111,-3850 }, { 112,-3850 }, { 113,-3850 }, { 114,-3850 }, { 115,-3850 }, + { 116,-3850 }, { 117,-2957 }, { 118,-3850 }, { 119,-3850 }, { 120,-3850 }, + { 121,-3850 }, { 122,-3850 }, { 123,-3850 }, { 124,-3850 }, { 125,-3850 }, + { 126,-3850 }, { 127,-3850 }, { 128,-3850 }, { 129,-3850 }, { 130,-3850 }, + { 131,-3850 }, { 132,-3850 }, { 133,-3850 }, { 134,-3850 }, { 135,-3850 }, + { 136,-3850 }, { 137,-3850 }, { 138,-3850 }, { 139,-3850 }, { 140,-3850 }, + { 141,-3850 }, { 142,-3850 }, { 143,-3850 }, { 144,-3850 }, { 145,-3850 }, + { 146,-3850 }, { 147,-3850 }, { 148,-3850 }, { 149,-3850 }, { 150,-3850 }, + { 151,-3850 }, { 152,-3850 }, { 153,-3850 }, { 154,-3850 }, { 155,-3850 }, + + { 156,-3850 }, { 157,-3850 }, { 158,-3850 }, { 159,-3850 }, { 160,-3850 }, + { 161,-3850 }, { 162,-3850 }, { 163,-3850 }, { 164,-3850 }, { 165,-3850 }, + { 166,-3850 }, { 167,-3850 }, { 168,-3850 }, { 169,-3850 }, { 170,-3850 }, + { 171,-3850 }, { 172,-3850 }, { 173,-3850 }, { 174,-3850 }, { 175,-3850 }, + { 176,-3850 }, { 177,-3850 }, { 178,-3850 }, { 179,-3850 }, { 180,-3850 }, + { 181,-3850 }, { 182,-3850 }, { 183,-3850 }, { 184,-3850 }, { 185,-3850 }, + { 186,-3850 }, { 187,-3850 }, { 188,-3850 }, { 189,-3850 }, { 190,-3850 }, + { 191,-3850 }, { 192,-3850 }, { 193,-3850 }, { 194,-3850 }, { 195,-3850 }, + { 196,-3850 }, { 197,-3850 }, { 198,-3850 }, { 199,-3850 }, { 200,-3850 }, + { 201,-3850 }, { 202,-3850 }, { 203,-3850 }, { 204,-3850 }, { 205,-3850 }, + + { 206,-3850 }, { 207,-3850 }, { 208,-3850 }, { 209,-3850 }, { 210,-3850 }, + { 211,-3850 }, { 212,-3850 }, { 213,-3850 }, { 214,-3850 }, { 215,-3850 }, + { 216,-3850 }, { 217,-3850 }, { 218,-3850 }, { 219,-3850 }, { 220,-3850 }, + { 221,-3850 }, { 222,-3850 }, { 223,-3850 }, { 224,-3850 }, { 225,-3850 }, + { 226,-3850 }, { 227,-3850 }, { 228,-3850 }, { 229,-3850 }, { 230,-3850 }, + { 231,-3850 }, { 232,-3850 }, { 233,-3850 }, { 234,-3850 }, { 235,-3850 }, + { 236,-3850 }, { 237,-3850 }, { 238,-3850 }, { 239,-3850 }, { 240,-3850 }, + { 241,-3850 }, { 242,-3850 }, { 243,-3850 }, { 244,-3850 }, { 245,-3850 }, + { 246,-3850 }, { 247,-3850 }, { 248,-3850 }, { 249,-3850 }, { 250,-3850 }, + { 251,-3850 }, { 252,-3850 }, { 253,-3850 }, { 254,-3850 }, { 255,-3850 }, + + { 256,-3850 }, { 0, 24 }, { 0,4128 }, { 1,-49131 }, { 2,-49131 }, + { 3,-49131 }, { 4,-49131 }, { 5,-49131 }, { 6,-49131 }, { 7,-49131 }, + { 8,-49131 }, { 9,-49131 }, { 10,-49131 }, { 11,-49131 }, { 12,-49131 }, + { 13,-49131 }, { 14,-49131 }, { 15,-49131 }, { 16,-49131 }, { 17,-49131 }, + { 18,-49131 }, { 19,-49131 }, { 20,-49131 }, { 21,-49131 }, { 22,-49131 }, + { 23,-49131 }, { 24,-49131 }, { 25,-49131 }, { 26,-49131 }, { 27,-49131 }, + { 28,-49131 }, { 29,-49131 }, { 30,-49131 }, { 31,-49131 }, { 32,-49131 }, + { 33,-49131 }, { 34,-49131 }, { 35,-49131 }, { 36,-49131 }, { 37,-49131 }, + { 38,-49131 }, { 0, 0 }, { 40,-49131 }, { 41,-49131 }, { 42,-49131 }, + { 43,-49131 }, { 44,-49131 }, { 45,-49131 }, { 46,-49131 }, { 47,-49131 }, + + { 48,-49131 }, { 49,-49131 }, { 50,-49131 }, { 51,-49131 }, { 52,-49131 }, + { 53,-49131 }, { 54,-49131 }, { 55,-49131 }, { 56,-49131 }, { 57,-49131 }, + { 58,-49131 }, { 59,-49131 }, { 60,-49131 }, { 61,-49131 }, { 62,-49131 }, + { 63,-49131 }, { 64,-49131 }, { 65,-49131 }, { 66,-49131 }, { 67,-49131 }, + { 68,-49131 }, { 69,-49131 }, { 70,-49131 }, { 71,-49131 }, { 72,-49131 }, + { 73,-49131 }, { 74,-49131 }, { 75,-49131 }, { 76,-49131 }, { 77,-49131 }, + { 78,-49131 }, { 79,-49131 }, { 80,-49131 }, { 81,-49131 }, { 82,-49131 }, + { 83,-49131 }, { 84,-49131 }, { 85,-49131 }, { 86,-49131 }, { 87,-49131 }, + { 88,-49131 }, { 89,-49131 }, { 90,-49131 }, { 91,-49131 }, { 92,-49131 }, + { 93,-49131 }, { 94,-49131 }, { 95,-49131 }, { 96,-49131 }, { 97,-49131 }, + + { 98,-49131 }, { 99,-49131 }, { 100,-49131 }, { 101,-49131 }, { 102,-49131 }, + { 103,-49131 }, { 104,-49131 }, { 105,-49131 }, { 106,-49131 }, { 107,-49131 }, + { 108,-49131 }, { 109,-49131 }, { 110,-49131 }, { 111,-49131 }, { 112,-49131 }, + { 113,-49131 }, { 114,-49131 }, { 115,-49131 }, { 116,-49131 }, { 117,-49131 }, + { 118,-49131 }, { 119,-49131 }, { 120,-49131 }, { 121,-49131 }, { 122,-49131 }, + { 123,-49131 }, { 124,-49131 }, { 125,-49131 }, { 126,-49131 }, { 127,-49131 }, + { 128,-49131 }, { 129,-49131 }, { 130,-49131 }, { 131,-49131 }, { 132,-49131 }, + { 133,-49131 }, { 134,-49131 }, { 135,-49131 }, { 136,-49131 }, { 137,-49131 }, + { 138,-49131 }, { 139,-49131 }, { 140,-49131 }, { 141,-49131 }, { 142,-49131 }, + { 143,-49131 }, { 144,-49131 }, { 145,-49131 }, { 146,-49131 }, { 147,-49131 }, + + { 148,-49131 }, { 149,-49131 }, { 150,-49131 }, { 151,-49131 }, { 152,-49131 }, + { 153,-49131 }, { 154,-49131 }, { 155,-49131 }, { 156,-49131 }, { 157,-49131 }, + { 158,-49131 }, { 159,-49131 }, { 160,-49131 }, { 161,-49131 }, { 162,-49131 }, + { 163,-49131 }, { 164,-49131 }, { 165,-49131 }, { 166,-49131 }, { 167,-49131 }, + { 168,-49131 }, { 169,-49131 }, { 170,-49131 }, { 171,-49131 }, { 172,-49131 }, + { 173,-49131 }, { 174,-49131 }, { 175,-49131 }, { 176,-49131 }, { 177,-49131 }, + { 178,-49131 }, { 179,-49131 }, { 180,-49131 }, { 181,-49131 }, { 182,-49131 }, + { 183,-49131 }, { 184,-49131 }, { 185,-49131 }, { 186,-49131 }, { 187,-49131 }, + { 188,-49131 }, { 189,-49131 }, { 190,-49131 }, { 191,-49131 }, { 192,-49131 }, + { 193,-49131 }, { 194,-49131 }, { 195,-49131 }, { 196,-49131 }, { 197,-49131 }, + + { 198,-49131 }, { 199,-49131 }, { 200,-49131 }, { 201,-49131 }, { 202,-49131 }, + { 203,-49131 }, { 204,-49131 }, { 205,-49131 }, { 206,-49131 }, { 207,-49131 }, + { 208,-49131 }, { 209,-49131 }, { 210,-49131 }, { 211,-49131 }, { 212,-49131 }, + { 213,-49131 }, { 214,-49131 }, { 215,-49131 }, { 216,-49131 }, { 217,-49131 }, + { 218,-49131 }, { 219,-49131 }, { 220,-49131 }, { 221,-49131 }, { 222,-49131 }, + { 223,-49131 }, { 224,-49131 }, { 225,-49131 }, { 226,-49131 }, { 227,-49131 }, + { 228,-49131 }, { 229,-49131 }, { 230,-49131 }, { 231,-49131 }, { 232,-49131 }, + { 233,-49131 }, { 234,-49131 }, { 235,-49131 }, { 236,-49131 }, { 237,-49131 }, + { 238,-49131 }, { 239,-49131 }, { 240,-49131 }, { 241,-49131 }, { 242,-49131 }, + { 243,-49131 }, { 244,-49131 }, { 245,-49131 }, { 246,-49131 }, { 247,-49131 }, + + { 248,-49131 }, { 249,-49131 }, { 250,-49131 }, { 251,-49131 }, { 252,-49131 }, + { 253,-49131 }, { 254,-49131 }, { 255,-49131 }, { 256,-49131 }, { 0, 24 }, + { 0,3870 }, { 1,-10161 }, { 2,-10161 }, { 3,-10161 }, { 4,-10161 }, + { 5,-10161 }, { 6,-10161 }, { 7,-10161 }, { 8,-10161 }, { 9,-9903 }, + { 10,-22321 }, { 11,-10161 }, { 12,-9903 }, { 13,-22321 }, { 14,-10161 }, + { 15,-10161 }, { 16,-10161 }, { 17,-10161 }, { 18,-10161 }, { 19,-10161 }, + { 20,-10161 }, { 21,-10161 }, { 22,-10161 }, { 23,-10161 }, { 24,-10161 }, + { 25,-10161 }, { 26,-10161 }, { 27,-10161 }, { 28,-10161 }, { 29,-10161 }, + { 30,-10161 }, { 31,-10161 }, { 32,-9903 }, { 33,-10161 }, { 34,-10161 }, + { 35,-10161 }, { 36,-10161 }, { 37,-10161 }, { 38,-10161 }, { 39,-9645 }, + + { 40,-10161 }, { 41,-10161 }, { 42,-10161 }, { 43,-10161 }, { 44,-10161 }, + { 45,-4624 }, { 46,-10161 }, { 47,-10161 }, { 48,-10161 }, { 49,-10161 }, + { 50,-10161 }, { 51,-10161 }, { 52,-10161 }, { 53,-10161 }, { 54,-10161 }, + { 55,-10161 }, { 56,-10161 }, { 57,-10161 }, { 58,-10161 }, { 59,-10161 }, + { 60,-10161 }, { 61,-10161 }, { 62,-10161 }, { 63,-10161 }, { 64,-10161 }, + { 65,-10161 }, { 66,-10161 }, { 67,1032 }, { 68,-10161 }, { 69,-10161 }, + { 70,-10161 }, { 71,-10161 }, { 72,-10161 }, { 73,-10161 }, { 74,-10161 }, + { 75,-10161 }, { 76,-10161 }, { 77,-10161 }, { 78,-10161 }, { 79,-10161 }, + { 80,-10161 }, { 81,-10161 }, { 82,-10161 }, { 83,-10161 }, { 84,-10161 }, + { 85,-9129 }, { 86,-10161 }, { 87,-10161 }, { 88,-10161 }, { 89,-10161 }, + + { 90,-10161 }, { 91,-10161 }, { 92,-10161 }, { 93,-10161 }, { 94,-10161 }, + { 95,-10161 }, { 96,-10161 }, { 97,-10161 }, { 98,-10161 }, { 99,1032 }, + { 100,-10161 }, { 101,-10161 }, { 102,-10161 }, { 103,-10161 }, { 104,-10161 }, + { 105,-10161 }, { 106,-10161 }, { 107,-10161 }, { 108,-10161 }, { 109,-10161 }, + { 110,-10161 }, { 111,-10161 }, { 112,-10161 }, { 113,-10161 }, { 114,-10161 }, + { 115,-10161 }, { 116,-10161 }, { 117,-9129 }, { 118,-10161 }, { 119,-10161 }, + { 120,-10161 }, { 121,-10161 }, { 122,-10161 }, { 123,-10161 }, { 124,-10161 }, + { 125,-10161 }, { 126,-10161 }, { 127,-10161 }, { 128,-10161 }, { 129,-10161 }, + { 130,-10161 }, { 131,-10161 }, { 132,-10161 }, { 133,-10161 }, { 134,-10161 }, + { 135,-10161 }, { 136,-10161 }, { 137,-10161 }, { 138,-10161 }, { 139,-10161 }, + + { 140,-10161 }, { 141,-10161 }, { 142,-10161 }, { 143,-10161 }, { 144,-10161 }, + { 145,-10161 }, { 146,-10161 }, { 147,-10161 }, { 148,-10161 }, { 149,-10161 }, + { 150,-10161 }, { 151,-10161 }, { 152,-10161 }, { 153,-10161 }, { 154,-10161 }, + { 155,-10161 }, { 156,-10161 }, { 157,-10161 }, { 158,-10161 }, { 159,-10161 }, + { 160,-10161 }, { 161,-10161 }, { 162,-10161 }, { 163,-10161 }, { 164,-10161 }, + { 165,-10161 }, { 166,-10161 }, { 167,-10161 }, { 168,-10161 }, { 169,-10161 }, + { 170,-10161 }, { 171,-10161 }, { 172,-10161 }, { 173,-10161 }, { 174,-10161 }, + { 175,-10161 }, { 176,-10161 }, { 177,-10161 }, { 178,-10161 }, { 179,-10161 }, + { 180,-10161 }, { 181,-10161 }, { 182,-10161 }, { 183,-10161 }, { 184,-10161 }, + { 185,-10161 }, { 186,-10161 }, { 187,-10161 }, { 188,-10161 }, { 189,-10161 }, + + { 190,-10161 }, { 191,-10161 }, { 192,-10161 }, { 193,-10161 }, { 194,-10161 }, + { 195,-10161 }, { 196,-10161 }, { 197,-10161 }, { 198,-10161 }, { 199,-10161 }, + { 200,-10161 }, { 201,-10161 }, { 202,-10161 }, { 203,-10161 }, { 204,-10161 }, + { 205,-10161 }, { 206,-10161 }, { 207,-10161 }, { 208,-10161 }, { 209,-10161 }, + { 210,-10161 }, { 211,-10161 }, { 212,-10161 }, { 213,-10161 }, { 214,-10161 }, + { 215,-10161 }, { 216,-10161 }, { 217,-10161 }, { 218,-10161 }, { 219,-10161 }, + { 220,-10161 }, { 221,-10161 }, { 222,-10161 }, { 223,-10161 }, { 224,-10161 }, + { 225,-10161 }, { 226,-10161 }, { 227,-10161 }, { 228,-10161 }, { 229,-10161 }, + { 230,-10161 }, { 231,-10161 }, { 232,-10161 }, { 233,-10161 }, { 234,-10161 }, + { 235,-10161 }, { 236,-10161 }, { 237,-10161 }, { 238,-10161 }, { 239,-10161 }, + + { 240,-10161 }, { 241,-10161 }, { 242,-10161 }, { 243,-10161 }, { 244,-10161 }, + { 245,-10161 }, { 246,-10161 }, { 247,-10161 }, { 248,-10161 }, { 249,-10161 }, + { 250,-10161 }, { 251,-10161 }, { 252,-10161 }, { 253,-10161 }, { 254,-10161 }, + { 255,-10161 }, { 256,-10161 }, { 0, 48 }, { 0,3612 }, { 1,-14150 }, + { 2,-14150 }, { 3,-14150 }, { 4,-14150 }, { 5,-14150 }, { 6,-14150 }, + { 7,-14150 }, { 8,-14150 }, { 9,-13892 }, { 10,-24762 }, { 11,-14150 }, + { 12,-13892 }, { 13,-24762 }, { 14,-14150 }, { 15,-14150 }, { 16,-14150 }, + { 17,-14150 }, { 18,-14150 }, { 19,-14150 }, { 20,-14150 }, { 21,-14150 }, + { 22,-14150 }, { 23,-14150 }, { 24,-14150 }, { 25,-14150 }, { 26,-14150 }, + { 27,-14150 }, { 28,-14150 }, { 29,-14150 }, { 30,-14150 }, { 31,-14150 }, + + { 32,-13892 }, { 33,-14150 }, { 34,-14150 }, { 35,-14150 }, { 36,-14150 }, + { 37,-14150 }, { 38,-14150 }, { 39,-13634 }, { 40,-14150 }, { 41,-14150 }, + { 42,-14150 }, { 43,-14150 }, { 44,-14150 }, { 45,-8613 }, { 46,-14150 }, + { 47,-14150 }, { 48,-14150 }, { 49,-14150 }, { 50,-14150 }, { 51,-14150 }, + { 52,-14150 }, { 53,-14150 }, { 54,-14150 }, { 55,-14150 }, { 56,-14150 }, + { 57,-14150 }, { 58,-14150 }, { 59,-14150 }, { 60,-14150 }, { 61,-14150 }, + { 62,-14150 }, { 63,-14150 }, { 64,-14150 }, { 65,1032 }, { 66,-14150 }, + { 67,-14150 }, { 68,-14150 }, { 69,-14150 }, { 70,-14150 }, { 71,-14150 }, + { 72,-14150 }, { 73,-14150 }, { 74,-14150 }, { 75,-14150 }, { 76,-14150 }, + { 77,-14150 }, { 78,-14150 }, { 79,-14150 }, { 80,-14150 }, { 81,-14150 }, + + { 82,-14150 }, { 83,-14150 }, { 84,-14150 }, { 85,-13118 }, { 86,-14150 }, + { 87,-14150 }, { 88,-14150 }, { 89,-14150 }, { 90,-14150 }, { 91,-14150 }, + { 92,-14150 }, { 93,-14150 }, { 94,-14150 }, { 95,-14150 }, { 96,-14150 }, + { 97,1032 }, { 98,-14150 }, { 99,-14150 }, { 100,-14150 }, { 101,-14150 }, + { 102,-14150 }, { 103,-14150 }, { 104,-14150 }, { 105,-14150 }, { 106,-14150 }, + { 107,-14150 }, { 108,-14150 }, { 109,-14150 }, { 110,-14150 }, { 111,-14150 }, + { 112,-14150 }, { 113,-14150 }, { 114,-14150 }, { 115,-14150 }, { 116,-14150 }, + { 117,-13118 }, { 118,-14150 }, { 119,-14150 }, { 120,-14150 }, { 121,-14150 }, + { 122,-14150 }, { 123,-14150 }, { 124,-14150 }, { 125,-14150 }, { 126,-14150 }, + { 127,-14150 }, { 128,-14150 }, { 129,-14150 }, { 130,-14150 }, { 131,-14150 }, + + { 132,-14150 }, { 133,-14150 }, { 134,-14150 }, { 135,-14150 }, { 136,-14150 }, + { 137,-14150 }, { 138,-14150 }, { 139,-14150 }, { 140,-14150 }, { 141,-14150 }, + { 142,-14150 }, { 143,-14150 }, { 144,-14150 }, { 145,-14150 }, { 146,-14150 }, + { 147,-14150 }, { 148,-14150 }, { 149,-14150 }, { 150,-14150 }, { 151,-14150 }, + { 152,-14150 }, { 153,-14150 }, { 154,-14150 }, { 155,-14150 }, { 156,-14150 }, + { 157,-14150 }, { 158,-14150 }, { 159,-14150 }, { 160,-14150 }, { 161,-14150 }, + { 162,-14150 }, { 163,-14150 }, { 164,-14150 }, { 165,-14150 }, { 166,-14150 }, + { 167,-14150 }, { 168,-14150 }, { 169,-14150 }, { 170,-14150 }, { 171,-14150 }, + { 172,-14150 }, { 173,-14150 }, { 174,-14150 }, { 175,-14150 }, { 176,-14150 }, + { 177,-14150 }, { 178,-14150 }, { 179,-14150 }, { 180,-14150 }, { 181,-14150 }, + + { 182,-14150 }, { 183,-14150 }, { 184,-14150 }, { 185,-14150 }, { 186,-14150 }, + { 187,-14150 }, { 188,-14150 }, { 189,-14150 }, { 190,-14150 }, { 191,-14150 }, + { 192,-14150 }, { 193,-14150 }, { 194,-14150 }, { 195,-14150 }, { 196,-14150 }, + { 197,-14150 }, { 198,-14150 }, { 199,-14150 }, { 200,-14150 }, { 201,-14150 }, + { 202,-14150 }, { 203,-14150 }, { 204,-14150 }, { 205,-14150 }, { 206,-14150 }, + { 207,-14150 }, { 208,-14150 }, { 209,-14150 }, { 210,-14150 }, { 211,-14150 }, + { 212,-14150 }, { 213,-14150 }, { 214,-14150 }, { 215,-14150 }, { 216,-14150 }, + { 217,-14150 }, { 218,-14150 }, { 219,-14150 }, { 220,-14150 }, { 221,-14150 }, + { 222,-14150 }, { 223,-14150 }, { 224,-14150 }, { 225,-14150 }, { 226,-14150 }, + { 227,-14150 }, { 228,-14150 }, { 229,-14150 }, { 230,-14150 }, { 231,-14150 }, + + { 232,-14150 }, { 233,-14150 }, { 234,-14150 }, { 235,-14150 }, { 236,-14150 }, + { 237,-14150 }, { 238,-14150 }, { 239,-14150 }, { 240,-14150 }, { 241,-14150 }, + { 242,-14150 }, { 243,-14150 }, { 244,-14150 }, { 245,-14150 }, { 246,-14150 }, + { 247,-14150 }, { 248,-14150 }, { 249,-14150 }, { 250,-14150 }, { 251,-14150 }, + { 252,-14150 }, { 253,-14150 }, { 254,-14150 }, { 255,-14150 }, { 256,-14150 }, + { 0, 24 }, { 0,3354 }, { 1,-2699 }, { 2,-2699 }, { 3,-2699 }, + { 4,-2699 }, { 5,-2699 }, { 6,-2699 }, { 7,-2699 }, { 8,-2699 }, + { 9,-2441 }, { 10,-2183 }, { 11,-2699 }, { 12,-2441 }, { 13,-2183 }, + { 14,-2699 }, { 15,-2699 }, { 16,-2699 }, { 17,-2699 }, { 18,-2699 }, + { 19,-2699 }, { 20,-2699 }, { 21,-2699 }, { 22,-2699 }, { 23,-2699 }, + + { 24,-2699 }, { 25,-2699 }, { 26,-2699 }, { 27,-2699 }, { 28,-2699 }, + { 29,-2699 }, { 30,-2699 }, { 31,-2699 }, { 32,-2441 }, { 33,-2699 }, + { 34,-2699 }, { 35,-2699 }, { 36,-2699 }, { 37,-2699 }, { 38,-2699 }, + { 39,-6172 }, { 40,-2699 }, { 41,-2699 }, { 42,-2699 }, { 43,-2699 }, + { 44,-2699 }, { 45,-2064 }, { 46,-2699 }, { 47,-2699 }, { 48,-2699 }, + { 49,-2699 }, { 50,-2699 }, { 51,-2699 }, { 52,-2699 }, { 53,-2699 }, + { 54,-2699 }, { 55,-2699 }, { 56,-2699 }, { 57,-2699 }, { 58,-2699 }, + { 59,-2699 }, { 60,-2699 }, { 61,-2699 }, { 62,-2699 }, { 63,-2699 }, + { 64,-2699 }, { 65,-2699 }, { 66,-2699 }, { 67,-2699 }, { 68,-2699 }, + { 69,-2699 }, { 70,-2699 }, { 71,-2699 }, { 72,-2699 }, { 73,-2699 }, + + { 74,-2699 }, { 75,-2699 }, { 76,-2699 }, { 77,-2699 }, { 78,-2699 }, + { 79,-2699 }, { 80,-2699 }, { 81,-2699 }, { 82,-2699 }, { 83,-2699 }, + { 84,-2699 }, { 85,-1806 }, { 86,-2699 }, { 87,-2699 }, { 88,-2699 }, + { 89,-2699 }, { 90,-2699 }, { 91,-2699 }, { 92,-2699 }, { 93,-2699 }, + { 94,-2699 }, { 95,-2699 }, { 96,-2699 }, { 97,-2699 }, { 98,-2699 }, + { 99,-2699 }, { 100,-2699 }, { 101,-2699 }, { 102,-2699 }, { 103,-2699 }, + { 104,-2699 }, { 105,-2699 }, { 106,-2699 }, { 107,-2699 }, { 108,-2699 }, + { 109,-2699 }, { 110,-2699 }, { 111,-2699 }, { 112,-2699 }, { 113,-2699 }, + { 114,-2699 }, { 115,-2699 }, { 116,-2699 }, { 117,-1806 }, { 118,-2699 }, + { 119,-2699 }, { 120,-2699 }, { 121,-2699 }, { 122,-2699 }, { 123,-2699 }, + + { 124,-2699 }, { 125,-2699 }, { 126,-2699 }, { 127,-2699 }, { 128,-2699 }, + { 129,-2699 }, { 130,-2699 }, { 131,-2699 }, { 132,-2699 }, { 133,-2699 }, + { 134,-2699 }, { 135,-2699 }, { 136,-2699 }, { 137,-2699 }, { 138,-2699 }, + { 139,-2699 }, { 140,-2699 }, { 141,-2699 }, { 142,-2699 }, { 143,-2699 }, + { 144,-2699 }, { 145,-2699 }, { 146,-2699 }, { 147,-2699 }, { 148,-2699 }, + { 149,-2699 }, { 150,-2699 }, { 151,-2699 }, { 152,-2699 }, { 153,-2699 }, + { 154,-2699 }, { 155,-2699 }, { 156,-2699 }, { 157,-2699 }, { 158,-2699 }, + { 159,-2699 }, { 160,-2699 }, { 161,-2699 }, { 162,-2699 }, { 163,-2699 }, + { 164,-2699 }, { 165,-2699 }, { 166,-2699 }, { 167,-2699 }, { 168,-2699 }, + { 169,-2699 }, { 170,-2699 }, { 171,-2699 }, { 172,-2699 }, { 173,-2699 }, + + { 174,-2699 }, { 175,-2699 }, { 176,-2699 }, { 177,-2699 }, { 178,-2699 }, + { 179,-2699 }, { 180,-2699 }, { 181,-2699 }, { 182,-2699 }, { 183,-2699 }, + { 184,-2699 }, { 185,-2699 }, { 186,-2699 }, { 187,-2699 }, { 188,-2699 }, + { 189,-2699 }, { 190,-2699 }, { 191,-2699 }, { 192,-2699 }, { 193,-2699 }, + { 194,-2699 }, { 195,-2699 }, { 196,-2699 }, { 197,-2699 }, { 198,-2699 }, + { 199,-2699 }, { 200,-2699 }, { 201,-2699 }, { 202,-2699 }, { 203,-2699 }, + { 204,-2699 }, { 205,-2699 }, { 206,-2699 }, { 207,-2699 }, { 208,-2699 }, + { 209,-2699 }, { 210,-2699 }, { 211,-2699 }, { 212,-2699 }, { 213,-2699 }, + { 214,-2699 }, { 215,-2699 }, { 216,-2699 }, { 217,-2699 }, { 218,-2699 }, + { 219,-2699 }, { 220,-2699 }, { 221,-2699 }, { 222,-2699 }, { 223,-2699 }, + + { 224,-2699 }, { 225,-2699 }, { 226,-2699 }, { 227,-2699 }, { 228,-2699 }, + { 229,-2699 }, { 230,-2699 }, { 231,-2699 }, { 232,-2699 }, { 233,-2699 }, + { 234,-2699 }, { 235,-2699 }, { 236,-2699 }, { 237,-2699 }, { 238,-2699 }, + { 239,-2699 }, { 240,-2699 }, { 241,-2699 }, { 242,-2699 }, { 243,-2699 }, + { 244,-2699 }, { 245,-2699 }, { 246,-2699 }, { 247,-2699 }, { 248,-2699 }, + { 249,-2699 }, { 250,-2699 }, { 251,-2699 }, { 252,-2699 }, { 253,-2699 }, + { 254,-2699 }, { 255,-2699 }, { 256,-2699 }, { 0, 24 }, { 0,3096 }, + { 1,-6946 }, { 2,-6946 }, { 3,-6946 }, { 4,-6946 }, { 5,-6946 }, + { 6,-6946 }, { 7,-6946 }, { 8,-6946 }, { 9,-6688 }, { 10,-18682 }, + { 11,-6946 }, { 12,-6688 }, { 13,-18682 }, { 14,-6946 }, { 15,-6946 }, + + { 16,-6946 }, { 17,-6946 }, { 18,-6946 }, { 19,-6946 }, { 20,-6946 }, + { 21,-6946 }, { 22,-6946 }, { 23,-6946 }, { 24,-6946 }, { 25,-6946 }, + { 26,-6946 }, { 27,-6946 }, { 28,-6946 }, { 29,-6946 }, { 30,-6946 }, + { 31,-6946 }, { 32,-6688 }, { 33,-6946 }, { 34,-6946 }, { 35,-6946 }, + { 36,-6946 }, { 37,-6946 }, { 38,-6946 }, { 39,-6430 }, { 40,-6946 }, + { 41,-6946 }, { 42,-6946 }, { 43,-6946 }, { 44,-6946 }, { 45,-5656 }, + { 46,-6946 }, { 47,-6946 }, { 48,-6946 }, { 49,-6946 }, { 50,-6946 }, + { 51,-6946 }, { 52,-6946 }, { 53,-6946 }, { 54,-6946 }, { 55,-6946 }, + { 56,-6946 }, { 57,-6946 }, { 58,-6946 }, { 59,-6946 }, { 60,-6946 }, + { 61,-6946 }, { 62,-6946 }, { 63,-6946 }, { 64,-6946 }, { 65,-6946 }, + + { 66,-6946 }, { 67, 774 }, { 68,-6946 }, { 69,-6946 }, { 70,-6946 }, + { 71,-6946 }, { 72,-6946 }, { 73,-6946 }, { 74,-6946 }, { 75,-6946 }, + { 76,-6946 }, { 77,-6946 }, { 78,-6946 }, { 79,-6946 }, { 80,-6946 }, + { 81,-6946 }, { 82,-6946 }, { 83,-6946 }, { 84,-6946 }, { 85,-5914 }, + { 86,-6946 }, { 87,-6946 }, { 88,-6946 }, { 89,-6946 }, { 90,-6946 }, + { 91,-6946 }, { 92,-6946 }, { 93,-6946 }, { 94,-6946 }, { 95,-6946 }, + { 96,-6946 }, { 97,-6946 }, { 98,-6946 }, { 99, 774 }, { 100,-6946 }, + { 101,-6946 }, { 102,-6946 }, { 103,-6946 }, { 104,-6946 }, { 105,-6946 }, + { 106,-6946 }, { 107,-6946 }, { 108,-6946 }, { 109,-6946 }, { 110,-6946 }, + { 111,-6946 }, { 112,-6946 }, { 113,-6946 }, { 114,-6946 }, { 115,-6946 }, + + { 116,-6946 }, { 117,-5914 }, { 118,-6946 }, { 119,-6946 }, { 120,-6946 }, + { 121,-6946 }, { 122,-6946 }, { 123,-6946 }, { 124,-6946 }, { 125,-6946 }, + { 126,-6946 }, { 127,-6946 }, { 128,-6946 }, { 129,-6946 }, { 130,-6946 }, + { 131,-6946 }, { 132,-6946 }, { 133,-6946 }, { 134,-6946 }, { 135,-6946 }, + { 136,-6946 }, { 137,-6946 }, { 138,-6946 }, { 139,-6946 }, { 140,-6946 }, + { 141,-6946 }, { 142,-6946 }, { 143,-6946 }, { 144,-6946 }, { 145,-6946 }, + { 146,-6946 }, { 147,-6946 }, { 148,-6946 }, { 149,-6946 }, { 150,-6946 }, + { 151,-6946 }, { 152,-6946 }, { 153,-6946 }, { 154,-6946 }, { 155,-6946 }, + { 156,-6946 }, { 157,-6946 }, { 158,-6946 }, { 159,-6946 }, { 160,-6946 }, + { 161,-6946 }, { 162,-6946 }, { 163,-6946 }, { 164,-6946 }, { 165,-6946 }, + + { 166,-6946 }, { 167,-6946 }, { 168,-6946 }, { 169,-6946 }, { 170,-6946 }, + { 171,-6946 }, { 172,-6946 }, { 173,-6946 }, { 174,-6946 }, { 175,-6946 }, + { 176,-6946 }, { 177,-6946 }, { 178,-6946 }, { 179,-6946 }, { 180,-6946 }, + { 181,-6946 }, { 182,-6946 }, { 183,-6946 }, { 184,-6946 }, { 185,-6946 }, + { 186,-6946 }, { 187,-6946 }, { 188,-6946 }, { 189,-6946 }, { 190,-6946 }, + { 191,-6946 }, { 192,-6946 }, { 193,-6946 }, { 194,-6946 }, { 195,-6946 }, + { 196,-6946 }, { 197,-6946 }, { 198,-6946 }, { 199,-6946 }, { 200,-6946 }, + { 201,-6946 }, { 202,-6946 }, { 203,-6946 }, { 204,-6946 }, { 205,-6946 }, + { 206,-6946 }, { 207,-6946 }, { 208,-6946 }, { 209,-6946 }, { 210,-6946 }, + { 211,-6946 }, { 212,-6946 }, { 213,-6946 }, { 214,-6946 }, { 215,-6946 }, + + { 216,-6946 }, { 217,-6946 }, { 218,-6946 }, { 219,-6946 }, { 220,-6946 }, + { 221,-6946 }, { 222,-6946 }, { 223,-6946 }, { 224,-6946 }, { 225,-6946 }, + { 226,-6946 }, { 227,-6946 }, { 228,-6946 }, { 229,-6946 }, { 230,-6946 }, + { 231,-6946 }, { 232,-6946 }, { 233,-6946 }, { 234,-6946 }, { 235,-6946 }, + { 236,-6946 }, { 237,-6946 }, { 238,-6946 }, { 239,-6946 }, { 240,-6946 }, + { 241,-6946 }, { 242,-6946 }, { 243,-6946 }, { 244,-6946 }, { 245,-6946 }, + { 246,-6946 }, { 247,-6946 }, { 248,-6946 }, { 249,-6946 }, { 250,-6946 }, + { 251,-6946 }, { 252,-6946 }, { 253,-6946 }, { 254,-6946 }, { 255,-6946 }, + { 256,-6946 }, { 0, 24 }, { 0,2838 }, { 1,-11193 }, { 2,-11193 }, + { 3,-11193 }, { 4,-11193 }, { 5,-11193 }, { 6,-11193 }, { 7,-11193 }, + + { 8,-11193 }, { 9,-10935 }, { 10,-23353 }, { 11,-11193 }, { 12,-10935 }, + { 13,-23353 }, { 14,-11193 }, { 15,-11193 }, { 16,-11193 }, { 17,-11193 }, + { 18,-11193 }, { 19,-11193 }, { 20,-11193 }, { 21,-11193 }, { 22,-11193 }, + { 23,-11193 }, { 24,-11193 }, { 25,-11193 }, { 26,-11193 }, { 27,-11193 }, + { 28,-11193 }, { 29,-11193 }, { 30,-11193 }, { 31,-11193 }, { 32,-10935 }, + { 33,-11193 }, { 34,-11193 }, { 35,-11193 }, { 36,-11193 }, { 37,-11193 }, + { 38,-11193 }, { 39,-10677 }, { 40,-11193 }, { 41,-11193 }, { 42,-11193 }, + { 43,-11193 }, { 44,-11193 }, { 45,-5656 }, { 46,-11193 }, { 47,-11193 }, + { 48,-11193 }, { 49,-11193 }, { 50,-11193 }, { 51,-11193 }, { 52,-11193 }, + { 53,-11193 }, { 54,-11193 }, { 55,-11193 }, { 56,-11193 }, { 57,-11193 }, + + { 58,-11193 }, { 59,-11193 }, { 60,-11193 }, { 61,-11193 }, { 62,-11193 }, + { 63,-11193 }, { 64,-11193 }, { 65, 774 }, { 66,-11193 }, { 67,-11193 }, + { 68,-11193 }, { 69,-11193 }, { 70,-11193 }, { 71,-11193 }, { 72,-11193 }, + { 73,-11193 }, { 74,-11193 }, { 75,-11193 }, { 76,-11193 }, { 77,-11193 }, + { 78,-11193 }, { 79,-11193 }, { 80,-11193 }, { 81,-11193 }, { 82,-11193 }, + { 83,-11193 }, { 84,-11193 }, { 85,-10161 }, { 86,-11193 }, { 87,-11193 }, + { 88,-11193 }, { 89,-11193 }, { 90,-11193 }, { 91,-11193 }, { 92,-11193 }, + { 93,-11193 }, { 94,-11193 }, { 95,-11193 }, { 96,-11193 }, { 97, 774 }, + { 98,-11193 }, { 99,-11193 }, { 100,-11193 }, { 101,-11193 }, { 102,-11193 }, + { 103,-11193 }, { 104,-11193 }, { 105,-11193 }, { 106,-11193 }, { 107,-11193 }, + + { 108,-11193 }, { 109,-11193 }, { 110,-11193 }, { 111,-11193 }, { 112,-11193 }, + { 113,-11193 }, { 114,-11193 }, { 115,-11193 }, { 116,-11193 }, { 117,-10161 }, + { 118,-11193 }, { 119,-11193 }, { 120,-11193 }, { 121,-11193 }, { 122,-11193 }, + { 123,-11193 }, { 124,-11193 }, { 125,-11193 }, { 126,-11193 }, { 127,-11193 }, + { 128,-11193 }, { 129,-11193 }, { 130,-11193 }, { 131,-11193 }, { 132,-11193 }, + { 133,-11193 }, { 134,-11193 }, { 135,-11193 }, { 136,-11193 }, { 137,-11193 }, + { 138,-11193 }, { 139,-11193 }, { 140,-11193 }, { 141,-11193 }, { 142,-11193 }, + { 143,-11193 }, { 144,-11193 }, { 145,-11193 }, { 146,-11193 }, { 147,-11193 }, + { 148,-11193 }, { 149,-11193 }, { 150,-11193 }, { 151,-11193 }, { 152,-11193 }, + { 153,-11193 }, { 154,-11193 }, { 155,-11193 }, { 156,-11193 }, { 157,-11193 }, + + { 158,-11193 }, { 159,-11193 }, { 160,-11193 }, { 161,-11193 }, { 162,-11193 }, + { 163,-11193 }, { 164,-11193 }, { 165,-11193 }, { 166,-11193 }, { 167,-11193 }, + { 168,-11193 }, { 169,-11193 }, { 170,-11193 }, { 171,-11193 }, { 172,-11193 }, + { 173,-11193 }, { 174,-11193 }, { 175,-11193 }, { 176,-11193 }, { 177,-11193 }, + { 178,-11193 }, { 179,-11193 }, { 180,-11193 }, { 181,-11193 }, { 182,-11193 }, + { 183,-11193 }, { 184,-11193 }, { 185,-11193 }, { 186,-11193 }, { 187,-11193 }, + { 188,-11193 }, { 189,-11193 }, { 190,-11193 }, { 191,-11193 }, { 192,-11193 }, + { 193,-11193 }, { 194,-11193 }, { 195,-11193 }, { 196,-11193 }, { 197,-11193 }, + { 198,-11193 }, { 199,-11193 }, { 200,-11193 }, { 201,-11193 }, { 202,-11193 }, + { 203,-11193 }, { 204,-11193 }, { 205,-11193 }, { 206,-11193 }, { 207,-11193 }, + + { 208,-11193 }, { 209,-11193 }, { 210,-11193 }, { 211,-11193 }, { 212,-11193 }, + { 213,-11193 }, { 214,-11193 }, { 215,-11193 }, { 216,-11193 }, { 217,-11193 }, + { 218,-11193 }, { 219,-11193 }, { 220,-11193 }, { 221,-11193 }, { 222,-11193 }, + { 223,-11193 }, { 224,-11193 }, { 225,-11193 }, { 226,-11193 }, { 227,-11193 }, + { 228,-11193 }, { 229,-11193 }, { 230,-11193 }, { 231,-11193 }, { 232,-11193 }, + { 233,-11193 }, { 234,-11193 }, { 235,-11193 }, { 236,-11193 }, { 237,-11193 }, + { 238,-11193 }, { 239,-11193 }, { 240,-11193 }, { 241,-11193 }, { 242,-11193 }, + { 243,-11193 }, { 244,-11193 }, { 245,-11193 }, { 246,-11193 }, { 247,-11193 }, + { 248,-11193 }, { 249,-11193 }, { 250,-11193 }, { 251,-11193 }, { 252,-11193 }, + { 253,-11193 }, { 254,-11193 }, { 255,-11193 }, { 256,-11193 }, { 0, 48 }, + + { 0,2580 }, { 1,-15182 }, { 2,-15182 }, { 3,-15182 }, { 4,-15182 }, + { 5,-15182 }, { 6,-15182 }, { 7,-15182 }, { 8,-15182 }, { 9,-14924 }, + { 10,-25794 }, { 11,-15182 }, { 12,-14924 }, { 13,-25794 }, { 14,-15182 }, + { 15,-15182 }, { 16,-15182 }, { 17,-15182 }, { 18,-15182 }, { 19,-15182 }, + { 20,-15182 }, { 21,-15182 }, { 22,-15182 }, { 23,-15182 }, { 24,-15182 }, + { 25,-15182 }, { 26,-15182 }, { 27,-15182 }, { 28,-15182 }, { 29,-15182 }, + { 30,-15182 }, { 31,-15182 }, { 32,-14924 }, { 33,-15182 }, { 34,-15182 }, + { 35,-15182 }, { 36,-15182 }, { 37,-15182 }, { 38,-15182 }, { 39,-14666 }, + { 40,-15182 }, { 41,-15182 }, { 42,-15182 }, { 43,-15182 }, { 44,-15182 }, + { 45,-9645 }, { 46,-15182 }, { 47,-15182 }, { 48,-15182 }, { 49,-15182 }, + + { 50,-15182 }, { 51,-15182 }, { 52,-15182 }, { 53,-15182 }, { 54,-15182 }, + { 55,-15182 }, { 56,-15182 }, { 57,-15182 }, { 58,-15182 }, { 59,-15182 }, + { 60,-15182 }, { 61,-15182 }, { 62,-15182 }, { 63,-15182 }, { 64,-15182 }, + { 65,-15182 }, { 66,-15182 }, { 67,-15182 }, { 68,-15182 }, { 69,-15182 }, + { 70,-15182 }, { 71,-15182 }, { 72,-15182 }, { 73,-15182 }, { 74,-15182 }, + { 75,-15182 }, { 76,-15182 }, { 77,-15182 }, { 78,-15182 }, { 79,-15182 }, + { 80, 774 }, { 81,-15182 }, { 82,-15182 }, { 83,-15182 }, { 84,-15182 }, + { 85,-14150 }, { 86,-15182 }, { 87,-15182 }, { 88,-15182 }, { 89,-15182 }, + { 90,-15182 }, { 91,-15182 }, { 92,-15182 }, { 93,-15182 }, { 94,-15182 }, + { 95,-15182 }, { 96,-15182 }, { 97,-15182 }, { 98,-15182 }, { 99,-15182 }, + + { 100,-15182 }, { 101,-15182 }, { 102,-15182 }, { 103,-15182 }, { 104,-15182 }, + { 105,-15182 }, { 106,-15182 }, { 107,-15182 }, { 108,-15182 }, { 109,-15182 }, + { 110,-15182 }, { 111,-15182 }, { 112, 774 }, { 113,-15182 }, { 114,-15182 }, + { 115,-15182 }, { 116,-15182 }, { 117,-14150 }, { 118,-15182 }, { 119,-15182 }, + { 120,-15182 }, { 121,-15182 }, { 122,-15182 }, { 123,-15182 }, { 124,-15182 }, + { 125,-15182 }, { 126,-15182 }, { 127,-15182 }, { 128,-15182 }, { 129,-15182 }, + { 130,-15182 }, { 131,-15182 }, { 132,-15182 }, { 133,-15182 }, { 134,-15182 }, + { 135,-15182 }, { 136,-15182 }, { 137,-15182 }, { 138,-15182 }, { 139,-15182 }, + { 140,-15182 }, { 141,-15182 }, { 142,-15182 }, { 143,-15182 }, { 144,-15182 }, + { 145,-15182 }, { 146,-15182 }, { 147,-15182 }, { 148,-15182 }, { 149,-15182 }, + + { 150,-15182 }, { 151,-15182 }, { 152,-15182 }, { 153,-15182 }, { 154,-15182 }, + { 155,-15182 }, { 156,-15182 }, { 157,-15182 }, { 158,-15182 }, { 159,-15182 }, + { 160,-15182 }, { 161,-15182 }, { 162,-15182 }, { 163,-15182 }, { 164,-15182 }, + { 165,-15182 }, { 166,-15182 }, { 167,-15182 }, { 168,-15182 }, { 169,-15182 }, + { 170,-15182 }, { 171,-15182 }, { 172,-15182 }, { 173,-15182 }, { 174,-15182 }, + { 175,-15182 }, { 176,-15182 }, { 177,-15182 }, { 178,-15182 }, { 179,-15182 }, + { 180,-15182 }, { 181,-15182 }, { 182,-15182 }, { 183,-15182 }, { 184,-15182 }, + { 185,-15182 }, { 186,-15182 }, { 187,-15182 }, { 188,-15182 }, { 189,-15182 }, + { 190,-15182 }, { 191,-15182 }, { 192,-15182 }, { 193,-15182 }, { 194,-15182 }, + { 195,-15182 }, { 196,-15182 }, { 197,-15182 }, { 198,-15182 }, { 199,-15182 }, + + { 200,-15182 }, { 201,-15182 }, { 202,-15182 }, { 203,-15182 }, { 204,-15182 }, + { 205,-15182 }, { 206,-15182 }, { 207,-15182 }, { 208,-15182 }, { 209,-15182 }, + { 210,-15182 }, { 211,-15182 }, { 212,-15182 }, { 213,-15182 }, { 214,-15182 }, + { 215,-15182 }, { 216,-15182 }, { 217,-15182 }, { 218,-15182 }, { 219,-15182 }, + { 220,-15182 }, { 221,-15182 }, { 222,-15182 }, { 223,-15182 }, { 224,-15182 }, + { 225,-15182 }, { 226,-15182 }, { 227,-15182 }, { 228,-15182 }, { 229,-15182 }, + { 230,-15182 }, { 231,-15182 }, { 232,-15182 }, { 233,-15182 }, { 234,-15182 }, + { 235,-15182 }, { 236,-15182 }, { 237,-15182 }, { 238,-15182 }, { 239,-15182 }, + { 240,-15182 }, { 241,-15182 }, { 242,-15182 }, { 243,-15182 }, { 244,-15182 }, + { 245,-15182 }, { 246,-15182 }, { 247,-15182 }, { 248,-15182 }, { 249,-15182 }, + + { 250,-15182 }, { 251,-15182 }, { 252,-15182 }, { 253,-15182 }, { 254,-15182 }, + { 255,-15182 }, { 256,-15182 }, { 0, 24 }, { 0,2322 }, { 1,-7720 }, + { 2,-7720 }, { 3,-7720 }, { 4,-7720 }, { 5,-7720 }, { 6,-7720 }, + { 7,-7720 }, { 8,-7720 }, { 9,-7462 }, { 10,-19456 }, { 11,-7720 }, + { 12,-7462 }, { 13,-19456 }, { 14,-7720 }, { 15,-7720 }, { 16,-7720 }, + { 17,-7720 }, { 18,-7720 }, { 19,-7720 }, { 20,-7720 }, { 21,-7720 }, + { 22,-7720 }, { 23,-7720 }, { 24,-7720 }, { 25,-7720 }, { 26,-7720 }, + { 27,-7720 }, { 28,-7720 }, { 29,-7720 }, { 30,-7720 }, { 31,-7720 }, + { 32,-7462 }, { 33,-7720 }, { 34,-7720 }, { 35,-7720 }, { 36,-7720 }, + { 37,-7720 }, { 38,-7720 }, { 39,-7204 }, { 40,-7720 }, { 41,-7720 }, + + { 42,-7720 }, { 43,-7720 }, { 44,-7720 }, { 45,-6430 }, { 46,-7720 }, + { 47,-7720 }, { 48,-7720 }, { 49,-7720 }, { 50,-7720 }, { 51,-7720 }, + { 52,-7720 }, { 53,-7720 }, { 54,-7720 }, { 55,-7720 }, { 56,-7720 }, + { 57,-7720 }, { 58,-7720 }, { 59,-7720 }, { 60,-7720 }, { 61,-7720 }, + { 62,-7720 }, { 63,-7720 }, { 64,-7720 }, { 65, 774 }, { 66,-7720 }, + { 67,-7720 }, { 68,-7720 }, { 69,-7720 }, { 70,-7720 }, { 71,-7720 }, + { 72,-7720 }, { 73,-7720 }, { 74,-7720 }, { 75,-7720 }, { 76,-7720 }, + { 77,-7720 }, { 78,-7720 }, { 79,-7720 }, { 80,-7720 }, { 81,-7720 }, + { 82,-7720 }, { 83,-7720 }, { 84,-7720 }, { 85,-6688 }, { 86,-7720 }, + { 87,-7720 }, { 88,-7720 }, { 89,-7720 }, { 90,-7720 }, { 91,-7720 }, + + { 92,-7720 }, { 93,-7720 }, { 94,-7720 }, { 95,-7720 }, { 96,-7720 }, + { 97, 774 }, { 98,-7720 }, { 99,-7720 }, { 100,-7720 }, { 101,-7720 }, + { 102,-7720 }, { 103,-7720 }, { 104,-7720 }, { 105,-7720 }, { 106,-7720 }, + { 107,-7720 }, { 108,-7720 }, { 109,-7720 }, { 110,-7720 }, { 111,-7720 }, + { 112,-7720 }, { 113,-7720 }, { 114,-7720 }, { 115,-7720 }, { 116,-7720 }, + { 117,-6688 }, { 118,-7720 }, { 119,-7720 }, { 120,-7720 }, { 121,-7720 }, + { 122,-7720 }, { 123,-7720 }, { 124,-7720 }, { 125,-7720 }, { 126,-7720 }, + { 127,-7720 }, { 128,-7720 }, { 129,-7720 }, { 130,-7720 }, { 131,-7720 }, + { 132,-7720 }, { 133,-7720 }, { 134,-7720 }, { 135,-7720 }, { 136,-7720 }, + { 137,-7720 }, { 138,-7720 }, { 139,-7720 }, { 140,-7720 }, { 141,-7720 }, + + { 142,-7720 }, { 143,-7720 }, { 144,-7720 }, { 145,-7720 }, { 146,-7720 }, + { 147,-7720 }, { 148,-7720 }, { 149,-7720 }, { 150,-7720 }, { 151,-7720 }, + { 152,-7720 }, { 153,-7720 }, { 154,-7720 }, { 155,-7720 }, { 156,-7720 }, + { 157,-7720 }, { 158,-7720 }, { 159,-7720 }, { 160,-7720 }, { 161,-7720 }, + { 162,-7720 }, { 163,-7720 }, { 164,-7720 }, { 165,-7720 }, { 166,-7720 }, + { 167,-7720 }, { 168,-7720 }, { 169,-7720 }, { 170,-7720 }, { 171,-7720 }, + { 172,-7720 }, { 173,-7720 }, { 174,-7720 }, { 175,-7720 }, { 176,-7720 }, + { 177,-7720 }, { 178,-7720 }, { 179,-7720 }, { 180,-7720 }, { 181,-7720 }, + { 182,-7720 }, { 183,-7720 }, { 184,-7720 }, { 185,-7720 }, { 186,-7720 }, + { 187,-7720 }, { 188,-7720 }, { 189,-7720 }, { 190,-7720 }, { 191,-7720 }, + + { 192,-7720 }, { 193,-7720 }, { 194,-7720 }, { 195,-7720 }, { 196,-7720 }, + { 197,-7720 }, { 198,-7720 }, { 199,-7720 }, { 200,-7720 }, { 201,-7720 }, + { 202,-7720 }, { 203,-7720 }, { 204,-7720 }, { 205,-7720 }, { 206,-7720 }, + { 207,-7720 }, { 208,-7720 }, { 209,-7720 }, { 210,-7720 }, { 211,-7720 }, + { 212,-7720 }, { 213,-7720 }, { 214,-7720 }, { 215,-7720 }, { 216,-7720 }, + { 217,-7720 }, { 218,-7720 }, { 219,-7720 }, { 220,-7720 }, { 221,-7720 }, + { 222,-7720 }, { 223,-7720 }, { 224,-7720 }, { 225,-7720 }, { 226,-7720 }, + { 227,-7720 }, { 228,-7720 }, { 229,-7720 }, { 230,-7720 }, { 231,-7720 }, + { 232,-7720 }, { 233,-7720 }, { 234,-7720 }, { 235,-7720 }, { 236,-7720 }, + { 237,-7720 }, { 238,-7720 }, { 239,-7720 }, { 240,-7720 }, { 241,-7720 }, + + { 242,-7720 }, { 243,-7720 }, { 244,-7720 }, { 245,-7720 }, { 246,-7720 }, + { 247,-7720 }, { 248,-7720 }, { 249,-7720 }, { 250,-7720 }, { 251,-7720 }, + { 252,-7720 }, { 253,-7720 }, { 254,-7720 }, { 255,-7720 }, { 256,-7720 }, + { 0, 24 }, { 0,2064 }, { 1,-11967 }, { 2,-11967 }, { 3,-11967 }, + { 4,-11967 }, { 5,-11967 }, { 6,-11967 }, { 7,-11967 }, { 8,-11967 }, + { 9,-11709 }, { 10,-24127 }, { 11,-11967 }, { 12,-11709 }, { 13,-24127 }, + { 14,-11967 }, { 15,-11967 }, { 16,-11967 }, { 17,-11967 }, { 18,-11967 }, + { 19,-11967 }, { 20,-11967 }, { 21,-11967 }, { 22,-11967 }, { 23,-11967 }, + { 24,-11967 }, { 25,-11967 }, { 26,-11967 }, { 27,-11967 }, { 28,-11967 }, + { 29,-11967 }, { 30,-11967 }, { 31,-11967 }, { 32,-11709 }, { 33,-11967 }, + + { 34,-11967 }, { 35,-11967 }, { 36,-11967 }, { 37,-11967 }, { 38,-11967 }, + { 39,-11451 }, { 40,-11967 }, { 41,-11967 }, { 42,-11967 }, { 43,-11967 }, + { 44,-11967 }, { 45,-6430 }, { 46,-11967 }, { 47,-11967 }, { 48,-11967 }, + { 49,-11967 }, { 50,-11967 }, { 51,-11967 }, { 52,-11967 }, { 53,-11967 }, + { 54,-11967 }, { 55,-11967 }, { 56,-11967 }, { 57,-11967 }, { 58,-11967 }, + { 59,-11967 }, { 60,-11967 }, { 61,-11967 }, { 62,-11967 }, { 63,-11967 }, + { 64,-11967 }, { 65,-11967 }, { 66,-11967 }, { 67,-11967 }, { 68,-11967 }, + { 69,-11967 }, { 70,-11967 }, { 71,-11967 }, { 72,-11967 }, { 73,-11967 }, + { 74,-11967 }, { 75,-11967 }, { 76,-11967 }, { 77,-11967 }, { 78,-11967 }, + { 79,-11967 }, { 80, 774 }, { 81,-11967 }, { 82,-11967 }, { 83,-11967 }, + + { 84,-11967 }, { 85,-10935 }, { 86,-11967 }, { 87,-11967 }, { 88,-11967 }, + { 89,-11967 }, { 90,-11967 }, { 91,-11967 }, { 92,-11967 }, { 93,-11967 }, + { 94,-11967 }, { 95,-11967 }, { 96,-11967 }, { 97,-11967 }, { 98,-11967 }, + { 99,-11967 }, { 100,-11967 }, { 101,-11967 }, { 102,-11967 }, { 103,-11967 }, + { 104,-11967 }, { 105,-11967 }, { 106,-11967 }, { 107,-11967 }, { 108,-11967 }, + { 109,-11967 }, { 110,-11967 }, { 111,-11967 }, { 112, 774 }, { 113,-11967 }, + { 114,-11967 }, { 115,-11967 }, { 116,-11967 }, { 117,-10935 }, { 118,-11967 }, + { 119,-11967 }, { 120,-11967 }, { 121,-11967 }, { 122,-11967 }, { 123,-11967 }, + { 124,-11967 }, { 125,-11967 }, { 126,-11967 }, { 127,-11967 }, { 128,-11967 }, + { 129,-11967 }, { 130,-11967 }, { 131,-11967 }, { 132,-11967 }, { 133,-11967 }, + + { 134,-11967 }, { 135,-11967 }, { 136,-11967 }, { 137,-11967 }, { 138,-11967 }, + { 139,-11967 }, { 140,-11967 }, { 141,-11967 }, { 142,-11967 }, { 143,-11967 }, + { 144,-11967 }, { 145,-11967 }, { 146,-11967 }, { 147,-11967 }, { 148,-11967 }, + { 149,-11967 }, { 150,-11967 }, { 151,-11967 }, { 152,-11967 }, { 153,-11967 }, + { 154,-11967 }, { 155,-11967 }, { 156,-11967 }, { 157,-11967 }, { 158,-11967 }, + { 159,-11967 }, { 160,-11967 }, { 161,-11967 }, { 162,-11967 }, { 163,-11967 }, + { 164,-11967 }, { 165,-11967 }, { 166,-11967 }, { 167,-11967 }, { 168,-11967 }, + { 169,-11967 }, { 170,-11967 }, { 171,-11967 }, { 172,-11967 }, { 173,-11967 }, + { 174,-11967 }, { 175,-11967 }, { 176,-11967 }, { 177,-11967 }, { 178,-11967 }, + { 179,-11967 }, { 180,-11967 }, { 181,-11967 }, { 182,-11967 }, { 183,-11967 }, + + { 184,-11967 }, { 185,-11967 }, { 186,-11967 }, { 187,-11967 }, { 188,-11967 }, + { 189,-11967 }, { 190,-11967 }, { 191,-11967 }, { 192,-11967 }, { 193,-11967 }, + { 194,-11967 }, { 195,-11967 }, { 196,-11967 }, { 197,-11967 }, { 198,-11967 }, + { 199,-11967 }, { 200,-11967 }, { 201,-11967 }, { 202,-11967 }, { 203,-11967 }, + { 204,-11967 }, { 205,-11967 }, { 206,-11967 }, { 207,-11967 }, { 208,-11967 }, + { 209,-11967 }, { 210,-11967 }, { 211,-11967 }, { 212,-11967 }, { 213,-11967 }, + { 214,-11967 }, { 215,-11967 }, { 216,-11967 }, { 217,-11967 }, { 218,-11967 }, + { 219,-11967 }, { 220,-11967 }, { 221,-11967 }, { 222,-11967 }, { 223,-11967 }, + { 224,-11967 }, { 225,-11967 }, { 226,-11967 }, { 227,-11967 }, { 228,-11967 }, + { 229,-11967 }, { 230,-11967 }, { 231,-11967 }, { 232,-11967 }, { 233,-11967 }, + + { 234,-11967 }, { 235,-11967 }, { 236,-11967 }, { 237,-11967 }, { 238,-11967 }, + { 239,-11967 }, { 240,-11967 }, { 241,-11967 }, { 242,-11967 }, { 243,-11967 }, + { 244,-11967 }, { 245,-11967 }, { 246,-11967 }, { 247,-11967 }, { 248,-11967 }, + { 249,-11967 }, { 250,-11967 }, { 251,-11967 }, { 252,-11967 }, { 253,-11967 }, + { 254,-11967 }, { 255,-11967 }, { 256,-11967 }, { 0, 48 }, { 0,1806 }, + { 1,-15956 }, { 2,-15956 }, { 3,-15956 }, { 4,-15956 }, { 5,-15956 }, + { 6,-15956 }, { 7,-15956 }, { 8,-15956 }, { 9,-15698 }, { 10,-26568 }, + { 11,-15956 }, { 12,-15698 }, { 13,-26568 }, { 14,-15956 }, { 15,-15956 }, + { 16,-15956 }, { 17,-15956 }, { 18,-15956 }, { 19,-15956 }, { 20,-15956 }, + { 21,-15956 }, { 22,-15956 }, { 23,-15956 }, { 24,-15956 }, { 25,-15956 }, + + { 26,-15956 }, { 27,-15956 }, { 28,-15956 }, { 29,-15956 }, { 30,-15956 }, + { 31,-15956 }, { 32,-15698 }, { 33,-15956 }, { 34,-15956 }, { 35,-15956 }, + { 36,-15956 }, { 37,-15956 }, { 38,-15956 }, { 39,-15440 }, { 40,-15956 }, + { 41,-15956 }, { 42,-15956 }, { 43,-15956 }, { 44,-15956 }, { 45,-10419 }, + { 46,-15956 }, { 47,-15956 }, { 48,-15956 }, { 49,-15956 }, { 50,-15956 }, + { 51,-15956 }, { 52,-15956 }, { 53,-15956 }, { 54,-15956 }, { 55,-15956 }, + { 56,-15956 }, { 57,-15956 }, { 58,-15956 }, { 59,-15956 }, { 60,-15956 }, + { 61,-15956 }, { 62,-15956 }, { 63,-15956 }, { 64,-15956 }, { 65,-15956 }, + { 66,-15956 }, { 67,-15956 }, { 68,-15956 }, { 69, 774 }, { 70,-15956 }, + { 71,-15956 }, { 72,-15956 }, { 73,-15956 }, { 74,-15956 }, { 75,-15956 }, + + { 76,-15956 }, { 77,-15956 }, { 78,-15956 }, { 79,-15956 }, { 80,-15956 }, + { 81,-15956 }, { 82,-15956 }, { 83,-15956 }, { 84,-15956 }, { 85,-14924 }, + { 86,-15956 }, { 87,-15956 }, { 88,-15956 }, { 89,-15956 }, { 90,-15956 }, + { 91,-15956 }, { 92,-15956 }, { 93,-15956 }, { 94,-15956 }, { 95,-15956 }, + { 96,-15956 }, { 97,-15956 }, { 98,-15956 }, { 99,-15956 }, { 100,-15956 }, + { 101, 774 }, { 102,-15956 }, { 103,-15956 }, { 104,-15956 }, { 105,-15956 }, + { 106,-15956 }, { 107,-15956 }, { 108,-15956 }, { 109,-15956 }, { 110,-15956 }, + { 111,-15956 }, { 112,-15956 }, { 113,-15956 }, { 114,-15956 }, { 115,-15956 }, + { 116,-15956 }, { 117,-14924 }, { 118,-15956 }, { 119,-15956 }, { 120,-15956 }, + { 121,-15956 }, { 122,-15956 }, { 123,-15956 }, { 124,-15956 }, { 125,-15956 }, + + { 126,-15956 }, { 127,-15956 }, { 128,-15956 }, { 129,-15956 }, { 130,-15956 }, + { 131,-15956 }, { 132,-15956 }, { 133,-15956 }, { 134,-15956 }, { 135,-15956 }, + { 136,-15956 }, { 137,-15956 }, { 138,-15956 }, { 139,-15956 }, { 140,-15956 }, + { 141,-15956 }, { 142,-15956 }, { 143,-15956 }, { 144,-15956 }, { 145,-15956 }, + { 146,-15956 }, { 147,-15956 }, { 148,-15956 }, { 149,-15956 }, { 150,-15956 }, + { 151,-15956 }, { 152,-15956 }, { 153,-15956 }, { 154,-15956 }, { 155,-15956 }, + { 156,-15956 }, { 157,-15956 }, { 158,-15956 }, { 159,-15956 }, { 160,-15956 }, + { 161,-15956 }, { 162,-15956 }, { 163,-15956 }, { 164,-15956 }, { 165,-15956 }, + { 166,-15956 }, { 167,-15956 }, { 168,-15956 }, { 169,-15956 }, { 170,-15956 }, + { 171,-15956 }, { 172,-15956 }, { 173,-15956 }, { 174,-15956 }, { 175,-15956 }, + + { 176,-15956 }, { 177,-15956 }, { 178,-15956 }, { 179,-15956 }, { 180,-15956 }, + { 181,-15956 }, { 182,-15956 }, { 183,-15956 }, { 184,-15956 }, { 185,-15956 }, + { 186,-15956 }, { 187,-15956 }, { 188,-15956 }, { 189,-15956 }, { 190,-15956 }, + { 191,-15956 }, { 192,-15956 }, { 193,-15956 }, { 194,-15956 }, { 195,-15956 }, + { 196,-15956 }, { 197,-15956 }, { 198,-15956 }, { 199,-15956 }, { 200,-15956 }, + { 201,-15956 }, { 202,-15956 }, { 203,-15956 }, { 204,-15956 }, { 205,-15956 }, + { 206,-15956 }, { 207,-15956 }, { 208,-15956 }, { 209,-15956 }, { 210,-15956 }, + { 211,-15956 }, { 212,-15956 }, { 213,-15956 }, { 214,-15956 }, { 215,-15956 }, + { 216,-15956 }, { 217,-15956 }, { 218,-15956 }, { 219,-15956 }, { 220,-15956 }, + { 221,-15956 }, { 222,-15956 }, { 223,-15956 }, { 224,-15956 }, { 225,-15956 }, + + { 226,-15956 }, { 227,-15956 }, { 228,-15956 }, { 229,-15956 }, { 230,-15956 }, + { 231,-15956 }, { 232,-15956 }, { 233,-15956 }, { 234,-15956 }, { 235,-15956 }, + { 236,-15956 }, { 237,-15956 }, { 238,-15956 }, { 239,-15956 }, { 240,-15956 }, + { 241,-15956 }, { 242,-15956 }, { 243,-15956 }, { 244,-15956 }, { 245,-15956 }, + { 246,-15956 }, { 247,-15956 }, { 248,-15956 }, { 249,-15956 }, { 250,-15956 }, + { 251,-15956 }, { 252,-15956 }, { 253,-15956 }, { 254,-15956 }, { 255,-15956 }, + { 256,-15956 }, { 0, 24 }, { 0,1548 }, { 1,-8494 }, { 2,-8494 }, + { 3,-8494 }, { 4,-8494 }, { 5,-8494 }, { 6,-8494 }, { 7,-8494 }, + { 8,-8494 }, { 9,-8236 }, { 10,-20230 }, { 11,-8494 }, { 12,-8236 }, + { 13,-20230 }, { 14,-8494 }, { 15,-8494 }, { 16,-8494 }, { 17,-8494 }, + + { 18,-8494 }, { 19,-8494 }, { 20,-8494 }, { 21,-8494 }, { 22,-8494 }, + { 23,-8494 }, { 24,-8494 }, { 25,-8494 }, { 26,-8494 }, { 27,-8494 }, + { 28,-8494 }, { 29,-8494 }, { 30,-8494 }, { 31,-8494 }, { 32,-8236 }, + { 33,-8494 }, { 34,-8494 }, { 35,-8494 }, { 36,-8494 }, { 37,-8494 }, + { 38,-8494 }, { 39,-7978 }, { 40,-8494 }, { 41,-8494 }, { 42,-8494 }, + { 43,-8494 }, { 44,-8494 }, { 45,-7204 }, { 46,-8494 }, { 47,-8494 }, + { 48,-8494 }, { 49,-8494 }, { 50,-8494 }, { 51,-8494 }, { 52,-8494 }, + { 53,-8494 }, { 54,-8494 }, { 55,-8494 }, { 56,-8494 }, { 57,-8494 }, + { 58,-8494 }, { 59,-8494 }, { 60,-8494 }, { 61,-8494 }, { 62,-8494 }, + { 63,-8494 }, { 64,-8494 }, { 65,-8494 }, { 66,-8494 }, { 67,-8494 }, + + { 68,-8494 }, { 69,-8494 }, { 70,-8494 }, { 71,-8494 }, { 72,-8494 }, + { 73,-8494 }, { 74,-8494 }, { 75,-8494 }, { 76,-8494 }, { 77,-8494 }, + { 78,-8494 }, { 79,-8494 }, { 80, 774 }, { 81,-8494 }, { 82,-8494 }, + { 83,-8494 }, { 84,-8494 }, { 85,-7462 }, { 86,-8494 }, { 87,-8494 }, + { 88,-8494 }, { 89,-8494 }, { 90,-8494 }, { 91,-8494 }, { 92,-8494 }, + { 93,-8494 }, { 94,-8494 }, { 95,-8494 }, { 96,-8494 }, { 97,-8494 }, + { 98,-8494 }, { 99,-8494 }, { 100,-8494 }, { 101,-8494 }, { 102,-8494 }, + { 103,-8494 }, { 104,-8494 }, { 105,-8494 }, { 106,-8494 }, { 107,-8494 }, + { 108,-8494 }, { 109,-8494 }, { 110,-8494 }, { 111,-8494 }, { 112, 774 }, + { 113,-8494 }, { 114,-8494 }, { 115,-8494 }, { 116,-8494 }, { 117,-7462 }, + + { 118,-8494 }, { 119,-8494 }, { 120,-8494 }, { 121,-8494 }, { 122,-8494 }, + { 123,-8494 }, { 124,-8494 }, { 125,-8494 }, { 126,-8494 }, { 127,-8494 }, + { 128,-8494 }, { 129,-8494 }, { 130,-8494 }, { 131,-8494 }, { 132,-8494 }, + { 133,-8494 }, { 134,-8494 }, { 135,-8494 }, { 136,-8494 }, { 137,-8494 }, + { 138,-8494 }, { 139,-8494 }, { 140,-8494 }, { 141,-8494 }, { 142,-8494 }, + { 143,-8494 }, { 144,-8494 }, { 145,-8494 }, { 146,-8494 }, { 147,-8494 }, + { 148,-8494 }, { 149,-8494 }, { 150,-8494 }, { 151,-8494 }, { 152,-8494 }, + { 153,-8494 }, { 154,-8494 }, { 155,-8494 }, { 156,-8494 }, { 157,-8494 }, + { 158,-8494 }, { 159,-8494 }, { 160,-8494 }, { 161,-8494 }, { 162,-8494 }, + { 163,-8494 }, { 164,-8494 }, { 165,-8494 }, { 166,-8494 }, { 167,-8494 }, + + { 168,-8494 }, { 169,-8494 }, { 170,-8494 }, { 171,-8494 }, { 172,-8494 }, + { 173,-8494 }, { 174,-8494 }, { 175,-8494 }, { 176,-8494 }, { 177,-8494 }, + { 178,-8494 }, { 179,-8494 }, { 180,-8494 }, { 181,-8494 }, { 182,-8494 }, + { 183,-8494 }, { 184,-8494 }, { 185,-8494 }, { 186,-8494 }, { 187,-8494 }, + { 188,-8494 }, { 189,-8494 }, { 190,-8494 }, { 191,-8494 }, { 192,-8494 }, + { 193,-8494 }, { 194,-8494 }, { 195,-8494 }, { 196,-8494 }, { 197,-8494 }, + { 198,-8494 }, { 199,-8494 }, { 200,-8494 }, { 201,-8494 }, { 202,-8494 }, + { 203,-8494 }, { 204,-8494 }, { 205,-8494 }, { 206,-8494 }, { 207,-8494 }, + { 208,-8494 }, { 209,-8494 }, { 210,-8494 }, { 211,-8494 }, { 212,-8494 }, + { 213,-8494 }, { 214,-8494 }, { 215,-8494 }, { 216,-8494 }, { 217,-8494 }, + + { 218,-8494 }, { 219,-8494 }, { 220,-8494 }, { 221,-8494 }, { 222,-8494 }, + { 223,-8494 }, { 224,-8494 }, { 225,-8494 }, { 226,-8494 }, { 227,-8494 }, + { 228,-8494 }, { 229,-8494 }, { 230,-8494 }, { 231,-8494 }, { 232,-8494 }, + { 233,-8494 }, { 234,-8494 }, { 235,-8494 }, { 236,-8494 }, { 237,-8494 }, + { 238,-8494 }, { 239,-8494 }, { 240,-8494 }, { 241,-8494 }, { 242,-8494 }, + { 243,-8494 }, { 244,-8494 }, { 245,-8494 }, { 246,-8494 }, { 247,-8494 }, + { 248,-8494 }, { 249,-8494 }, { 250,-8494 }, { 251,-8494 }, { 252,-8494 }, + { 253,-8494 }, { 254,-8494 }, { 255,-8494 }, { 256,-8494 }, { 0, 24 }, + { 0,1290 }, { 1,-12741 }, { 2,-12741 }, { 3,-12741 }, { 4,-12741 }, + { 5,-12741 }, { 6,-12741 }, { 7,-12741 }, { 8,-12741 }, { 9,-12483 }, + + { 10,-24901 }, { 11,-12741 }, { 12,-12483 }, { 13,-24901 }, { 14,-12741 }, + { 15,-12741 }, { 16,-12741 }, { 17,-12741 }, { 18,-12741 }, { 19,-12741 }, + { 20,-12741 }, { 21,-12741 }, { 22,-12741 }, { 23,-12741 }, { 24,-12741 }, + { 25,-12741 }, { 26,-12741 }, { 27,-12741 }, { 28,-12741 }, { 29,-12741 }, + { 30,-12741 }, { 31,-12741 }, { 32,-12483 }, { 33,-12741 }, { 34,-12741 }, + { 35,-12741 }, { 36,-12741 }, { 37,-12741 }, { 38,-12741 }, { 39,-12225 }, + { 40,-12741 }, { 41,-12741 }, { 42,-12741 }, { 43,-12741 }, { 44,-12741 }, + { 45,-7204 }, { 46,-12741 }, { 47,-12741 }, { 48,-12741 }, { 49,-12741 }, + { 50,-12741 }, { 51,-12741 }, { 52,-12741 }, { 53,-12741 }, { 54,-12741 }, + { 55,-12741 }, { 56,-12741 }, { 57,-12741 }, { 58,-12741 }, { 59,-12741 }, + + { 60,-12741 }, { 61,-12741 }, { 62,-12741 }, { 63,-12741 }, { 64,-12741 }, + { 65,-12741 }, { 66,-12741 }, { 67,-12741 }, { 68,-12741 }, { 69, 774 }, + { 70,-12741 }, { 71,-12741 }, { 72,-12741 }, { 73,-12741 }, { 74,-12741 }, + { 75,-12741 }, { 76,-12741 }, { 77,-12741 }, { 78,-12741 }, { 79,-12741 }, + { 80,-12741 }, { 81,-12741 }, { 82,-12741 }, { 83,-12741 }, { 84,-12741 }, + { 85,-11709 }, { 86,-12741 }, { 87,-12741 }, { 88,-12741 }, { 89,-12741 }, + { 90,-12741 }, { 91,-12741 }, { 92,-12741 }, { 93,-12741 }, { 94,-12741 }, + { 95,-12741 }, { 96,-12741 }, { 97,-12741 }, { 98,-12741 }, { 99,-12741 }, + { 100,-12741 }, { 101, 774 }, { 102,-12741 }, { 103,-12741 }, { 104,-12741 }, + { 105,-12741 }, { 106,-12741 }, { 107,-12741 }, { 108,-12741 }, { 109,-12741 }, + + { 110,-12741 }, { 111,-12741 }, { 112,-12741 }, { 113,-12741 }, { 114,-12741 }, + { 115,-12741 }, { 116,-12741 }, { 117,-11709 }, { 118,-12741 }, { 119,-12741 }, + { 120,-12741 }, { 121,-12741 }, { 122,-12741 }, { 123,-12741 }, { 124,-12741 }, + { 125,-12741 }, { 126,-12741 }, { 127,-12741 }, { 128,-12741 }, { 129,-12741 }, + { 130,-12741 }, { 131,-12741 }, { 132,-12741 }, { 133,-12741 }, { 134,-12741 }, + { 135,-12741 }, { 136,-12741 }, { 137,-12741 }, { 138,-12741 }, { 139,-12741 }, + { 140,-12741 }, { 141,-12741 }, { 142,-12741 }, { 143,-12741 }, { 144,-12741 }, + { 145,-12741 }, { 146,-12741 }, { 147,-12741 }, { 148,-12741 }, { 149,-12741 }, + { 150,-12741 }, { 151,-12741 }, { 152,-12741 }, { 153,-12741 }, { 154,-12741 }, + { 155,-12741 }, { 156,-12741 }, { 157,-12741 }, { 158,-12741 }, { 159,-12741 }, + + { 160,-12741 }, { 161,-12741 }, { 162,-12741 }, { 163,-12741 }, { 164,-12741 }, + { 165,-12741 }, { 166,-12741 }, { 167,-12741 }, { 168,-12741 }, { 169,-12741 }, + { 170,-12741 }, { 171,-12741 }, { 172,-12741 }, { 173,-12741 }, { 174,-12741 }, + { 175,-12741 }, { 176,-12741 }, { 177,-12741 }, { 178,-12741 }, { 179,-12741 }, + { 180,-12741 }, { 181,-12741 }, { 182,-12741 }, { 183,-12741 }, { 184,-12741 }, + { 185,-12741 }, { 186,-12741 }, { 187,-12741 }, { 188,-12741 }, { 189,-12741 }, + { 190,-12741 }, { 191,-12741 }, { 192,-12741 }, { 193,-12741 }, { 194,-12741 }, + { 195,-12741 }, { 196,-12741 }, { 197,-12741 }, { 198,-12741 }, { 199,-12741 }, + { 200,-12741 }, { 201,-12741 }, { 202,-12741 }, { 203,-12741 }, { 204,-12741 }, + { 205,-12741 }, { 206,-12741 }, { 207,-12741 }, { 208,-12741 }, { 209,-12741 }, + + { 210,-12741 }, { 211,-12741 }, { 212,-12741 }, { 213,-12741 }, { 214,-12741 }, + { 215,-12741 }, { 216,-12741 }, { 217,-12741 }, { 218,-12741 }, { 219,-12741 }, + { 220,-12741 }, { 221,-12741 }, { 222,-12741 }, { 223,-12741 }, { 224,-12741 }, + { 225,-12741 }, { 226,-12741 }, { 227,-12741 }, { 228,-12741 }, { 229,-12741 }, + { 230,-12741 }, { 231,-12741 }, { 232,-12741 }, { 233,-12741 }, { 234,-12741 }, + { 235,-12741 }, { 236,-12741 }, { 237,-12741 }, { 238,-12741 }, { 239,-12741 }, + { 240,-12741 }, { 241,-12741 }, { 242,-12741 }, { 243,-12741 }, { 244,-12741 }, + { 245,-12741 }, { 246,-12741 }, { 247,-12741 }, { 248,-12741 }, { 249,-12741 }, + { 250,-12741 }, { 251,-12741 }, { 252,-12741 }, { 253,-12741 }, { 254,-12741 }, + { 255,-12741 }, { 256,-12741 }, { 0, 48 }, { 0,1032 }, { 1,-16730 }, + + { 2,-16730 }, { 3,-16730 }, { 4,-16730 }, { 5,-16730 }, { 6,-16730 }, + { 7,-16730 }, { 8,-16730 }, { 9,-16472 }, { 10,-27342 }, { 11,-16730 }, + { 12,-16472 }, { 13,-27342 }, { 14,-16730 }, { 15,-16730 }, { 16,-16730 }, + { 17,-16730 }, { 18,-16730 }, { 19,-16730 }, { 20,-16730 }, { 21,-16730 }, + { 22,-16730 }, { 23,-16730 }, { 24,-16730 }, { 25,-16730 }, { 26,-16730 }, + { 27,-16730 }, { 28,-16730 }, { 29,-16730 }, { 30,-16730 }, { 31,-16730 }, + { 32,-16472 }, { 33,-16730 }, { 34,-16730 }, { 35,-16730 }, { 36,-16730 }, + { 37,-16730 }, { 38,-16730 }, { 39,-16214 }, { 40,-16730 }, { 41,-16730 }, + { 42,-16730 }, { 43,-16730 }, { 44,-16730 }, { 45,-11193 }, { 46,-16730 }, + { 47,-16730 }, { 48,-16730 }, { 49,-16730 }, { 50,-16730 }, { 51,-16730 }, + + { 52,-16730 }, { 53,-16730 }, { 54,-16730 }, { 55,-16730 }, { 56,-16730 }, + { 57,-16730 }, { 58,-16730 }, { 59,-16730 }, { 60,-16730 }, { 61,-16730 }, + { 62,-16730 }, { 63,-16730 }, { 64,-16730 }, { 65,-16730 }, { 66,-16730 }, + { 67,-16730 }, { 68,-16730 }, { 69,-16730 }, { 70,-16730 }, { 71,-16730 }, + { 72,-16730 }, { 73,-16730 }, { 74,-16730 }, { 75,-16730 }, { 76,-16730 }, + { 77,-16730 }, { 78,-16730 }, { 79,-16730 }, { 80,-16730 }, { 81,-16730 }, + { 82,-16730 }, { 83,-16730 }, { 84,-16730 }, { 85,-15698 }, { 86,-16730 }, + { 87,-16730 }, { 88,-16730 }, { 89,-16730 }, { 90,-16730 }, { 91,-16730 }, + { 92,-16730 }, { 93,-16730 }, { 94,-16730 }, { 95,-16730 }, { 96,-16730 }, + { 97,-16730 }, { 98,-16730 }, { 99,-16730 }, { 100,-16730 }, { 101,-16730 }, + + { 102,-16730 }, { 103,-16730 }, { 104,-16730 }, { 105,-16730 }, { 106,-16730 }, + { 107,-16730 }, { 108,-16730 }, { 109,-16730 }, { 110,-16730 }, { 111,-16730 }, + { 112,-16730 }, { 113,-16730 }, { 114,-16730 }, { 115,-16730 }, { 116,-16730 }, + { 117,-15698 }, { 118,-16730 }, { 119,-16730 }, { 120,-16730 }, { 121,-16730 }, + { 122,-16730 }, { 123,-16730 }, { 124,-16730 }, { 125,-16730 }, { 126,-16730 }, + { 127,-16730 }, { 128,-16730 }, { 129,-16730 }, { 130,-16730 }, { 131,-16730 }, + { 132,-16730 }, { 133,-16730 }, { 134,-16730 }, { 135,-16730 }, { 136,-16730 }, + { 137,-16730 }, { 138,-16730 }, { 139,-16730 }, { 140,-16730 }, { 141,-16730 }, + { 142,-16730 }, { 143,-16730 }, { 144,-16730 }, { 145,-16730 }, { 146,-16730 }, + { 147,-16730 }, { 148,-16730 }, { 149,-16730 }, { 150,-16730 }, { 151,-16730 }, + + { 152,-16730 }, { 153,-16730 }, { 154,-16730 }, { 155,-16730 }, { 156,-16730 }, + { 157,-16730 }, { 158,-16730 }, { 159,-16730 }, { 160,-16730 }, { 161,-16730 }, + { 162,-16730 }, { 163,-16730 }, { 164,-16730 }, { 165,-16730 }, { 166,-16730 }, + { 167,-16730 }, { 168,-16730 }, { 169,-16730 }, { 170,-16730 }, { 171,-16730 }, + { 172,-16730 }, { 173,-16730 }, { 174,-16730 }, { 175,-16730 }, { 176,-16730 }, + { 177,-16730 }, { 178,-16730 }, { 179,-16730 }, { 180,-16730 }, { 181,-16730 }, + { 182,-16730 }, { 183,-16730 }, { 184,-16730 }, { 185,-16730 }, { 186,-16730 }, + { 187,-16730 }, { 188,-16730 }, { 189,-16730 }, { 190,-16730 }, { 191,-16730 }, + { 192,-16730 }, { 193,-16730 }, { 194,-16730 }, { 195,-16730 }, { 196,-16730 }, + { 197,-16730 }, { 198,-16730 }, { 199,-16730 }, { 200,-16730 }, { 201,-16730 }, + + { 202,-16730 }, { 203,-16730 }, { 204,-16730 }, { 205,-16730 }, { 206,-16730 }, + { 207,-16730 }, { 208,-16730 }, { 209,-16730 }, { 210,-16730 }, { 211,-16730 }, + { 212,-16730 }, { 213,-16730 }, { 214,-16730 }, { 215,-16730 }, { 216,-16730 }, + { 217,-16730 }, { 218,-16730 }, { 219,-16730 }, { 220,-16730 }, { 221,-16730 }, + { 222,-16730 }, { 223,-16730 }, { 224,-16730 }, { 225,-16730 }, { 226,-16730 }, + { 227,-16730 }, { 228,-16730 }, { 229,-16730 }, { 230,-16730 }, { 231,-16730 }, + { 232,-16730 }, { 233,-16730 }, { 234,-16730 }, { 235,-16730 }, { 236,-16730 }, + { 237,-16730 }, { 238,-16730 }, { 239,-16730 }, { 240,-16730 }, { 241,-16730 }, + { 242,-16730 }, { 243,-16730 }, { 244,-16730 }, { 245,-16730 }, { 246,-16730 }, + { 247,-16730 }, { 248,-16730 }, { 249,-16730 }, { 250,-16730 }, { 251,-16730 }, + + { 252,-16730 }, { 253,-16730 }, { 254,-16730 }, { 255,-16730 }, { 256,-16730 }, + { 0, 24 }, { 0, 774 }, { 1,-9268 }, { 2,-9268 }, { 3,-9268 }, + { 4,-9268 }, { 5,-9268 }, { 6,-9268 }, { 7,-9268 }, { 8,-9268 }, + { 9,-9010 }, { 10,-21004 }, { 11,-9268 }, { 12,-9010 }, { 13,-21004 }, + { 14,-9268 }, { 15,-9268 }, { 16,-9268 }, { 17,-9268 }, { 18,-9268 }, + { 19,-9268 }, { 20,-9268 }, { 21,-9268 }, { 22,-9268 }, { 23,-9268 }, + { 24,-9268 }, { 25,-9268 }, { 26,-9268 }, { 27,-9268 }, { 28,-9268 }, + { 29,-9268 }, { 30,-9268 }, { 31,-9268 }, { 32,-9010 }, { 33,-9268 }, + { 34,-9268 }, { 35,-9268 }, { 36,-9268 }, { 37,-9268 }, { 38,-9268 }, + { 39,-8752 }, { 40,-9268 }, { 41,-9268 }, { 42,-9268 }, { 43,-9268 }, + + { 44,-9268 }, { 45,-7978 }, { 46,-9268 }, { 47,-9268 }, { 48,-9268 }, + { 49,-9268 }, { 50,-9268 }, { 51,-9268 }, { 52,-9268 }, { 53,-9268 }, + { 54,-9268 }, { 55,-9268 }, { 56,-9268 }, { 57,-9268 }, { 58,-9268 }, + { 59,-9268 }, { 60,-9268 }, { 61,-9268 }, { 62,-9268 }, { 63,-9268 }, + { 64,-9268 }, { 65,-9268 }, { 66,-9268 }, { 67,-9268 }, { 68,-9268 }, + { 69, 516 }, { 70,-9268 }, { 71,-9268 }, { 72,-9268 }, { 73,-9268 }, + { 74,-9268 }, { 75,-9268 }, { 76,-9268 }, { 77,-9268 }, { 78,-9268 }, + { 79,-9268 }, { 80,-9268 }, { 81,-9268 }, { 82,-9268 }, { 83,-9268 }, + { 84,-9268 }, { 85,-8236 }, { 86,-9268 }, { 87,-9268 }, { 88,-9268 }, + { 89,-9268 }, { 90,-9268 }, { 91,-9268 }, { 92,-9268 }, { 93,-9268 }, + + { 94,-9268 }, { 95,-9268 }, { 96,-9268 }, { 97,-9268 }, { 98,-9268 }, + { 99,-9268 }, { 100,-9268 }, { 101, 516 }, { 102,-9268 }, { 103,-9268 }, + { 104,-9268 }, { 105,-9268 }, { 106,-9268 }, { 107,-9268 }, { 108,-9268 }, + { 109,-9268 }, { 110,-9268 }, { 111,-9268 }, { 112,-9268 }, { 113,-9268 }, + { 114,-9268 }, { 115,-9268 }, { 116,-9268 }, { 117,-8236 }, { 118,-9268 }, + { 119,-9268 }, { 120,-9268 }, { 121,-9268 }, { 122,-9268 }, { 123,-9268 }, + { 124,-9268 }, { 125,-9268 }, { 126,-9268 }, { 127,-9268 }, { 128,-9268 }, + { 129,-9268 }, { 130,-9268 }, { 131,-9268 }, { 132,-9268 }, { 133,-9268 }, + { 134,-9268 }, { 135,-9268 }, { 136,-9268 }, { 137,-9268 }, { 138,-9268 }, + { 139,-9268 }, { 140,-9268 }, { 141,-9268 }, { 142,-9268 }, { 143,-9268 }, + + { 144,-9268 }, { 145,-9268 }, { 146,-9268 }, { 147,-9268 }, { 148,-9268 }, + { 149,-9268 }, { 150,-9268 }, { 151,-9268 }, { 152,-9268 }, { 153,-9268 }, + { 154,-9268 }, { 155,-9268 }, { 156,-9268 }, { 157,-9268 }, { 158,-9268 }, + { 159,-9268 }, { 160,-9268 }, { 161,-9268 }, { 162,-9268 }, { 163,-9268 }, + { 164,-9268 }, { 165,-9268 }, { 166,-9268 }, { 167,-9268 }, { 168,-9268 }, + { 169,-9268 }, { 170,-9268 }, { 171,-9268 }, { 172,-9268 }, { 173,-9268 }, + { 174,-9268 }, { 175,-9268 }, { 176,-9268 }, { 177,-9268 }, { 178,-9268 }, + { 179,-9268 }, { 180,-9268 }, { 181,-9268 }, { 182,-9268 }, { 183,-9268 }, + { 184,-9268 }, { 185,-9268 }, { 186,-9268 }, { 187,-9268 }, { 188,-9268 }, + { 189,-9268 }, { 190,-9268 }, { 191,-9268 }, { 192,-9268 }, { 193,-9268 }, + + { 194,-9268 }, { 195,-9268 }, { 196,-9268 }, { 197,-9268 }, { 198,-9268 }, + { 199,-9268 }, { 200,-9268 }, { 201,-9268 }, { 202,-9268 }, { 203,-9268 }, + { 204,-9268 }, { 205,-9268 }, { 206,-9268 }, { 207,-9268 }, { 208,-9268 }, + { 209,-9268 }, { 210,-9268 }, { 211,-9268 }, { 212,-9268 }, { 213,-9268 }, + { 214,-9268 }, { 215,-9268 }, { 216,-9268 }, { 217,-9268 }, { 218,-9268 }, + { 219,-9268 }, { 220,-9268 }, { 221,-9268 }, { 222,-9268 }, { 223,-9268 }, + { 224,-9268 }, { 225,-9268 }, { 226,-9268 }, { 227,-9268 }, { 228,-9268 }, + { 229,-9268 }, { 230,-9268 }, { 231,-9268 }, { 232,-9268 }, { 233,-9268 }, + { 234,-9268 }, { 235,-9268 }, { 236,-9268 }, { 237,-9268 }, { 238,-9268 }, + { 239,-9268 }, { 240,-9268 }, { 241,-9268 }, { 242,-9268 }, { 243,-9268 }, + + { 244,-9268 }, { 245,-9268 }, { 246,-9268 }, { 247,-9268 }, { 248,-9268 }, + { 249,-9268 }, { 250,-9268 }, { 251,-9268 }, { 252,-9268 }, { 253,-9268 }, + { 254,-9268 }, { 255,-9268 }, { 256,-9268 }, { 0, 24 }, { 0, 516 }, + { 1,-13515 }, { 2,-13515 }, { 3,-13515 }, { 4,-13515 }, { 5,-13515 }, + { 6,-13515 }, { 7,-13515 }, { 8,-13515 }, { 9,-13257 }, { 10,-25675 }, + { 11,-13515 }, { 12,-13257 }, { 13,-25675 }, { 14,-13515 }, { 15,-13515 }, + { 16,-13515 }, { 17,-13515 }, { 18,-13515 }, { 19,-13515 }, { 20,-13515 }, + { 21,-13515 }, { 22,-13515 }, { 23,-13515 }, { 24,-13515 }, { 25,-13515 }, + { 26,-13515 }, { 27,-13515 }, { 28,-13515 }, { 29,-13515 }, { 30,-13515 }, + { 31,-13515 }, { 32,-13257 }, { 33,-13515 }, { 34,-13515 }, { 35,-13515 }, + + { 36,-13515 }, { 37,-13515 }, { 38,-13515 }, { 39,-12999 }, { 40,-13515 }, + { 41,-13515 }, { 42,-13515 }, { 43,-13515 }, { 44,-13515 }, { 45,-7978 }, + { 46,-13515 }, { 47,-13515 }, { 48,-13515 }, { 49,-13515 }, { 50,-13515 }, + { 51,-13515 }, { 52,-13515 }, { 53,-13515 }, { 54,-13515 }, { 55,-13515 }, + { 56,-13515 }, { 57,-13515 }, { 58,-13515 }, { 59,-13515 }, { 60,-13515 }, + { 61,-13515 }, { 62,-13515 }, { 63,-13515 }, { 64,-13515 }, { 65,-13515 }, + { 66,-13515 }, { 67,-13515 }, { 68,-13515 }, { 69,-13515 }, { 70,-13515 }, + { 71,-13515 }, { 72,-13515 }, { 73,-13515 }, { 74,-13515 }, { 75,-13515 }, + { 76,-13515 }, { 77,-13515 }, { 78,-13515 }, { 79,-13515 }, { 80,-13515 }, + { 81,-13515 }, { 82,-13515 }, { 83,-13515 }, { 84,-13515 }, { 85,-12483 }, + + { 86,-13515 }, { 87,-13515 }, { 88,-13515 }, { 89,-13515 }, { 90,-13515 }, + { 91,-13515 }, { 92,-13515 }, { 93,-13515 }, { 94,-13515 }, { 95,-13515 }, + { 96,-13515 }, { 97,-13515 }, { 98,-13515 }, { 99,-13515 }, { 100,-13515 }, + { 101,-13515 }, { 102,-13515 }, { 103,-13515 }, { 104,-13515 }, { 105,-13515 }, + { 106,-13515 }, { 107,-13515 }, { 108,-13515 }, { 109,-13515 }, { 110,-13515 }, + { 111,-13515 }, { 112,-13515 }, { 113,-13515 }, { 114,-13515 }, { 115,-13515 }, + { 116,-13515 }, { 117,-12483 }, { 118,-13515 }, { 119,-13515 }, { 120,-13515 }, + { 121,-13515 }, { 122,-13515 }, { 123,-13515 }, { 124,-13515 }, { 125,-13515 }, + { 126,-13515 }, { 127,-13515 }, { 128,-13515 }, { 129,-13515 }, { 130,-13515 }, + { 131,-13515 }, { 132,-13515 }, { 133,-13515 }, { 134,-13515 }, { 135,-13515 }, + + { 136,-13515 }, { 137,-13515 }, { 138,-13515 }, { 139,-13515 }, { 140,-13515 }, + { 141,-13515 }, { 142,-13515 }, { 143,-13515 }, { 144,-13515 }, { 145,-13515 }, + { 146,-13515 }, { 147,-13515 }, { 148,-13515 }, { 149,-13515 }, { 150,-13515 }, + { 151,-13515 }, { 152,-13515 }, { 153,-13515 }, { 154,-13515 }, { 155,-13515 }, + { 156,-13515 }, { 157,-13515 }, { 158,-13515 }, { 159,-13515 }, { 160,-13515 }, + { 161,-13515 }, { 162,-13515 }, { 163,-13515 }, { 164,-13515 }, { 165,-13515 }, + { 166,-13515 }, { 167,-13515 }, { 168,-13515 }, { 169,-13515 }, { 170,-13515 }, + { 171,-13515 }, { 172,-13515 }, { 173,-13515 }, { 174,-13515 }, { 175,-13515 }, + { 176,-13515 }, { 177,-13515 }, { 178,-13515 }, { 179,-13515 }, { 180,-13515 }, + { 181,-13515 }, { 182,-13515 }, { 183,-13515 }, { 184,-13515 }, { 185,-13515 }, + + { 186,-13515 }, { 187,-13515 }, { 188,-13515 }, { 189,-13515 }, { 190,-13515 }, + { 191,-13515 }, { 192,-13515 }, { 193,-13515 }, { 194,-13515 }, { 195,-13515 }, + { 196,-13515 }, { 197,-13515 }, { 198,-13515 }, { 199,-13515 }, { 200,-13515 }, + { 201,-13515 }, { 202,-13515 }, { 203,-13515 }, { 204,-13515 }, { 205,-13515 }, + { 206,-13515 }, { 207,-13515 }, { 208,-13515 }, { 209,-13515 }, { 210,-13515 }, + { 211,-13515 }, { 212,-13515 }, { 213,-13515 }, { 214,-13515 }, { 215,-13515 }, + { 216,-13515 }, { 217,-13515 }, { 218,-13515 }, { 219,-13515 }, { 220,-13515 }, + { 221,-13515 }, { 222,-13515 }, { 223,-13515 }, { 224,-13515 }, { 225,-13515 }, + { 226,-13515 }, { 227,-13515 }, { 228,-13515 }, { 229,-13515 }, { 230,-13515 }, + { 231,-13515 }, { 232,-13515 }, { 233,-13515 }, { 234,-13515 }, { 235,-13515 }, + + { 236,-13515 }, { 237,-13515 }, { 238,-13515 }, { 239,-13515 }, { 240,-13515 }, + { 241,-13515 }, { 242,-13515 }, { 243,-13515 }, { 244,-13515 }, { 245,-13515 }, + { 246,-13515 }, { 247,-13515 }, { 248,-13515 }, { 249,-13515 }, { 250,-13515 }, + { 251,-13515 }, { 252,-13515 }, { 253,-13515 }, { 254,-13515 }, { 255,-13515 }, + { 256,-13515 }, { 0, 24 }, { 0, 258 }, { 1,-9784 }, { 2,-9784 }, + { 3,-9784 }, { 4,-9784 }, { 5,-9784 }, { 6,-9784 }, { 7,-9784 }, + { 8,-9784 }, { 9,-9526 }, { 10,-21520 }, { 11,-9784 }, { 12,-9526 }, + { 13,-21520 }, { 14,-9784 }, { 15,-9784 }, { 16,-9784 }, { 17,-9784 }, + { 18,-9784 }, { 19,-9784 }, { 20,-9784 }, { 21,-9784 }, { 22,-9784 }, + { 23,-9784 }, { 24,-9784 }, { 25,-9784 }, { 26,-9784 }, { 27,-9784 }, + + { 28,-9784 }, { 29,-9784 }, { 30,-9784 }, { 31,-9784 }, { 32,-9526 }, + { 33,-9784 }, { 34,-9784 }, { 35,-9784 }, { 36,-9784 }, { 37,-9784 }, + { 38,-9784 }, { 39,-9268 }, { 40,-9784 }, { 41,-9784 }, { 42,-9784 }, + { 43,-9784 }, { 44,-9784 }, { 45,-8494 }, { 46,-9784 }, { 47,-9784 }, + { 48,-9784 }, { 49,-9784 }, { 50,-9784 }, { 51,-9784 }, { 52,-9784 }, + { 53,-9784 }, { 54,-9784 }, { 55,-9784 }, { 56,-9784 }, { 57,-9784 }, + { 58,-9784 }, { 59,-9784 }, { 60,-9784 }, { 61,-9784 }, { 62,-9784 }, + { 63,-9784 }, { 64,-9784 }, { 65,-9784 }, { 66,-9784 }, { 67,-9784 }, + { 68,-9784 }, { 69,-9784 }, { 70,-9784 }, { 71,-9784 }, { 72,-9784 }, + { 73,-9784 }, { 74,-9784 }, { 75,-9784 }, { 76,-9784 }, { 77,-9784 }, + + { 78,-9784 }, { 79,-9784 }, { 80,-9784 }, { 81,-9784 }, { 82,-9784 }, + { 83,-9784 }, { 84,-9784 }, { 85,-8752 }, { 86,-9784 }, { 87,-9784 }, + { 88,-9784 }, { 89,-9784 }, { 90,-9784 }, { 91,-9784 }, { 92,-9784 }, + { 93,-9784 }, { 94,-9784 }, { 95,-9784 }, { 96,-9784 }, { 97,-9784 }, + { 98,-9784 }, { 99,-9784 }, { 100,-9784 }, { 101,-9784 }, { 102,-9784 }, + { 103,-9784 }, { 104,-9784 }, { 105,-9784 }, { 106,-9784 }, { 107,-9784 }, + { 108,-9784 }, { 109,-9784 }, { 110,-9784 }, { 111,-9784 }, { 112,-9784 }, + { 113,-9784 }, { 114,-9784 }, { 115,-9784 }, { 116,-9784 }, { 117,-8752 }, + { 118,-9784 }, { 119,-9784 }, { 120,-9784 }, { 121,-9784 }, { 122,-9784 }, + { 123,-9784 }, { 124,-9784 }, { 125,-9784 }, { 126,-9784 }, { 127,-9784 }, + + { 128,-9784 }, { 129,-9784 }, { 130,-9784 }, { 131,-9784 }, { 132,-9784 }, + { 133,-9784 }, { 134,-9784 }, { 135,-9784 }, { 136,-9784 }, { 137,-9784 }, + { 138,-9784 }, { 139,-9784 }, { 140,-9784 }, { 141,-9784 }, { 142,-9784 }, + { 143,-9784 }, { 144,-9784 }, { 145,-9784 }, { 146,-9784 }, { 147,-9784 }, + { 148,-9784 }, { 149,-9784 }, { 150,-9784 }, { 151,-9784 }, { 152,-9784 }, + { 153,-9784 }, { 154,-9784 }, { 155,-9784 }, { 156,-9784 }, { 157,-9784 }, + { 158,-9784 }, { 159,-9784 }, { 160,-9784 }, { 161,-9784 }, { 162,-9784 }, + { 163,-9784 }, { 164,-9784 }, { 165,-9784 }, { 166,-9784 }, { 167,-9784 }, + { 168,-9784 }, { 169,-9784 }, { 170,-9784 }, { 171,-9784 }, { 172,-9784 }, + { 173,-9784 }, { 174,-9784 }, { 175,-9784 }, { 176,-9784 }, { 177,-9784 }, + + { 178,-9784 }, { 179,-9784 }, { 180,-9784 }, { 181,-9784 }, { 182,-9784 }, + { 183,-9784 }, { 184,-9784 }, { 185,-9784 }, { 186,-9784 }, { 187,-9784 }, + { 188,-9784 }, { 189,-9784 }, { 190,-9784 }, { 191,-9784 }, { 192,-9784 }, + { 193,-9784 }, { 194,-9784 }, { 195,-9784 }, { 196,-9784 }, { 197,-9784 }, + { 198,-9784 }, { 199,-9784 }, { 200,-9784 }, { 201,-9784 }, { 202,-9784 }, + { 203,-9784 }, { 204,-9784 }, { 205,-9784 }, { 206,-9784 }, { 207,-9784 }, + { 208,-9784 }, { 209,-9784 }, { 210,-9784 }, { 211,-9784 }, { 212,-9784 }, + { 213,-9784 }, { 214,-9784 }, { 215,-9784 }, { 216,-9784 }, { 217,-9784 }, + { 218,-9784 }, { 219,-9784 }, { 220,-9784 }, { 221,-9784 }, { 222,-9784 }, + { 223,-9784 }, { 224,-9784 }, { 225,-9784 }, { 226,-9784 }, { 227,-9784 }, + + { 228,-9784 }, { 229,-9784 }, { 230,-9784 }, { 231,-9784 }, { 232,-9784 }, + { 233,-9784 }, { 234,-9784 }, { 235,-9784 }, { 236,-9784 }, { 237,-9784 }, + { 238,-9784 }, { 239,-9784 }, { 240,-9784 }, { 241,-9784 }, { 242,-9784 }, + { 243,-9784 }, { 244,-9784 }, { 245,-9784 }, { 246,-9784 }, { 247,-9784 }, + { 248,-9784 }, { 249,-9784 }, { 250,-9784 }, { 251,-9784 }, { 252,-9784 }, + { 253,-9784 }, { 254,-9784 }, { 255,-9784 }, { 256,-9784 }, { 257, 68 }, + { 1, 0 }, }; + +static yyconst struct yy_trans_info *yy_start_state_list[23] = + { + &yy_transition[1], + &yy_transition[3], + &yy_transition[261], + &yy_transition[519], + &yy_transition[777], + &yy_transition[1035], + &yy_transition[1293], + &yy_transition[1551], + &yy_transition[1809], + &yy_transition[2067], + &yy_transition[2325], + &yy_transition[2583], + &yy_transition[2841], + &yy_transition[3099], + &yy_transition[3357], + &yy_transition[3615], + &yy_transition[3873], + &yy_transition[4131], + &yy_transition[4389], + &yy_transition[4647], + &yy_transition[4905], + &yy_transition[5163], + &yy_transition[5421], + + } ; + +/* 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 +/*#line 1 "scan.l"*/ +/*#line 2 "scan.l"*/ +/*------------------------------------------------------------------------- + * + * scan.l + * lexical scanner for PostgreSQL + * + * NOTE NOTE NOTE: + * + * The rules in this file must be kept in sync with psql's lexer!!! + * + * The rules are designed so that the scanner never has to backtrack, + * in the sense that there is always a rule that can match the input + * consumed so far (the rule action may internally throw back some input + * with yyless(), however). As explained in the flex manual, this makes + * for a useful speed increase --- about a third faster than a plain -CF + * lexer, in simple testing. The extra complexity is mostly in the rules + * for handling float numbers and continued string literals. If you change + * the lexical rules, verify that you haven't broken the no-backtrack + * property by running flex with the "-b" option and checking that the + * resulting "lex.backup" file says that no backing up is needed. (As of + * Postgres 9.2, this check is made automatically by the Makefile.) + * + * + * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * IDENTIFICATION + * src/backend/parser/scan.l + * + *------------------------------------------------------------------------- + */ + +#include +#include + +#ifdef PGADMIN_SCANNER +#include "parser/scansup.h" +#include "parser/gram.h" +#include "mb/pg_wchar.h" +/* +#include "libpq-fe.h" +*/ +#else +#include "postgres.h" +#include "parser/gramparse.h" +#include "parser/parser.h" /* only needed for GUC variables */ +#include "parser/scanner.h" +#include "parser/scansup.h" +#include "mb/pg_wchar.h" +#endif + +/* Avoid exit() on fatal scanner errors (a bit ugly -- see yy_fatal_error) */ +#undef fprintf +#define fprintf(file, fmt, msg) ereport(ERROR, (errmsg_internal("%s", msg))) + +/* + * GUC variables. This is a DIRECT violation of the warning given at the + * head of gram.y, ie flex/bison code must not depend on any GUC variables; + * as such, changing their values can induce very unintuitive behavior. + * But we shall have to live with it as a short-term thing until the switch + * to SQL-standard string syntax is complete. + */ +int backslash_quote = BACKSLASH_QUOTE_SAFE_ENCODING; +bool escape_string_warning = true; +bool standard_conforming_strings = true; + +/* + * Set the type of YYSTYPE. + */ +#define YYSTYPE core_YYSTYPE + +/* + * Set the type of yyextra. All state variables used by the scanner should + * be in yyextra, *not* statically allocated. + */ +#define YY_EXTRA_TYPE core_yy_extra_type * + +/* + * Each call to core_yylex must set yylloc to the location of the found token + * (expressed as a byte offset from the start of the input text). + * When we parse a token that requires multiple lexer rules to process, + * this should be done in the first such rule, else yylloc will point + * into the middle of the token. + */ +#define SET_YYLLOC() (*(yylloc) = yytext - yyextra->scanbuf) + +/* + * Advance yylloc by the given number of bytes. + */ +#define ADVANCE_YYLLOC(delta) ( *(yylloc) += (delta) ) + +#define startlit() ( yyextra->literallen = 0 ) +static void addlit(char *ytext, int yleng, core_yyscan_t yyscanner); +static void addlitchar(unsigned char ychar, core_yyscan_t yyscanner); +static char *litbufdup(core_yyscan_t yyscanner); +static char *litbuf_udeescape(unsigned char escape, core_yyscan_t yyscanner); +static unsigned char unescape_single_char(unsigned char c, core_yyscan_t yyscanner); +static int process_integer_literal(const char *token, YYSTYPE *lval); +static bool is_utf16_surrogate_first(pg_wchar c); +static bool is_utf16_surrogate_second(pg_wchar c); +static pg_wchar surrogate_pair_to_codepoint(pg_wchar first, pg_wchar second); +static void addunicode(pg_wchar c, yyscan_t yyscanner); + +#define yyerror(msg) scanner_yyerror(msg, yyscanner) + +#define lexer_errposition() scanner_errposition(*(yylloc), yyscanner) + +static void check_string_escape_warning(unsigned char ychar, core_yyscan_t yyscanner); +static void check_escape_warning(core_yyscan_t yyscanner); + +/* + * Work around a bug in flex 2.5.35: it emits a couple of functions that + * it forgets to emit declarations for. Since we use -Wmissing-prototypes, + * this would cause warnings. Providing our own declarations should be + * harmless even when the bug gets fixed. + */ +extern int core_yyget_column(yyscan_t yyscanner); +extern void core_yyset_column(int column_no, yyscan_t yyscanner); + +#define YY_NO_INPUT 1 +/* + * OK, here is a short description of lex/flex rules behavior. + * The longest pattern which matches an input string is always chosen. + * For equal-length patterns, the first occurring in the rules list is chosen. + * INITIAL is the starting state, to which all non-conditional rules apply. + * Exclusive states change parsing rules while the state is active. When in + * an exclusive state, only those rules defined for that state apply. + * + * We use exclusive states for quoted strings, extended comments, + * and to eliminate parsing troubles for numeric strings. + * Exclusive states: + * bit string literal + * extended C-style comments + * delimited identifiers (double-quoted identifiers) + * hexadecimal numeric string + * standard quoted strings + * extended quoted strings (support backslash escape sequences) + * $foo$ quoted strings + * quoted identifier with Unicode escapes + * quoted string with Unicode escapes + * Unicode surrogate pair in extended quoted string + */ + + + + + + + + + + +/* + * In order to make the world safe for Windows and Mac clients as well as + * Unix ones, we accept either \n or \r as a newline. A DOS-style \r\n + * sequence will be seen as two successive newlines, but that doesn't cause + * any problems. Comments that start with -- and extend to the next + * newline are treated as equivalent to a single whitespace character. + * + * NOTE a fine point: if there is no newline following --, we will absorb + * everything to the end of the input as a comment. This is correct. Older + * versions of Postgres failed to recognize -- as a comment if the input + * did not end with a newline. + * + * XXX perhaps \f (formfeed) should be treated as a newline as well? + * + * XXX if you change the set of whitespace characters, fix scanner_isspace() + * to agree, and see also the plpgsql lexer. + */ +/* + * SQL requires at least one newline in the whitespace separating + * string literals that are to be concatenated. Silly, but who are we + * to argue? Note that {whitespace_with_newline} should not have * after + * it, whereas {whitespace} should generally have a * after it... + */ +/* + * To ensure that {quotecontinue} can be scanned without having to back up + * if the full pattern isn't matched, we include trailing whitespace in + * {quotestop}. This matches all cases where {quotecontinue} fails to match, + * except for {quote} followed by whitespace and just one "-" (not two, + * which would start a {comment}). To cover that we have {quotefail}. + * The actions for {quotestop} and {quotefail} must throw back characters + * beyond the quote proper. + */ +/* Bit string + * It is tempting to scan the string for only those characters + * which are allowed. However, this leads to silently swallowed + * characters if illegal characters are included in the string. + * For example, if xbinside is [01] then B'ABCD' is interpreted + * as a zero-length string, and the ABCD' is lost! + * Better to pass the string forward and let the input routines + * validate the contents. + */ +/* Hexadecimal number */ +/* National character */ +/* Quoted string that allows backslash escapes */ +/* Extended quote + * xqdouble implements embedded quote, '''' + */ +/* $foo$ style quotes ("dollar quoting") + * The quoted string starts with $foo$ where "foo" is an optional string + * in the form of an identifier, except that it may not contain "$", + * and extends to the first occurrence of an identical string. + * There is *no* processing of the quoted text. + * + * {dolqfailed} is an error rule to avoid scanner backup when {dolqdelim} + * fails to match its trailing "$". + */ +/* Double quote + * Allows embedded spaces and other special characters into identifiers. + */ +/* Unicode escapes */ +/* error rule to avoid backup */ +/* Quoted identifier with Unicode escapes */ +/* Quoted string with Unicode escapes */ +/* error rule to avoid backup */ +/* C-style comments + * + * The "extended comment" syntax closely resembles allowable operator syntax. + * The tricky part here is to get lex to recognize a string starting with + * slash-star as a comment, when interpreting it as an operator would produce + * a longer match --- remember lex will prefer a longer match! Also, if we + * have something like plus-slash-star, lex will think this is a 3-character + * operator whereas we want to see it as a + operator and a comment start. + * The solution is two-fold: + * 1. append {op_chars}* to xcstart so that it matches as much text as + * {operator} would. Then the tie-breaker (first matching rule of same + * length) ensures xcstart wins. We put back the extra stuff with yyless() + * in case it contains a star-slash that should terminate the comment. + * 2. In the operator rule, check for slash-star within the operator, and + * if found throw it back with yyless(). This handles the plus-slash-star + * problem. + * Dash-dash comments have similar interactions with the operator rule. + */ +/* + * "self" is the set of chars that should be returned as single-character + * tokens. "op_chars" is the set of chars that can make up "Op" tokens, + * which can be one or more characters long (but if a single-char token + * appears in the "self" set, it is not to be returned as an Op). Note + * that the sets overlap, but each has some chars that are not in the other. + * + * If you change either set, adjust the character lists appearing in the + * rule for "operator"! + */ +/* we no longer allow unary minus in numbers. + * instead we pass it separately to parser. there it gets + * coerced via doNegate() -- Leon aug 20 1999 + * +* {decimalfail} is used because we would like "1..10" to lex as 1, dot_dot, 10. +* + * {realfail1} and {realfail2} are added to prevent the need for scanner + * backup when the {real} rule fails to match completely. + */ +/* + * Dollar quoted strings are totally opaque, and no escaping is done on them. + * Other quoted strings must allow some special characters such as single-quote + * and newline. + * Embedded single-quotes are implemented both in the SQL standard + * style of two adjacent single quotes "''" and in the Postgres/Java style + * of escaped-quote "\'". + * Other embedded escaped characters are matched explicitly and the leading + * backslash is dropped from the string. + * Note that xcstart must appear before operator, as explained above! + * Also whitespace (comment) must appear before operator. + */ +/*#line 14806 "scan.c"*/ + +#define INITIAL 0 +#define xb 1 +#define xc 2 +#define xd 3 +#define xh 4 +#define xe 5 +#define xq 6 +#define xdolq 7 +#define xui 8 +#define xus 9 +#define xeu 10 + +#ifndef YY_NO_UNISTD_H +/* Special case for "unistd.h", since it is non-ANSI. We include it way + * down here because we want the user's section 1 to have been scanned first. + * The user has a chance to override it with an option. + */ +#include +#endif + +#ifndef YY_EXTRA_TYPE +#define YY_EXTRA_TYPE void * +#endif + +/* Holds the entire state of the reentrant scanner. */ +struct yyguts_t + { + + /* User-defined. Not touched by flex. */ + YY_EXTRA_TYPE yyextra_r; + + /* The rest are the same as the globals declared in the non-reentrant scanner. */ + FILE *yyin_r, *yyout_r; + size_t yy_buffer_stack_top; /**< index of top of stack. */ + size_t yy_buffer_stack_max; /**< capacity of stack. */ + YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ + char yy_hold_char; + int yy_n_chars; + int yyleng_r; + char *yy_c_buf_p; + int yy_init; + int yy_start; + int yy_did_buffer_switch_on_eof; + int yy_start_stack_ptr; + int yy_start_stack_depth; + int *yy_start_stack; + yy_state_type yy_last_accepting_state; + char* yy_last_accepting_cpos; + + int yylineno_r; + int yy_flex_debug_r; + + char *yytext_r; + int yy_more_flag; + int yy_more_len; + + YYSTYPE * yylval_r; + + YYLTYPE * yylloc_r; + + }; /* end struct yyguts_t */ + +static int yy_init_globals (yyscan_t yyscanner ); + + /* This must go here because YYSTYPE and YYLTYPE are included + * from bison output in section 1.*/ + # define yylval yyg->yylval_r + + # define yylloc yyg->yylloc_r + +int core_yylex_init (yyscan_t* scanner); + +int core_yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner); + +/* Accessor methods to globals. + These are made visible to non-reentrant scanners for convenience. */ + +int core_yylex_destroy (yyscan_t yyscanner ); + +int core_yyget_debug (yyscan_t yyscanner ); + +void core_yyset_debug (int debug_flag ,yyscan_t yyscanner ); + +YY_EXTRA_TYPE core_yyget_extra (yyscan_t yyscanner ); + +void core_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner ); + +FILE *core_yyget_in (yyscan_t yyscanner ); + +void core_yyset_in (FILE * in_str ,yyscan_t yyscanner ); + +FILE *core_yyget_out (yyscan_t yyscanner ); + +void core_yyset_out (FILE * out_str ,yyscan_t yyscanner ); + +int core_yyget_leng (yyscan_t yyscanner ); + +char *core_yyget_text (yyscan_t yyscanner ); + +int core_yyget_lineno (yyscan_t yyscanner ); + +void core_yyset_lineno (int line_number ,yyscan_t yyscanner ); + +YYSTYPE * core_yyget_lval (yyscan_t yyscanner ); + +void core_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner ); + + YYLTYPE *core_yyget_lloc (yyscan_t yyscanner ); + + void core_yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner ); + +/* Macros after this point can all be overridden by user definitions in + * section 1. + */ + +#ifndef YY_SKIP_YYWRAP +#ifdef __cplusplus +extern "C" int core_yywrap (yyscan_t yyscanner ); +#else +extern int core_yywrap (yyscan_t yyscanner ); +#endif +#endif + +#ifndef yytext_ptr +static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner); +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner); +#endif + +#ifndef YY_NO_INPUT + +#ifdef __cplusplus +static int yyinput (yyscan_t yyscanner ); +#else +static int input (yyscan_t yyscanner ); +#endif + +#endif + +/* Amount of stuff to slurp up with each read. */ +#ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else +#define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ +#endif + +/* Copy whatever the last rule matched to the standard output. */ +#ifndef ECHO +/* This used to be an fputs(), but since the string might contain NUL's, + * we now use fwrite(). + */ +#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#endif + +/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, + * is returned in "result". + */ +#ifndef YY_INPUT +#define YY_INPUT(buf,result,max_size) \ + if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ + { \ + int c = '*'; \ + size_t n; \ + for ( n = 0; n < max_size && \ + (c = getc( 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" ); \ + return EOF; \ + }\ + result = n; \ + } \ + else \ + { \ + errno=0; \ + while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ + { \ + if( errno != EINTR) \ + { \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + break; \ + } \ + errno=0; \ + clearerr(yyin); \ + } \ + }\ +\ + +#endif + +/* No semi-colon after return; correct usage is to write "yyterminate();" - + * we don't want an extra ';' after the "return" because that will cause + * some compilers to complain about unreachable statements. + */ +#ifndef yyterminate +#define yyterminate() return YY_NULL +#endif + +/* Number of entries by which start-condition stack grows. */ +#ifndef YY_START_STACK_INCR +#define YY_START_STACK_INCR 25 +#endif + +/* Report a fatal error. */ +#ifndef YY_FATAL_ERROR +#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner) +#endif + +/* end tables serialization structures and prototypes */ + +/* Default declaration of generated scanner - a define so the user can + * easily add parameters. + */ +#ifndef YY_DECL +#define YY_DECL_IS_OURS 1 + +extern int core_yylex \ + (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner); + +#define YY_DECL int core_yylex \ + (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner) +#endif /* !YY_DECL */ + +/* Code executed at the beginning of each rule, after yytext and yyleng + * have been set up. + */ +#ifndef YY_USER_ACTION +#define YY_USER_ACTION +#endif + +/* Code executed at the end of each rule. */ +#ifndef YY_BREAK +#define YY_BREAK break; +#endif + +#define YY_RULE_SETUP \ + YY_USER_ACTION + +/** The main scanner function which does all the work. + */ +YY_DECL +{ + register yy_state_type yy_current_state; + register char *yy_cp, *yy_bp; + register int yy_act; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + +/*#line 372 "scan.l"*/ + + +/*#line 15063 "scan.c"*/ + + yylval = yylval_param; + + yylloc = yylloc_param; + + if ( !yyg->yy_init ) + { + yyg->yy_init = 1; + +#ifdef YY_USER_INIT + YY_USER_INIT; +#endif + + if ( ! yyg->yy_start ) + yyg->yy_start = 1; /* first start state */ + + if ( ! yyin ) + yyin = stdin; + + if ( ! yyout ) + yyout = stdout; + + if ( ! YY_CURRENT_BUFFER ) { + core_yyensure_buffer_stack (yyscanner); + YY_CURRENT_BUFFER_LVALUE = + core_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); + } + + core_yy_load_buffer_state(yyscanner ); + } + + while ( 1 ) /* loops until end-of-file is reached */ + { + yy_cp = yyg->yy_c_buf_p; + + /* Support of yytext. */ + *yy_cp = yyg->yy_hold_char; + + /* yy_bp points to the position in yy_ch_buf of the start of + * the current run. + */ + yy_bp = yy_cp; + + yy_current_state = yy_start_state_list[yyg->yy_start]; +yy_match: + { + register yyconst struct yy_trans_info *yy_trans_info; + + register YY_CHAR yy_c; + + for ( yy_c = YY_SC_TO_UI(*yy_cp); + (yy_trans_info = &yy_current_state[(unsigned int) yy_c])-> + yy_verify == yy_c; + yy_c = YY_SC_TO_UI(*++yy_cp) ) + yy_current_state += yy_trans_info->yy_nxt; + } + +yy_find_action: + yy_act = yy_current_state[-1].yy_nxt; + + YY_DO_BEFORE_ACTION; + +do_action: /* This label is used only to access EOF actions. */ + + switch ( yy_act ) + { /* beginning of action switch */ +case 1: +/* rule 1 can match eol */ +YY_RULE_SETUP +/*#line 374 "scan.l"*/ +{ + /* ignore */ + } + YY_BREAK +case 2: +YY_RULE_SETUP +/*#line 378 "scan.l"*/ +{ + /* Set location in case of syntax error in comment */ + SET_YYLLOC(); + yyextra->xcdepth = 0; + BEGIN(xc); + /* Put back any characters past slash-star; see above */ + yyless(2); + } + YY_BREAK +case 3: +YY_RULE_SETUP +/*#line 387 "scan.l"*/ +{ + (yyextra->xcdepth)++; + /* Put back any characters past slash-star; see above */ + yyless(2); + } + YY_BREAK +case 4: +YY_RULE_SETUP +/*#line 393 "scan.l"*/ +{ + if (yyextra->xcdepth <= 0) + BEGIN(INITIAL); + else + (yyextra->xcdepth)--; + } + YY_BREAK +case 5: +/* rule 5 can match eol */ +YY_RULE_SETUP +/*#line 400 "scan.l"*/ +{ + /* ignore */ + } + YY_BREAK +case 6: +YY_RULE_SETUP +/*#line 404 "scan.l"*/ +{ + /* ignore */ + } + YY_BREAK +case 7: +YY_RULE_SETUP +/*#line 408 "scan.l"*/ +{ + /* ignore */ + } + YY_BREAK +case YY_STATE_EOF(xc): +/*#line 412 "scan.l"*/ +{ yyerror("unterminated /* comment"); } + YY_BREAK +case 8: +YY_RULE_SETUP +/*#line 414 "scan.l"*/ +{ + /* Binary bit type. + * At some point we should simply pass the string + * forward to the parser and label it there. + * In the meantime, place a leading "b" on the string + * to mark it for the input routine as a binary string. + */ + SET_YYLLOC(); + BEGIN(xb); + startlit(); + addlitchar('b', yyscanner); + } + YY_BREAK +case 9: +/* rule 9 can match eol */ +/*#line 427 "scan.l"*/ +case 10: +/* rule 10 can match eol */ +YY_RULE_SETUP +/*#line 427 "scan.l"*/ +{ +#ifdef VERVER73 + yyless(1); + BEGIN(INITIAL); + yylval->str = litbufdup(yyscanner); + return BCONST; +#else + yyerror("BCONST is valid from the PostgreSQL 7.3"); +#endif + } + YY_BREAK +case 11: +/* rule 11 can match eol */ +/*#line 434 "scan.l"*/ +case 12: +/* rule 12 can match eol */ +YY_RULE_SETUP +/*#line 434 "scan.l"*/ +{ + addlit(yytext, yyleng, yyscanner); + } + YY_BREAK +case 13: +/* rule 13 can match eol */ +/*#line 438 "scan.l"*/ +case 14: +/* rule 14 can match eol */ +YY_RULE_SETUP +/*#line 438 "scan.l"*/ +{ + /* ignore */ + } + YY_BREAK +case YY_STATE_EOF(xb): +/*#line 441 "scan.l"*/ +{ yyerror("unterminated bit string literal"); } + YY_BREAK +case 15: +YY_RULE_SETUP +/*#line 443 "scan.l"*/ +{ + /* Hexadecimal bit type. + * At some point we should simply pass the string + * forward to the parser and label it there. + * In the meantime, place a leading "x" on the string + * to mark it for the input routine as a hex string. + */ + SET_YYLLOC(); + BEGIN(xh); + startlit(); + addlitchar('x', yyscanner); + } + YY_BREAK +case 16: +/* rule 16 can match eol */ +/*#line 456 "scan.l"*/ +case 17: +/* rule 17 can match eol */ +YY_RULE_SETUP +/*#line 456 "scan.l"*/ +{ +#ifdef VERVER73 + yyless(1); + BEGIN(INITIAL); + yylval->str = litbufdup(yyscanner); + return XCONST; +#else + yyerror("XCONST is valid from the PostgreSQL 7.3"); +#endif + } + YY_BREAK +case YY_STATE_EOF(xh): +/*#line 462 "scan.l"*/ +{ yyerror("unterminated hexadecimal string literal"); } + YY_BREAK +case 18: +YY_RULE_SETUP +/*#line 464 "scan.l"*/ +{ + /* National character. + * We will pass this along as a normal character string, + * but preceded with an internally-generated "NCHAR". + */ + const ScanKeyword *keyword; + + SET_YYLLOC(); + yyless(1); /* eat only 'n' this time */ + + keyword = ScanKeywordLookup("nchar", + yyextra->keywords, + yyextra->num_keywords); + if (keyword != NULL) + { + yylval->keyword = keyword->name; + return keyword->value; + } + else + { + /* If NCHAR isn't a keyword, just return "n" */ + yylval->str = pstrdup("n"); + return IDENT; + } + } + YY_BREAK +case 19: +YY_RULE_SETUP +/*#line 490 "scan.l"*/ +{ + yyextra->warn_on_first_escape = true; + yyextra->saw_non_ascii = false; + SET_YYLLOC(); + if (standard_conforming_strings) + BEGIN(xq); + else + BEGIN(xe); + startlit(); + } + YY_BREAK +case 20: +YY_RULE_SETUP +/*#line 500 "scan.l"*/ +{ + yyextra->warn_on_first_escape = false; + yyextra->saw_non_ascii = false; + SET_YYLLOC(); + BEGIN(xe); + startlit(); + } + YY_BREAK +case 21: +YY_RULE_SETUP +/*#line 507 "scan.l"*/ +{ + SET_YYLLOC(); + if (!standard_conforming_strings) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("unsafe use of string constant with Unicode escapes"), + errdetail("String constants with Unicode escapes cannot be used when standard_conforming_strings is off."), + lexer_errposition())); + BEGIN(xus); + startlit(); + } + YY_BREAK +case 22: +/* rule 22 can match eol */ +/*#line 519 "scan.l"*/ +case 23: +/* rule 23 can match eol */ +YY_RULE_SETUP +/*#line 519 "scan.l"*/ +{ + yyless(1); + BEGIN(INITIAL); + /* + * check that the data remains valid if it might have been + * made invalid by unescaping any chars. + */ + if (yyextra->saw_non_ascii) + pg_verifymbstr(yyextra->literalbuf, + yyextra->literallen, + false); + yylval->str = litbufdup(yyscanner); + return SCONST; + } + YY_BREAK +case 24: +/* rule 24 can match eol */ +YY_RULE_SETUP +/*#line 533 "scan.l"*/ +{ + /* throw back all but the quote */ + yyless(1); + BEGIN(INITIAL); + yylval->str = litbuf_udeescape('\\', yyscanner); + return SCONST; + } + YY_BREAK +case 25: +/* rule 25 can match eol */ +YY_RULE_SETUP +/*#line 540 "scan.l"*/ +{ + BEGIN(INITIAL); + yylval->str = litbuf_udeescape(yytext[yyleng-2], yyscanner); + return SCONST; + } + YY_BREAK +case 26: +YY_RULE_SETUP +/*#line 545 "scan.l"*/ +{ + addlitchar('\'', yyscanner); + } + YY_BREAK +case 27: +/* rule 27 can match eol */ +YY_RULE_SETUP +/*#line 548 "scan.l"*/ +{ + addlit(yytext, yyleng, yyscanner); + } + YY_BREAK +case 28: +/* rule 28 can match eol */ +YY_RULE_SETUP +/*#line 551 "scan.l"*/ +{ + addlit(yytext, yyleng, yyscanner); + } + YY_BREAK +case 29: +YY_RULE_SETUP +/*#line 554 "scan.l"*/ +{ + pg_wchar c = strtoul(yytext+2, NULL, 16); + + check_escape_warning(yyscanner); + + if (is_utf16_surrogate_first(c)) + { + yyextra->utf16_first_part = c; + BEGIN(xeu); + } + else if (is_utf16_surrogate_second(c)) + yyerror("invalid Unicode surrogate pair"); + else + addunicode(c, yyscanner); + } + YY_BREAK +case 30: +YY_RULE_SETUP +/*#line 569 "scan.l"*/ +{ + pg_wchar c = strtoul(yytext+2, NULL, 16); + + if (!is_utf16_surrogate_second(c)) + yyerror("invalid Unicode surrogate pair"); + + c = surrogate_pair_to_codepoint(yyextra->utf16_first_part, c); + + addunicode(c, yyscanner); + + BEGIN(xe); + } + YY_BREAK +case 31: +YY_RULE_SETUP +/*#line 581 "scan.l"*/ +{ yyerror("invalid Unicode surrogate pair"); } + YY_BREAK +case 32: +/* rule 32 can match eol */ +YY_RULE_SETUP +/*#line 582 "scan.l"*/ +{ yyerror("invalid Unicode surrogate pair"); } + YY_BREAK +case YY_STATE_EOF(xeu): +/*#line 583 "scan.l"*/ +{ yyerror("invalid Unicode surrogate pair"); } + YY_BREAK +case 33: +YY_RULE_SETUP +/*#line 584 "scan.l"*/ +{ + ereport(ERROR, + (errcode(ERRCODE_INVALID_ESCAPE_SEQUENCE), + errmsg("invalid Unicode escape"), + errhint("Unicode escapes must be \\uXXXX or \\UXXXXXXXX."), + lexer_errposition())); + } + YY_BREAK +case 34: +/* rule 34 can match eol */ +YY_RULE_SETUP +/*#line 591 "scan.l"*/ +{ + if (yytext[1] == '\'') + { + if (backslash_quote == BACKSLASH_QUOTE_OFF || + (backslash_quote == BACKSLASH_QUOTE_SAFE_ENCODING && + PG_ENCODING_IS_CLIENT_ONLY(pg_get_client_encoding()))) + ereport(ERROR, + (errcode(ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER), + errmsg("unsafe use of \\' in a string literal"), + errhint("Use '' to write quotes in strings. \\' is insecure in client-only encodings."), + lexer_errposition())); + } + check_string_escape_warning(yytext[1], yyscanner); + addlitchar(unescape_single_char(yytext[1], yyscanner), + yyscanner); + } + YY_BREAK +case 35: +YY_RULE_SETUP +/*#line 607 "scan.l"*/ +{ + unsigned char c = strtoul(yytext+1, NULL, 8); + + check_escape_warning(yyscanner); + addlitchar(c, yyscanner); + if (c == '\0' || IS_HIGHBIT_SET(c)) + yyextra->saw_non_ascii = true; + } + YY_BREAK +case 36: +YY_RULE_SETUP +/*#line 615 "scan.l"*/ +{ + unsigned char c = strtoul(yytext+2, NULL, 16); + + check_escape_warning(yyscanner); + addlitchar(c, yyscanner); + if (c == '\0' || IS_HIGHBIT_SET(c)) + yyextra->saw_non_ascii = true; + } + YY_BREAK +case 37: +/* rule 37 can match eol */ +YY_RULE_SETUP +/*#line 623 "scan.l"*/ +{ + /* ignore */ + } + YY_BREAK +case 38: +YY_RULE_SETUP +/*#line 626 "scan.l"*/ +{ + /* This is only needed for \ just before EOF */ + addlitchar(yytext[0], yyscanner); + } + YY_BREAK +case YY_STATE_EOF(xq): +case YY_STATE_EOF(xe): +case YY_STATE_EOF(xus): +/*#line 630 "scan.l"*/ +{ yyerror("unterminated quoted string"); } + YY_BREAK +case 39: +YY_RULE_SETUP +/*#line 632 "scan.l"*/ +{ + SET_YYLLOC(); + yyextra->dolqstart = pstrdup(yytext); + BEGIN(xdolq); + startlit(); + addlit(yytext, yyleng, yyscanner); + } + YY_BREAK +case 40: +YY_RULE_SETUP +/*#line 638 "scan.l"*/ +{ + SET_YYLLOC(); + /* throw back all but the initial "$" */ + yyless(1); + /* and treat it as {other} */ + return yytext[0]; + } + YY_BREAK +case 41: +YY_RULE_SETUP +/*#line 645 "scan.l"*/ +{ + if (strcmp(yytext, yyextra->dolqstart) == 0) + { + addlit(yytext, yyleng, yyscanner); + pfree(yyextra->dolqstart); + yyextra->dolqstart = NULL; + BEGIN(INITIAL); + yylval->str = litbufdup(yyscanner); + return DOLCONST; + } + else + { + /* + * When we fail to match $...$ to dolqstart, transfer + * the $... part to the output, but put back the final + * $ for rescanning. Consider $delim$...$junk$delim$ + */ + addlit(yytext, yyleng-1, yyscanner); + yyless(yyleng-1); + } + } + YY_BREAK +case 42: +/* rule 42 can match eol */ +YY_RULE_SETUP +/*#line 665 "scan.l"*/ +{ + addlit(yytext, yyleng, yyscanner); + } + YY_BREAK +case 43: +YY_RULE_SETUP +/*#line 668 "scan.l"*/ +{ + addlit(yytext, yyleng, yyscanner); + } + YY_BREAK +case 44: +YY_RULE_SETUP +/*#line 671 "scan.l"*/ +{ + /* This is only needed for $ inside the quoted text */ + addlitchar(yytext[0], yyscanner); + } + YY_BREAK +case YY_STATE_EOF(xdolq): +/*#line 675 "scan.l"*/ +{ yyerror("unterminated dollar-quoted string"); } + YY_BREAK +case 45: +YY_RULE_SETUP +/*#line 677 "scan.l"*/ +{ + SET_YYLLOC(); + BEGIN(xd); + startlit(); + } + YY_BREAK +case 46: +YY_RULE_SETUP +/*#line 682 "scan.l"*/ +{ + SET_YYLLOC(); + BEGIN(xui); + startlit(); + } + YY_BREAK +case 47: +YY_RULE_SETUP +/*#line 687 "scan.l"*/ +{ + char *ident; + + BEGIN(INITIAL); + if (yyextra->literallen == 0) + yyerror("zero-length delimited identifier"); + ident = litbufdup(yyscanner); + if (yyextra->literallen >= NAMEDATALEN) + truncate_identifier(ident, yyextra->literallen, true); + yylval->str = ident; + return IDENT; + } + YY_BREAK +case 48: +/* rule 48 can match eol */ +YY_RULE_SETUP +/*#line 699 "scan.l"*/ +{ + char *ident; + + BEGIN(INITIAL); + if (yyextra->literallen == 0) + yyerror("zero-length delimited identifier"); + ident = litbuf_udeescape('\\', yyscanner); + if (yyextra->literallen >= NAMEDATALEN) + truncate_identifier(ident, yyextra->literallen, true); + yylval->str = ident; + /* throw back all but the quote */ + yyless(1); + return IDENT; + } + YY_BREAK +case 49: +/* rule 49 can match eol */ +YY_RULE_SETUP +/*#line 713 "scan.l"*/ +{ + char *ident; + + BEGIN(INITIAL); + if (yyextra->literallen == 0) + yyerror("zero-length delimited identifier"); + ident = litbuf_udeescape(yytext[yyleng - 2], yyscanner); + if (yyextra->literallen >= NAMEDATALEN) + truncate_identifier(ident, yyextra->literallen, true); + yylval->str = ident; + return IDENT; + } + YY_BREAK +case 50: +YY_RULE_SETUP +/*#line 725 "scan.l"*/ +{ + addlitchar('"', yyscanner); + } + YY_BREAK +case 51: +/* rule 51 can match eol */ +YY_RULE_SETUP +/*#line 728 "scan.l"*/ +{ + addlit(yytext, yyleng, yyscanner); + } + YY_BREAK +case YY_STATE_EOF(xd): +case YY_STATE_EOF(xui): +/*#line 731 "scan.l"*/ +{ yyerror("unterminated quoted identifier"); } + YY_BREAK +case 52: +YY_RULE_SETUP +/*#line 733 "scan.l"*/ +{ + char *ident; + + SET_YYLLOC(); + /* throw back all but the initial u/U */ + yyless(1); + /* and treat it as {identifier} */ + ident = downcase_truncate_identifier(yytext, yyleng, true); + yylval->str = ident; + return IDENT; + } + YY_BREAK +case 53: +YY_RULE_SETUP +/*#line 745 "scan.l"*/ +{ + SET_YYLLOC(); + return TYPECAST; + } + YY_BREAK +case 54: +YY_RULE_SETUP +/*#line 750 "scan.l"*/ +{ +#ifdef VERVER90 + SET_YYLLOC(); + return DOT_DOT; +#else + yyerror("DOT_DOT is valid from the PostgreSQL 9.0"); +#endif + } + YY_BREAK +case 55: +YY_RULE_SETUP +/*#line 755 "scan.l"*/ +{ +#ifdef VERVER90 + SET_YYLLOC(); + return COLON_EQUALS; +#else + yyerror("COLON_EQUALS is valid from the PostgreSQL 9.0"); +#endif + } + YY_BREAK +case 56: +YY_RULE_SETUP +/*#line 760 "scan.l"*/ +{ + SET_YYLLOC(); + return yytext[0]; + } + YY_BREAK +case 57: +YY_RULE_SETUP +/*#line 765 "scan.l"*/ +{ + /* + * Check for embedded slash-star or dash-dash; those + * are comment starts, so operator must stop there. + * Note that slash-star or dash-dash at the first + * character will match a prior rule, not this one. + */ + int nchars = yyleng; + char *slashstar = strstr(yytext, "/*"); + char *dashdash = strstr(yytext, "--"); + + if (slashstar && dashdash) + { + /* if both appear, take the first one */ + if (slashstar > dashdash) + slashstar = dashdash; + } + else if (!slashstar) + slashstar = dashdash; + if (slashstar) + nchars = slashstar - yytext; + + /* + * For SQL compatibility, '+' and '-' cannot be the + * last char of a multi-char operator unless the operator + * contains chars that are not in SQL operators. + * The idea is to lex '=-' as two operators, but not + * to forbid operator names like '?-' that could not be + * sequences of SQL operators. + */ + while (nchars > 1 && + (yytext[nchars-1] == '+' || + yytext[nchars-1] == '-')) + { + int ic; + + for (ic = nchars-2; ic >= 0; ic--) + { + if (strchr("~!@#^&|`?%", yytext[ic])) + break; + } + if (ic >= 0) + break; /* found a char that makes it OK */ + nchars--; /* else remove the +/-, and check again */ + } + + SET_YYLLOC(); + + if (nchars < yyleng) + { + /* Strip the unwanted chars from the token */ + yyless(nchars); + /* + * If what we have left is only one char, and it's + * one of the characters matching "self", then + * return it as a character token the same way + * that the "self" rule would have. + */ + if (nchars == 1 && + strchr(",()[].;:+-*/%^<>=", yytext[0])) + return yytext[0]; + } + + /* + * Complain if operator is too long. Unlike the case + * for identifiers, we make this an error not a notice- + * and-truncate, because the odds are we are looking at + * a syntactic mistake anyway. + */ + if (nchars >= NAMEDATALEN) + yyerror("operator too long"); + + /* Convert "!=" operator to "<>" for compatibility */ + if (strcmp(yytext, "!=") == 0) + yylval->str = pstrdup("<>"); + else + yylval->str = pstrdup(yytext); + return Op; + } + YY_BREAK +case 58: +YY_RULE_SETUP +/*#line 845 "scan.l"*/ +{ + SET_YYLLOC(); + yylval->ival = atol(yytext + 1); + return PARAM; + } + YY_BREAK +case 59: +YY_RULE_SETUP +/*#line 851 "scan.l"*/ +{ + SET_YYLLOC(); + return process_integer_literal(yytext, yylval); + } + YY_BREAK +case 60: +YY_RULE_SETUP +/*#line 855 "scan.l"*/ +{ + SET_YYLLOC(); + yylval->str = pstrdup(yytext); + return FCONST; + } + YY_BREAK +case 61: +YY_RULE_SETUP +/*#line 860 "scan.l"*/ +{ + /* throw back the .., and treat as integer */ + yyless(yyleng-2); + SET_YYLLOC(); + return process_integer_literal(yytext, yylval); + } + YY_BREAK +case 62: +YY_RULE_SETUP +/*#line 866 "scan.l"*/ +{ + SET_YYLLOC(); + yylval->str = pstrdup(yytext); + return FCONST; + } + YY_BREAK +case 63: +YY_RULE_SETUP +/*#line 871 "scan.l"*/ +{ + /* + * throw back the [Ee], and treat as {decimal}. Note + * that it is possible the input is actually {integer}, + * but since this case will almost certainly lead to a + * syntax error anyway, we don't bother to distinguish. + */ + yyless(yyleng-1); + SET_YYLLOC(); + yylval->str = pstrdup(yytext); + return FCONST; + } + YY_BREAK +case 64: +YY_RULE_SETUP +/*#line 883 "scan.l"*/ +{ + /* throw back the [Ee][+-], and proceed as above */ + yyless(yyleng-2); + SET_YYLLOC(); + yylval->str = pstrdup(yytext); + return FCONST; + } + YY_BREAK +case 65: +YY_RULE_SETUP +/*#line 892 "scan.l"*/ +{ + const ScanKeyword *keyword; + char *ident; + + SET_YYLLOC(); + + /* Is it a keyword? */ + keyword = ScanKeywordLookup(yytext, + yyextra->keywords, + yyextra->num_keywords); + if (keyword != NULL) + { + yylval->keyword = keyword->name; + return keyword->value; + } + + /* + * No. Convert the identifier to lower case, and truncate + * if necessary. + */ + ident = downcase_truncate_identifier(yytext, yyleng, true); + yylval->str = ident; + return IDENT; + } + YY_BREAK +case 66: +YY_RULE_SETUP +/*#line 917 "scan.l"*/ +{ + SET_YYLLOC(); + return yytext[0]; + } + YY_BREAK +case YY_STATE_EOF(INITIAL): +/*#line 922 "scan.l"*/ +{ + SET_YYLLOC(); + yyterminate(); + } + YY_BREAK +case 67: +YY_RULE_SETUP +/*#line 927 "scan.l"*/ +YY_FATAL_ERROR( "flex scanner jammed" ); + YY_BREAK +/*#line 15961 "scan.c"*/ + + case YY_END_OF_BUFFER: + { + /* Amount of text matched not including the EOB char. */ + int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1; + + /* Undo the effects of YY_DO_BEFORE_ACTION. */ + *yy_cp = yyg->yy_hold_char; + YY_RESTORE_YY_MORE_OFFSET + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) + { + /* We're scanning a new file or input source. It's + * possible that this happened because the user + * just pointed yyin at a new source and called + * core_yylex(). If so, then we have to assure + * consistency between YY_CURRENT_BUFFER and our + * globals. Here is the right place to do so, because + * this is the first action (other than possibly a + * back-up) that will match for the new input source. + */ + yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; + } + + /* Note that here we test for yy_c_buf_p "<=" to the position + * of the first EOB in the buffer, since yy_c_buf_p will + * already have been incremented past the NUL character + * (since all states make transitions on EOB to the + * end-of-buffer state). Contrast this with the test + * in input(). + */ + if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] ) + { /* This was really a NUL. */ + yy_state_type yy_next_state; + + yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( yyscanner ); + + /* Okay, we're now positioned to make the NUL + * transition. We couldn't have + * yy_get_previous_state() go ahead and do it + * for us because it doesn't know how to deal + * with the possibility of jamming (and we don't + * want to build jamming into it because then it + * will run more slowly). + */ + + yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner); + + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + + if ( yy_next_state ) + { + /* Consume the NUL. */ + yy_cp = ++yyg->yy_c_buf_p; + yy_current_state = yy_next_state; + goto yy_match; + } + + else + { + yy_cp = yyg->yy_c_buf_p; + goto yy_find_action; + } + } + + else switch ( yy_get_next_buffer( yyscanner ) ) + { + case EOB_ACT_END_OF_FILE: + { + yyg->yy_did_buffer_switch_on_eof = 0; + + if ( core_yywrap(yyscanner ) ) + { + /* Note: because we've taken care in + * yy_get_next_buffer() to have set up + * yytext, we can now set up + * yy_c_buf_p so that if some total + * hoser (like flex itself) wants to + * call the scanner after we return the + * YY_NULL, it'll still work - another + * YY_NULL will get returned. + */ + yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ; + + yy_act = YY_STATE_EOF(YY_START); + goto do_action; + } + + else + { + if ( ! yyg->yy_did_buffer_switch_on_eof ) + YY_NEW_FILE; + } + break; + } + + case EOB_ACT_CONTINUE_SCAN: + yyg->yy_c_buf_p = + yyg->yytext_ptr + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( yyscanner ); + + yy_cp = yyg->yy_c_buf_p; + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + goto yy_match; + + case EOB_ACT_LAST_MATCH: + yyg->yy_c_buf_p = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars]; + + yy_current_state = yy_get_previous_state( yyscanner ); + + yy_cp = yyg->yy_c_buf_p; + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + goto yy_find_action; + } + break; + } + + default: + YY_FATAL_ERROR( + "fatal flex scanner internal error--no action found" ); + break; + } /* end of action switch */ + } /* end of scanning one token */ +} /* end of core_yylex */ + +/* yy_get_next_buffer - try to read in a new buffer + * + * Returns a code representing an action: + * EOB_ACT_LAST_MATCH - + * EOB_ACT_CONTINUE_SCAN - continue scanning from current position + * EOB_ACT_END_OF_FILE - end of file + */ +static int yy_get_next_buffer (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + register char *source = yyg->yytext_ptr; + register int number_to_move, i; + int ret_val; + + if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] ) + { + YY_FATAL_ERROR("fatal flex scanner internal error--end of buffer missed" ); + return EOB_ACT_END_OF_FILE; + } + + if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) + { /* Don't try to fill the buffer, so this is an EOF. */ + if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 ) + { + /* We matched a single character, the EOB, so + * treat this as a final EOF. + */ + return EOB_ACT_END_OF_FILE; + } + + else + { + /* We matched some text prior to the EOB, first + * process it. + */ + return EOB_ACT_LAST_MATCH; + } + } + + /* Try to read more data. */ + + /* First move last chars to start of buffer. */ + number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; + + for ( i = 0; i < number_to_move; ++i ) + *(dest++) = *(source++); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) + /* don't do the read, it's not guaranteed to return an EOF, + * just force an EOF + */ + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0; + + else + { + int num_to_read = + YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; + + while ( num_to_read <= 0 ) + { /* Not enough room in the buffer - grow it. */ + + /* just a shorter name for the current buffer */ + YY_BUFFER_STATE b = YY_CURRENT_BUFFER; + + int yy_c_buf_p_offset = + (int) (yyg->yy_c_buf_p - b->yy_ch_buf); + + if ( b->yy_is_our_buffer ) + { + int new_size = b->yy_buf_size * 2; + + if ( new_size <= 0 ) + b->yy_buf_size += b->yy_buf_size / 8; + else + b->yy_buf_size *= 2; + + b->yy_ch_buf = (char *) + /* Include room in for 2 EOB chars. */ + core_yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner ); + } + else + /* Can't grow it, we don't own it. */ + b->yy_ch_buf = 0; + + if ( ! b->yy_ch_buf ) + { + YY_FATAL_ERROR("fatal error - scanner input buffer overflow" ); + return EOB_ACT_END_OF_FILE; + } + + yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; + + num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - + number_to_move - 1; + + } + + if ( num_to_read > YY_READ_BUF_SIZE ) + num_to_read = YY_READ_BUF_SIZE; + + /* Read in more data. */ + YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), + yyg->yy_n_chars, (size_t) num_to_read ); + + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; + } + + if ( yyg->yy_n_chars == 0 ) + { + if ( number_to_move == YY_MORE_ADJ ) + { + ret_val = EOB_ACT_END_OF_FILE; + core_yyrestart(yyin ,yyscanner); + } + + else + { + ret_val = EOB_ACT_LAST_MATCH; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = + YY_BUFFER_EOF_PENDING; + } + } + + else + ret_val = EOB_ACT_CONTINUE_SCAN; + + if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + /* Extend the array by 50%, plus the number we really need. */ + yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) core_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner ); + if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + { + YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + return EOB_ACT_END_OF_FILE; + } + } + + yyg->yy_n_chars += number_to_move; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; + + yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; + + return ret_val; +} + +/* yy_get_previous_state - get the state just before the EOB char was reached */ + + static yy_state_type yy_get_previous_state (yyscan_t yyscanner) +{ + register yy_state_type yy_current_state; + register char *yy_cp; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + yy_current_state = yy_start_state_list[yyg->yy_start]; + + for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp ) + { + yy_current_state += yy_current_state[(*yy_cp ? YY_SC_TO_UI(*yy_cp) : 256)].yy_nxt; + } + + return yy_current_state; +} + +/* yy_try_NUL_trans - try to make a transition on the NUL character + * + * synopsis + * next_state = yy_try_NUL_trans( current_state ); + */ + static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner) +{ + register int yy_is_jam; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */ + + register int yy_c = 256; + register yyconst struct yy_trans_info *yy_trans_info; + + yy_trans_info = &yy_current_state[(unsigned int) yy_c]; + yy_current_state += yy_trans_info->yy_nxt; + yy_is_jam = (yy_trans_info->yy_verify != yy_c); + + return yy_is_jam ? 0 : yy_current_state; +} + +#ifndef YY_NO_INPUT +#ifdef __cplusplus + static int yyinput (yyscan_t yyscanner) +#else + static int input (yyscan_t yyscanner) +#endif + +{ + int c; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + *yyg->yy_c_buf_p = yyg->yy_hold_char; + + if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) + { + /* yy_c_buf_p now points to the character we want to return. + * If this occurs *before* the EOB characters, then it's a + * valid NUL; if not, then we've hit the end of the buffer. + */ + if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] ) + /* This was really a NUL. */ + *yyg->yy_c_buf_p = '\0'; + + else + { /* need more input */ + int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; + ++yyg->yy_c_buf_p; + + switch ( yy_get_next_buffer( yyscanner ) ) + { + 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. */ + core_yyrestart(yyin ,yyscanner); + + /*FALLTHROUGH*/ + + case EOB_ACT_END_OF_FILE: + { + if ( core_yywrap(yyscanner ) ) + return EOF; + + if ( ! yyg->yy_did_buffer_switch_on_eof ) + YY_NEW_FILE; +#ifdef __cplusplus + return yyinput(yyscanner); +#else + return input(yyscanner); +#endif + } + + case EOB_ACT_CONTINUE_SCAN: + yyg->yy_c_buf_p = yyg->yytext_ptr + offset; + break; + } + } + } + + c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */ + *yyg->yy_c_buf_p = '\0'; /* preserve yytext */ + yyg->yy_hold_char = *++yyg->yy_c_buf_p; + + return c; +} +#endif /* ifndef YY_NO_INPUT */ + +/** Immediately switch to a different input stream. + * @param input_file A readable stream. + * @param yyscanner The scanner object. + * @note This function does not reset the start condition to @c INITIAL . + */ + void core_yyrestart (FILE * input_file , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if ( ! YY_CURRENT_BUFFER ){ + core_yyensure_buffer_stack (yyscanner); + YY_CURRENT_BUFFER_LVALUE = + core_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); + } + + core_yy_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner); + core_yy_load_buffer_state(yyscanner ); +} + +/** Switch to a different input buffer. + * @param new_buffer The new input buffer. + * @param yyscanner The scanner object. + */ + void core_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + /* TODO. We should be able to replace this entire function body + * with + * core_yypop_buffer_state(); + * core_yypush_buffer_state(new_buffer); + */ + core_yyensure_buffer_stack (yyscanner); + if ( YY_CURRENT_BUFFER == new_buffer ) + return; + + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *yyg->yy_c_buf_p = yyg->yy_hold_char; + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p; + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; + } + + YY_CURRENT_BUFFER_LVALUE = new_buffer; + core_yy_load_buffer_state(yyscanner ); + + /* We don't actually know whether we did this switch during + * EOF (core_yywrap()) processing, but the only time this flag + * is looked at is after core_yywrap() is called, so it's safe + * to go ahead and always set it. + */ + yyg->yy_did_buffer_switch_on_eof = 1; +} + +static void core_yy_load_buffer_state (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; + yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; + yyg->yy_hold_char = *yyg->yy_c_buf_p; +} + +/** Allocate and initialize an input buffer state. + * @param file A readable stream. + * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. + * @param yyscanner The scanner object. + * @return the allocated buffer state. + */ + YY_BUFFER_STATE core_yy_create_buffer (FILE * file, int size , yyscan_t yyscanner) +{ + YY_BUFFER_STATE b; + + b = (YY_BUFFER_STATE) core_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner ); + if ( ! b ) + { + YY_FATAL_ERROR( "out of dynamic memory in core_yy_create_buffer()" ); + return NULL; + } + + b->yy_buf_size = size; + + /* yy_ch_buf has to be 2 characters longer than the size given because + * we need to put in 2 end-of-buffer characters. + */ + b->yy_ch_buf = (char *) core_yyalloc(b->yy_buf_size + 2 ,yyscanner ); + if ( ! b->yy_ch_buf ) + { + YY_FATAL_ERROR( "out of dynamic memory in core_yy_create_buffer()" ); + return NULL; + } + + b->yy_is_our_buffer = 1; + + core_yy_init_buffer(b,file ,yyscanner); + + return b; +} + +/** Destroy the buffer. + * @param b a buffer created with core_yy_create_buffer() + * @param yyscanner The scanner object. + */ + void core_yy_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if ( ! b ) + return; + + if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ + YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; + + if ( b->yy_is_our_buffer ) + core_yyfree((void *) b->yy_ch_buf ,yyscanner ); + + core_yyfree((void *) b ,yyscanner ); +} + +/* Initializes or reinitializes a buffer. + * This function is sometimes called more than once on the same buffer, + * such as during a core_yyrestart() or at EOF. + */ + static void core_yy_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner) + +{ + int oerrno = errno; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + core_yy_flush_buffer(b ,yyscanner); + + b->yy_input_file = file; + b->yy_fill_buffer = 1; + + /* If b is the current buffer, then core_yy_init_buffer was _probably_ + * called from core_yyrestart() or through yy_get_next_buffer. + * In that case, we don't want to reset the lineno or column. + */ + if (b != YY_CURRENT_BUFFER){ + b->yy_bs_lineno = 1; + b->yy_bs_column = 0; + } + + b->yy_is_interactive = 0; + + errno = oerrno; +} + +/** Discard all buffered characters. On the next scan, YY_INPUT will be called. + * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. + * @param yyscanner The scanner object. + */ + void core_yy_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + if ( ! b ) + return; + + b->yy_n_chars = 0; + + /* We always need two end-of-buffer characters. The first causes + * a transition to the end-of-buffer state. The second causes + * a jam in that state. + */ + b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; + b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; + + b->yy_buf_pos = &b->yy_ch_buf[0]; + + b->yy_at_bol = 1; + b->yy_buffer_status = YY_BUFFER_NEW; + + if ( b == YY_CURRENT_BUFFER ) + core_yy_load_buffer_state(yyscanner ); +} + +/** Pushes the new state onto the stack. The new state becomes + * the current state. This function will allocate the stack + * if necessary. + * @param new_buffer The new state. + * @param yyscanner The scanner object. + */ +void core_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + if (new_buffer == NULL) + return; + + core_yyensure_buffer_stack(yyscanner); + + /* This block is copied from core_yy_switch_to_buffer. */ + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *yyg->yy_c_buf_p = yyg->yy_hold_char; + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p; + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; + } + + /* Only push if top exists. Otherwise, replace top. */ + if (YY_CURRENT_BUFFER) + yyg->yy_buffer_stack_top++; + YY_CURRENT_BUFFER_LVALUE = new_buffer; + + /* copied from core_yy_switch_to_buffer. */ + core_yy_load_buffer_state(yyscanner ); + yyg->yy_did_buffer_switch_on_eof = 1; +} + +/** Removes and deletes the top of the stack, if present. + * The next element becomes the new top. + * @param yyscanner The scanner object. + */ +void core_yypop_buffer_state (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + if (!YY_CURRENT_BUFFER) + return; + + core_yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner); + YY_CURRENT_BUFFER_LVALUE = NULL; + if (yyg->yy_buffer_stack_top > 0) + --yyg->yy_buffer_stack_top; + + if (YY_CURRENT_BUFFER) { + core_yy_load_buffer_state(yyscanner ); + yyg->yy_did_buffer_switch_on_eof = 1; + } +} + +/* Allocates the stack if it does not exist. + * Guarantees space for at least one push. + */ +static void core_yyensure_buffer_stack (yyscan_t yyscanner) +{ + int num_to_alloc; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if (!yyg->yy_buffer_stack) { + + /* First allocation is just for 2 elements, since we don't know if this + * scanner will even need a stack. We use 2 instead of 1 to avoid an + * immediate realloc on the next call. + */ + num_to_alloc = 1; + yyg->yy_buffer_stack = (struct yy_buffer_state**)core_yyalloc + (num_to_alloc * sizeof(struct yy_buffer_state*) + , yyscanner); + if ( ! yyg->yy_buffer_stack ) + { + YY_FATAL_ERROR( "out of dynamic memory in core_yyensure_buffer_stack()" ); + return; + } + + memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*)); + + yyg->yy_buffer_stack_max = num_to_alloc; + yyg->yy_buffer_stack_top = 0; + return; + } + + if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){ + + /* Increase the buffer to prepare for a possible push. */ + int grow_size = 8 /* arbitrary grow size */; + + num_to_alloc = yyg->yy_buffer_stack_max + grow_size; + yyg->yy_buffer_stack = (struct yy_buffer_state**)core_yyrealloc + (yyg->yy_buffer_stack, + num_to_alloc * sizeof(struct yy_buffer_state*) + , yyscanner); + if ( ! yyg->yy_buffer_stack ) + { + YY_FATAL_ERROR( "out of dynamic memory in core_yyensure_buffer_stack()" ); + return; + } + + /* zero only the new slots.*/ + memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*)); + yyg->yy_buffer_stack_max = num_to_alloc; + } +} + +/** Setup the input buffer state to scan directly from a user-specified character buffer. + * @param base the character buffer + * @param size the size in bytes of the character buffer + * @param yyscanner The scanner object. + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE core_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner) +{ + 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) core_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner ); + if ( ! b ) + { + YY_FATAL_ERROR( "out of dynamic memory in core_yy_scan_buffer()" ); + return NULL; + } + + 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; + + core_yy_switch_to_buffer(b ,yyscanner ); + + return b; +} + +/** Setup the input buffer state to scan a string. The next call to core_yylex() will + * scan from a @e copy of @a str. + * @param yystr a NUL-terminated string to scan + * @param yyscanner The scanner object. + * @return the newly allocated buffer state object. + * @note If you want to scan bytes that may contain NUL values, then use + * core_yy_scan_bytes() instead. + */ +YY_BUFFER_STATE core_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner) +{ + + return core_yy_scan_bytes(yystr,strlen(yystr) ,yyscanner); +} + +/** Setup the input buffer state to scan the given bytes. The next call to core_yylex() will + * scan from a @e copy of @a bytes. + * @param yybytes the byte buffer to scan + * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param yyscanner The scanner object. + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE core_yy_scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner) +{ + YY_BUFFER_STATE b; + char *buf; + yy_size_t n; + int i; + + /* Get memory for full buffer, including space for trailing EOB's. */ + n = _yybytes_len + 2; + buf = (char *) core_yyalloc(n ,yyscanner ); + if ( ! buf ) + { + YY_FATAL_ERROR( "out of dynamic memory in core_yy_scan_bytes()" ); + return NULL; + } + + for ( i = 0; i < _yybytes_len; ++i ) + buf[i] = yybytes[i]; + + buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; + + b = core_yy_scan_buffer(buf,n ,yyscanner); + if ( ! b ) + { + YY_FATAL_ERROR( "bad buffer in core_yy_scan_bytes()" ); + return NULL; + } + + /* It's okay to grow etc. this buffer, and we should throw it + * away when we're done. + */ + b->yy_is_our_buffer = 1; + + return b; +} + +#ifndef YY_EXIT_FAILURE +#define YY_EXIT_FAILURE 2 +#endif + +static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) +{ + set_pgadmin_scanner_last_error("scan.c ERROR: %s\n", msg); + /*(void) fprintf( stderr, "%s\n", msg );*/ + /*exit( YY_EXIT_FAILURE );*/ +} + +/* Redefine yyless() so it works in section 3 code. */ + +#undef yyless +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + yytext[yyleng] = yyg->yy_hold_char; \ + yyg->yy_c_buf_p = yytext + yyless_macro_arg; \ + yyg->yy_hold_char = *yyg->yy_c_buf_p; \ + *yyg->yy_c_buf_p = '\0'; \ + yyleng = yyless_macro_arg; \ + } \ + while ( 0 ) + +/* Accessor methods (get/set functions) to struct members. */ + +/** Get the user-defined data for this scanner. + * @param yyscanner The scanner object. + */ +YY_EXTRA_TYPE core_yyget_extra (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yyextra; +} + +/** Get the current line number. + * @param yyscanner The scanner object. + */ +int core_yyget_lineno (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if (! YY_CURRENT_BUFFER) + return 0; + + return yylineno; +} + +/** Get the current column number. + * @param yyscanner The scanner object. + */ +int core_yyget_column (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if (! YY_CURRENT_BUFFER) + return 0; + + return yycolumn; +} + +/** Get the input stream. + * @param yyscanner The scanner object. + */ +FILE *core_yyget_in (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yyin; +} + +/** Get the output stream. + * @param yyscanner The scanner object. + */ +FILE *core_yyget_out (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yyout; +} + +/** Get the length of the current token. + * @param yyscanner The scanner object. + */ +int core_yyget_leng (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yyleng; +} + +/** Get the current token. + * @param yyscanner The scanner object. + */ + +char *core_yyget_text (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yytext; +} + +/** Set the user-defined data. This data is never touched by the scanner. + * @param user_defined The data to be associated with this scanner. + * @param yyscanner The scanner object. + */ +void core_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yyextra = user_defined ; +} + +/** Set the current line number. + * @param line_number + * @param yyscanner The scanner object. + */ +void core_yyset_lineno (int line_number , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + /* lineno is only valid if an input buffer exists. */ + if (! YY_CURRENT_BUFFER ) + { + yy_fatal_error( "core_yyset_lineno called with no buffer" , yyscanner); + return; + } + + yylineno = line_number; +} + +/** Set the current column. + * @param line_number + * @param yyscanner The scanner object. + */ +void core_yyset_column (int column_no , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + /* column is only valid if an input buffer exists. */ + if (! YY_CURRENT_BUFFER ) + { + yy_fatal_error( "core_yyset_column called with no buffer" , yyscanner); + return; + } + + yycolumn = column_no; +} + +/** Set the input stream. This does not discard the current + * input buffer. + * @param in_str A readable stream. + * @param yyscanner The scanner object. + * @see core_yy_switch_to_buffer + */ +void core_yyset_in (FILE * in_str , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yyin = in_str ; +} + +void core_yyset_out (FILE * out_str , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yyout = out_str ; +} + +int core_yyget_debug (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yy_flex_debug; +} + +void core_yyset_debug (int bdebug , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yy_flex_debug = bdebug ; +} + +/* Accessor methods for yylval and yylloc */ + +YYSTYPE * core_yyget_lval (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yylval; +} + +void core_yyset_lval (YYSTYPE * yylval_param , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yylval = yylval_param; +} + +YYLTYPE *core_yyget_lloc (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yylloc; +} + +void core_yyset_lloc (YYLTYPE * yylloc_param , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yylloc = yylloc_param; +} + +/* User-visible API */ + +/* core_yylex_init is special because it creates the scanner itself, so it is + * the ONLY reentrant function that doesn't take the scanner as the last argument. + * That's why we explicitly handle the declaration, instead of using our macros. + */ + +int core_yylex_init(yyscan_t* ptr_yy_globals) + +{ + if (ptr_yy_globals == NULL){ + errno = EINVAL; + return 1; + } + + *ptr_yy_globals = (yyscan_t) core_yyalloc ( sizeof( struct yyguts_t ), NULL ); + + if (*ptr_yy_globals == NULL){ + errno = ENOMEM; + return 1; + } + + /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */ + memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); + + return yy_init_globals ( *ptr_yy_globals ); +} + +/* core_yylex_init_extra has the same functionality as core_yylex_init, but follows the + * convention of taking the scanner as the last argument. Note however, that + * this is a *pointer* to a scanner, as it will be allocated by this call (and + * is the reason, too, why this function also must handle its own declaration). + * The user defined value in the first argument will be available to core_yyalloc in + * the yyextra field. + */ + +int core_yylex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals ) + +{ + struct yyguts_t dummy_yyguts; + + core_yyset_extra (yy_user_defined, &dummy_yyguts); + + if (ptr_yy_globals == NULL){ + errno = EINVAL; + return 1; + } + + *ptr_yy_globals = (yyscan_t) core_yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts ); + + if (*ptr_yy_globals == NULL){ + errno = ENOMEM; + return 1; + } + + /* By setting to 0xAA, we expose bugs in + yy_init_globals. Leave at 0x00 for releases. */ + memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); + + core_yyset_extra (yy_user_defined, *ptr_yy_globals); + + return yy_init_globals ( *ptr_yy_globals ); +} + +static int yy_init_globals (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + /* Initialization is the same as for the non-reentrant scanner. + * This function is called from core_yylex_destroy(), so don't allocate here. + */ + + yyg->yy_buffer_stack = 0; + yyg->yy_buffer_stack_top = 0; + yyg->yy_buffer_stack_max = 0; + yyg->yy_c_buf_p = (char *) 0; + yyg->yy_init = 0; + yyg->yy_start = 0; + + yyg->yy_start_stack_ptr = 0; + yyg->yy_start_stack_depth = 0; + yyg->yy_start_stack = NULL; + +/* Defined in main.c */ +#ifdef YY_STDINIT + yyin = stdin; + yyout = stdout; +#else + yyin = (FILE *) 0; + yyout = (FILE *) 0; +#endif + + /* For future reference: Set errno on error, since we are called by + * core_yylex_init() + */ + return 0; +} + +/* core_yylex_destroy is for both reentrant and non-reentrant scanners. */ +int core_yylex_destroy (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + /* Pop the buffer stack, destroying each element. */ + while(YY_CURRENT_BUFFER){ + core_yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner ); + YY_CURRENT_BUFFER_LVALUE = NULL; + core_yypop_buffer_state(yyscanner); + } + + /* Destroy the stack itself. */ + core_yyfree(yyg->yy_buffer_stack ,yyscanner); + yyg->yy_buffer_stack = NULL; + + /* Destroy the start condition stack. */ + core_yyfree(yyg->yy_start_stack ,yyscanner ); + yyg->yy_start_stack = NULL; + + /* Reset the globals. This is important in a non-reentrant scanner so the next time + * core_yylex() is called, initialization will occur. */ + yy_init_globals( yyscanner); + + /* Destroy the main struct (reentrant only). */ + core_yyfree ( yyscanner , yyscanner ); + yyscanner = NULL; + return 0; +} + +/* + * Internal utility routines. + */ + +#ifndef yytext_ptr +static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner) +{ + register int i; + for ( i = 0; i < n; ++i ) + s1[i] = s2[i]; +} +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner) +{ + register int n; + for ( n = 0; s[n]; ++n ) + ; + + return n; +} +#endif + +#define YYTABLES_NAME "yytables" + +/*#line 927 "scan.l"*/ + + + +/* + * Arrange access to yyextra for subroutines of the main core_yylex() function. + * We expect each subroutine to have a yyscanner parameter. Rather than + * use the yyget_xxx functions, which might or might not get inlined by the + * compiler, we cheat just a bit and cast yyscanner to the right type. + */ +#undef yyextra +#define yyextra (((struct yyguts_t *) yyscanner)->yyextra_r) + +/* Likewise for a couple of other things we need. */ +#undef yylloc +#define yylloc (((struct yyguts_t *) yyscanner)->yylloc_r) +#undef yyleng +#define yyleng (((struct yyguts_t *) yyscanner)->yyleng_r) + + +/* + * scanner_errposition + * Report a lexer or grammar error cursor position, if possible. + * + * This is expected to be used within an ereport() call. The return value + * is a dummy (always 0, in fact). + * + * Note that this can only be used for messages emitted during raw parsing + * (essentially, scan.l and gram.y), since it requires the yyscanner struct + * to still be available. + */ +int +scanner_errposition(int location, core_yyscan_t yyscanner) +{ + int pos; + + if (location < 0) + return 0; /* no-op if location is unknown */ + + /* Convert byte offset to character number */ + pos = pg_mbstrlen_with_len(yyextra->scanbuf, location) + 1; + /* And pass it to the ereport mechanism */ + return errposition(pos); +} + +/* + * scanner_yyerror + * Report a lexer or grammar error. + * + * The message's cursor position is whatever YYLLOC was last set to, + * ie, the start of the current token if called within core_yylex(), or the + * most recently lexed token if called from the grammar. + * This is OK for syntax error messages from the Bison parser, because Bison + * parsers report error as soon as the first unparsable token is reached. + * Beware of using yyerror for other purposes, as the cursor position might + * be misleading! + */ +void +scanner_yyerror(const char *message, core_yyscan_t yyscanner) +{ + const char *loc = yyextra->scanbuf + *yylloc; + + if (*loc == YY_END_OF_BUFFER_CHAR) + { + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + /* translator: %s is typically the translation of "syntax error" */ + errmsg("%s at end of input", _(message)), + lexer_errposition())); + } + else + { + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + /* translator: first %s is typically the translation of "syntax error" */ + errmsg("%s at or near \"%s\"", _(message), loc), + lexer_errposition())); + } + longjmp(gEnv, 1); +} + + +/* + * Called before any actual parsing is done + */ +core_yyscan_t +scanner_init(jmp_buf env, const char *str, + core_yy_extra_type *yyext, + const ScanKeyword *keywords, + int num_keywords) +{ + gEnv[0] = env[0]; + Size slen = strlen(str); + yyscan_t scanner; + + if (core_yylex_init(&scanner) != 0) + { + elog(ERROR, "core_yylex_init() failed: %m"); + longjmp(gEnv, 1); + } + + core_yyset_extra(yyext, scanner); + + yyext->keywords = keywords; + yyext->num_keywords = num_keywords; + + /* + * Make a scan buffer with special termination needed by flex. + */ + yyext->scanbuf = (char *) palloc(slen + 2); + yyext->scanbuflen = slen; + memcpy(yyext->scanbuf, str, slen); + yyext->scanbuf[slen] = yyext->scanbuf[slen + 1] = YY_END_OF_BUFFER_CHAR; + core_yy_scan_buffer(yyext->scanbuf,slen + 2,scanner); + + /* initialize literal buffer to a reasonable but expansible size */ + yyext->literalalloc = 1024; + yyext->literalbuf = (char *) palloc(yyext->literalalloc); + yyext->literallen = 0; + + return scanner; +} + + +/* + * Called after parsing is done to clean up after scanner_init() + */ +void +scanner_finish(core_yyscan_t yyscanner) +{ + /* + * We don't bother to call core_yylex_destroy(), because all it would do + * is pfree a small amount of control storage. It's cheaper to leak + * the storage until the parsing context is destroyed. The amount of + * space involved is usually negligible compared to the output parse + * tree anyway. + * + * We do bother to pfree the scanbuf and literal buffer, but only if they + * represent a nontrivial amount of space. The 8K cutoff is arbitrary. + */ + if (yyextra->scanbuflen >= 8192) + pfree(yyextra->scanbuf); + if (yyextra->literalalloc >= 8192) + pfree(yyextra->literalbuf); +} + + +static void +addlit(char *ytext, int yleng, core_yyscan_t yyscanner) +{ + /* enlarge buffer if needed */ + if ((yyextra->literallen + yleng) >= yyextra->literalalloc) + { + do { + yyextra->literalalloc *= 2; + } while ((yyextra->literallen + yleng) >= yyextra->literalalloc); + yyextra->literalbuf = (char *) repalloc(yyextra->literalbuf, + yyextra->literalalloc); + } + /* append new data */ + memcpy(yyextra->literalbuf + yyextra->literallen, ytext, yleng); + yyextra->literallen += yleng; +} + + +static void +addlitchar(unsigned char ychar, core_yyscan_t yyscanner) +{ + /* enlarge buffer if needed */ + if ((yyextra->literallen + 1) >= yyextra->literalalloc) + { + yyextra->literalalloc *= 2; + yyextra->literalbuf = (char *) repalloc(yyextra->literalbuf, + yyextra->literalalloc); + } + /* append new data */ + yyextra->literalbuf[yyextra->literallen] = ychar; + yyextra->literallen += 1; +} + + +/* + * Create a palloc'd copy of literalbuf, adding a trailing null. + */ +static char * +litbufdup(core_yyscan_t yyscanner) +{ + int llen = yyextra->literallen; + char *new; + + new = palloc(llen + 1); + memcpy(new, yyextra->literalbuf, llen); + new[llen] = '\0'; + return new; +} + +static int +process_integer_literal(const char *token, YYSTYPE *lval) +{ + long val; + char *endptr; + + errno = 0; + val = strtol(token, &endptr, 10); + if (*endptr != '\0' || errno == ERANGE +#ifdef HAVE_LONG_INT_64 + /* if long > 32 bits, check for overflow of int4 */ + || val != (long) ((int32) val) +#endif + ) + { + /* integer too large, treat it as a float */ + lval->str = pstrdup(token); + return FCONST; + } + lval->ival = val; + return ICONST; +} + +static unsigned int +hexval(unsigned char c) +{ + if (c >= '0' && c <= '9') + return c - '0'; + if (c >= 'a' && c <= 'f') + return c - 'a' + 0xA; + if (c >= 'A' && c <= 'F') + return c - 'A' + 0xA; + elog(ERROR, "invalid hexadecimal digit"); + longjmp(gEnv, 1); + return 0; /* not reached */ +} + +static void +check_unicode_value(pg_wchar c, char *loc, core_yyscan_t yyscanner) +{ + if (GetDatabaseEncoding() == PG_UTF8) + return; + + if (c > 0x7F) + { + ADVANCE_YYLLOC(loc - yyextra->literalbuf + 3); /* 3 for U&" */ + yyerror("Unicode escape values cannot be used for code point values above 007F when the server encoding is not UTF8"); + } +} + +static bool +is_utf16_surrogate_first(pg_wchar c) +{ + return (c >= 0xD800 && c <= 0xDBFF); +} + +static bool +is_utf16_surrogate_second(pg_wchar c) +{ + return (c >= 0xDC00 && c <= 0xDFFF); +} + +static pg_wchar +surrogate_pair_to_codepoint(pg_wchar first, pg_wchar second) +{ + return ((first & 0x3FF) << 10) + 0x10000 + (second & 0x3FF); +} + +static void +addunicode(pg_wchar c, core_yyscan_t yyscanner) +{ + char buf[8]; + + if (c == 0 || c > 0x10FFFF) + yyerror("invalid Unicode escape value"); + if (c > 0x7F) + { + if (GetDatabaseEncoding() != PG_UTF8) + yyerror("Unicode escape values cannot be used for code point values above 007F when the server encoding is not UTF8"); + yyextra->saw_non_ascii = true; + } + unicode_to_utf8(c, (unsigned char *) buf); + addlit(buf, pg_mblen(buf), yyscanner); +} + +static char * +litbuf_udeescape(unsigned char escape, core_yyscan_t yyscanner) +{ + char *new; + char *litbuf, *in, *out; + pg_wchar pair_first = 0; + + if (isxdigit(escape) + || escape == '+' + || escape == '\'' + || escape == '"' + || scanner_isspace(escape)) + { + ADVANCE_YYLLOC(yyextra->literallen + yyleng + 1); + yyerror("invalid Unicode escape character"); + } + + /* Make literalbuf null-terminated to simplify the scanning loop */ + litbuf = yyextra->literalbuf; + litbuf[yyextra->literallen] = '\0'; + + /* + * This relies on the subtle assumption that a UTF-8 expansion + * cannot be longer than its escaped representation. + */ + new = palloc(yyextra->literallen + 1); + + in = litbuf; + out = new; + while (*in) + { + if (in[0] == escape) + { + if (in[1] == escape) + { + if (pair_first) + { + ADVANCE_YYLLOC(in - litbuf + 3); /* 3 for U&" */ + yyerror("invalid Unicode surrogate pair"); + } + *out++ = escape; + in += 2; + } + else if (isxdigit((unsigned char) in[1]) && + isxdigit((unsigned char) in[2]) && + isxdigit((unsigned char) in[3]) && + isxdigit((unsigned char) in[4])) + { + pg_wchar unicode; + + unicode = (hexval(in[1]) << 12) + + (hexval(in[2]) << 8) + + (hexval(in[3]) << 4) + + hexval(in[4]); + check_unicode_value(unicode, in, yyscanner); + if (pair_first) + { + if (is_utf16_surrogate_second(unicode)) + { + unicode = surrogate_pair_to_codepoint(pair_first, unicode); + pair_first = 0; + } + else + { + ADVANCE_YYLLOC(in - litbuf + 3); /* 3 for U&" */ + yyerror("invalid Unicode surrogate pair"); + } + } + else if (is_utf16_surrogate_second(unicode)) + yyerror("invalid Unicode surrogate pair"); + + if (is_utf16_surrogate_first(unicode)) + pair_first = unicode; + else + { + unicode_to_utf8(unicode, (unsigned char *) out); + out += pg_mblen(out); + } + in += 5; + } + else if (in[1] == '+' && + isxdigit((unsigned char) in[2]) && + isxdigit((unsigned char) in[3]) && + isxdigit((unsigned char) in[4]) && + isxdigit((unsigned char) in[5]) && + isxdigit((unsigned char) in[6]) && + isxdigit((unsigned char) in[7])) + { + pg_wchar unicode; + + unicode = (hexval(in[2]) << 20) + + (hexval(in[3]) << 16) + + (hexval(in[4]) << 12) + + (hexval(in[5]) << 8) + + (hexval(in[6]) << 4) + + hexval(in[7]); + check_unicode_value(unicode, in, yyscanner); + if (pair_first) + { + if (is_utf16_surrogate_second(unicode)) + { + unicode = surrogate_pair_to_codepoint(pair_first, unicode); + pair_first = 0; + } + else + { + ADVANCE_YYLLOC(in - litbuf + 3); /* 3 for U&" */ + yyerror("invalid Unicode surrogate pair"); + } + } + else if (is_utf16_surrogate_second(unicode)) + yyerror("invalid Unicode surrogate pair"); + + if (is_utf16_surrogate_first(unicode)) + pair_first = unicode; + else + { + unicode_to_utf8(unicode, (unsigned char *) out); + out += pg_mblen(out); + } + in += 8; + } + else + { + ADVANCE_YYLLOC(in - litbuf + 3); /* 3 for U&" */ + yyerror("invalid Unicode escape value"); + } + } + else + { + if (pair_first) + { + ADVANCE_YYLLOC(in - litbuf + 3); /* 3 for U&" */ + yyerror("invalid Unicode surrogate pair"); + } + *out++ = *in++; + } + } + + *out = '\0'; + /* + * We could skip pg_verifymbstr if we didn't process any non-7-bit-ASCII + * codes; but it's probably not worth the trouble, since this isn't + * likely to be a performance-critical path. + */ + pg_verifymbstr(new, out - new, false); + return new; +} + +static unsigned char +unescape_single_char(unsigned char c, core_yyscan_t yyscanner) +{ + switch (c) + { + case 'b': + return '\b'; + case 'f': + return '\f'; + case 'n': + return '\n'; + case 'r': + return '\r'; + case 't': + return '\t'; + default: + /* check for backslash followed by non-7-bit-ASCII */ + if (c == '\0' || IS_HIGHBIT_SET(c)) + yyextra->saw_non_ascii = true; + + return c; + } +} + +static void +check_string_escape_warning(unsigned char ychar, core_yyscan_t yyscanner) +{ + if (ychar == '\'') + { + if (yyextra->warn_on_first_escape && escape_string_warning) + ereport(WARNING, + (errcode(ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER), + errmsg("nonstandard use of \\' in a string literal"), + errhint("Use '' to write quotes in strings, or use the escape string syntax (E'...')."), + lexer_errposition())); + yyextra->warn_on_first_escape = false; /* warn only once per string */ + } + else if (ychar == '\\') + { + if (yyextra->warn_on_first_escape && escape_string_warning) + ereport(WARNING, + (errcode(ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER), + errmsg("nonstandard use of \\\\ in a string literal"), + errhint("Use the escape string syntax for backslashes, e.g., E'\\\\'."), + lexer_errposition())); + yyextra->warn_on_first_escape = false; /* warn only once per string */ + } + else + check_escape_warning(yyscanner); +} + +static void +check_escape_warning(core_yyscan_t yyscanner) +{ + if (yyextra->warn_on_first_escape && escape_string_warning) + ereport(WARNING, + (errcode(ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER), + errmsg("nonstandard use of escape in a string literal"), + errhint("Use the escape string syntax for escapes, e.g., E'\\r\\n'."), + lexer_errposition())); + yyextra->warn_on_first_escape = false; /* warn only once per string */ +} + +/* + * Interface functions to make flex use palloc() instead of malloc(). + * It'd be better to make these static, but flex insists otherwise. + */ + +void * +core_yyalloc(yy_size_t bytes, core_yyscan_t yyscanner) +{ + return palloc(bytes); +} + +void * +core_yyrealloc(void *ptr, yy_size_t bytes, core_yyscan_t yyscanner) +{ + if (ptr) + return repalloc(ptr, bytes); + else + return palloc(bytes); +} + +void +core_yyfree(void *ptr, core_yyscan_t yyscanner) +{ + if (ptr) + pfree(ptr); +} diff --git a/xtra/pg_scanners/scan.l b/xtra/pg_scanners/scan.l new file mode 100644 index 0000000..6b216b5 --- /dev/null +++ b/xtra/pg_scanners/scan.l @@ -0,0 +1,1437 @@ +%{ +/*------------------------------------------------------------------------- + * + * scan.l + * lexical scanner for PostgreSQL + * + * NOTE NOTE NOTE: + * + * The rules in this file must be kept in sync with psql's lexer!!! + * + * The rules are designed so that the scanner never has to backtrack, + * in the sense that there is always a rule that can match the input + * consumed so far (the rule action may internally throw back some input + * with yyless(), however). As explained in the flex manual, this makes + * for a useful speed increase --- about a third faster than a plain -CF + * lexer, in simple testing. The extra complexity is mostly in the rules + * for handling float numbers and continued string literals. If you change + * the lexical rules, verify that you haven't broken the no-backtrack + * property by running flex with the "-b" option and checking that the + * resulting "lex.backup" file says that no backing up is needed. (As of + * Postgres 9.2, this check is made automatically by the Makefile.) + * + * + * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * IDENTIFICATION + * src/backend/parser/scan.l + * + *------------------------------------------------------------------------- + */ +#include "postgres.h" + +#include +#include + +#include "parser/parser.h" /* only needed for GUC variables */ +#include "parser/scanner.h" +#include "parser/scansup.h" +#include "mb/pg_wchar.h" + + +/* Avoid exit() on fatal scanner errors (a bit ugly -- see yy_fatal_error) */ +#undef fprintf +#define fprintf(file, fmt, msg) ereport(ERROR, (errmsg_internal("%s", msg))) + +/* + * GUC variables. This is a DIRECT violation of the warning given at the + * head of gram.y, ie flex/bison code must not depend on any GUC variables; + * as such, changing their values can induce very unintuitive behavior. + * But we shall have to live with it as a short-term thing until the switch + * to SQL-standard string syntax is complete. + */ +int backslash_quote = BACKSLASH_QUOTE_SAFE_ENCODING; +bool escape_string_warning = true; +bool standard_conforming_strings = true; + +/* + * Set the type of YYSTYPE. + */ +#define YYSTYPE core_YYSTYPE + +/* + * Set the type of yyextra. All state variables used by the scanner should + * be in yyextra, *not* statically allocated. + */ +#define YY_EXTRA_TYPE core_yy_extra_type * + +/* + * Each call to yylex must set yylloc to the location of the found token + * (expressed as a byte offset from the start of the input text). + * When we parse a token that requires multiple lexer rules to process, + * this should be done in the first such rule, else yylloc will point + * into the middle of the token. + */ +#define SET_YYLLOC() (*(yylloc) = yytext - yyextra->scanbuf) + +/* + * Advance yylloc by the given number of bytes. + */ +#define ADVANCE_YYLLOC(delta) ( *(yylloc) += (delta) ) + +#define startlit() ( yyextra->literallen = 0 ) +static void addlit(char *ytext, int yleng, core_yyscan_t yyscanner); +static void addlitchar(unsigned char ychar, core_yyscan_t yyscanner); +static char *litbufdup(core_yyscan_t yyscanner); +static char *litbuf_udeescape(unsigned char escape, core_yyscan_t yyscanner); +static unsigned char unescape_single_char(unsigned char c, core_yyscan_t yyscanner); +static int process_integer_literal(const char *token, YYSTYPE *lval); +static bool is_utf16_surrogate_first(pg_wchar c); +static bool is_utf16_surrogate_second(pg_wchar c); +static pg_wchar surrogate_pair_to_codepoint(pg_wchar first, pg_wchar second); +static void addunicode(pg_wchar c, yyscan_t yyscanner); + +#define yyerror(msg) scanner_yyerror(msg, yyscanner) + +#define lexer_errposition() scanner_errposition(*(yylloc), yyscanner) + +static void check_string_escape_warning(unsigned char ychar, core_yyscan_t yyscanner); +static void check_escape_warning(core_yyscan_t yyscanner); + +/* + * Work around a bug in flex 2.5.35: it emits a couple of functions that + * it forgets to emit declarations for. Since we use -Wmissing-prototypes, + * this would cause warnings. Providing our own declarations should be + * harmless even when the bug gets fixed. + */ +extern int core_yyget_column(yyscan_t yyscanner); +extern void core_yyset_column(int column_no, yyscan_t yyscanner); + +%} + +%option reentrant +%option bison-bridge +%option bison-locations +%option 8bit +%option never-interactive +%option nodefault +%option noinput +%option nounput +%option noyywrap +%option noyyalloc +%option noyyrealloc +%option noyyfree +%option warn +%option prefix="core_yy" + +/* + * OK, here is a short description of lex/flex rules behavior. + * The longest pattern which matches an input string is always chosen. + * For equal-length patterns, the first occurring in the rules list is chosen. + * INITIAL is the starting state, to which all non-conditional rules apply. + * Exclusive states change parsing rules while the state is active. When in + * an exclusive state, only those rules defined for that state apply. + * + * We use exclusive states for quoted strings, extended comments, + * and to eliminate parsing troubles for numeric strings. + * Exclusive states: + * bit string literal + * extended C-style comments + * delimited identifiers (double-quoted identifiers) + * hexadecimal numeric string + * standard quoted strings + * extended quoted strings (support backslash escape sequences) + * $foo$ quoted strings + * quoted identifier with Unicode escapes + * quoted string with Unicode escapes + * Unicode surrogate pair in extended quoted string + */ + +%x xb +%x xc +%x xd +%x xh +%x xe +%x xq +%x xdolq +%x xui +%x xus +%x xeu + +/* + * In order to make the world safe for Windows and Mac clients as well as + * Unix ones, we accept either \n or \r as a newline. A DOS-style \r\n + * sequence will be seen as two successive newlines, but that doesn't cause + * any problems. Comments that start with -- and extend to the next + * newline are treated as equivalent to a single whitespace character. + * + * NOTE a fine point: if there is no newline following --, we will absorb + * everything to the end of the input as a comment. This is correct. Older + * versions of Postgres failed to recognize -- as a comment if the input + * did not end with a newline. + * + * XXX perhaps \f (formfeed) should be treated as a newline as well? + * + * XXX if you change the set of whitespace characters, fix scanner_isspace() + * to agree, and see also the plpgsql lexer. + */ + +space [ \t\n\r\f] +horiz_space [ \t\f] +newline [\n\r] +non_newline [^\n\r] + +comment ("--"{non_newline}*) + +whitespace ({space}+|{comment}) + +/* + * SQL requires at least one newline in the whitespace separating + * string literals that are to be concatenated. Silly, but who are we + * to argue? Note that {whitespace_with_newline} should not have * after + * it, whereas {whitespace} should generally have a * after it... + */ + +special_whitespace ({space}+|{comment}{newline}) +horiz_whitespace ({horiz_space}|{comment}) +whitespace_with_newline ({horiz_whitespace}*{newline}{special_whitespace}*) + +/* + * To ensure that {quotecontinue} can be scanned without having to back up + * if the full pattern isn't matched, we include trailing whitespace in + * {quotestop}. This matches all cases where {quotecontinue} fails to match, + * except for {quote} followed by whitespace and just one "-" (not two, + * which would start a {comment}). To cover that we have {quotefail}. + * The actions for {quotestop} and {quotefail} must throw back characters + * beyond the quote proper. + */ +quote ' +quotestop {quote}{whitespace}* +quotecontinue {quote}{whitespace_with_newline}{quote} +quotefail {quote}{whitespace}*"-" + +/* Bit string + * It is tempting to scan the string for only those characters + * which are allowed. However, this leads to silently swallowed + * characters if illegal characters are included in the string. + * For example, if xbinside is [01] then B'ABCD' is interpreted + * as a zero-length string, and the ABCD' is lost! + * Better to pass the string forward and let the input routines + * validate the contents. + */ +xbstart [bB]{quote} +xbinside [^']* + +/* Hexadecimal number */ +xhstart [xX]{quote} +xhinside [^']* + +/* National character */ +xnstart [nN]{quote} + +/* Quoted string that allows backslash escapes */ +xestart [eE]{quote} +xeinside [^\\']+ +xeescape [\\][^0-7] +xeoctesc [\\][0-7]{1,3} +xehexesc [\\]x[0-9A-Fa-f]{1,2} +xeunicode [\\](u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}) +xeunicodefail [\\](u[0-9A-Fa-f]{0,3}|U[0-9A-Fa-f]{0,7}) + +/* Extended quote + * xqdouble implements embedded quote, '''' + */ +xqstart {quote} +xqdouble {quote}{quote} +xqinside [^']+ + +/* $foo$ style quotes ("dollar quoting") + * The quoted string starts with $foo$ where "foo" is an optional string + * in the form of an identifier, except that it may not contain "$", + * and extends to the first occurrence of an identical string. + * There is *no* processing of the quoted text. + * + * {dolqfailed} is an error rule to avoid scanner backup when {dolqdelim} + * fails to match its trailing "$". + */ +dolq_start [A-Za-z\200-\377_] +dolq_cont [A-Za-z\200-\377_0-9] +dolqdelim \$({dolq_start}{dolq_cont}*)?\$ +dolqfailed \${dolq_start}{dolq_cont}* +dolqinside [^$]+ + +/* Double quote + * Allows embedded spaces and other special characters into identifiers. + */ +dquote \" +xdstart {dquote} +xdstop {dquote} +xddouble {dquote}{dquote} +xdinside [^"]+ + +/* Unicode escapes */ +uescape [uU][eE][sS][cC][aA][pP][eE]{whitespace}*{quote}[^']{quote} +/* error rule to avoid backup */ +uescapefail ("-"|[uU][eE][sS][cC][aA][pP][eE]{whitespace}*"-"|[uU][eE][sS][cC][aA][pP][eE]{whitespace}*{quote}[^']|[uU][eE][sS][cC][aA][pP][eE]{whitespace}*{quote}|[uU][eE][sS][cC][aA][pP][eE]{whitespace}*|[uU][eE][sS][cC][aA][pP]|[uU][eE][sS][cC][aA]|[uU][eE][sS][cC]|[uU][eE][sS]|[uU][eE]|[uU]) + +/* Quoted identifier with Unicode escapes */ +xuistart [uU]&{dquote} +xuistop1 {dquote}{whitespace}*{uescapefail}? +xuistop2 {dquote}{whitespace}*{uescape} + +/* Quoted string with Unicode escapes */ +xusstart [uU]&{quote} +xusstop1 {quote}{whitespace}*{uescapefail}? +xusstop2 {quote}{whitespace}*{uescape} + +/* error rule to avoid backup */ +xufailed [uU]& + + +/* C-style comments + * + * The "extended comment" syntax closely resembles allowable operator syntax. + * The tricky part here is to get lex to recognize a string starting with + * slash-star as a comment, when interpreting it as an operator would produce + * a longer match --- remember lex will prefer a longer match! Also, if we + * have something like plus-slash-star, lex will think this is a 3-character + * operator whereas we want to see it as a + operator and a comment start. + * The solution is two-fold: + * 1. append {op_chars}* to xcstart so that it matches as much text as + * {operator} would. Then the tie-breaker (first matching rule of same + * length) ensures xcstart wins. We put back the extra stuff with yyless() + * in case it contains a star-slash that should terminate the comment. + * 2. In the operator rule, check for slash-star within the operator, and + * if found throw it back with yyless(). This handles the plus-slash-star + * problem. + * Dash-dash comments have similar interactions with the operator rule. + */ +xcstart \/\*{op_chars}* +xcstop \*+\/ +xcinside [^*/]+ + +digit [0-9] +ident_start [A-Za-z\200-\377_] +ident_cont [A-Za-z\200-\377_0-9\$] + +identifier {ident_start}{ident_cont}* + +typecast "::" +dot_dot \.\. +colon_equals ":=" + +/* + * "self" is the set of chars that should be returned as single-character + * tokens. "op_chars" is the set of chars that can make up "Op" tokens, + * which can be one or more characters long (but if a single-char token + * appears in the "self" set, it is not to be returned as an Op). Note + * that the sets overlap, but each has some chars that are not in the other. + * + * If you change either set, adjust the character lists appearing in the + * rule for "operator"! + */ +self [,()\[\].;\:\+\-\*\/\%\^\<\>\=] +op_chars [\~\!\@\#\^\&\|\`\?\+\-\*\/\%\<\>\=] +operator {op_chars}+ + +/* we no longer allow unary minus in numbers. + * instead we pass it separately to parser. there it gets + * coerced via doNegate() -- Leon aug 20 1999 + * +* {decimalfail} is used because we would like "1..10" to lex as 1, dot_dot, 10. +* + * {realfail1} and {realfail2} are added to prevent the need for scanner + * backup when the {real} rule fails to match completely. + */ + +integer {digit}+ +decimal (({digit}*\.{digit}+)|({digit}+\.{digit}*)) +decimalfail {digit}+\.\. +real ({integer}|{decimal})[Ee][-+]?{digit}+ +realfail1 ({integer}|{decimal})[Ee] +realfail2 ({integer}|{decimal})[Ee][-+] + +param \${integer} + +other . + +/* + * Dollar quoted strings are totally opaque, and no escaping is done on them. + * Other quoted strings must allow some special characters such as single-quote + * and newline. + * Embedded single-quotes are implemented both in the SQL standard + * style of two adjacent single quotes "''" and in the Postgres/Java style + * of escaped-quote "\'". + * Other embedded escaped characters are matched explicitly and the leading + * backslash is dropped from the string. + * Note that xcstart must appear before operator, as explained above! + * Also whitespace (comment) must appear before operator. + */ + +%% + +{whitespace} { + /* ignore */ + } + +{xcstart} { + /* Set location in case of syntax error in comment */ + SET_YYLLOC(); + yyextra->xcdepth = 0; + BEGIN(xc); + /* Put back any characters past slash-star; see above */ + yyless(2); + } + +{xcstart} { + (yyextra->xcdepth)++; + /* Put back any characters past slash-star; see above */ + yyless(2); + } + +{xcstop} { + if (yyextra->xcdepth <= 0) + BEGIN(INITIAL); + else + (yyextra->xcdepth)--; + } + +{xcinside} { + /* ignore */ + } + +{op_chars} { + /* ignore */ + } + +\*+ { + /* ignore */ + } + +<> { yyerror("unterminated /* comment"); } + +{xbstart} { + /* Binary bit type. + * At some point we should simply pass the string + * forward to the parser and label it there. + * In the meantime, place a leading "b" on the string + * to mark it for the input routine as a binary string. + */ + SET_YYLLOC(); + BEGIN(xb); + startlit(); + addlitchar('b', yyscanner); + } +{quotestop} | +{quotefail} { + yyless(1); + BEGIN(INITIAL); + yylval->str = litbufdup(yyscanner); + return BCONST; + } +{xhinside} | +{xbinside} { + addlit(yytext, yyleng, yyscanner); + } +{quotecontinue} | +{quotecontinue} { + /* ignore */ + } +<> { yyerror("unterminated bit string literal"); } + +{xhstart} { + /* Hexadecimal bit type. + * At some point we should simply pass the string + * forward to the parser and label it there. + * In the meantime, place a leading "x" on the string + * to mark it for the input routine as a hex string. + */ + SET_YYLLOC(); + BEGIN(xh); + startlit(); + addlitchar('x', yyscanner); + } +{quotestop} | +{quotefail} { + yyless(1); + BEGIN(INITIAL); + yylval->str = litbufdup(yyscanner); + return XCONST; + } +<> { yyerror("unterminated hexadecimal string literal"); } + +{xnstart} { + /* National character. + * We will pass this along as a normal character string, + * but preceded with an internally-generated "NCHAR". + */ + const ScanKeyword *keyword; + + SET_YYLLOC(); + yyless(1); /* eat only 'n' this time */ + + keyword = ScanKeywordLookup("nchar", + yyextra->keywords, + yyextra->num_keywords); + if (keyword != NULL) + { + yylval->keyword = keyword->name; + return keyword->value; + } + else + { + /* If NCHAR isn't a keyword, just return "n" */ + yylval->str = pstrdup("n"); + return IDENT; + } + } + +{xqstart} { + yyextra->warn_on_first_escape = true; + yyextra->saw_non_ascii = false; + SET_YYLLOC(); + if (standard_conforming_strings) + BEGIN(xq); + else + BEGIN(xe); + startlit(); + } +{xestart} { + yyextra->warn_on_first_escape = false; + yyextra->saw_non_ascii = false; + SET_YYLLOC(); + BEGIN(xe); + startlit(); + } +{xusstart} { + SET_YYLLOC(); + if (!standard_conforming_strings) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("unsafe use of string constant with Unicode escapes"), + errdetail("String constants with Unicode escapes cannot be used when standard_conforming_strings is off."), + lexer_errposition())); + BEGIN(xus); + startlit(); + } +{quotestop} | +{quotefail} { + yyless(1); + BEGIN(INITIAL); + /* + * check that the data remains valid if it might have been + * made invalid by unescaping any chars. + */ + if (yyextra->saw_non_ascii) + pg_verifymbstr(yyextra->literalbuf, + yyextra->literallen, + false); + yylval->str = litbufdup(yyscanner); + return SCONST; + } +{xusstop1} { + /* throw back all but the quote */ + yyless(1); + BEGIN(INITIAL); + yylval->str = litbuf_udeescape('\\', yyscanner); + return SCONST; + } +{xusstop2} { + BEGIN(INITIAL); + yylval->str = litbuf_udeescape(yytext[yyleng-2], yyscanner); + return SCONST; + } +{xqdouble} { + addlitchar('\'', yyscanner); + } +{xqinside} { + addlit(yytext, yyleng, yyscanner); + } +{xeinside} { + addlit(yytext, yyleng, yyscanner); + } +{xeunicode} { + pg_wchar c = strtoul(yytext+2, NULL, 16); + + check_escape_warning(yyscanner); + + if (is_utf16_surrogate_first(c)) + { + yyextra->utf16_first_part = c; + BEGIN(xeu); + } + else if (is_utf16_surrogate_second(c)) + yyerror("invalid Unicode surrogate pair"); + else + addunicode(c, yyscanner); + } +{xeunicode} { + pg_wchar c = strtoul(yytext+2, NULL, 16); + + if (!is_utf16_surrogate_second(c)) + yyerror("invalid Unicode surrogate pair"); + + c = surrogate_pair_to_codepoint(yyextra->utf16_first_part, c); + + addunicode(c, yyscanner); + + BEGIN(xe); + } +. { yyerror("invalid Unicode surrogate pair"); } +\n { yyerror("invalid Unicode surrogate pair"); } +<> { yyerror("invalid Unicode surrogate pair"); } +{xeunicodefail} { + ereport(ERROR, + (errcode(ERRCODE_INVALID_ESCAPE_SEQUENCE), + errmsg("invalid Unicode escape"), + errhint("Unicode escapes must be \\uXXXX or \\UXXXXXXXX."), + lexer_errposition())); + } +{xeescape} { + if (yytext[1] == '\'') + { + if (backslash_quote == BACKSLASH_QUOTE_OFF || + (backslash_quote == BACKSLASH_QUOTE_SAFE_ENCODING && + PG_ENCODING_IS_CLIENT_ONLY(pg_get_client_encoding()))) + ereport(ERROR, + (errcode(ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER), + errmsg("unsafe use of \\' in a string literal"), + errhint("Use '' to write quotes in strings. \\' is insecure in client-only encodings."), + lexer_errposition())); + } + check_string_escape_warning(yytext[1], yyscanner); + addlitchar(unescape_single_char(yytext[1], yyscanner), + yyscanner); + } +{xeoctesc} { + unsigned char c = strtoul(yytext+1, NULL, 8); + + check_escape_warning(yyscanner); + addlitchar(c, yyscanner); + if (c == '\0' || IS_HIGHBIT_SET(c)) + yyextra->saw_non_ascii = true; + } +{xehexesc} { + unsigned char c = strtoul(yytext+2, NULL, 16); + + check_escape_warning(yyscanner); + addlitchar(c, yyscanner); + if (c == '\0' || IS_HIGHBIT_SET(c)) + yyextra->saw_non_ascii = true; + } +{quotecontinue} { + /* ignore */ + } +. { + /* This is only needed for \ just before EOF */ + addlitchar(yytext[0], yyscanner); + } +<> { yyerror("unterminated quoted string"); } + +{dolqdelim} { + SET_YYLLOC(); + yyextra->dolqstart = pstrdup(yytext); + BEGIN(xdolq); + startlit(); + } +{dolqfailed} { + SET_YYLLOC(); + /* throw back all but the initial "$" */ + yyless(1); + /* and treat it as {other} */ + return yytext[0]; + } +{dolqdelim} { + if (strcmp(yytext, yyextra->dolqstart) == 0) + { + pfree(yyextra->dolqstart); + yyextra->dolqstart = NULL; + BEGIN(INITIAL); + yylval->str = litbufdup(yyscanner); + return SCONST; + } + else + { + /* + * When we fail to match $...$ to dolqstart, transfer + * the $... part to the output, but put back the final + * $ for rescanning. Consider $delim$...$junk$delim$ + */ + addlit(yytext, yyleng-1, yyscanner); + yyless(yyleng-1); + } + } +{dolqinside} { + addlit(yytext, yyleng, yyscanner); + } +{dolqfailed} { + addlit(yytext, yyleng, yyscanner); + } +. { + /* This is only needed for $ inside the quoted text */ + addlitchar(yytext[0], yyscanner); + } +<> { yyerror("unterminated dollar-quoted string"); } + +{xdstart} { + SET_YYLLOC(); + BEGIN(xd); + startlit(); + } +{xuistart} { + SET_YYLLOC(); + BEGIN(xui); + startlit(); + } +{xdstop} { + char *ident; + + BEGIN(INITIAL); + if (yyextra->literallen == 0) + yyerror("zero-length delimited identifier"); + ident = litbufdup(yyscanner); + if (yyextra->literallen >= NAMEDATALEN) + truncate_identifier(ident, yyextra->literallen, true); + yylval->str = ident; + return IDENT; + } +{xuistop1} { + char *ident; + + BEGIN(INITIAL); + if (yyextra->literallen == 0) + yyerror("zero-length delimited identifier"); + ident = litbuf_udeescape('\\', yyscanner); + if (yyextra->literallen >= NAMEDATALEN) + truncate_identifier(ident, yyextra->literallen, true); + yylval->str = ident; + /* throw back all but the quote */ + yyless(1); + return IDENT; + } +{xuistop2} { + char *ident; + + BEGIN(INITIAL); + if (yyextra->literallen == 0) + yyerror("zero-length delimited identifier"); + ident = litbuf_udeescape(yytext[yyleng - 2], yyscanner); + if (yyextra->literallen >= NAMEDATALEN) + truncate_identifier(ident, yyextra->literallen, true); + yylval->str = ident; + return IDENT; + } +{xddouble} { + addlitchar('"', yyscanner); + } +{xdinside} { + addlit(yytext, yyleng, yyscanner); + } +<> { yyerror("unterminated quoted identifier"); } + +{xufailed} { + char *ident; + + SET_YYLLOC(); + /* throw back all but the initial u/U */ + yyless(1); + /* and treat it as {identifier} */ + ident = downcase_truncate_identifier(yytext, yyleng, true); + yylval->str = ident; + return IDENT; + } + +{typecast} { + SET_YYLLOC(); + return TYPECAST; + } + +{dot_dot} { + SET_YYLLOC(); + return DOT_DOT; + } + +{colon_equals} { + SET_YYLLOC(); + return COLON_EQUALS; + } + +{self} { + SET_YYLLOC(); + return yytext[0]; + } + +{operator} { + /* + * Check for embedded slash-star or dash-dash; those + * are comment starts, so operator must stop there. + * Note that slash-star or dash-dash at the first + * character will match a prior rule, not this one. + */ + int nchars = yyleng; + char *slashstar = strstr(yytext, "/*"); + char *dashdash = strstr(yytext, "--"); + + if (slashstar && dashdash) + { + /* if both appear, take the first one */ + if (slashstar > dashdash) + slashstar = dashdash; + } + else if (!slashstar) + slashstar = dashdash; + if (slashstar) + nchars = slashstar - yytext; + + /* + * For SQL compatibility, '+' and '-' cannot be the + * last char of a multi-char operator unless the operator + * contains chars that are not in SQL operators. + * The idea is to lex '=-' as two operators, but not + * to forbid operator names like '?-' that could not be + * sequences of SQL operators. + */ + while (nchars > 1 && + (yytext[nchars-1] == '+' || + yytext[nchars-1] == '-')) + { + int ic; + + for (ic = nchars-2; ic >= 0; ic--) + { + if (strchr("~!@#^&|`?%", yytext[ic])) + break; + } + if (ic >= 0) + break; /* found a char that makes it OK */ + nchars--; /* else remove the +/-, and check again */ + } + + SET_YYLLOC(); + + if (nchars < yyleng) + { + /* Strip the unwanted chars from the token */ + yyless(nchars); + /* + * If what we have left is only one char, and it's + * one of the characters matching "self", then + * return it as a character token the same way + * that the "self" rule would have. + */ + if (nchars == 1 && + strchr(",()[].;:+-*/%^<>=", yytext[0])) + return yytext[0]; + } + + /* + * Complain if operator is too long. Unlike the case + * for identifiers, we make this an error not a notice- + * and-truncate, because the odds are we are looking at + * a syntactic mistake anyway. + */ + if (nchars >= NAMEDATALEN) + yyerror("operator too long"); + + /* Convert "!=" operator to "<>" for compatibility */ + if (strcmp(yytext, "!=") == 0) + yylval->str = pstrdup("<>"); + else + yylval->str = pstrdup(yytext); + return Op; + } + +{param} { + SET_YYLLOC(); + yylval->ival = atol(yytext + 1); + return PARAM; + } + +{integer} { + SET_YYLLOC(); + return process_integer_literal(yytext, yylval); + } +{decimal} { + SET_YYLLOC(); + yylval->str = pstrdup(yytext); + return FCONST; + } +{decimalfail} { + /* throw back the .., and treat as integer */ + yyless(yyleng-2); + SET_YYLLOC(); + return process_integer_literal(yytext, yylval); + } +{real} { + SET_YYLLOC(); + yylval->str = pstrdup(yytext); + return FCONST; + } +{realfail1} { + /* + * throw back the [Ee], and treat as {decimal}. Note + * that it is possible the input is actually {integer}, + * but since this case will almost certainly lead to a + * syntax error anyway, we don't bother to distinguish. + */ + yyless(yyleng-1); + SET_YYLLOC(); + yylval->str = pstrdup(yytext); + return FCONST; + } +{realfail2} { + /* throw back the [Ee][+-], and proceed as above */ + yyless(yyleng-2); + SET_YYLLOC(); + yylval->str = pstrdup(yytext); + return FCONST; + } + + +{identifier} { + const ScanKeyword *keyword; + char *ident; + + SET_YYLLOC(); + + /* Is it a keyword? */ + keyword = ScanKeywordLookup(yytext, + yyextra->keywords, + yyextra->num_keywords); + if (keyword != NULL) + { + yylval->keyword = keyword->name; + return keyword->value; + } + + /* + * No. Convert the identifier to lower case, and truncate + * if necessary. + */ + ident = downcase_truncate_identifier(yytext, yyleng, true); + yylval->str = ident; + return IDENT; + } + +{other} { + SET_YYLLOC(); + return yytext[0]; + } + +<> { + SET_YYLLOC(); + yyterminate(); + } + +%% + +/* + * Arrange access to yyextra for subroutines of the main yylex() function. + * We expect each subroutine to have a yyscanner parameter. Rather than + * use the yyget_xxx functions, which might or might not get inlined by the + * compiler, we cheat just a bit and cast yyscanner to the right type. + */ +#undef yyextra +#define yyextra (((struct yyguts_t *) yyscanner)->yyextra_r) + +/* Likewise for a couple of other things we need. */ +#undef yylloc +#define yylloc (((struct yyguts_t *) yyscanner)->yylloc_r) +#undef yyleng +#define yyleng (((struct yyguts_t *) yyscanner)->yyleng_r) + + +/* + * scanner_errposition + * Report a lexer or grammar error cursor position, if possible. + * + * This is expected to be used within an ereport() call. The return value + * is a dummy (always 0, in fact). + * + * Note that this can only be used for messages emitted during raw parsing + * (essentially, scan.l and gram.y), since it requires the yyscanner struct + * to still be available. + */ +int +scanner_errposition(int location, core_yyscan_t yyscanner) +{ + int pos; + + if (location < 0) + return 0; /* no-op if location is unknown */ + + /* Convert byte offset to character number */ + pos = pg_mbstrlen_with_len(yyextra->scanbuf, location) + 1; + /* And pass it to the ereport mechanism */ + return errposition(pos); +} + +/* + * scanner_yyerror + * Report a lexer or grammar error. + * + * The message's cursor position is whatever YYLLOC was last set to, + * ie, the start of the current token if called within yylex(), or the + * most recently lexed token if called from the grammar. + * This is OK for syntax error messages from the Bison parser, because Bison + * parsers report error as soon as the first unparsable token is reached. + * Beware of using yyerror for other purposes, as the cursor position might + * be misleading! + */ +void +scanner_yyerror(const char *message, core_yyscan_t yyscanner) +{ + const char *loc = yyextra->scanbuf + *yylloc; + + if (*loc == YY_END_OF_BUFFER_CHAR) + { + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + /* translator: %s is typically the translation of "syntax error" */ + errmsg("%s at end of input", _(message)), + lexer_errposition())); + } + else + { + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + /* translator: first %s is typically the translation of "syntax error" */ + errmsg("%s at or near \"%s\"", _(message), loc), + lexer_errposition())); + } +} + + +/* + * Called before any actual parsing is done + */ +core_yyscan_t +scanner_init(const char *str, + core_yy_extra_type *yyext, + const ScanKeyword *keywords, + int num_keywords) +{ + Size slen = strlen(str); + yyscan_t scanner; + + if (yylex_init(&scanner) != 0) + elog(ERROR, "yylex_init() failed: %m"); + + core_yyset_extra(yyext, scanner); + + yyext->keywords = keywords; + yyext->num_keywords = num_keywords; + + /* + * Make a scan buffer with special termination needed by flex. + */ + yyext->scanbuf = (char *) palloc(slen + 2); + yyext->scanbuflen = slen; + memcpy(yyext->scanbuf, str, slen); + yyext->scanbuf[slen] = yyext->scanbuf[slen + 1] = YY_END_OF_BUFFER_CHAR; + yy_scan_buffer(yyext->scanbuf, slen + 2, scanner); + + /* initialize literal buffer to a reasonable but expansible size */ + yyext->literalalloc = 1024; + yyext->literalbuf = (char *) palloc(yyext->literalalloc); + yyext->literallen = 0; + + return scanner; +} + + +/* + * Called after parsing is done to clean up after scanner_init() + */ +void +scanner_finish(core_yyscan_t yyscanner) +{ + /* + * We don't bother to call yylex_destroy(), because all it would do + * is pfree a small amount of control storage. It's cheaper to leak + * the storage until the parsing context is destroyed. The amount of + * space involved is usually negligible compared to the output parse + * tree anyway. + * + * We do bother to pfree the scanbuf and literal buffer, but only if they + * represent a nontrivial amount of space. The 8K cutoff is arbitrary. + */ + if (yyextra->scanbuflen >= 8192) + pfree(yyextra->scanbuf); + if (yyextra->literalalloc >= 8192) + pfree(yyextra->literalbuf); +} + + +static void +addlit(char *ytext, int yleng, core_yyscan_t yyscanner) +{ + /* enlarge buffer if needed */ + if ((yyextra->literallen + yleng) >= yyextra->literalalloc) + { + do { + yyextra->literalalloc *= 2; + } while ((yyextra->literallen + yleng) >= yyextra->literalalloc); + yyextra->literalbuf = (char *) repalloc(yyextra->literalbuf, + yyextra->literalalloc); + } + /* append new data */ + memcpy(yyextra->literalbuf + yyextra->literallen, ytext, yleng); + yyextra->literallen += yleng; +} + + +static void +addlitchar(unsigned char ychar, core_yyscan_t yyscanner) +{ + /* enlarge buffer if needed */ + if ((yyextra->literallen + 1) >= yyextra->literalalloc) + { + yyextra->literalalloc *= 2; + yyextra->literalbuf = (char *) repalloc(yyextra->literalbuf, + yyextra->literalalloc); + } + /* append new data */ + yyextra->literalbuf[yyextra->literallen] = ychar; + yyextra->literallen += 1; +} + + +/* + * Create a palloc'd copy of literalbuf, adding a trailing null. + */ +static char * +litbufdup(core_yyscan_t yyscanner) +{ + int llen = yyextra->literallen; + char *new; + + new = palloc(llen + 1); + memcpy(new, yyextra->literalbuf, llen); + new[llen] = '\0'; + return new; +} + +static int +process_integer_literal(const char *token, YYSTYPE *lval) +{ + long val; + char *endptr; + + errno = 0; + val = strtol(token, &endptr, 10); + if (*endptr != '\0' || errno == ERANGE +#ifdef HAVE_LONG_INT_64 + /* if long > 32 bits, check for overflow of int4 */ + || val != (long) ((int32) val) +#endif + ) + { + /* integer too large, treat it as a float */ + lval->str = pstrdup(token); + return FCONST; + } + lval->ival = val; + return ICONST; +} + +static unsigned int +hexval(unsigned char c) +{ + if (c >= '0' && c <= '9') + return c - '0'; + if (c >= 'a' && c <= 'f') + return c - 'a' + 0xA; + if (c >= 'A' && c <= 'F') + return c - 'A' + 0xA; + elog(ERROR, "invalid hexadecimal digit"); + return 0; /* not reached */ +} + +static void +check_unicode_value(pg_wchar c, char *loc, core_yyscan_t yyscanner) +{ + if (GetDatabaseEncoding() == PG_UTF8) + return; + + if (c > 0x7F) + { + ADVANCE_YYLLOC(loc - yyextra->literalbuf + 3); /* 3 for U&" */ + yyerror("Unicode escape values cannot be used for code point values above 007F when the server encoding is not UTF8"); + } +} + +static bool +is_utf16_surrogate_first(pg_wchar c) +{ + return (c >= 0xD800 && c <= 0xDBFF); +} + +static bool +is_utf16_surrogate_second(pg_wchar c) +{ + return (c >= 0xDC00 && c <= 0xDFFF); +} + +static pg_wchar +surrogate_pair_to_codepoint(pg_wchar first, pg_wchar second) +{ + return ((first & 0x3FF) << 10) + 0x10000 + (second & 0x3FF); +} + +static void +addunicode(pg_wchar c, core_yyscan_t yyscanner) +{ + char buf[8]; + + if (c == 0 || c > 0x10FFFF) + yyerror("invalid Unicode escape value"); + if (c > 0x7F) + { + if (GetDatabaseEncoding() != PG_UTF8) + yyerror("Unicode escape values cannot be used for code point values above 007F when the server encoding is not UTF8"); + yyextra->saw_non_ascii = true; + } + unicode_to_utf8(c, (unsigned char *) buf); + addlit(buf, pg_mblen(buf), yyscanner); +} + +static char * +litbuf_udeescape(unsigned char escape, core_yyscan_t yyscanner) +{ + char *new; + char *litbuf, *in, *out; + pg_wchar pair_first = 0; + + if (isxdigit(escape) + || escape == '+' + || escape == '\'' + || escape == '"' + || scanner_isspace(escape)) + { + ADVANCE_YYLLOC(yyextra->literallen + yyleng + 1); + yyerror("invalid Unicode escape character"); + } + + /* Make literalbuf null-terminated to simplify the scanning loop */ + litbuf = yyextra->literalbuf; + litbuf[yyextra->literallen] = '\0'; + + /* + * This relies on the subtle assumption that a UTF-8 expansion + * cannot be longer than its escaped representation. + */ + new = palloc(yyextra->literallen + 1); + + in = litbuf; + out = new; + while (*in) + { + if (in[0] == escape) + { + if (in[1] == escape) + { + if (pair_first) + { + ADVANCE_YYLLOC(in - litbuf + 3); /* 3 for U&" */ + yyerror("invalid Unicode surrogate pair"); + } + *out++ = escape; + in += 2; + } + else if (isxdigit((unsigned char) in[1]) && + isxdigit((unsigned char) in[2]) && + isxdigit((unsigned char) in[3]) && + isxdigit((unsigned char) in[4])) + { + pg_wchar unicode; + + unicode = (hexval(in[1]) << 12) + + (hexval(in[2]) << 8) + + (hexval(in[3]) << 4) + + hexval(in[4]); + check_unicode_value(unicode, in, yyscanner); + if (pair_first) + { + if (is_utf16_surrogate_second(unicode)) + { + unicode = surrogate_pair_to_codepoint(pair_first, unicode); + pair_first = 0; + } + else + { + ADVANCE_YYLLOC(in - litbuf + 3); /* 3 for U&" */ + yyerror("invalid Unicode surrogate pair"); + } + } + else if (is_utf16_surrogate_second(unicode)) + yyerror("invalid Unicode surrogate pair"); + + if (is_utf16_surrogate_first(unicode)) + pair_first = unicode; + else + { + unicode_to_utf8(unicode, (unsigned char *) out); + out += pg_mblen(out); + } + in += 5; + } + else if (in[1] == '+' && + isxdigit((unsigned char) in[2]) && + isxdigit((unsigned char) in[3]) && + isxdigit((unsigned char) in[4]) && + isxdigit((unsigned char) in[5]) && + isxdigit((unsigned char) in[6]) && + isxdigit((unsigned char) in[7])) + { + pg_wchar unicode; + + unicode = (hexval(in[2]) << 20) + + (hexval(in[3]) << 16) + + (hexval(in[4]) << 12) + + (hexval(in[5]) << 8) + + (hexval(in[6]) << 4) + + hexval(in[7]); + check_unicode_value(unicode, in, yyscanner); + if (pair_first) + { + if (is_utf16_surrogate_second(unicode)) + { + unicode = surrogate_pair_to_codepoint(pair_first, unicode); + pair_first = 0; + } + else + { + ADVANCE_YYLLOC(in - litbuf + 3); /* 3 for U&" */ + yyerror("invalid Unicode surrogate pair"); + } + } + else if (is_utf16_surrogate_second(unicode)) + yyerror("invalid Unicode surrogate pair"); + + if (is_utf16_surrogate_first(unicode)) + pair_first = unicode; + else + { + unicode_to_utf8(unicode, (unsigned char *) out); + out += pg_mblen(out); + } + in += 8; + } + else + { + ADVANCE_YYLLOC(in - litbuf + 3); /* 3 for U&" */ + yyerror("invalid Unicode escape value"); + } + } + else + { + if (pair_first) + { + ADVANCE_YYLLOC(in - litbuf + 3); /* 3 for U&" */ + yyerror("invalid Unicode surrogate pair"); + } + *out++ = *in++; + } + } + + *out = '\0'; + /* + * We could skip pg_verifymbstr if we didn't process any non-7-bit-ASCII + * codes; but it's probably not worth the trouble, since this isn't + * likely to be a performance-critical path. + */ + pg_verifymbstr(new, out - new, false); + return new; +} + +static unsigned char +unescape_single_char(unsigned char c, core_yyscan_t yyscanner) +{ + switch (c) + { + case 'b': + return '\b'; + case 'f': + return '\f'; + case 'n': + return '\n'; + case 'r': + return '\r'; + case 't': + return '\t'; + default: + /* check for backslash followed by non-7-bit-ASCII */ + if (c == '\0' || IS_HIGHBIT_SET(c)) + yyextra->saw_non_ascii = true; + + return c; + } +} + +static void +check_string_escape_warning(unsigned char ychar, core_yyscan_t yyscanner) +{ + if (ychar == '\'') + { + if (yyextra->warn_on_first_escape && escape_string_warning) + ereport(WARNING, + (errcode(ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER), + errmsg("nonstandard use of \\' in a string literal"), + errhint("Use '' to write quotes in strings, or use the escape string syntax (E'...')."), + lexer_errposition())); + yyextra->warn_on_first_escape = false; /* warn only once per string */ + } + else if (ychar == '\\') + { + if (yyextra->warn_on_first_escape && escape_string_warning) + ereport(WARNING, + (errcode(ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER), + errmsg("nonstandard use of \\\\ in a string literal"), + errhint("Use the escape string syntax for backslashes, e.g., E'\\\\'."), + lexer_errposition())); + yyextra->warn_on_first_escape = false; /* warn only once per string */ + } + else + check_escape_warning(yyscanner); +} + +static void +check_escape_warning(core_yyscan_t yyscanner) +{ + if (yyextra->warn_on_first_escape && escape_string_warning) + ereport(WARNING, + (errcode(ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER), + errmsg("nonstandard use of escape in a string literal"), + errhint("Use the escape string syntax for escapes, e.g., E'\\r\\n'."), + lexer_errposition())); + yyextra->warn_on_first_escape = false; /* warn only once per string */ +} + +/* + * Interface functions to make flex use palloc() instead of malloc(). + * It'd be better to make these static, but flex insists otherwise. + */ + +void * +core_yyalloc(yy_size_t bytes, core_yyscan_t yyscanner) +{ + return palloc(bytes); +} + +void * +core_yyrealloc(void *ptr, yy_size_t bytes, core_yyscan_t yyscanner) +{ + if (ptr) + return repalloc(ptr, bytes); + else + return palloc(bytes); +} + +void +core_yyfree(void *ptr, core_yyscan_t yyscanner) +{ + if (ptr) + pfree(ptr); +} diff --git a/xtra/pg_scanners/scansup.c b/xtra/pg_scanners/scansup.c new file mode 100644 index 0000000..145474a --- /dev/null +++ b/xtra/pg_scanners/scansup.c @@ -0,0 +1,219 @@ +/*------------------------------------------------------------------------- + * + * scansup.c + * support routines for the lex/flex scanner, used by both the normal + * backend as well as the bootstrap backend + * + * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * + * IDENTIFICATION + * src/backend/parser/scansup.c + * + *------------------------------------------------------------------------- + */ +#include "postgres.h" + +#include + +#include "PgadminScanner.h" + +#include "parser/scansup.h" +#include "mb/pg_wchar.h" + + +/* ---------------- + * scanstr + * + * if the string passed in has escaped codes, map the escape codes to actual + * chars + * + * the string returned is palloc'd and should eventually be pfree'd by the + * caller! + * ---------------- + */ + +char * +scanstr(const char *s) +{ + char *newStr; + int len, + i, + j; + + if (s == NULL || s[0] == '\0') + return pstrdup(""); + + len = strlen(s); + + newStr = palloc(len + 1); /* string cannot get longer */ + + for (i = 0, j = 0; i < len; i++) + { + if (s[i] == '\'') + { + /* + * Note: if scanner is working right, unescaped quotes can only + * appear in pairs, so there should be another character. + */ + i++; + newStr[j] = s[i]; + } + else if (s[i] == '\\') + { + i++; + switch (s[i]) + { + case 'b': + newStr[j] = '\b'; + break; + case 'f': + newStr[j] = '\f'; + break; + case 'n': + newStr[j] = '\n'; + break; + case 'r': + newStr[j] = '\r'; + break; + case 't': + newStr[j] = '\t'; + break; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + { + int k; + long octVal = 0; + + for (k = 0; + s[i + k] >= '0' && s[i + k] <= '7' && k < 3; + k++) + octVal = (octVal << 3) + (s[i + k] - '0'); + i += k - 1; + newStr[j] = ((char) octVal); + } + break; + default: + newStr[j] = s[i]; + break; + } /* switch */ + } /* s[i] == '\\' */ + else + newStr[j] = s[i]; + j++; + } + newStr[j] = '\0'; + return newStr; +} + + +/* + * downcase_truncate_identifier() --- do appropriate downcasing and + * truncation of an unquoted identifier. Optionally warn of truncation. + * + * Returns a palloc'd string containing the adjusted identifier. + * + * Note: in some usages the passed string is not null-terminated. + * + * Note: the API of this function is designed to allow for downcasing + * transformations that increase the string length, but we don't yet + * support that. If you want to implement it, you'll need to fix + * SplitIdentifierString() in utils/adt/varlena.c. + */ +char * +downcase_truncate_identifier(const char *ident, int len, bool warn) +{ + char *result; + int i; + + result = palloc(len + 1); + + /* + * SQL99 specifies Unicode-aware case normalization, which we don't yet + * have the infrastructure for. Instead we use tolower() to provide a + * locale-aware translation. However, there are some locales where this + * is not right either (eg, Turkish may do strange things with 'i' and + * 'I'). Our current compromise is to use tolower() for characters with + * the high bit set, and use an ASCII-only downcasing for 7-bit + * characters. + */ + for (i = 0; i < len; i++) + { + unsigned char ch = (unsigned char) ident[i]; + + if (ch >= 'A' && ch <= 'Z') + ch += 'a' - 'A'; + else if (IS_HIGHBIT_SET(ch) && isupper(ch)) + ch = tolower(ch); + result[i] = (char) ch; + } + result[i] = '\0'; + + if (i >= NAMEDATALEN) + truncate_identifier(result, i, warn); + + return result; +} + +/* + * truncate_identifier() --- truncate an identifier to NAMEDATALEN-1 bytes. + * + * The given string is modified in-place, if necessary. A warning is + * issued if requested. + * + * We require the caller to pass in the string length since this saves a + * strlen() call in some common usages. + */ +void +truncate_identifier(char *ident, int len, bool warn) +{ + if (len >= NAMEDATALEN) + { + len = pg_mbcliplen(ident, len, NAMEDATALEN - 1); + if (warn) + { + /* + * We avoid using %.*s here because it can misbehave if the data + * is not valid in what libc thinks is the prevailing encoding. + */ + char buf[NAMEDATALEN]; + + memcpy(buf, ident, len); + buf[len] = '\0'; + ereport(NOTICE, + (errcode(ERRCODE_NAME_TOO_LONG), + errmsg("identifier \"%s\" will be truncated to \"%s\"", + ident, buf))); + } + ident[len] = '\0'; + } +} + +/* + * scanner_isspace() --- return TRUE if flex scanner considers char whitespace + * + * This should be used instead of the potentially locale-dependent isspace() + * function when it's important to match the lexer's behavior. + * + * In principle we might need similar functions for isalnum etc, but for the + * moment only isspace seems needed. + */ +bool +scanner_isspace(char ch) +{ + /* This must match scan.l's list of {space} characters */ + if (ch == ' ' || + ch == '\t' || + ch == '\n' || + ch == '\r' || + ch == '\f') + return true; + return false; +} diff --git a/xtra/pg_scanners/src/backend/parser/92/parser/gram.h b/xtra/pg_scanners/src/backend/parser/92/parser/gram.h new file mode 100644 index 0000000..58c14ff --- /dev/null +++ b/xtra/pg_scanners/src/backend/parser/92/parser/gram.h @@ -0,0 +1,527 @@ + +/* A Bison parser, made by GNU Bison 2.4.1. */ + +/* Skeleton interface for Bison's Yacc-like parsers in C + + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. + + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ + + +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + IDENT = 258, + FCONST = 259, + SCONST = 260, + BCONST = 261, + XCONST = 262, + Op = 263, + ICONST = 264, + PARAM = 265, + TYPECAST = 266, + DOT_DOT = 267, + COLON_EQUALS = 268, + ABORT_P = 269, + ABSOLUTE_P = 270, + ACCESS = 271, + ACTION = 272, + ADD_P = 273, + ADMIN = 274, + AFTER = 275, + AGGREGATE = 276, + ALL = 277, + ALSO = 278, + ALTER = 279, + ALWAYS = 280, + ANALYSE = 281, + ANALYZE = 282, + AND = 283, + ANY = 284, + ARRAY = 285, + AS = 286, + ASC = 287, + ASSERTION = 288, + ASSIGNMENT = 289, + ASYMMETRIC = 290, + AT = 291, + ATTRIBUTE = 292, + AUTHORIZATION = 293, + BACKWARD = 294, + BEFORE = 295, + BEGIN_P = 296, + BETWEEN = 297, + BIGINT = 298, + BINARY = 299, + BIT = 300, + BOOLEAN_P = 301, + BOTH = 302, + BY = 303, + CACHE = 304, + CALLED = 305, + CASCADE = 306, + CASCADED = 307, + CASE = 308, + CAST = 309, + CATALOG_P = 310, + CHAIN = 311, + CHAR_P = 312, + CHARACTER = 313, + CHARACTERISTICS = 314, + CHECK = 315, + CHECKPOINT = 316, + CLASS = 317, + CLOSE = 318, + CLUSTER = 319, + COALESCE = 320, + COLLATE = 321, + COLLATION = 322, + COLUMN = 323, + COMMENT = 324, + COMMENTS = 325, + COMMIT = 326, + COMMITTED = 327, + CONCURRENTLY = 328, + CONFIGURATION = 329, + CONNECTION = 330, + CONSTRAINT = 331, + CONSTRAINTS = 332, + CONTENT_P = 333, + CONTINUE_P = 334, + CONVERSION_P = 335, + COPY = 336, + COST = 337, + CREATE = 338, + CROSS = 339, + CSV = 340, + CURRENT_P = 341, + CURRENT_CATALOG = 342, + CURRENT_DATE = 343, + CURRENT_ROLE = 344, + CURRENT_SCHEMA = 345, + CURRENT_TIME = 346, + CURRENT_TIMESTAMP = 347, + CURRENT_USER = 348, + CURSOR = 349, + CYCLE = 350, + DATA_P = 351, + DATABASE = 352, + DAY_P = 353, + DEALLOCATE = 354, + DEC = 355, + DECIMAL_P = 356, + DECLARE = 357, + DEFAULT = 358, + DEFAULTS = 359, + DEFERRABLE = 360, + DEFERRED = 361, + DEFINER = 362, + DELETE_P = 363, + DELIMITER = 364, + DELIMITERS = 365, + DESC = 366, + DICTIONARY = 367, + DISABLE_P = 368, + DISCARD = 369, + DISTINCT = 370, + DO = 371, + DOCUMENT_P = 372, + DOMAIN_P = 373, + DOUBLE_P = 374, + DROP = 375, + EACH = 376, + ELSE = 377, + ENABLE_P = 378, + ENCODING = 379, + ENCRYPTED = 380, + END_P = 381, + ENUM_P = 382, + ESCAPE = 383, + EXCEPT = 384, + EXCLUDE = 385, + EXCLUDING = 386, + EXCLUSIVE = 387, + EXECUTE = 388, + EXISTS = 389, + EXPLAIN = 390, + EXTENSION = 391, + EXTERNAL = 392, + EXTRACT = 393, + FALSE_P = 394, + FAMILY = 395, + FETCH = 396, + FIRST_P = 397, + FLOAT_P = 398, + FOLLOWING = 399, + FOR = 400, + FORCE = 401, + FOREIGN = 402, + FORWARD = 403, + FREEZE = 404, + FROM = 405, + FULL = 406, + FUNCTION = 407, + FUNCTIONS = 408, + GLOBAL = 409, + GRANT = 410, + GRANTED = 411, + GREATEST = 412, + GROUP_P = 413, + HANDLER = 414, + HAVING = 415, + HEADER_P = 416, + HOLD = 417, + HOUR_P = 418, + IDENTITY_P = 419, + IF_P = 420, + ILIKE = 421, + IMMEDIATE = 422, + IMMUTABLE = 423, + IMPLICIT_P = 424, + IN_P = 425, + INCLUDING = 426, + INCREMENT = 427, + INDEX = 428, + INDEXES = 429, + INHERIT = 430, + INHERITS = 431, + INITIALLY = 432, + INLINE_P = 433, + INNER_P = 434, + INOUT = 435, + INPUT_P = 436, + INSENSITIVE = 437, + INSERT = 438, + INSTEAD = 439, + INT_P = 440, + INTEGER = 441, + INTERSECT = 442, + INTERVAL = 443, + INTO = 444, + INVOKER = 445, + IS = 446, + ISNULL = 447, + ISOLATION = 448, + JOIN = 449, + KEY = 450, + LABEL = 451, + LANGUAGE = 452, + LARGE_P = 453, + LAST_P = 454, + LC_COLLATE_P = 455, + LC_CTYPE_P = 456, + LEADING = 457, + LEAKPROOF = 458, + LEAST = 459, + LEFT = 460, + LEVEL = 461, + LIKE = 462, + LIMIT = 463, + LISTEN = 464, + LOAD = 465, + LOCAL = 466, + LOCALTIME = 467, + LOCALTIMESTAMP = 468, + LOCATION = 469, + LOCK_P = 470, + MAPPING = 471, + MATCH = 472, + MAXVALUE = 473, + MINUTE_P = 474, + MINVALUE = 475, + MODE = 476, + MONTH_P = 477, + MOVE = 478, + NAME_P = 479, + NAMES = 480, + NATIONAL = 481, + NATURAL = 482, + NCHAR = 483, + NEXT = 484, + NO = 485, + NONE = 486, + NOT = 487, + NOTHING = 488, + NOTIFY = 489, + NOTNULL = 490, + NOWAIT = 491, + NULL_P = 492, + NULLIF = 493, + NULLS_P = 494, + NUMERIC = 495, + OBJECT_P = 496, + OF = 497, + OFF = 498, + OFFSET = 499, + OIDS = 500, + ON = 501, + ONLY = 502, + OPERATOR = 503, + OPTION = 504, + OPTIONS = 505, + OR = 506, + ORDER = 507, + OUT_P = 508, + OUTER_P = 509, + OVER = 510, + OVERLAPS = 511, + OVERLAY = 512, + OWNED = 513, + OWNER = 514, + PARSER = 515, + PARTIAL = 516, + PARTITION = 517, + PASSING = 518, + PASSWORD = 519, + PLACING = 520, + PLANS = 521, + POSITION = 522, + PRECEDING = 523, + PRECISION = 524, + PRESERVE = 525, + PREPARE = 526, + PREPARED = 527, + PRIMARY = 528, + PRIOR = 529, + PRIVILEGES = 530, + PROCEDURAL = 531, + PROCEDURE = 532, + QUOTE = 533, + RANGE = 534, + READ = 535, + REAL = 536, + REASSIGN = 537, + RECHECK = 538, + RECURSIVE = 539, + REF = 540, + REFERENCES = 541, + REINDEX = 542, + RELATIVE_P = 543, + RELEASE = 544, + RENAME = 545, + REPEATABLE = 546, + REPLACE = 547, + REPLICA = 548, + RESET = 549, + RESTART = 550, + RESTRICT = 551, + RETURNING = 552, + RETURNS = 553, + REVOKE = 554, + RIGHT = 555, + ROLE = 556, + ROLLBACK = 557, + ROW = 558, + ROWS = 559, + RULE = 560, + SAVEPOINT = 561, + SCHEMA = 562, + SCROLL = 563, + SEARCH = 564, + SECOND_P = 565, + SECURITY = 566, + SELECT = 567, + SEQUENCE = 568, + SEQUENCES = 569, + SERIALIZABLE = 570, + SERVER = 571, + SESSION = 572, + SESSION_USER = 573, + SET = 574, + SETOF = 575, + SHARE = 576, + SHOW = 577, + SIMILAR = 578, + SIMPLE = 579, + SMALLINT = 580, + SNAPSHOT = 581, + SOME = 582, + STABLE = 583, + STANDALONE_P = 584, + START = 585, + STATEMENT = 586, + STATISTICS = 587, + STDIN = 588, + STDOUT = 589, + STORAGE = 590, + STRICT_P = 591, + STRIP_P = 592, + SUBSTRING = 593, + SYMMETRIC = 594, + SYSID = 595, + SYSTEM_P = 596, + TABLE = 597, + TABLES = 598, + TABLESPACE = 599, + TEMP = 600, + TEMPLATE = 601, + TEMPORARY = 602, + TEXT_P = 603, + THEN = 604, + TIME = 605, + TIMESTAMP = 606, + TO = 607, + TRAILING = 608, + TRANSACTION = 609, + TREAT = 610, + TRIGGER = 611, + TRIM = 612, + TRUE_P = 613, + TRUNCATE = 614, + TRUSTED = 615, + TYPE_P = 616, + TYPES_P = 617, + UNBOUNDED = 618, + UNCOMMITTED = 619, + UNENCRYPTED = 620, + UNION = 621, + UNIQUE = 622, + UNKNOWN = 623, + UNLISTEN = 624, + UNLOGGED = 625, + UNTIL = 626, + UPDATE = 627, + USER = 628, + USING = 629, + VACUUM = 630, + VALID = 631, + VALIDATE = 632, + VALIDATOR = 633, + VALUE_P = 634, + VALUES = 635, + VARCHAR = 636, + VARIADIC = 637, + VARYING = 638, + VERBOSE = 639, + VERSION_P = 640, + VIEW = 641, + VOLATILE = 642, + WHEN = 643, + WHERE = 644, + WHITESPACE_P = 645, + WINDOW = 646, + WITH = 647, + WITHOUT = 648, + WORK = 649, + WRAPPER = 650, + WRITE = 651, + XML_P = 652, + XMLATTRIBUTES = 653, + XMLCONCAT = 654, + XMLELEMENT = 655, + XMLEXISTS = 656, + XMLFOREST = 657, + XMLPARSE = 658, + XMLPI = 659, + XMLROOT = 660, + XMLSERIALIZE = 661, + YEAR_P = 662, + YES_P = 663, + ZONE = 664, + NULLS_FIRST = 665, + NULLS_LAST = 666, + WITH_TIME = 667, + POSTFIXOP = 668, + UMINUS = 669 + }; +#endif + + + +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +typedef union YYSTYPE +{ + +/* Line 1676 of yacc.c */ +#line 160 "/media/sda5/tmp/postgresql-git/postgresql/src/backend/parser/gram.y" + + core_YYSTYPE core_yystype; + /* these fields must match core_YYSTYPE: */ + int ival; + char *str; + const char *keyword; + + char chr; + bool boolean; + JoinType jtype; + DropBehavior dbehavior; + OnCommitAction oncommit; + List *list; + Node *node; + Value *value; + ObjectType objtype; + TypeName *typnam; + FunctionParameter *fun_param; + FunctionParameterMode fun_param_mode; + FuncWithArgs *funwithargs; + DefElem *defelt; + SortBy *sortby; + WindowDef *windef; + JoinExpr *jexpr; + IndexElem *ielem; + Alias *alias; + RangeVar *range; + IntoClause *into; + WithClause *with; + A_Indices *aind; + ResTarget *target; + struct PrivTarget *privtarget; + AccessPriv *accesspriv; + InsertStmt *istmt; + VariableSetStmt *vsetstmt; + + + +/* Line 1676 of yacc.c */ +#line 505 "gram.h" +} YYSTYPE; +# define YYSTYPE_IS_TRIVIAL 1 +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 +#endif + + + +#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED +typedef struct YYLTYPE +{ + int first_line; + int first_column; + int last_line; + int last_column; +} YYLTYPE; +# define yyltype YYLTYPE /* obsolescent; will be withdrawn */ +# define YYLTYPE_IS_DECLARED 1 +# define YYLTYPE_IS_TRIVIAL 1 +#endif + + + diff --git a/xtra/pg_scanners/src/backend/parser/keywords.c b/xtra/pg_scanners/src/backend/parser/keywords.c new file mode 100644 index 0000000..fbb89ab --- /dev/null +++ b/xtra/pg_scanners/src/backend/parser/keywords.c @@ -0,0 +1,36 @@ +/*------------------------------------------------------------------------- + * + * keywords.c + * lexical token lookup for key words in PostgreSQL + * + * + * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * + * IDENTIFICATION + * src/backend/parser/keywords.c + * + *------------------------------------------------------------------------- + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "postgres.h" + +#include "parser/gramparse.h" + +#define PG_KEYWORD(a,b,c) {a,b,c}, + + +const ScanKeyword ScanKeywords[] = { +#include "parser/kwlist.h" +}; + +const int NumScanKeywords = lengthof(ScanKeywords); + +#ifdef __cplusplus +} +#endif diff --git a/xtra/pg_scanners/src/backend/parser/kwlookup.c b/xtra/pg_scanners/src/backend/parser/kwlookup.c new file mode 100644 index 0000000..d516e82 --- /dev/null +++ b/xtra/pg_scanners/src/backend/parser/kwlookup.c @@ -0,0 +1,97 @@ +/*------------------------------------------------------------------------- + * + * kwlookup.c + * lexical token lookup for key words in PostgreSQL + * + * NB - this file is also used by ECPG and several frontend programs in + * src/bin/ including pg_dump and psql + * + * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * + * IDENTIFICATION + * src/backend/parser/kwlookup.c + * + *------------------------------------------------------------------------- + */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* use c.h so this can be built as either frontend or backend */ +#include "c.h" + +#include + +#include "parser/keywords.h" + +/* + * ScanKeywordLookup - see if a given word is a keyword + * + * Returns a pointer to the ScanKeyword table entry, or NULL if no match. + * + * The match is done case-insensitively. Note that we deliberately use a + * dumbed-down case conversion that will only translate 'A'-'Z' into 'a'-'z', + * even if we are in a locale where tolower() would produce more or different + * translations. This is to conform to the SQL99 spec, which says that + * keywords are to be matched in this way even though non-keyword identifiers + * receive a different case-normalization mapping. + */ +const ScanKeyword * +ScanKeywordLookup(const char *text, + const ScanKeyword *keywords, + int num_keywords) +{ + int len, + i; + char word[NAMEDATALEN]; + const ScanKeyword *low; + const ScanKeyword *high; + + len = strlen(text); + /* We assume all keywords are shorter than NAMEDATALEN. */ + if (len >= NAMEDATALEN) + return NULL; + + /* + * Apply an ASCII-only downcasing. We must not use tolower() since it may + * produce the wrong translation in some locales (eg, Turkish). + */ + for (i = 0; i < len; i++) + { + char ch = text[i]; + + if (ch >= 'A' && ch <= 'Z') + ch += 'a' - 'A'; + word[i] = ch; + } + word[len] = '\0'; + + /* + * Now do a binary search using plain strcmp() comparison. + */ + low = keywords; + high = keywords + (num_keywords - 1); + while (low <= high) + { + const ScanKeyword *middle; + int difference; + + middle = low + (high - low) / 2; + difference = strcmp(middle->name, word); + if (difference == 0) + return middle; + else if (difference < 0) + low = middle + 1; + else + high = middle - 1; + } + + return NULL; +} + +#ifdef __cplusplus +} +#endif diff --git a/xtra/pg_scanners/src/backend/utils/mb/encnames.c b/xtra/pg_scanners/src/backend/utils/mb/encnames.c new file mode 100644 index 0000000..7a37157 --- /dev/null +++ b/xtra/pg_scanners/src/backend/utils/mb/encnames.c @@ -0,0 +1,557 @@ +/* + * Encoding names and routines for work with it. All + * in this file is shared bedween FE and BE. + * + * src/backend/utils/mb/encnames.c + */ +#ifdef FRONTEND +#include "postgres_fe.h" +#define Assert(condition) +#else +#include "postgres.h" +#include "utils/builtins.h" +#endif + +#include +#include + +#include "mb/pg_wchar.h" + + +/* ---------- + * All encoding names, sorted: *** A L P H A B E T I C *** + * + * All names must be without irrelevant chars, search routines use + * isalnum() chars only. It means ISO-8859-1, iso_8859-1 and Iso8859_1 + * are always converted to 'iso88591'. All must be lower case. + * + * The table doesn't contain 'cs' aliases (like csISOLatin1). It's needed? + * + * Karel Zak, Aug 2001 + * ---------- + */ +pg_encname pg_encname_tbl[] = +{ + { + "abc", PG_WIN1258 + }, /* alias for WIN1258 */ + { + "alt", PG_WIN866 + }, /* IBM866 */ + { + "big5", PG_BIG5 + }, /* Big5; Chinese for Taiwan multibyte set */ + { + "euccn", PG_EUC_CN + }, /* EUC-CN; Extended Unix Code for simplified + * Chinese */ + { + "eucjis2004", PG_EUC_JIS_2004 + }, /* EUC-JIS-2004; Extended UNIX Code fixed + * Width for Japanese, standard JIS X 0213 */ + { + "eucjp", PG_EUC_JP + }, /* EUC-JP; Extended UNIX Code fixed Width for + * Japanese, standard OSF */ + { + "euckr", PG_EUC_KR + }, /* EUC-KR; Extended Unix Code for Korean , KS + * X 1001 standard */ + { + "euctw", PG_EUC_TW + }, /* EUC-TW; Extended Unix Code for + * + * traditional Chinese */ + { + "gb18030", PG_GB18030 + }, /* GB18030;GB18030 */ + { + "gbk", PG_GBK + }, /* GBK; Chinese Windows CodePage 936 + * simplified Chinese */ + { + "iso88591", PG_LATIN1 + }, /* ISO-8859-1; RFC1345,KXS2 */ + { + "iso885910", PG_LATIN6 + }, /* ISO-8859-10; RFC1345,KXS2 */ + { + "iso885913", PG_LATIN7 + }, /* ISO-8859-13; RFC1345,KXS2 */ + { + "iso885914", PG_LATIN8 + }, /* ISO-8859-14; RFC1345,KXS2 */ + { + "iso885915", PG_LATIN9 + }, /* ISO-8859-15; RFC1345,KXS2 */ + { + "iso885916", PG_LATIN10 + }, /* ISO-8859-16; RFC1345,KXS2 */ + { + "iso88592", PG_LATIN2 + }, /* ISO-8859-2; RFC1345,KXS2 */ + { + "iso88593", PG_LATIN3 + }, /* ISO-8859-3; RFC1345,KXS2 */ + { + "iso88594", PG_LATIN4 + }, /* ISO-8859-4; RFC1345,KXS2 */ + { + "iso88595", PG_ISO_8859_5 + }, /* ISO-8859-5; RFC1345,KXS2 */ + { + "iso88596", PG_ISO_8859_6 + }, /* ISO-8859-6; RFC1345,KXS2 */ + { + "iso88597", PG_ISO_8859_7 + }, /* ISO-8859-7; RFC1345,KXS2 */ + { + "iso88598", PG_ISO_8859_8 + }, /* ISO-8859-8; RFC1345,KXS2 */ + { + "iso88599", PG_LATIN5 + }, /* ISO-8859-9; RFC1345,KXS2 */ + { + "johab", PG_JOHAB + }, /* JOHAB; Extended Unix Code for simplified + * Chinese */ + { + "koi8", PG_KOI8R + }, /* _dirty_ alias for KOI8-R (backward + * compatibility) */ + { + "koi8r", PG_KOI8R + }, /* KOI8-R; RFC1489 */ + { + "koi8u", PG_KOI8U + }, /* KOI8-U; RFC2319 */ + { + "latin1", PG_LATIN1 + }, /* alias for ISO-8859-1 */ + { + "latin10", PG_LATIN10 + }, /* alias for ISO-8859-16 */ + { + "latin2", PG_LATIN2 + }, /* alias for ISO-8859-2 */ + { + "latin3", PG_LATIN3 + }, /* alias for ISO-8859-3 */ + { + "latin4", PG_LATIN4 + }, /* alias for ISO-8859-4 */ + { + "latin5", PG_LATIN5 + }, /* alias for ISO-8859-9 */ + { + "latin6", PG_LATIN6 + }, /* alias for ISO-8859-10 */ + { + "latin7", PG_LATIN7 + }, /* alias for ISO-8859-13 */ + { + "latin8", PG_LATIN8 + }, /* alias for ISO-8859-14 */ + { + "latin9", PG_LATIN9 + }, /* alias for ISO-8859-15 */ + { + "mskanji", PG_SJIS + }, /* alias for Shift_JIS */ + { + "muleinternal", PG_MULE_INTERNAL + }, + { + "shiftjis", PG_SJIS + }, /* Shift_JIS; JIS X 0202-1991 */ + + { + "shiftjis2004", PG_SHIFT_JIS_2004 + }, /* SHIFT-JIS-2004; Shift JIS for Japanese, + * standard JIS X 0213 */ + { + "sjis", PG_SJIS + }, /* alias for Shift_JIS */ + { + "sqlascii", PG_SQL_ASCII + }, + { + "tcvn", PG_WIN1258 + }, /* alias for WIN1258 */ + { + "tcvn5712", PG_WIN1258 + }, /* alias for WIN1258 */ + { + "uhc", PG_UHC + }, /* UHC; Korean Windows CodePage 949 */ + { + "unicode", PG_UTF8 + }, /* alias for UTF8 */ + { + "utf8", PG_UTF8 + }, /* alias for UTF8 */ + { + "vscii", PG_WIN1258 + }, /* alias for WIN1258 */ + { + "win", PG_WIN1251 + }, /* _dirty_ alias for windows-1251 (backward + * compatibility) */ + { + "win1250", PG_WIN1250 + }, /* alias for Windows-1250 */ + { + "win1251", PG_WIN1251 + }, /* alias for Windows-1251 */ + { + "win1252", PG_WIN1252 + }, /* alias for Windows-1252 */ + { + "win1253", PG_WIN1253 + }, /* alias for Windows-1253 */ + { + "win1254", PG_WIN1254 + }, /* alias for Windows-1254 */ + { + "win1255", PG_WIN1255 + }, /* alias for Windows-1255 */ + { + "win1256", PG_WIN1256 + }, /* alias for Windows-1256 */ + { + "win1257", PG_WIN1257 + }, /* alias for Windows-1257 */ + { + "win1258", PG_WIN1258 + }, /* alias for Windows-1258 */ + { + "win866", PG_WIN866 + }, /* IBM866 */ + { + "win874", PG_WIN874 + }, /* alias for Windows-874 */ + { + "win932", PG_SJIS + }, /* alias for Shift_JIS */ + { + "win936", PG_GBK + }, /* alias for GBK */ + { + "win949", PG_UHC + }, /* alias for UHC */ + { + "win950", PG_BIG5 + }, /* alias for BIG5 */ + { + "windows1250", PG_WIN1250 + }, /* Windows-1251; Microsoft */ + { + "windows1251", PG_WIN1251 + }, /* Windows-1251; Microsoft */ + { + "windows1252", PG_WIN1252 + }, /* Windows-1252; Microsoft */ + { + "windows1253", PG_WIN1253 + }, /* Windows-1253; Microsoft */ + { + "windows1254", PG_WIN1254 + }, /* Windows-1254; Microsoft */ + { + "windows1255", PG_WIN1255 + }, /* Windows-1255; Microsoft */ + { + "windows1256", PG_WIN1256 + }, /* Windows-1256; Microsoft */ + { + "windows1257", PG_WIN1257 + }, /* Windows-1257; Microsoft */ + { + "windows1258", PG_WIN1258 + }, /* Windows-1258; Microsoft */ + { + "windows866", PG_WIN866 + }, /* IBM866 */ + { + "windows874", PG_WIN874 + }, /* Windows-874; Microsoft */ + { + "windows932", PG_SJIS + }, /* alias for Shift_JIS */ + { + "windows936", PG_GBK + }, /* alias for GBK */ + { + "windows949", PG_UHC + }, /* alias for UHC */ + { + "windows950", PG_BIG5 + }, /* alias for BIG5 */ + { + NULL, 0 + } /* last */ +}; + +unsigned int pg_encname_tbl_sz = \ +sizeof(pg_encname_tbl) / sizeof(pg_encname_tbl[0]) - 1; + +/* ---------- + * These are "official" encoding names. + * XXX must be sorted by the same order as enum pg_enc (in mb/pg_wchar.h) + * ---------- + */ +#ifndef WIN32 +#define DEF_ENC2NAME(name, codepage) { #name, PG_##name } +#else +#define DEF_ENC2NAME(name, codepage) { #name, PG_##name, codepage } +#endif +pg_enc2name pg_enc2name_tbl[] = +{ + DEF_ENC2NAME(SQL_ASCII, 0), + DEF_ENC2NAME(EUC_JP, 20932), + DEF_ENC2NAME(EUC_CN, 20936), + DEF_ENC2NAME(EUC_KR, 51949), + DEF_ENC2NAME(EUC_TW, 0), + DEF_ENC2NAME(EUC_JIS_2004, 20932), + DEF_ENC2NAME(UTF8, 65001), + DEF_ENC2NAME(MULE_INTERNAL, 0), + DEF_ENC2NAME(LATIN1, 28591), + DEF_ENC2NAME(LATIN2, 28592), + DEF_ENC2NAME(LATIN3, 28593), + DEF_ENC2NAME(LATIN4, 28594), + DEF_ENC2NAME(LATIN5, 28599), + DEF_ENC2NAME(LATIN6, 0), + DEF_ENC2NAME(LATIN7, 0), + DEF_ENC2NAME(LATIN8, 0), + DEF_ENC2NAME(LATIN9, 28605), + DEF_ENC2NAME(LATIN10, 0), + DEF_ENC2NAME(WIN1256, 1256), + DEF_ENC2NAME(WIN1258, 1258), + DEF_ENC2NAME(WIN866, 866), + DEF_ENC2NAME(WIN874, 874), + DEF_ENC2NAME(KOI8R, 20866), + DEF_ENC2NAME(WIN1251, 1251), + DEF_ENC2NAME(WIN1252, 1252), + DEF_ENC2NAME(ISO_8859_5, 28595), + DEF_ENC2NAME(ISO_8859_6, 28596), + DEF_ENC2NAME(ISO_8859_7, 28597), + DEF_ENC2NAME(ISO_8859_8, 28598), + DEF_ENC2NAME(WIN1250, 1250), + DEF_ENC2NAME(WIN1253, 1253), + DEF_ENC2NAME(WIN1254, 1254), + DEF_ENC2NAME(WIN1255, 1255), + DEF_ENC2NAME(WIN1257, 1257), + DEF_ENC2NAME(KOI8U, 21866), + DEF_ENC2NAME(SJIS, 932), + DEF_ENC2NAME(BIG5, 950), + DEF_ENC2NAME(GBK, 936), + DEF_ENC2NAME(UHC, 0), + DEF_ENC2NAME(GB18030, 54936), + DEF_ENC2NAME(JOHAB, 0), + DEF_ENC2NAME(SHIFT_JIS_2004, 932) +}; + +/* ---------- + * These are encoding names for gettext. + * ---------- + */ +pg_enc2gettext pg_enc2gettext_tbl[] = +{ + {PG_UTF8, "UTF-8"}, + {PG_LATIN1, "LATIN1"}, + {PG_LATIN2, "LATIN2"}, + {PG_LATIN3, "LATIN3"}, + {PG_LATIN4, "LATIN4"}, + {PG_ISO_8859_5, "ISO-8859-5"}, + {PG_ISO_8859_6, "ISO_8859-6"}, + {PG_ISO_8859_7, "ISO-8859-7"}, + {PG_ISO_8859_8, "ISO-8859-8"}, + {PG_LATIN5, "LATIN5"}, + {PG_LATIN6, "LATIN6"}, + {PG_LATIN7, "LATIN7"}, + {PG_LATIN8, "LATIN8"}, + {PG_LATIN9, "LATIN-9"}, + {PG_LATIN10, "LATIN10"}, + {PG_KOI8R, "KOI8-R"}, + {PG_KOI8U, "KOI8-U"}, + {PG_WIN1250, "CP1250"}, + {PG_WIN1251, "CP1251"}, + {PG_WIN1252, "CP1252"}, + {PG_WIN1253, "CP1253"}, + {PG_WIN1254, "CP1254"}, + {PG_WIN1255, "CP1255"}, + {PG_WIN1256, "CP1256"}, + {PG_WIN1257, "CP1257"}, + {PG_WIN1258, "CP1258"}, + {PG_WIN866, "CP866"}, + {PG_WIN874, "CP874"}, + {PG_EUC_CN, "EUC-CN"}, + {PG_EUC_JP, "EUC-JP"}, + {PG_EUC_KR, "EUC-KR"}, + {PG_EUC_TW, "EUC-TW"}, + {PG_EUC_JIS_2004, "EUC-JP"}, + {0, NULL} +}; + + +/* ---------- + * Encoding checks, for error returns -1 else encoding id + * ---------- + */ +int +pg_valid_client_encoding(const char *name) +{ + int enc; + + if ((enc = pg_char_to_encoding(name)) < 0) + return -1; + + if (!PG_VALID_FE_ENCODING(enc)) + return -1; + + return enc; +} + +int +pg_valid_server_encoding(const char *name) +{ + int enc; + + if ((enc = pg_char_to_encoding(name)) < 0) + return -1; + + if (!PG_VALID_BE_ENCODING(enc)) + return -1; + + return enc; +} + +int +pg_valid_server_encoding_id(int encoding) +{ + return PG_VALID_BE_ENCODING(encoding); +} + +/* ---------- + * Remove irrelevant chars from encoding name + * ---------- + */ +static char * +clean_encoding_name(const char *key, char *newkey) +{ + const char *p; + char *np; + + for (p = key, np = newkey; *p != '\0'; p++) + { + if (isalnum((unsigned char) *p)) + { + if (*p >= 'A' && *p <= 'Z') + *np++ = *p + 'a' - 'A'; + else + *np++ = *p; + } + } + *np = '\0'; + return newkey; +} + +/* ---------- + * Search encoding by encoding name + * ---------- + */ +pg_encname * +pg_char_to_encname_struct(const char *name) +{ + unsigned int nel = pg_encname_tbl_sz; + pg_encname *base = pg_encname_tbl, + *last = base + nel - 1, + *position; + int result; + char buff[NAMEDATALEN], + *key; + + if (name == NULL || *name == '\0') + return NULL; + + if (strlen(name) >= NAMEDATALEN) + { +#ifdef FRONTEND + fprintf(stderr, "encoding name too long\n"); + return NULL; +#else + ereport(ERROR, + (errcode(ERRCODE_NAME_TOO_LONG), + errmsg("encoding name too long"))); +#endif + } + key = clean_encoding_name(name, buff); + + while (last >= base) + { + position = base + ((last - base) >> 1); + result = key[0] - position->name[0]; + + if (result == 0) + { + result = strcmp(key, position->name); + if (result == 0) + return position; + } + if (result < 0) + last = position - 1; + else + base = position + 1; + } + return NULL; +} + +/* + * Returns encoding or -1 for error + */ +int +pg_char_to_encoding(const char *name) +{ + pg_encname *p; + + if (!name) + return -1; + + p = pg_char_to_encname_struct(name); + return p ? p->encoding : -1; +} + +#ifndef FRONTEND +Datum +PG_char_to_encoding(PG_FUNCTION_ARGS) +{ + Name s = PG_GETARG_NAME(0); + + PG_RETURN_INT32(pg_char_to_encoding(NameStr(*s))); +} +#endif + +const char * +pg_encoding_to_char(int encoding) +{ + if (PG_VALID_ENCODING(encoding)) + { + pg_enc2name *p = &pg_enc2name_tbl[encoding]; + + Assert(encoding == p->encoding); + return p->name; + } + return ""; +} + +#ifndef FRONTEND +Datum +PG_encoding_to_char(PG_FUNCTION_ARGS) +{ + int32 encoding = PG_GETARG_INT32(0); + const char *encoding_name = pg_encoding_to_char(encoding); + + return DirectFunctionCall1(namein, CStringGetDatum(encoding_name)); +} + +#endif diff --git a/xtra/pg_scanners/src/include/mb/pg_wchar.h b/xtra/pg_scanners/src/include/mb/pg_wchar.h new file mode 100644 index 0000000..d456309 --- /dev/null +++ b/xtra/pg_scanners/src/include/mb/pg_wchar.h @@ -0,0 +1,469 @@ +/*------------------------------------------------------------------------- + * + * pg_wchar.h + * multibyte-character support + * + * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/mb/pg_wchar.h + * + * NOTES + * This is used both by the backend and by libpq, but should not be + * included by libpq client programs. In particular, a libpq client + * should not assume that the encoding IDs used by the version of libpq + * it's linked to match up with the IDs declared here. + * + *------------------------------------------------------------------------- + */ +#ifndef PG_WCHAR_H +#define PG_WCHAR_H + +/* + * The pg_wchar type + */ +typedef unsigned int pg_wchar; + +/* + * various definitions for EUC + */ +#define SS2 0x8e /* single shift 2 (JIS0201) */ +#define SS3 0x8f /* single shift 3 (JIS0212) */ + +/* + * SJIS validation macros + */ +#define ISSJISHEAD(c) (((c) >= 0x81 && (c) <= 0x9f) || ((c) >= 0xe0 && (c) <= 0xfc)) +#define ISSJISTAIL(c) (((c) >= 0x40 && (c) <= 0x7e) || ((c) >= 0x80 && (c) <= 0xfc)) + +/* + * Leading byte types or leading prefix byte for MULE internal code. + * See http://www.xemacs.org for more details. (there is a doc titled + * "XEmacs Internals Manual", "MULE Character Sets and Encodings" + * section.) + */ +/* + * Is a leading byte for "official" single byte encodings? + */ +#define IS_LC1(c) ((unsigned char)(c) >= 0x81 && (unsigned char)(c) <= 0x8d) +/* + * Is a prefix byte for "private" single byte encodings? + */ +#define IS_LCPRV1(c) ((unsigned char)(c) == 0x9a || (unsigned char)(c) == 0x9b) +/* + * Is a leading byte for "official" multibyte encodings? + */ +#define IS_LC2(c) ((unsigned char)(c) >= 0x90 && (unsigned char)(c) <= 0x99) +/* + * Is a prefix byte for "private" multibyte encodings? + */ +#define IS_LCPRV2(c) ((unsigned char)(c) == 0x9c || (unsigned char)(c) == 0x9d) + +/*---------------------------------------------------- + * leading characters + *---------------------------------------------------- + */ + +/* + * Official single byte encodings (0x81-0x8e) + */ +#define LC_ISO8859_1 0x81 /* ISO8859 Latin 1 */ +#define LC_ISO8859_2 0x82 /* ISO8859 Latin 2 */ +#define LC_ISO8859_3 0x83 /* ISO8859 Latin 3 */ +#define LC_ISO8859_4 0x84 /* ISO8859 Latin 4 */ +#define LC_TIS620 0x85 /* Thai (not supported yet) */ +#define LC_ISO8859_7 0x86 /* Greek (not supported yet) */ +#define LC_ISO8859_6 0x87 /* Arabic (not supported yet) */ +#define LC_ISO8859_8 0x88 /* Hebrew (not supported yet) */ +#define LC_JISX0201K 0x89 /* Japanese 1 byte kana */ +#define LC_JISX0201R 0x8a /* Japanese 1 byte Roman */ +/* Note that 0x8b seems to be unused as of Emacs 20.7. + * However, there might be a chance that 0x8b could be used + * in later version of Emacs. + */ +#define LC_KOI8_R 0x8b /* Cyrillic KOI8-R */ +#define LC_KOI8_U 0x8b /* Cyrillic KOI8-U */ +#define LC_ISO8859_5 0x8c /* ISO8859 Cyrillic */ +#define LC_ISO8859_9 0x8d /* ISO8859 Latin 5 (not supported yet) */ +/* #define FREE 0x8e free (unused) */ + +/* + * Unused + */ +#define CONTROL_1 0x8f /* control characters (unused) */ + +/* + * Official multibyte byte encodings (0x90-0x99) + * 0x9a-0x9d are free. 0x9e and 0x9f are reserved. + */ +#define LC_JISX0208_1978 0x90 /* Japanese Kanji, old JIS (not supported) */ +/* #define FREE 0x90 free (unused) */ +#define LC_GB2312_80 0x91 /* Chinese */ +#define LC_JISX0208 0x92 /* Japanese Kanji (JIS X 0208) */ +#define LC_KS5601 0x93 /* Korean */ +#define LC_JISX0212 0x94 /* Japanese Kanji (JIS X 0212) */ +#define LC_CNS11643_1 0x95 /* CNS 11643-1992 Plane 1 */ +#define LC_CNS11643_2 0x96 /* CNS 11643-1992 Plane 2 */ +/* #define FREE 0x97 free (unused) */ +#define LC_BIG5_1 0x98 /* Plane 1 Chinese traditional (not supported) */ +#define LC_BIG5_2 0x99 /* Plane 1 Chinese traditional (not supported) */ + +/* + * Private single byte encodings (0xa0-0xef) + */ +#define LC_SISHENG 0xa0/* Chinese SiSheng characters for + * PinYin/ZhuYin (not supported) */ +#define LC_IPA 0xa1/* IPA (International Phonetic Association) + * (not supported) */ +#define LC_VISCII_LOWER 0xa2/* Vietnamese VISCII1.1 lower-case (not + * supported) */ +#define LC_VISCII_UPPER 0xa3/* Vietnamese VISCII1.1 upper-case (not + * supported) */ +#define LC_ARABIC_DIGIT 0xa4 /* Arabic digit (not supported) */ +#define LC_ARABIC_1_COLUMN 0xa5 /* Arabic 1-column (not supported) */ +#define LC_ASCII_RIGHT_TO_LEFT 0xa6 /* ASCII (left half of ISO8859-1) with + * right-to-left direction (not + * supported) */ +#define LC_LAO 0xa7/* Lao characters (ISO10646 0E80..0EDF) (not + * supported) */ +#define LC_ARABIC_2_COLUMN 0xa8 /* Arabic 1-column (not supported) */ + +/* + * Private multibyte encodings (0xf0-0xff) + */ +#define LC_INDIAN_1_COLUMN 0xf0/* Indian charset for 1-column width glypps + * (not supported) */ +#define LC_TIBETAN_1_COLUMN 0xf1 /* Tibetan 1 column glyph (not supported) */ +#define LC_ETHIOPIC 0xf5 /* Ethiopic characters (not supported) */ +#define LC_CNS11643_3 0xf6 /* CNS 11643-1992 Plane 3 */ +#define LC_CNS11643_4 0xf7 /* CNS 11643-1992 Plane 4 */ +#define LC_CNS11643_5 0xf8 /* CNS 11643-1992 Plane 5 */ +#define LC_CNS11643_6 0xf9 /* CNS 11643-1992 Plane 6 */ +#define LC_CNS11643_7 0xfa /* CNS 11643-1992 Plane 7 */ +#define LC_INDIAN_2_COLUMN 0xfb/* Indian charset for 2-column width glypps + * (not supported) */ +#define LC_TIBETAN 0xfc /* Tibetan (not supported) */ +/* #define FREE 0xfd free (unused) */ +/* #define FREE 0xfe free (unused) */ +/* #define FREE 0xff free (unused) */ + +/* + * PostgreSQL encoding identifiers + * + * WARNING: the order of this enum must be same as order of entries + * in the pg_enc2name_tbl[] array (in mb/encnames.c), and + * in the pg_wchar_table[] array (in mb/wchar.c)! + * + * If you add some encoding don't forget to check + * PG_ENCODING_BE_LAST macro. + * + * PG_SQL_ASCII is default encoding and must be = 0. + * + * XXX We must avoid renumbering any backend encoding until libpq's major + * version number is increased beyond 5; it turns out that the backend + * encoding IDs are effectively part of libpq's ABI as far as 8.2 initdb and + * psql are concerned. + */ +typedef enum pg_enc +{ + PG_SQL_ASCII = 0, /* SQL/ASCII */ + PG_EUC_JP, /* EUC for Japanese */ + PG_EUC_CN, /* EUC for Chinese */ + PG_EUC_KR, /* EUC for Korean */ + PG_EUC_TW, /* EUC for Taiwan */ + PG_EUC_JIS_2004, /* EUC-JIS-2004 */ + PG_UTF8, /* Unicode UTF8 */ + PG_MULE_INTERNAL, /* Mule internal code */ + PG_LATIN1, /* ISO-8859-1 Latin 1 */ + PG_LATIN2, /* ISO-8859-2 Latin 2 */ + PG_LATIN3, /* ISO-8859-3 Latin 3 */ + PG_LATIN4, /* ISO-8859-4 Latin 4 */ + PG_LATIN5, /* ISO-8859-9 Latin 5 */ + PG_LATIN6, /* ISO-8859-10 Latin6 */ + PG_LATIN7, /* ISO-8859-13 Latin7 */ + PG_LATIN8, /* ISO-8859-14 Latin8 */ + PG_LATIN9, /* ISO-8859-15 Latin9 */ + PG_LATIN10, /* ISO-8859-16 Latin10 */ + PG_WIN1256, /* windows-1256 */ + PG_WIN1258, /* Windows-1258 */ + PG_WIN866, /* (MS-DOS CP866) */ + PG_WIN874, /* windows-874 */ + PG_KOI8R, /* KOI8-R */ + PG_WIN1251, /* windows-1251 */ + PG_WIN1252, /* windows-1252 */ + PG_ISO_8859_5, /* ISO-8859-5 */ + PG_ISO_8859_6, /* ISO-8859-6 */ + PG_ISO_8859_7, /* ISO-8859-7 */ + PG_ISO_8859_8, /* ISO-8859-8 */ + PG_WIN1250, /* windows-1250 */ + PG_WIN1253, /* windows-1253 */ + PG_WIN1254, /* windows-1254 */ + PG_WIN1255, /* windows-1255 */ + PG_WIN1257, /* windows-1257 */ + PG_KOI8U, /* KOI8-U */ + /* PG_ENCODING_BE_LAST points to the above entry */ + + /* followings are for client encoding only */ + PG_SJIS, /* Shift JIS (Winindows-932) */ + PG_BIG5, /* Big5 (Windows-950) */ + PG_GBK, /* GBK (Windows-936) */ + PG_UHC, /* UHC (Windows-949) */ + PG_GB18030, /* GB18030 */ + PG_JOHAB, /* EUC for Korean JOHAB */ + PG_SHIFT_JIS_2004, /* Shift-JIS-2004 */ + _PG_LAST_ENCODING_ /* mark only */ + +} pg_enc; + +#define PG_ENCODING_BE_LAST PG_KOI8U + +/* + * Please use these tests before access to pg_encconv_tbl[] + * or to other places... + */ +#define PG_VALID_BE_ENCODING(_enc) \ + ((_enc) >= 0 && (_enc) <= PG_ENCODING_BE_LAST) + +#define PG_ENCODING_IS_CLIENT_ONLY(_enc) \ + ((_enc) > PG_ENCODING_BE_LAST && (_enc) < _PG_LAST_ENCODING_) + +#define PG_VALID_ENCODING(_enc) \ + ((_enc) >= 0 && (_enc) < _PG_LAST_ENCODING_) + +/* On FE are possible all encodings */ +#define PG_VALID_FE_ENCODING(_enc) PG_VALID_ENCODING(_enc) + +/* + * Encoding names with all aliases + */ +typedef struct pg_encname +{ + char *name; + pg_enc encoding; +} pg_encname; + +extern pg_encname pg_encname_tbl[]; +extern unsigned int pg_encname_tbl_sz; + +/* + * Careful: + * + * if (PG_VALID_ENCODING(encoding)) + * pg_enc2name_tbl[ encoding ]; + */ +typedef struct pg_enc2name +{ + char *name; + pg_enc encoding; +#ifdef WIN32 + unsigned codepage; /* codepage for WIN32 */ +#endif +} pg_enc2name; + +extern pg_enc2name pg_enc2name_tbl[]; + +/* + * Encoding names for gettext + */ +typedef struct pg_enc2gettext +{ + pg_enc encoding; + const char *name; +} pg_enc2gettext; + +extern pg_enc2gettext pg_enc2gettext_tbl[]; + +/* + * pg_wchar stuff + */ +typedef int (*mb2wchar_with_len_converter) (const unsigned char *from, + pg_wchar *to, + int len); + +typedef int (*mblen_converter) (const unsigned char *mbstr); + +typedef int (*mbdisplaylen_converter) (const unsigned char *mbstr); + +typedef bool (*mbcharacter_incrementer) (unsigned char *mbstr, int len); + +typedef int (*mbverifier) (const unsigned char *mbstr, int len); + +typedef struct +{ + mb2wchar_with_len_converter mb2wchar_with_len; /* convert a multibyte + * string to a wchar */ + mblen_converter mblen; /* get byte length of a char */ + mbdisplaylen_converter dsplen; /* get display width of a char */ + mbverifier mbverify; /* verify multibyte sequence */ + int maxmblen; /* max bytes for a char in this encoding */ +} pg_wchar_tbl; + +extern pg_wchar_tbl pg_wchar_table[]; + +/* + * UTF-8 to local code conversion map + * Note that we limit the max length of UTF-8 to 4 bytes, + * which is UCS-4 00010000-001FFFFF range. + */ +typedef struct +{ + uint32 utf; /* UTF-8 */ + uint32 code; /* local code */ +} pg_utf_to_local; + +/* + * local code to UTF-8 conversion map + */ +typedef struct +{ + uint32 code; /* local code */ + uint32 utf; /* UTF-8 */ +} pg_local_to_utf; + +/* + * UTF-8 to local code conversion map(combined characters) + */ +typedef struct +{ + uint32 utf1; /* UTF-8 code 1 */ + uint32 utf2; /* UTF-8 code 2 */ + uint32 code; /* local code */ +} pg_utf_to_local_combined; + +/* + * local code to UTF-8 conversion map(combined characters) + */ +typedef struct +{ + uint32 code; /* local code */ + uint32 utf1; /* UTF-8 code 1 */ + uint32 utf2; /* UTF-8 code 2 */ +} pg_local_to_utf_combined; + +/* + * Support macro for encoding conversion functions to validate their + * arguments. (This could be made more compact if we included fmgr.h + * here, but we don't want to do that because this header file is also + * used by frontends.) + */ +#define CHECK_ENCODING_CONVERSION_ARGS(srcencoding,destencoding) \ + check_encoding_conversion_args(PG_GETARG_INT32(0), \ + PG_GETARG_INT32(1), \ + PG_GETARG_INT32(4), \ + (srcencoding), \ + (destencoding)) + + +/* + * These functions are considered part of libpq's exported API and + * are also declared in libpq-fe.h. + */ +extern int pg_char_to_encoding(const char *name); +extern const char *pg_encoding_to_char(int encoding); +extern int pg_valid_server_encoding_id(int encoding); + +/* + * Remaining functions are not considered part of libpq's API, though many + * of them do exist inside libpq. + */ +extern pg_encname *pg_char_to_encname_struct(const char *name); + +extern int pg_mb2wchar(const char *from, pg_wchar *to); +extern int pg_mb2wchar_with_len(const char *from, pg_wchar *to, int len); +extern int pg_encoding_mb2wchar_with_len(int encoding, + const char *from, pg_wchar *to, int len); +extern int pg_char_and_wchar_strcmp(const char *s1, const pg_wchar *s2); +extern int pg_wchar_strncmp(const pg_wchar *s1, const pg_wchar *s2, size_t n); +extern int pg_char_and_wchar_strncmp(const char *s1, const pg_wchar *s2, size_t n); +extern size_t pg_wchar_strlen(const pg_wchar *wstr); +extern int pg_mblen(const char *mbstr); +extern int pg_dsplen(const char *mbstr); +extern int pg_encoding_mblen(int encoding, const char *mbstr); +extern int pg_encoding_dsplen(int encoding, const char *mbstr); +extern int pg_encoding_verifymb(int encoding, const char *mbstr, int len); +extern int pg_mule_mblen(const unsigned char *mbstr); +extern int pg_mic_mblen(const unsigned char *mbstr); +extern int pg_mbstrlen(const char *mbstr); +extern int pg_mbstrlen_with_len(const char *mbstr, int len); +extern int pg_mbcliplen(const char *mbstr, int len, int limit); +extern int pg_encoding_mbcliplen(int encoding, const char *mbstr, + int len, int limit); +extern int pg_mbcharcliplen(const char *mbstr, int len, int imit); +extern int pg_encoding_max_length(int encoding); +extern int pg_database_encoding_max_length(void); +extern mbcharacter_incrementer pg_database_encoding_character_incrementer(void); + +extern int PrepareClientEncoding(int encoding); +extern int SetClientEncoding(int encoding); +extern void InitializeClientEncoding(void); +extern int pg_get_client_encoding(void); +extern const char *pg_get_client_encoding_name(void); + +extern void SetDatabaseEncoding(int encoding); +extern int GetDatabaseEncoding(void); +extern const char *GetDatabaseEncodingName(void); +extern int GetPlatformEncoding(void); +extern void pg_bind_textdomain_codeset(const char *domainname); + +extern int pg_valid_client_encoding(const char *name); +extern int pg_valid_server_encoding(const char *name); + +extern unsigned char *unicode_to_utf8(pg_wchar c, unsigned char *utf8string); +extern pg_wchar utf8_to_unicode(const unsigned char *c); +extern int pg_utf_mblen(const unsigned char *); +extern unsigned char *pg_do_encoding_conversion(unsigned char *src, int len, + int src_encoding, + int dest_encoding); + +extern char *pg_client_to_server(const char *s, int len); +extern char *pg_server_to_client(const char *s, int len); +extern char *pg_any_to_server(const char *s, int len, int encoding); +extern char *pg_server_to_any(const char *s, int len, int encoding); + +extern unsigned short BIG5toCNS(unsigned short big5, unsigned char *lc); +extern unsigned short CNStoBIG5(unsigned short cns, unsigned char lc); + +extern void LocalToUtf(const unsigned char *iso, unsigned char *utf, + const pg_local_to_utf *map, const pg_local_to_utf_combined *cmap, + int size1, int size2, int encoding, int len); + +extern void UtfToLocal(const unsigned char *utf, unsigned char *iso, + const pg_utf_to_local *map, const pg_utf_to_local_combined *cmap, + int size1, int size2, int encoding, int len); + +extern bool pg_verifymbstr(const char *mbstr, int len, bool noError); +extern bool pg_verify_mbstr(int encoding, const char *mbstr, int len, + bool noError); +extern int pg_verify_mbstr_len(int encoding, const char *mbstr, int len, + bool noError); + +extern void check_encoding_conversion_args(int src_encoding, + int dest_encoding, + int len, + int expected_src_encoding, + int expected_dest_encoding); + +extern void report_invalid_encoding(int encoding, const char *mbstr, int len); +extern void report_untranslatable_char(int src_encoding, int dest_encoding, + const char *mbstr, int len); + +extern void pg_ascii2mic(const unsigned char *l, unsigned char *p, int len); +extern void pg_mic2ascii(const unsigned char *mic, unsigned char *p, int len); +extern void latin2mic(const unsigned char *l, unsigned char *p, int len, + int lc, int encoding); +extern void mic2latin(const unsigned char *mic, unsigned char *p, int len, + int lc, int encoding); +extern void latin2mic_with_table(const unsigned char *l, unsigned char *p, + int len, int lc, int encoding, + const unsigned char *tab); +extern void mic2latin_with_table(const unsigned char *mic, unsigned char *p, + int len, int lc, int encoding, + const unsigned char *tab); + +extern bool pg_utf8_islegal(const unsigned char *source, int length); + +#ifdef WIN32 +extern WCHAR *pgwin32_toUTF16(const char *str, int len, int *utf16len); +#endif + +#endif /* PG_WCHAR_H */ diff --git a/xtra/pg_scanners/src/port/chklocale.c b/xtra/pg_scanners/src/port/chklocale.c new file mode 100644 index 0000000..ed660a2 --- /dev/null +++ b/xtra/pg_scanners/src/port/chklocale.c @@ -0,0 +1,366 @@ +/*------------------------------------------------------------------------- + * + * chklocale.c + * Functions for handling locale-related info + * + * + * Copyright (c) 1996-2012, PostgreSQL Global Development Group + * + * + * IDENTIFICATION + * src/port/chklocale.c + * + *------------------------------------------------------------------------- + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef FRONTEND +#include "postgres.h" +#else +#include "postgres_fe.h" +#endif + +#include +#ifdef HAVE_LANGINFO_H +#include +#endif + +#include "mb/pg_wchar.h" + + +/* + * This table needs to recognize all the CODESET spellings for supported + * backend encodings, as well as frontend-only encodings where possible + * (the latter case is currently only needed for initdb to recognize + * error situations). On Windows, we rely on entries for codepage + * numbers (CPnnn). + * + * Note that we search the table with pg_strcasecmp(), so variant + * capitalizations don't need their own entries. + */ +struct encoding_match +{ + enum pg_enc pg_enc_code; + const char *system_enc_name; +}; + +static const struct encoding_match encoding_match_list[] = { + {PG_EUC_JP, "EUC-JP"}, + {PG_EUC_JP, "eucJP"}, + {PG_EUC_JP, "IBM-eucJP"}, + {PG_EUC_JP, "sdeckanji"}, + {PG_EUC_JP, "CP20932"}, + + {PG_EUC_CN, "EUC-CN"}, + {PG_EUC_CN, "eucCN"}, + {PG_EUC_CN, "IBM-eucCN"}, + {PG_EUC_CN, "GB2312"}, + {PG_EUC_CN, "dechanzi"}, + {PG_EUC_CN, "CP20936"}, + + {PG_EUC_KR, "EUC-KR"}, + {PG_EUC_KR, "eucKR"}, + {PG_EUC_KR, "IBM-eucKR"}, + {PG_EUC_KR, "deckorean"}, + {PG_EUC_KR, "5601"}, + {PG_EUC_KR, "CP51949"}, + + {PG_EUC_TW, "EUC-TW"}, + {PG_EUC_TW, "eucTW"}, + {PG_EUC_TW, "IBM-eucTW"}, + {PG_EUC_TW, "cns11643"}, + /* No codepage for EUC-TW ? */ + + {PG_UTF8, "UTF-8"}, + {PG_UTF8, "utf8"}, + {PG_UTF8, "CP65001"}, + + {PG_LATIN1, "ISO-8859-1"}, + {PG_LATIN1, "ISO8859-1"}, + {PG_LATIN1, "iso88591"}, + {PG_LATIN1, "CP28591"}, + + {PG_LATIN2, "ISO-8859-2"}, + {PG_LATIN2, "ISO8859-2"}, + {PG_LATIN2, "iso88592"}, + {PG_LATIN2, "CP28592"}, + + {PG_LATIN3, "ISO-8859-3"}, + {PG_LATIN3, "ISO8859-3"}, + {PG_LATIN3, "iso88593"}, + {PG_LATIN3, "CP28593"}, + + {PG_LATIN4, "ISO-8859-4"}, + {PG_LATIN4, "ISO8859-4"}, + {PG_LATIN4, "iso88594"}, + {PG_LATIN4, "CP28594"}, + + {PG_LATIN5, "ISO-8859-9"}, + {PG_LATIN5, "ISO8859-9"}, + {PG_LATIN5, "iso88599"}, + {PG_LATIN5, "CP28599"}, + + {PG_LATIN6, "ISO-8859-10"}, + {PG_LATIN6, "ISO8859-10"}, + {PG_LATIN6, "iso885910"}, + + {PG_LATIN7, "ISO-8859-13"}, + {PG_LATIN7, "ISO8859-13"}, + {PG_LATIN7, "iso885913"}, + + {PG_LATIN8, "ISO-8859-14"}, + {PG_LATIN8, "ISO8859-14"}, + {PG_LATIN8, "iso885914"}, + + {PG_LATIN9, "ISO-8859-15"}, + {PG_LATIN9, "ISO8859-15"}, + {PG_LATIN9, "iso885915"}, + {PG_LATIN9, "CP28605"}, + + {PG_LATIN10, "ISO-8859-16"}, + {PG_LATIN10, "ISO8859-16"}, + {PG_LATIN10, "iso885916"}, + + {PG_KOI8R, "KOI8-R"}, + {PG_KOI8R, "CP20866"}, + + {PG_KOI8U, "KOI8-U"}, + {PG_KOI8U, "CP21866"}, + + {PG_WIN866, "CP866"}, + {PG_WIN874, "CP874"}, + {PG_WIN1250, "CP1250"}, + {PG_WIN1251, "CP1251"}, + {PG_WIN1251, "ansi-1251"}, + {PG_WIN1252, "CP1252"}, + {PG_WIN1253, "CP1253"}, + {PG_WIN1254, "CP1254"}, + {PG_WIN1255, "CP1255"}, + {PG_WIN1256, "CP1256"}, + {PG_WIN1257, "CP1257"}, + {PG_WIN1258, "CP1258"}, + + {PG_ISO_8859_5, "ISO-8859-5"}, + {PG_ISO_8859_5, "ISO8859-5"}, + {PG_ISO_8859_5, "iso88595"}, + {PG_ISO_8859_5, "CP28595"}, + + {PG_ISO_8859_6, "ISO-8859-6"}, + {PG_ISO_8859_6, "ISO8859-6"}, + {PG_ISO_8859_6, "iso88596"}, + {PG_ISO_8859_6, "CP28596"}, + + {PG_ISO_8859_7, "ISO-8859-7"}, + {PG_ISO_8859_7, "ISO8859-7"}, + {PG_ISO_8859_7, "iso88597"}, + {PG_ISO_8859_7, "CP28597"}, + + {PG_ISO_8859_8, "ISO-8859-8"}, + {PG_ISO_8859_8, "ISO8859-8"}, + {PG_ISO_8859_8, "iso88598"}, + {PG_ISO_8859_8, "CP28598"}, + + {PG_SJIS, "SJIS"}, + {PG_SJIS, "PCK"}, + {PG_SJIS, "CP932"}, + + {PG_BIG5, "BIG5"}, + {PG_BIG5, "BIG5HKSCS"}, + {PG_BIG5, "Big5-HKSCS"}, + {PG_BIG5, "CP950"}, + + {PG_GBK, "GBK"}, + {PG_GBK, "CP936"}, + + {PG_UHC, "UHC"}, + {PG_UHC, "CP949"}, + + {PG_JOHAB, "JOHAB"}, + {PG_JOHAB, "CP1361"}, + + {PG_GB18030, "GB18030"}, + {PG_GB18030, "CP54936"}, + + {PG_SHIFT_JIS_2004, "SJIS_2004"}, + + {PG_SQL_ASCII, "US-ASCII"}, + + {PG_SQL_ASCII, NULL} /* end marker */ +}; + +#ifdef WIN32 +/* + * On Windows, use CP instead of the nl_langinfo() result + */ +static char * +win32_langinfo(const char *ctype) +{ + char *r; + char *codepage; + int ln; + + /* + * Locale format on Win32 is _. . For + * example, English_USA.1252. + */ + codepage = strrchr(ctype, '.'); + if (!codepage) + return NULL; + codepage++; + ln = strlen(codepage); + r = malloc(ln + 3); + sprintf(r, "CP%s", codepage); + + return r; +} +#endif /* WIN32 */ + +#if (defined(HAVE_LANGINFO_H) && defined(CODESET)) || defined(WIN32) + +/* + * Given a setting for LC_CTYPE, return the Postgres ID of the associated + * encoding, if we can determine it. Return -1 if we can't determine it. + * + * Pass in NULL to get the encoding for the current locale setting. + * Pass "" to get the encoding selected by the server's environment. + * + * If the result is PG_SQL_ASCII, callers should treat it as being compatible + * with any desired encoding. + */ +int +pg_get_encoding_from_locale(const char *ctype, bool write_message) +{ + char *sys; + int i; + + /* Get the CODESET property, and also LC_CTYPE if not passed in */ + if (ctype) + { + char *save; + char *name; + + /* If locale is C or POSIX, we can allow all encodings */ + if (pg_strcasecmp(ctype, "C") == 0 || + pg_strcasecmp(ctype, "POSIX") == 0) + return PG_SQL_ASCII; + + save = setlocale(LC_CTYPE, NULL); + if (!save) + return -1; /* setlocale() broken? */ + /* must copy result, or it might change after setlocale */ + save = strdup(save); + if (!save) + return -1; /* out of memory; unlikely */ + + name = setlocale(LC_CTYPE, ctype); + if (!name) + { + free(save); + return -1; /* bogus ctype passed in? */ + } + +#ifndef WIN32 + sys = nl_langinfo(CODESET); + if (sys) + sys = strdup(sys); +#else + sys = win32_langinfo(name); +#endif + + setlocale(LC_CTYPE, save); + free(save); + } + else + { + /* much easier... */ + ctype = setlocale(LC_CTYPE, NULL); + if (!ctype) + return -1; /* setlocale() broken? */ + + /* If locale is C or POSIX, we can allow all encodings */ + if (pg_strcasecmp(ctype, "C") == 0 || + pg_strcasecmp(ctype, "POSIX") == 0) + return PG_SQL_ASCII; + +#ifndef WIN32 + sys = nl_langinfo(CODESET); + if (sys) + sys = strdup(sys); +#else + sys = win32_langinfo(ctype); +#endif + } + + if (!sys) + return -1; /* out of memory; unlikely */ + + /* Check the table */ + for (i = 0; encoding_match_list[i].system_enc_name; i++) + { + if (pg_strcasecmp(sys, encoding_match_list[i].system_enc_name) == 0) + { + free(sys); + return encoding_match_list[i].pg_enc_code; + } + } + + /* Special-case kluges for particular platforms go here */ + +#ifdef __darwin__ + + /* + * Current OS X has many locales that report an empty string for CODESET, + * but they all seem to actually use UTF-8. + */ + if (strlen(sys) == 0) + { + free(sys); + return PG_UTF8; + } +#endif + + /* + * We print a warning if we got a CODESET string but couldn't recognize + * it. This means we need another entry in the table. + */ + if (write_message) + { +#ifdef FRONTEND + fprintf(stderr, _("could not determine encoding for locale \"%s\": codeset is \"%s\""), + ctype, sys); + /* keep newline separate so there's only one translatable string */ + fputc('\n', stderr); +#else + ereport(WARNING, + (errmsg("could not determine encoding for locale \"%s\": codeset is \"%s\"", + ctype, sys), + errdetail("Please report this to ."))); +#endif + } + + free(sys); + return -1; +} +#else /* (HAVE_LANGINFO_H && CODESET) || WIN32 */ + +/* + * stub if no multi-language platform support + * + * Note: we could return -1 here, but that would have the effect of + * forcing users to specify an encoding to initdb on such platforms. + * It seems better to silently default to SQL_ASCII. + */ +int +pg_get_encoding_from_locale(const char *ctype, bool write_message) +{ + return PG_SQL_ASCII; +} + +#endif /* (HAVE_LANGINFO_H && CODESET) || WIN32 */ + +#ifdef __cplusplus +} +#endif diff --git a/xtra/pg_scanners/src/port/pgstrcasecmp.c b/xtra/pg_scanners/src/port/pgstrcasecmp.c new file mode 100644 index 0000000..e1b7879 --- /dev/null +++ b/xtra/pg_scanners/src/port/pgstrcasecmp.c @@ -0,0 +1,160 @@ +/*------------------------------------------------------------------------- + * + * pgstrcasecmp.c + * Portable SQL-like case-independent comparisons and conversions. + * + * SQL99 specifies Unicode-aware case normalization, which we don't yet + * have the infrastructure for. Instead we use tolower() to provide a + * locale-aware translation. However, there are some locales where this + * is not right either (eg, Turkish may do strange things with 'i' and + * 'I'). Our current compromise is to use tolower() for characters with + * the high bit set, and use an ASCII-only downcasing for 7-bit + * characters. + * + * NB: this code should match downcase_truncate_identifier() in scansup.c. + * + * We also provide strict ASCII-only case conversion functions, which can + * be used to implement C/POSIX case folding semantics no matter what the + * C library thinks the locale is. + * + * + * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group + * + * src/port/pgstrcasecmp.c + * + *------------------------------------------------------------------------- + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "c.h" + +#include + + +/* + * Case-independent comparison of two null-terminated strings. + */ +int +pg_strcasecmp(const char *s1, const char *s2) +{ + for (;;) + { + unsigned char ch1 = (unsigned char) *s1++; + unsigned char ch2 = (unsigned char) *s2++; + + if (ch1 != ch2) + { + if (ch1 >= 'A' && ch1 <= 'Z') + ch1 += 'a' - 'A'; + else if (IS_HIGHBIT_SET(ch1) && isupper(ch1)) + ch1 = tolower(ch1); + + if (ch2 >= 'A' && ch2 <= 'Z') + ch2 += 'a' - 'A'; + else if (IS_HIGHBIT_SET(ch2) && isupper(ch2)) + ch2 = tolower(ch2); + + if (ch1 != ch2) + return (int) ch1 - (int) ch2; + } + if (ch1 == 0) + break; + } + return 0; +} + +/* + * Case-independent comparison of two not-necessarily-null-terminated strings. + * At most n bytes will be examined from each string. + */ +int +pg_strncasecmp(const char *s1, const char *s2, size_t n) +{ + while (n-- > 0) + { + unsigned char ch1 = (unsigned char) *s1++; + unsigned char ch2 = (unsigned char) *s2++; + + if (ch1 != ch2) + { + if (ch1 >= 'A' && ch1 <= 'Z') + ch1 += 'a' - 'A'; + else if (IS_HIGHBIT_SET(ch1) && isupper(ch1)) + ch1 = tolower(ch1); + + if (ch2 >= 'A' && ch2 <= 'Z') + ch2 += 'a' - 'A'; + else if (IS_HIGHBIT_SET(ch2) && isupper(ch2)) + ch2 = tolower(ch2); + + if (ch1 != ch2) + return (int) ch1 - (int) ch2; + } + if (ch1 == 0) + break; + } + return 0; +} + +/* + * Fold a character to upper case. + * + * Unlike some versions of toupper(), this is safe to apply to characters + * that aren't lower case letters. Note however that the whole thing is + * a bit bogus for multibyte character sets. + */ +unsigned char +pg_toupper(unsigned char ch) +{ + if (ch >= 'a' && ch <= 'z') + ch += 'A' - 'a'; + else if (IS_HIGHBIT_SET(ch) && islower(ch)) + ch = toupper(ch); + return ch; +} + +/* + * Fold a character to lower case. + * + * Unlike some versions of tolower(), this is safe to apply to characters + * that aren't upper case letters. Note however that the whole thing is + * a bit bogus for multibyte character sets. + */ +unsigned char +pg_tolower(unsigned char ch) +{ + if (ch >= 'A' && ch <= 'Z') + ch += 'a' - 'A'; + else if (IS_HIGHBIT_SET(ch) && isupper(ch)) + ch = tolower(ch); + return ch; +} + +/* + * Fold a character to upper case, following C/POSIX locale rules. + */ +unsigned char +pg_ascii_toupper(unsigned char ch) +{ + if (ch >= 'a' && ch <= 'z') + ch += 'A' - 'a'; + return ch; +} + +/* + * Fold a character to lower case, following C/POSIX locale rules. + */ +unsigned char +pg_ascii_tolower(unsigned char ch) +{ + if (ch >= 'A' && ch <= 'Z') + ch += 'a' - 'A'; + return ch; +} + +#ifdef __cplusplus +} +#endif diff --git a/xtra/pg_scanners/wchar.c b/xtra/pg_scanners/wchar.c new file mode 100644 index 0000000..10c4665 --- /dev/null +++ b/xtra/pg_scanners/wchar.c @@ -0,0 +1,1887 @@ +/* + * conversion functions between pg_wchar and multibyte streams. + * Tatsuo Ishii + * src/backend/utils/mb/wchar.c + * + */ +/* can be used in either frontend or backend */ +#ifdef FRONTEND +#include "postgres_fe.h" +#define Assert(condition) +#else +#include "postgres.h" +#endif + +#include "mb/pg_wchar.h" + + +/* + * conversion to pg_wchar is done by "table driven." + * to add an encoding support, define mb2wchar_with_len(), mblen(), dsplen() + * for the particular encoding. Note that if the encoding is only + * supported in the client, you don't need to define + * mb2wchar_with_len() function (SJIS is the case). + * + * These functions generally assume that their input is validly formed. + * The "verifier" functions, further down in the file, have to be more + * paranoid. We expect that mblen() does not need to examine more than + * the first byte of the character to discover the correct length. + * + * Note: for the display output of psql to work properly, the return values + * of the dsplen functions must conform to the Unicode standard. In particular + * the NUL character is zero width and control characters are generally + * width -1. It is recommended that non-ASCII encodings refer their ASCII + * subset to the ASCII routines to ensure consistency. + */ + +/* + * SQL/ASCII + */ +static int +pg_ascii2wchar_with_len(const unsigned char *from, pg_wchar *to, int len) +{ + int cnt = 0; + + while (len > 0 && *from) + { + *to++ = *from++; + len--; + cnt++; + } + *to = 0; + return cnt; +} + +static int +pg_ascii_mblen(const unsigned char *s) +{ + return 1; +} + +static int +pg_ascii_dsplen(const unsigned char *s) +{ + if (*s == '\0') + return 0; + if (*s < 0x20 || *s == 0x7f) + return -1; + + return 1; +} + +/* + * EUC + */ +static int +pg_euc2wchar_with_len(const unsigned char *from, pg_wchar *to, int len) +{ + int cnt = 0; + + while (len > 0 && *from) + { + if (*from == SS2 && len >= 2) /* JIS X 0201 (so called "1 byte + * KANA") */ + { + from++; + *to = (SS2 << 8) | *from++; + len -= 2; + } + else if (*from == SS3 && len >= 3) /* JIS X 0212 KANJI */ + { + from++; + *to = (SS3 << 16) | (*from++ << 8); + *to |= *from++; + len -= 3; + } + else if (IS_HIGHBIT_SET(*from) && len >= 2) /* JIS X 0208 KANJI */ + { + *to = *from++ << 8; + *to |= *from++; + len -= 2; + } + else + /* must be ASCII */ + { + *to = *from++; + len--; + } + to++; + cnt++; + } + *to = 0; + return cnt; +} + +static inline int +pg_euc_mblen(const unsigned char *s) +{ + int len; + + if (*s == SS2) + len = 2; + else if (*s == SS3) + len = 3; + else if (IS_HIGHBIT_SET(*s)) + len = 2; + else + len = 1; + return len; +} + +static inline int +pg_euc_dsplen(const unsigned char *s) +{ + int len; + + if (*s == SS2) + len = 2; + else if (*s == SS3) + len = 2; + else if (IS_HIGHBIT_SET(*s)) + len = 2; + else + len = pg_ascii_dsplen(s); + return len; +} + +/* + * EUC_JP + */ +static int +pg_eucjp2wchar_with_len(const unsigned char *from, pg_wchar *to, int len) +{ + return pg_euc2wchar_with_len(from, to, len); +} + +static int +pg_eucjp_mblen(const unsigned char *s) +{ + return pg_euc_mblen(s); +} + +static int +pg_eucjp_dsplen(const unsigned char *s) +{ + int len; + + if (*s == SS2) + len = 1; + else if (*s == SS3) + len = 2; + else if (IS_HIGHBIT_SET(*s)) + len = 2; + else + len = pg_ascii_dsplen(s); + return len; +} + +/* + * EUC_KR + */ +static int +pg_euckr2wchar_with_len(const unsigned char *from, pg_wchar *to, int len) +{ + return pg_euc2wchar_with_len(from, to, len); +} + +static int +pg_euckr_mblen(const unsigned char *s) +{ + return pg_euc_mblen(s); +} + +static int +pg_euckr_dsplen(const unsigned char *s) +{ + return pg_euc_dsplen(s); +} + +/* + * EUC_CN + * + */ +static int +pg_euccn2wchar_with_len(const unsigned char *from, pg_wchar *to, int len) +{ + int cnt = 0; + + while (len > 0 && *from) + { + if (*from == SS2 && len >= 3) /* code set 2 (unused?) */ + { + from++; + *to = (SS2 << 16) | (*from++ << 8); + *to |= *from++; + len -= 3; + } + else if (*from == SS3 && len >= 3) /* code set 3 (unsed ?) */ + { + from++; + *to = (SS3 << 16) | (*from++ << 8); + *to |= *from++; + len -= 3; + } + else if (IS_HIGHBIT_SET(*from) && len >= 2) /* code set 1 */ + { + *to = *from++ << 8; + *to |= *from++; + len -= 2; + } + else + { + *to = *from++; + len--; + } + to++; + cnt++; + } + *to = 0; + return cnt; +} + +static int +pg_euccn_mblen(const unsigned char *s) +{ + int len; + + if (IS_HIGHBIT_SET(*s)) + len = 2; + else + len = 1; + return len; +} + +static int +pg_euccn_dsplen(const unsigned char *s) +{ + int len; + + if (IS_HIGHBIT_SET(*s)) + len = 2; + else + len = pg_ascii_dsplen(s); + return len; +} + +/* + * EUC_TW + * + */ +static int +pg_euctw2wchar_with_len(const unsigned char *from, pg_wchar *to, int len) +{ + int cnt = 0; + + while (len > 0 && *from) + { + if (*from == SS2 && len >= 4) /* code set 2 */ + { + from++; + *to = (((uint32) SS2) << 24) | (*from++ << 16); + *to |= *from++ << 8; + *to |= *from++; + len -= 4; + } + else if (*from == SS3 && len >= 3) /* code set 3 (unused?) */ + { + from++; + *to = (SS3 << 16) | (*from++ << 8); + *to |= *from++; + len -= 3; + } + else if (IS_HIGHBIT_SET(*from) && len >= 2) /* code set 2 */ + { + *to = *from++ << 8; + *to |= *from++; + len -= 2; + } + else + { + *to = *from++; + len--; + } + to++; + cnt++; + } + *to = 0; + return cnt; +} + +static int +pg_euctw_mblen(const unsigned char *s) +{ + int len; + + if (*s == SS2) + len = 4; + else if (*s == SS3) + len = 3; + else if (IS_HIGHBIT_SET(*s)) + len = 2; + else + len = 1; + return len; +} + +static int +pg_euctw_dsplen(const unsigned char *s) +{ + int len; + + if (*s == SS2) + len = 2; + else if (*s == SS3) + len = 2; + else if (IS_HIGHBIT_SET(*s)) + len = 2; + else + len = pg_ascii_dsplen(s); + return len; +} + +/* + * JOHAB + */ +static int +pg_johab_mblen(const unsigned char *s) +{ + return pg_euc_mblen(s); +} + +static int +pg_johab_dsplen(const unsigned char *s) +{ + return pg_euc_dsplen(s); +} + +/* + * convert UTF8 string to pg_wchar (UCS-4) + * caller must allocate enough space for "to", including a trailing zero! + * len: length of from. + * "from" not necessarily null terminated. + */ +static int +pg_utf2wchar_with_len(const unsigned char *from, pg_wchar *to, int len) +{ + int cnt = 0; + uint32 c1, + c2, + c3, + c4; + + while (len > 0 && *from) + { + if ((*from & 0x80) == 0) + { + *to = *from++; + len--; + } + else if ((*from & 0xe0) == 0xc0) + { + if (len < 2) + break; /* drop trailing incomplete char */ + c1 = *from++ & 0x1f; + c2 = *from++ & 0x3f; + *to = (c1 << 6) | c2; + len -= 2; + } + else if ((*from & 0xf0) == 0xe0) + { + if (len < 3) + break; /* drop trailing incomplete char */ + c1 = *from++ & 0x0f; + c2 = *from++ & 0x3f; + c3 = *from++ & 0x3f; + *to = (c1 << 12) | (c2 << 6) | c3; + len -= 3; + } + else if ((*from & 0xf8) == 0xf0) + { + if (len < 4) + break; /* drop trailing incomplete char */ + c1 = *from++ & 0x07; + c2 = *from++ & 0x3f; + c3 = *from++ & 0x3f; + c4 = *from++ & 0x3f; + *to = (c1 << 18) | (c2 << 12) | (c3 << 6) | c4; + len -= 4; + } + else + { + /* treat a bogus char as length 1; not ours to raise error */ + *to = *from++; + len--; + } + to++; + cnt++; + } + *to = 0; + return cnt; +} + + +/* + * Map a Unicode code point to UTF-8. utf8string must have 4 bytes of + * space allocated. + */ +unsigned char * +unicode_to_utf8(pg_wchar c, unsigned char *utf8string) +{ + if (c <= 0x7F) + { + utf8string[0] = c; + } + else if (c <= 0x7FF) + { + utf8string[0] = 0xC0 | ((c >> 6) & 0x1F); + utf8string[1] = 0x80 | (c & 0x3F); + } + else if (c <= 0xFFFF) + { + utf8string[0] = 0xE0 | ((c >> 12) & 0x0F); + utf8string[1] = 0x80 | ((c >> 6) & 0x3F); + utf8string[2] = 0x80 | (c & 0x3F); + } + else + { + utf8string[0] = 0xF0 | ((c >> 18) & 0x07); + utf8string[1] = 0x80 | ((c >> 12) & 0x3F); + utf8string[2] = 0x80 | ((c >> 6) & 0x3F); + utf8string[3] = 0x80 | (c & 0x3F); + } + + return utf8string; +} + + +/* + * Return the byte length of a UTF8 character pointed to by s + * + * Note: in the current implementation we do not support UTF8 sequences + * of more than 4 bytes; hence do NOT return a value larger than 4. + * We return "1" for any leading byte that is either flat-out illegal or + * indicates a length larger than we support. + * + * pg_utf2wchar_with_len(), utf8_to_unicode(), pg_utf8_islegal(), and perhaps + * other places would need to be fixed to change this. + */ +int +pg_utf_mblen(const unsigned char *s) +{ + int len; + + if ((*s & 0x80) == 0) + len = 1; + else if ((*s & 0xe0) == 0xc0) + len = 2; + else if ((*s & 0xf0) == 0xe0) + len = 3; + else if ((*s & 0xf8) == 0xf0) + len = 4; +#ifdef NOT_USED + else if ((*s & 0xfc) == 0xf8) + len = 5; + else if ((*s & 0xfe) == 0xfc) + len = 6; +#endif + else + len = 1; + return len; +} + +/* + * This is an implementation of wcwidth() and wcswidth() as defined in + * "The Single UNIX Specification, Version 2, The Open Group, 1997" + * + * + * Markus Kuhn -- 2001-09-08 -- public domain + * + * customised for PostgreSQL + * + * original available at : http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c + */ + +struct mbinterval +{ + unsigned short first; + unsigned short last; +}; + +/* auxiliary function for binary search in interval table */ +static int +mbbisearch(pg_wchar ucs, const struct mbinterval * table, int max) +{ + int min = 0; + int mid; + + if (ucs < table[0].first || ucs > table[max].last) + return 0; + while (max >= min) + { + mid = (min + max) / 2; + if (ucs > table[mid].last) + min = mid + 1; + else if (ucs < table[mid].first) + max = mid - 1; + else + return 1; + } + + return 0; +} + + +/* The following functions define the column width of an ISO 10646 + * character as follows: + * + * - The null character (U+0000) has a column width of 0. + * + * - Other C0/C1 control characters and DEL will lead to a return + * value of -1. + * + * - Non-spacing and enclosing combining characters (general + * category code Mn or Me in the Unicode database) have a + * column width of 0. + * + * - Other format characters (general category code Cf in the Unicode + * database) and ZERO WIDTH SPACE (U+200B) have a column width of 0. + * + * - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF) + * have a column width of 0. + * + * - Spacing characters in the East Asian Wide (W) or East Asian + * FullWidth (F) category as defined in Unicode Technical + * Report #11 have a column width of 2. + * + * - All remaining characters (including all printable + * ISO 8859-1 and WGL4 characters, Unicode control characters, + * etc.) have a column width of 1. + * + * This implementation assumes that wchar_t characters are encoded + * in ISO 10646. + */ + +static int +ucs_wcwidth(pg_wchar ucs) +{ + /* sorted list of non-overlapping intervals of non-spacing characters */ + static const struct mbinterval combining[] = { + {0x0300, 0x034E}, {0x0360, 0x0362}, {0x0483, 0x0486}, + {0x0488, 0x0489}, {0x0591, 0x05A1}, {0x05A3, 0x05B9}, + {0x05BB, 0x05BD}, {0x05BF, 0x05BF}, {0x05C1, 0x05C2}, + {0x05C4, 0x05C4}, {0x064B, 0x0655}, {0x0670, 0x0670}, + {0x06D6, 0x06E4}, {0x06E7, 0x06E8}, {0x06EA, 0x06ED}, + {0x070F, 0x070F}, {0x0711, 0x0711}, {0x0730, 0x074A}, + {0x07A6, 0x07B0}, {0x0901, 0x0902}, {0x093C, 0x093C}, + {0x0941, 0x0948}, {0x094D, 0x094D}, {0x0951, 0x0954}, + {0x0962, 0x0963}, {0x0981, 0x0981}, {0x09BC, 0x09BC}, + {0x09C1, 0x09C4}, {0x09CD, 0x09CD}, {0x09E2, 0x09E3}, + {0x0A02, 0x0A02}, {0x0A3C, 0x0A3C}, {0x0A41, 0x0A42}, + {0x0A47, 0x0A48}, {0x0A4B, 0x0A4D}, {0x0A70, 0x0A71}, + {0x0A81, 0x0A82}, {0x0ABC, 0x0ABC}, {0x0AC1, 0x0AC5}, + {0x0AC7, 0x0AC8}, {0x0ACD, 0x0ACD}, {0x0B01, 0x0B01}, + {0x0B3C, 0x0B3C}, {0x0B3F, 0x0B3F}, {0x0B41, 0x0B43}, + {0x0B4D, 0x0B4D}, {0x0B56, 0x0B56}, {0x0B82, 0x0B82}, + {0x0BC0, 0x0BC0}, {0x0BCD, 0x0BCD}, {0x0C3E, 0x0C40}, + {0x0C46, 0x0C48}, {0x0C4A, 0x0C4D}, {0x0C55, 0x0C56}, + {0x0CBF, 0x0CBF}, {0x0CC6, 0x0CC6}, {0x0CCC, 0x0CCD}, + {0x0D41, 0x0D43}, {0x0D4D, 0x0D4D}, {0x0DCA, 0x0DCA}, + {0x0DD2, 0x0DD4}, {0x0DD6, 0x0DD6}, {0x0E31, 0x0E31}, + {0x0E34, 0x0E3A}, {0x0E47, 0x0E4E}, {0x0EB1, 0x0EB1}, + {0x0EB4, 0x0EB9}, {0x0EBB, 0x0EBC}, {0x0EC8, 0x0ECD}, + {0x0F18, 0x0F19}, {0x0F35, 0x0F35}, {0x0F37, 0x0F37}, + {0x0F39, 0x0F39}, {0x0F71, 0x0F7E}, {0x0F80, 0x0F84}, + {0x0F86, 0x0F87}, {0x0F90, 0x0F97}, {0x0F99, 0x0FBC}, + {0x0FC6, 0x0FC6}, {0x102D, 0x1030}, {0x1032, 0x1032}, + {0x1036, 0x1037}, {0x1039, 0x1039}, {0x1058, 0x1059}, + {0x1160, 0x11FF}, {0x17B7, 0x17BD}, {0x17C6, 0x17C6}, + {0x17C9, 0x17D3}, {0x180B, 0x180E}, {0x18A9, 0x18A9}, + {0x200B, 0x200F}, {0x202A, 0x202E}, {0x206A, 0x206F}, + {0x20D0, 0x20E3}, {0x302A, 0x302F}, {0x3099, 0x309A}, + {0xFB1E, 0xFB1E}, {0xFE20, 0xFE23}, {0xFEFF, 0xFEFF}, + {0xFFF9, 0xFFFB} + }; + + /* test for 8-bit control characters */ + if (ucs == 0) + return 0; + + if (ucs < 0x20 || (ucs >= 0x7f && ucs < 0xa0) || ucs > 0x0010ffff) + return -1; + + /* binary search in table of non-spacing characters */ + if (mbbisearch(ucs, combining, + sizeof(combining) / sizeof(struct mbinterval) - 1)) + return 0; + + /* + * if we arrive here, ucs is not a combining or C0/C1 control character + */ + + return 1 + + (ucs >= 0x1100 && + (ucs <= 0x115f || /* Hangul Jamo init. consonants */ + (ucs >= 0x2e80 && ucs <= 0xa4cf && (ucs & ~0x0011) != 0x300a && + ucs != 0x303f) || /* CJK ... Yi */ + (ucs >= 0xac00 && ucs <= 0xd7a3) || /* Hangul Syllables */ + (ucs >= 0xf900 && ucs <= 0xfaff) || /* CJK Compatibility + * Ideographs */ + (ucs >= 0xfe30 && ucs <= 0xfe6f) || /* CJK Compatibility Forms */ + (ucs >= 0xff00 && ucs <= 0xff5f) || /* Fullwidth Forms */ + (ucs >= 0xffe0 && ucs <= 0xffe6) || + (ucs >= 0x20000 && ucs <= 0x2ffff))); +} + +/* + * Convert a UTF-8 character to a Unicode code point. + * This is a one-character version of pg_utf2wchar_with_len. + * + * No error checks here, c must point to a long-enough string. + */ +pg_wchar +utf8_to_unicode(const unsigned char *c) +{ + if ((*c & 0x80) == 0) + return (pg_wchar) c[0]; + else if ((*c & 0xe0) == 0xc0) + return (pg_wchar) (((c[0] & 0x1f) << 6) | + (c[1] & 0x3f)); + else if ((*c & 0xf0) == 0xe0) + return (pg_wchar) (((c[0] & 0x0f) << 12) | + ((c[1] & 0x3f) << 6) | + (c[2] & 0x3f)); + else if ((*c & 0xf8) == 0xf0) + return (pg_wchar) (((c[0] & 0x07) << 18) | + ((c[1] & 0x3f) << 12) | + ((c[2] & 0x3f) << 6) | + (c[3] & 0x3f)); + else + /* that is an invalid code on purpose */ + return 0xffffffff; +} + +static int +pg_utf_dsplen(const unsigned char *s) +{ + return ucs_wcwidth(utf8_to_unicode(s)); +} + +/* + * convert mule internal code to pg_wchar + * caller should allocate enough space for "to" + * len: length of from. + * "from" not necessarily null terminated. + */ +static int +pg_mule2wchar_with_len(const unsigned char *from, pg_wchar *to, int len) +{ + int cnt = 0; + + while (len > 0 && *from) + { + if (IS_LC1(*from) && len >= 2) + { + *to = *from++ << 16; + *to |= *from++; + len -= 2; + } + else if (IS_LCPRV1(*from) && len >= 3) + { + from++; + *to = *from++ << 16; + *to |= *from++; + len -= 3; + } + else if (IS_LC2(*from) && len >= 3) + { + *to = *from++ << 16; + *to |= *from++ << 8; + *to |= *from++; + len -= 3; + } + else if (IS_LCPRV2(*from) && len >= 4) + { + from++; + *to = *from++ << 16; + *to |= *from++ << 8; + *to |= *from++; + len -= 4; + } + else + { /* assume ASCII */ + *to = (unsigned char) *from++; + len--; + } + to++; + cnt++; + } + *to = 0; + return cnt; +} + +int +pg_mule_mblen(const unsigned char *s) +{ + int len; + + if (IS_LC1(*s)) + len = 2; + else if (IS_LCPRV1(*s)) + len = 3; + else if (IS_LC2(*s)) + len = 3; + else if (IS_LCPRV2(*s)) + len = 4; + else + len = 1; /* assume ASCII */ + return len; +} + +static int +pg_mule_dsplen(const unsigned char *s) +{ + int len; + + if (IS_LC1(*s)) + len = 1; + else if (IS_LCPRV1(*s)) + len = 1; + else if (IS_LC2(*s)) + len = 2; + else if (IS_LCPRV2(*s)) + len = 2; + else + len = 1; /* assume ASCII */ + + return len; +} + +/* + * ISO8859-1 + */ +static int +pg_latin12wchar_with_len(const unsigned char *from, pg_wchar *to, int len) +{ + int cnt = 0; + + while (len > 0 && *from) + { + *to++ = *from++; + len--; + cnt++; + } + *to = 0; + return cnt; +} + +static int +pg_latin1_mblen(const unsigned char *s) +{ + return 1; +} + +static int +pg_latin1_dsplen(const unsigned char *s) +{ + return pg_ascii_dsplen(s); +} + +/* + * SJIS + */ +static int +pg_sjis_mblen(const unsigned char *s) +{ + int len; + + if (*s >= 0xa1 && *s <= 0xdf) + len = 1; /* 1 byte kana? */ + else if (IS_HIGHBIT_SET(*s)) + len = 2; /* kanji? */ + else + len = 1; /* should be ASCII */ + return len; +} + +static int +pg_sjis_dsplen(const unsigned char *s) +{ + int len; + + if (*s >= 0xa1 && *s <= 0xdf) + len = 1; /* 1 byte kana? */ + else if (IS_HIGHBIT_SET(*s)) + len = 2; /* kanji? */ + else + len = pg_ascii_dsplen(s); /* should be ASCII */ + return len; +} + +/* + * Big5 + */ +static int +pg_big5_mblen(const unsigned char *s) +{ + int len; + + if (IS_HIGHBIT_SET(*s)) + len = 2; /* kanji? */ + else + len = 1; /* should be ASCII */ + return len; +} + +static int +pg_big5_dsplen(const unsigned char *s) +{ + int len; + + if (IS_HIGHBIT_SET(*s)) + len = 2; /* kanji? */ + else + len = pg_ascii_dsplen(s); /* should be ASCII */ + return len; +} + +/* + * GBK + */ +static int +pg_gbk_mblen(const unsigned char *s) +{ + int len; + + if (IS_HIGHBIT_SET(*s)) + len = 2; /* kanji? */ + else + len = 1; /* should be ASCII */ + return len; +} + +static int +pg_gbk_dsplen(const unsigned char *s) +{ + int len; + + if (IS_HIGHBIT_SET(*s)) + len = 2; /* kanji? */ + else + len = pg_ascii_dsplen(s); /* should be ASCII */ + return len; +} + +/* + * UHC + */ +static int +pg_uhc_mblen(const unsigned char *s) +{ + int len; + + if (IS_HIGHBIT_SET(*s)) + len = 2; /* 2byte? */ + else + len = 1; /* should be ASCII */ + return len; +} + +static int +pg_uhc_dsplen(const unsigned char *s) +{ + int len; + + if (IS_HIGHBIT_SET(*s)) + len = 2; /* 2byte? */ + else + len = pg_ascii_dsplen(s); /* should be ASCII */ + return len; +} + +/* + * * GB18030 + * * Added by Bill Huang , + * */ +static int +pg_gb18030_mblen(const unsigned char *s) +{ + int len; + + if (!IS_HIGHBIT_SET(*s)) + len = 1; /* ASCII */ + else + { + if ((*(s + 1) >= 0x40 && *(s + 1) <= 0x7e) || (*(s + 1) >= 0x80 && *(s + 1) <= 0xfe)) + len = 2; + else if (*(s + 1) >= 0x30 && *(s + 1) <= 0x39) + len = 4; + else + len = 2; + } + return len; +} + +static int +pg_gb18030_dsplen(const unsigned char *s) +{ + int len; + + if (IS_HIGHBIT_SET(*s)) + len = 2; + else + len = pg_ascii_dsplen(s); /* ASCII */ + return len; +} + +/* + *------------------------------------------------------------------- + * multibyte sequence validators + * + * These functions accept "s", a pointer to the first byte of a string, + * and "len", the remaining length of the string. If there is a validly + * encoded character beginning at *s, return its length in bytes; else + * return -1. + * + * The functions can assume that len > 0 and that *s != '\0', but they must + * test for and reject zeroes in any additional bytes of a multibyte character. + * + * Note that this definition allows the function for a single-byte + * encoding to be just "return 1". + *------------------------------------------------------------------- + */ + +static int +pg_ascii_verifier(const unsigned char *s, int len) +{ + return 1; +} + +#define IS_EUC_RANGE_VALID(c) ((c) >= 0xa1 && (c) <= 0xfe) + +static int +pg_eucjp_verifier(const unsigned char *s, int len) +{ + int l; + unsigned char c1, + c2; + + c1 = *s++; + + switch (c1) + { + case SS2: /* JIS X 0201 */ + l = 2; + if (l > len) + return -1; + c2 = *s++; + if (c2 < 0xa1 || c2 > 0xdf) + return -1; + break; + + case SS3: /* JIS X 0212 */ + l = 3; + if (l > len) + return -1; + c2 = *s++; + if (!IS_EUC_RANGE_VALID(c2)) + return -1; + c2 = *s++; + if (!IS_EUC_RANGE_VALID(c2)) + return -1; + break; + + default: + if (IS_HIGHBIT_SET(c1)) /* JIS X 0208? */ + { + l = 2; + if (l > len) + return -1; + if (!IS_EUC_RANGE_VALID(c1)) + return -1; + c2 = *s++; + if (!IS_EUC_RANGE_VALID(c2)) + return -1; + } + else + /* must be ASCII */ + { + l = 1; + } + break; + } + + return l; +} + +static int +pg_euckr_verifier(const unsigned char *s, int len) +{ + int l; + unsigned char c1, + c2; + + c1 = *s++; + + if (IS_HIGHBIT_SET(c1)) + { + l = 2; + if (l > len) + return -1; + if (!IS_EUC_RANGE_VALID(c1)) + return -1; + c2 = *s++; + if (!IS_EUC_RANGE_VALID(c2)) + return -1; + } + else + /* must be ASCII */ + { + l = 1; + } + + return l; +} + +/* EUC-CN byte sequences are exactly same as EUC-KR */ +#define pg_euccn_verifier pg_euckr_verifier + +static int +pg_euctw_verifier(const unsigned char *s, int len) +{ + int l; + unsigned char c1, + c2; + + c1 = *s++; + + switch (c1) + { + case SS2: /* CNS 11643 Plane 1-7 */ + l = 4; + if (l > len) + return -1; + c2 = *s++; + if (c2 < 0xa1 || c2 > 0xa7) + return -1; + c2 = *s++; + if (!IS_EUC_RANGE_VALID(c2)) + return -1; + c2 = *s++; + if (!IS_EUC_RANGE_VALID(c2)) + return -1; + break; + + case SS3: /* unused */ + return -1; + + default: + if (IS_HIGHBIT_SET(c1)) /* CNS 11643 Plane 1 */ + { + l = 2; + if (l > len) + return -1; + /* no further range check on c1? */ + c2 = *s++; + if (!IS_EUC_RANGE_VALID(c2)) + return -1; + } + else + /* must be ASCII */ + { + l = 1; + } + break; + } + return l; +} + +static int +pg_johab_verifier(const unsigned char *s, int len) +{ + int l, + mbl; + unsigned char c; + + l = mbl = pg_johab_mblen(s); + + if (len < l) + return -1; + + if (!IS_HIGHBIT_SET(*s)) + return mbl; + + while (--l > 0) + { + c = *++s; + if (!IS_EUC_RANGE_VALID(c)) + return -1; + } + return mbl; +} + +static int +pg_mule_verifier(const unsigned char *s, int len) +{ + int l, + mbl; + unsigned char c; + + l = mbl = pg_mule_mblen(s); + + if (len < l) + return -1; + + while (--l > 0) + { + c = *++s; + if (!IS_HIGHBIT_SET(c)) + return -1; + } + return mbl; +} + +static int +pg_latin1_verifier(const unsigned char *s, int len) +{ + return 1; +} + +static int +pg_sjis_verifier(const unsigned char *s, int len) +{ + int l, + mbl; + unsigned char c1, + c2; + + l = mbl = pg_sjis_mblen(s); + + if (len < l) + return -1; + + if (l == 1) /* pg_sjis_mblen already verified it */ + return mbl; + + c1 = *s++; + c2 = *s; + if (!ISSJISHEAD(c1) || !ISSJISTAIL(c2)) + return -1; + return mbl; +} + +static int +pg_big5_verifier(const unsigned char *s, int len) +{ + int l, + mbl; + + l = mbl = pg_big5_mblen(s); + + if (len < l) + return -1; + + while (--l > 0) + { + if (*++s == '\0') + return -1; + } + + return mbl; +} + +static int +pg_gbk_verifier(const unsigned char *s, int len) +{ + int l, + mbl; + + l = mbl = pg_gbk_mblen(s); + + if (len < l) + return -1; + + while (--l > 0) + { + if (*++s == '\0') + return -1; + } + + return mbl; +} + +static int +pg_uhc_verifier(const unsigned char *s, int len) +{ + int l, + mbl; + + l = mbl = pg_uhc_mblen(s); + + if (len < l) + return -1; + + while (--l > 0) + { + if (*++s == '\0') + return -1; + } + + return mbl; +} + +static int +pg_gb18030_verifier(const unsigned char *s, int len) +{ + int l, + mbl; + + l = mbl = pg_gb18030_mblen(s); + + if (len < l) + return -1; + + while (--l > 0) + { + if (*++s == '\0') + return -1; + } + + return mbl; +} + +static int +pg_utf8_verifier(const unsigned char *s, int len) +{ + int l = pg_utf_mblen(s); + + if (len < l) + return -1; + + if (!pg_utf8_islegal(s, l)) + return -1; + + return l; +} + +/* + * Check for validity of a single UTF-8 encoded character + * + * This directly implements the rules in RFC3629. The bizarre-looking + * restrictions on the second byte are meant to ensure that there isn't + * more than one encoding of a given Unicode character point; that is, + * you may not use a longer-than-necessary byte sequence with high order + * zero bits to represent a character that would fit in fewer bytes. + * To do otherwise is to create security hazards (eg, create an apparent + * non-ASCII character that decodes to plain ASCII). + * + * length is assumed to have been obtained by pg_utf_mblen(), and the + * caller must have checked that that many bytes are present in the buffer. + */ +bool +pg_utf8_islegal(const unsigned char *source, int length) +{ + unsigned char a; + + switch (length) + { + default: + /* reject lengths 5 and 6 for now */ + return false; + case 4: + a = source[3]; + if (a < 0x80 || a > 0xBF) + return false; + /* FALL THRU */ + case 3: + a = source[2]; + if (a < 0x80 || a > 0xBF) + return false; + /* FALL THRU */ + case 2: + a = source[1]; + switch (*source) + { + case 0xE0: + if (a < 0xA0 || a > 0xBF) + return false; + break; + case 0xED: + if (a < 0x80 || a > 0x9F) + return false; + break; + case 0xF0: + if (a < 0x90 || a > 0xBF) + return false; + break; + case 0xF4: + if (a < 0x80 || a > 0x8F) + return false; + break; + default: + if (a < 0x80 || a > 0xBF) + return false; + break; + } + /* FALL THRU */ + case 1: + a = *source; + if (a >= 0x80 && a < 0xC2) + return false; + if (a > 0xF4) + return false; + break; + } + return true; +} + +#ifndef FRONTEND + +/* + * Generic character incrementer function. + * + * Not knowing anything about the properties of the encoding in use, we just + * keep incrementing the last byte until we get a validly-encoded result, + * or we run out of values to try. We don't bother to try incrementing + * higher-order bytes, so there's no growth in runtime for wider characters. + * (If we did try to do that, we'd need to consider the likelihood that 255 + * is not a valid final byte in the encoding.) + */ +static bool +pg_generic_charinc(unsigned char *charptr, int len) +{ + unsigned char *lastbyte = charptr + len - 1; + mbverifier mbverify; + + /* We can just invoke the character verifier directly. */ + mbverify = pg_wchar_table[GetDatabaseEncoding()].mbverify; + + while (*lastbyte < (unsigned char) 255) + { + (*lastbyte)++; + if ((*mbverify) (charptr, len) == len) + return true; + } + + return false; +} + +/* + * UTF-8 character incrementer function. + * + * For a one-byte character less than 0x7F, we just increment the byte. + * + * For a multibyte character, every byte but the first must fall between 0x80 + * and 0xBF; and the first byte must be between 0xC0 and 0xF4. We increment + * the last byte that's not already at its maximum value. If we can't find a + * byte that's less than the maximum allowable value, we simply fail. We also + * need some special-case logic to skip regions used for surrogate pair + * handling, as those should not occur in valid UTF-8. + * + * Note that we don't reset lower-order bytes back to their minimums, since + * we can't afford to make an exhaustive search (see make_greater_string). + */ +static bool +pg_utf8_increment(unsigned char *charptr, int length) +{ + unsigned char a; + unsigned char limit; + + switch (length) + { + default: + /* reject lengths 5 and 6 for now */ + return false; + case 4: + a = charptr[3]; + if (a < 0xBF) + { + charptr[3]++; + break; + } + /* FALL THRU */ + case 3: + a = charptr[2]; + if (a < 0xBF) + { + charptr[2]++; + break; + } + /* FALL THRU */ + case 2: + a = charptr[1]; + switch (*charptr) + { + case 0xED: + limit = 0x9F; + break; + case 0xF4: + limit = 0x8F; + break; + default: + limit = 0xBF; + break; + } + if (a < limit) + { + charptr[1]++; + break; + } + /* FALL THRU */ + case 1: + a = *charptr; + if (a == 0x7F || a == 0xDF || a == 0xEF || a == 0xF4) + return false; + charptr[0]++; + break; + } + + return true; +} + +/* + * EUC-JP character incrementer function. + * + * If the sequence starts with SS2 (0x8e), it must be a two-byte sequence + * representing JIS X 0201 characters with the second byte ranging between + * 0xa1 and 0xdf. We just increment the last byte if it's less than 0xdf, + * and otherwise rewrite the whole sequence to 0xa1 0xa1. + * + * If the sequence starts with SS3 (0x8f), it must be a three-byte sequence + * in which the last two bytes range between 0xa1 and 0xfe. The last byte + * is incremented if possible, otherwise the second-to-last byte. + * + * If the sequence starts with a value other than the above and its MSB + * is set, it must be a two-byte sequence representing JIS X 0208 characters + * with both bytes ranging between 0xa1 and 0xfe. The last byte is + * incremented if possible, otherwise the second-to-last byte. + * + * Otherwise, the sequence is a single-byte ASCII character. It is + * incremented up to 0x7f. + */ +static bool +pg_eucjp_increment(unsigned char *charptr, int length) +{ + unsigned char c1, + c2; + int i; + + c1 = *charptr; + + switch (c1) + { + case SS2: /* JIS X 0201 */ + if (length != 2) + return false; + + c2 = charptr[1]; + + if (c2 >= 0xdf) + charptr[0] = charptr[1] = 0xa1; + else if (c2 < 0xa1) + charptr[1] = 0xa1; + else + charptr[1]++; + break; + + case SS3: /* JIS X 0212 */ + if (length != 3) + return false; + + for (i = 2; i > 0; i--) + { + c2 = charptr[i]; + if (c2 < 0xa1) + { + charptr[i] = 0xa1; + return true; + } + else if (c2 < 0xfe) + { + charptr[i]++; + return true; + } + } + + /* Out of 3-byte code region */ + return false; + + default: + if (IS_HIGHBIT_SET(c1)) /* JIS X 0208? */ + { + if (length != 2) + return false; + + for (i = 1; i >= 0; i--) + { + c2 = charptr[i]; + if (c2 < 0xa1) + { + charptr[i] = 0xa1; + return true; + } + else if (c2 < 0xfe) + { + charptr[i]++; + return true; + } + } + + /* Out of 2 byte code region */ + return false; + } + else + { /* ASCII, single byte */ + if (c1 > 0x7e) + return false; + (*charptr)++; + } + break; + } + + return true; +} + +#endif /* !FRONTEND */ + + +/* + *------------------------------------------------------------------- + * encoding info table + * XXX must be sorted by the same order as enum pg_enc (in mb/pg_wchar.h) + *------------------------------------------------------------------- + */ +pg_wchar_tbl pg_wchar_table[] = { + {pg_ascii2wchar_with_len, pg_ascii_mblen, pg_ascii_dsplen, pg_ascii_verifier, 1}, /* PG_SQL_ASCII */ + {pg_eucjp2wchar_with_len, pg_eucjp_mblen, pg_eucjp_dsplen, pg_eucjp_verifier, 3}, /* PG_EUC_JP */ + {pg_euccn2wchar_with_len, pg_euccn_mblen, pg_euccn_dsplen, pg_euccn_verifier, 2}, /* PG_EUC_CN */ + {pg_euckr2wchar_with_len, pg_euckr_mblen, pg_euckr_dsplen, pg_euckr_verifier, 3}, /* PG_EUC_KR */ + {pg_euctw2wchar_with_len, pg_euctw_mblen, pg_euctw_dsplen, pg_euctw_verifier, 4}, /* PG_EUC_TW */ + {pg_eucjp2wchar_with_len, pg_eucjp_mblen, pg_eucjp_dsplen, pg_eucjp_verifier, 3}, /* PG_EUC_JIS_2004 */ + {pg_utf2wchar_with_len, pg_utf_mblen, pg_utf_dsplen, pg_utf8_verifier, 4}, /* PG_UTF8 */ + {pg_mule2wchar_with_len, pg_mule_mblen, pg_mule_dsplen, pg_mule_verifier, 4}, /* PG_MULE_INTERNAL */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_LATIN1 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_LATIN2 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_LATIN3 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_LATIN4 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_LATIN5 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_LATIN6 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_LATIN7 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_LATIN8 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_LATIN9 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_LATIN10 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_WIN1256 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_WIN1258 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_WIN866 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_WIN874 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_KOI8R */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_WIN1251 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_WIN1252 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* ISO-8859-5 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* ISO-8859-6 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* ISO-8859-7 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* ISO-8859-8 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_WIN1250 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_WIN1253 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_WIN1254 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_WIN1255 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_WIN1257 */ + {pg_latin12wchar_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifier, 1}, /* PG_KOI8U */ + {0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifier, 2}, /* PG_SJIS */ + {0, pg_big5_mblen, pg_big5_dsplen, pg_big5_verifier, 2}, /* PG_BIG5 */ + {0, pg_gbk_mblen, pg_gbk_dsplen, pg_gbk_verifier, 2}, /* PG_GBK */ + {0, pg_uhc_mblen, pg_uhc_dsplen, pg_uhc_verifier, 2}, /* PG_UHC */ + {0, pg_gb18030_mblen, pg_gb18030_dsplen, pg_gb18030_verifier, 4}, /* PG_GB18030 */ + {0, pg_johab_mblen, pg_johab_dsplen, pg_johab_verifier, 3}, /* PG_JOHAB */ + {0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifier, 2} /* PG_SHIFT_JIS_2004 */ +}; + +/* returns the byte length of a word for mule internal code */ +int +pg_mic_mblen(const unsigned char *mbstr) +{ + return pg_mule_mblen(mbstr); +} + +/* + * Returns the byte length of a multibyte character. + */ +int +pg_encoding_mblen(int encoding, const char *mbstr) +{ + Assert(PG_VALID_ENCODING(encoding)); + + return ((encoding >= 0 && + encoding < sizeof(pg_wchar_table) / sizeof(pg_wchar_tbl)) ? + ((*pg_wchar_table[encoding].mblen) ((const unsigned char *) mbstr)) : + ((*pg_wchar_table[PG_SQL_ASCII].mblen) ((const unsigned char *) mbstr))); +} + +/* + * Returns the display length of a multibyte character. + */ +int +pg_encoding_dsplen(int encoding, const char *mbstr) +{ + Assert(PG_VALID_ENCODING(encoding)); + + return ((encoding >= 0 && + encoding < sizeof(pg_wchar_table) / sizeof(pg_wchar_tbl)) ? + ((*pg_wchar_table[encoding].dsplen) ((const unsigned char *) mbstr)) : + ((*pg_wchar_table[PG_SQL_ASCII].dsplen) ((const unsigned char *) mbstr))); +} + +/* + * Verify the first multibyte character of the given string. + * Return its byte length if good, -1 if bad. (See comments above for + * full details of the mbverify API.) + */ +int +pg_encoding_verifymb(int encoding, const char *mbstr, int len) +{ + Assert(PG_VALID_ENCODING(encoding)); + + return ((encoding >= 0 && + encoding < sizeof(pg_wchar_table) / sizeof(pg_wchar_tbl)) ? + ((*pg_wchar_table[encoding].mbverify) ((const unsigned char *) mbstr, len)) : + ((*pg_wchar_table[PG_SQL_ASCII].mbverify) ((const unsigned char *) mbstr, len))); +} + +/* + * fetch maximum length of a given encoding + */ +int +pg_encoding_max_length(int encoding) +{ + Assert(PG_VALID_ENCODING(encoding)); + + return pg_wchar_table[encoding].maxmblen; +} + +#ifndef FRONTEND + +/* + * fetch maximum length of the encoding for the current database + */ +int +pg_database_encoding_max_length(void) +{ + return pg_wchar_table[GetDatabaseEncoding()].maxmblen; +} + +/* + * get the character incrementer for the encoding for the current database + */ +mbcharacter_incrementer +pg_database_encoding_character_incrementer(void) +{ + /* + * Eventually it might be best to add a field to pg_wchar_table[], + * but for now we just use a switch. + */ + switch (GetDatabaseEncoding()) + { + case PG_UTF8: + return pg_utf8_increment; + + case PG_EUC_JP: + return pg_eucjp_increment; + + default: + return pg_generic_charinc; + } +} + +/* + * Verify mbstr to make sure that it is validly encoded in the current + * database encoding. Otherwise same as pg_verify_mbstr(). + */ +bool +pg_verifymbstr(const char *mbstr, int len, bool noError) +{ + return + pg_verify_mbstr_len(GetDatabaseEncoding(), mbstr, len, noError) >= 0; +} + +/* + * Verify mbstr to make sure that it is validly encoded in the specified + * encoding. + */ +bool +pg_verify_mbstr(int encoding, const char *mbstr, int len, bool noError) +{ + return pg_verify_mbstr_len(encoding, mbstr, len, noError) >= 0; +} + +/* + * Verify mbstr to make sure that it is validly encoded in the specified + * encoding. + * + * mbstr is not necessarily zero terminated; length of mbstr is + * specified by len. + * + * If OK, return length of string in the encoding. + * If a problem is found, return -1 when noError is + * true; when noError is false, ereport() a descriptive message. + */ +int +pg_verify_mbstr_len(int encoding, const char *mbstr, int len, bool noError) +{ + mbverifier mbverify; + int mb_len; + + Assert(PG_VALID_ENCODING(encoding)); + + /* + * In single-byte encodings, we need only reject nulls (\0). + */ + if (pg_encoding_max_length(encoding) <= 1) + { + const char *nullpos = memchr(mbstr, 0, len); + + if (nullpos == NULL) + return len; + if (noError) + return -1; + report_invalid_encoding(encoding, nullpos, 1); + } + + /* fetch function pointer just once */ + mbverify = pg_wchar_table[encoding].mbverify; + + mb_len = 0; + + while (len > 0) + { + int l; + + /* fast path for ASCII-subset characters */ + if (!IS_HIGHBIT_SET(*mbstr)) + { + if (*mbstr != '\0') + { + mb_len++; + mbstr++; + len--; + continue; + } + if (noError) + return -1; + report_invalid_encoding(encoding, mbstr, len); + } + + l = (*mbverify) ((const unsigned char *) mbstr, len); + + if (l < 0) + { + if (noError) + return -1; + report_invalid_encoding(encoding, mbstr, len); + } + + mbstr += l; + len -= l; + mb_len++; + } + return mb_len; +} + +/* + * check_encoding_conversion_args: check arguments of a conversion function + * + * "expected" arguments can be either an encoding ID or -1 to indicate that + * the caller will check whether it accepts the ID. + * + * Note: the errors here are not really user-facing, so elog instead of + * ereport seems sufficient. Also, we trust that the "expected" encoding + * arguments are valid encoding IDs, but we don't trust the actuals. + */ +void +check_encoding_conversion_args(int src_encoding, + int dest_encoding, + int len, + int expected_src_encoding, + int expected_dest_encoding) +{ + if (!PG_VALID_ENCODING(src_encoding)) + elog(ERROR, "invalid source encoding ID: %d", src_encoding); + if (src_encoding != expected_src_encoding && expected_src_encoding >= 0) + elog(ERROR, "expected source encoding \"%s\", but got \"%s\"", + pg_enc2name_tbl[expected_src_encoding].name, + pg_enc2name_tbl[src_encoding].name); + if (!PG_VALID_ENCODING(dest_encoding)) + elog(ERROR, "invalid destination encoding ID: %d", dest_encoding); + if (dest_encoding != expected_dest_encoding && expected_dest_encoding >= 0) + elog(ERROR, "expected destination encoding \"%s\", but got \"%s\"", + pg_enc2name_tbl[expected_dest_encoding].name, + pg_enc2name_tbl[dest_encoding].name); + if (len < 0) + elog(ERROR, "encoding conversion length must not be negative"); +} + +/* + * report_invalid_encoding: complain about invalid multibyte character + * + * note: len is remaining length of string, not length of character; + * len must be greater than zero, as we always examine the first byte. + */ +void +report_invalid_encoding(int encoding, const char *mbstr, int len) +{ + int l = pg_encoding_mblen(encoding, mbstr); + char buf[8 * 5 + 1]; + char *p = buf; + int j, + jlimit; + + jlimit = Min(l, len); + jlimit = Min(jlimit, 8); /* prevent buffer overrun */ + + for (j = 0; j < jlimit; j++) + { + p += sprintf(p, "0x%02x", (unsigned char) mbstr[j]); + if (j < jlimit - 1) + p += sprintf(p, " "); + } + + ereport(ERROR, + (errcode(ERRCODE_CHARACTER_NOT_IN_REPERTOIRE), + errmsg("invalid byte sequence for encoding \"%s\": %s", + pg_enc2name_tbl[encoding].name, + buf))); +} + +/* + * report_untranslatable_char: complain about untranslatable character + * + * note: len is remaining length of string, not length of character; + * len must be greater than zero, as we always examine the first byte. + */ +void +report_untranslatable_char(int src_encoding, int dest_encoding, + const char *mbstr, int len) +{ + int l = pg_encoding_mblen(src_encoding, mbstr); + char buf[8 * 5 + 1]; + char *p = buf; + int j, + jlimit; + + jlimit = Min(l, len); + jlimit = Min(jlimit, 8); /* prevent buffer overrun */ + + for (j = 0; j < jlimit; j++) + { + p += sprintf(p, "0x%02x", (unsigned char) mbstr[j]); + if (j < jlimit - 1) + p += sprintf(p, " "); + } + + ereport(ERROR, + (errcode(ERRCODE_UNTRANSLATABLE_CHARACTER), + errmsg("character with byte sequence %s in encoding \"%s\" has no equivalent in encoding \"%s\"", + buf, + pg_enc2name_tbl[src_encoding].name, + pg_enc2name_tbl[dest_encoding].name))); +} + +#endif /* !FRONTEND */